diff options
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 3f44a977c9..e5685dc5e0 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -41,6 +41,7 @@ #include <QDir> #include <QRegularExpression> +#include <QtGlobal> namespace CppTools { @@ -701,6 +702,10 @@ void CompilerOptionsBuilder::reset() // QMakeProject: -pipe -Whello -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC void CompilerOptionsBuilder::evaluateCompilerFlags() { + static QStringList userBlackList = QString::fromLocal8Bit( + qgetenv("QTC_CLANG_CMD_OPTIONS_BLACKLIST")) + .split(';', QString::SkipEmptyParts); + bool containsDriverMode = false; bool skipNext = false; for (const QString &option : m_projectPart.compilerFlags) { @@ -709,6 +714,9 @@ void CompilerOptionsBuilder::evaluateCompilerFlags() continue; } + if (userBlackList.contains(option)) + continue; + // Ignore warning flags as these interfere with our user-configured diagnostics. // Note that once "-w" is provided, no warnings will be emitted, even if "-Wall" follows. if (m_useBuildSystemWarnings == UseBuildSystemWarnings::No |