From b2e537baaa258dd1d5abfcb91b2e62308ee9404d Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Wed, 15 Mar 2017 12:10:02 +0100 Subject: ProjectExplorer: Move built-in parser workarounds to built-in code model ...so that only the built-in code model parser sees them, but not the clang code model, which has problems with them. The specific case here is due to definition of __int32: winnt.h:3077:1: error: functions that differ only in their return type cannot be overloaded intrin.h:357:31: note: previous declaration is here While moving, drop __MSVCRT__, which seems to be a predefined macro of ancient MSVC versions, see https://sourceforge.net/p/mpg123/mailman/mpg123-devel/?viewmonth=201010&viewday=24 Change-Id: I4b8c49ed4bdc942a2190dbae3c260f3a1a8078a4 Reviewed-by: Tobias Hunger --- src/plugins/cpptools/cppmodelmanager.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/plugins/cpptools/cppmodelmanager.cpp') diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index d8a197b45a..d2493e2e45 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -208,7 +208,14 @@ const char pp_configuration[] = "#define __finally\n" "#define __inline inline\n" "#define __forceinline inline\n" - "#define __pragma(x)\n"; + "#define __pragma(x)\n" + "#define __w64\n" + "#define __int64 long long\n" + "#define __int32 long\n" + "#define __int16 short\n" + "#define __int8 char\n" + "#define __ptr32\n" + "#define __ptr64\n"; QSet CppModelManager::timeStampModifiedFiles(const QList &documentsToCheck) { -- cgit v1.2.1