diff options
author | Eike Ziller <eike.ziller@qt.io> | 2018-08-31 10:31:39 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2018-09-24 12:43:22 +0000 |
commit | ad8098b372d19c5b7d517230566fc549ff001045 (patch) | |
tree | 3c765e58739f33bd5ffa9954d7853c8cf8a3940f | |
parent | 813c16854df6be7fd1f1a8013d0b180f6248e5ab (diff) |
Fix conflicting LanguageVersion and value __cplusplus define
Task-number: QTCREATORBUG-20884
Change-Id: Ieddb277ed5a7c167d75f902275b8f98cc3fc8af4
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
-rw-r--r-- | src/plugins/projectexplorer/gcctoolchain.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 98b7825d5b..f2d45e6dde 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -383,6 +383,8 @@ static Utils::FileName findLocalCompiler(const Utils::FileName &compilerPath, return path.isEmpty() ? compilerPath : path; } +Q_GLOBAL_STATIC_WITH_ARGS(const QVector<QByteArray>, unwantedMacros, ({"__cplusplus"})) + ToolChain::PredefinedMacrosRunner GccToolChain::createPredefinedMacrosRunner() const { // Using a clean environment breaks ccache/distcc/etc. @@ -440,17 +442,20 @@ ToolChain::PredefinedMacrosRunner GccToolChain::createPredefinedMacrosRunner() c = gccPredefinedMacros(findLocalCompiler(compilerCommand, env), arguments, env.toStringList()); - macroCache->insert(arguments, macros); + const QVector<Macro> filteredMacros = Utils::filtered(macros, [](const Macro &m) { + return !unwantedMacros->contains(m.key); + }); + macroCache->insert(arguments, filteredMacros); qCDebug(gccLog) << "Reporting macros to code model:"; - for (const Macro &m : macros) { + for (const Macro &m : filteredMacros) { qCDebug(gccLog) << compilerCommand.toUserOutput() << (lang == Constants::CXX_LANGUAGE_ID ? ": C++ [" : ": C [") << arguments.join(", ") << "]" << QString::fromUtf8(m.toByteArray()); } - return macros; + return filteredMacros; }; } |