diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp index fd9064a3f56..28c223d80ad 100644 --- a/src/plugins/clangcodemodel/clangutils.cpp +++ b/src/plugins/clangcodemodel/clangutils.cpp @@ -41,6 +41,8 @@ #include #include +#include + #include #include @@ -122,7 +124,7 @@ public: optionsBuilder.addToolchainAndProjectDefines(); - optionsBuilder.addResourceDirOptions(); + optionsBuilder.addPredefinedMacrosAndHeaderPathsOptions(); optionsBuilder.addWrappedQtHeadersIncludePath(); optionsBuilder.addHeaderPathOptions(); optionsBuilder.addProjectConfigFileInclude(); @@ -154,7 +156,21 @@ private: return false; } - void addResourceDirOptions() + void addPredefinedMacrosAndHeaderPathsOptions() + { + if (m_projectPart.toolchainType == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID) + addPredefinedMacrosAndHeaderPathsOptionsForMsvc(); + else + addPredefinedMacrosAndHeaderPathsOptionsForNonMsvc(); + } + + void addPredefinedMacrosAndHeaderPathsOptionsForMsvc() + { + add(QLatin1String("-nostdinc")); + add(QLatin1String("-undef")); + } + + void addPredefinedMacrosAndHeaderPathsOptionsForNonMsvc() { static const QString resourceDir = getResourceDir(); if (!resourceDir.isEmpty()) {