aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2019-06-25 16:28:27 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2019-06-26 06:37:18 +0000
commitc54ef80a4e44f630e01fac84e182dbdaf204131a (patch)
treed7a5da6983b887f90e91e4ba9312bfd5635ffd91
parent2e528917f061261e4e5a056c90e71c6186344731 (diff)
CppTools: Ignore -f[no-]keep-inline-dllexport
Fixes: QTCREATORBUG-22452 Change-Id: Ic17e6331e92f23c31f4f7319257f2d09c66af8a4 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
-rw-r--r--src/plugins/cpptools/compileroptionsbuilder.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp
index c1cef62c6c..3d74ad8d32 100644
--- a/src/plugins/cpptools/compileroptionsbuilder.cpp
+++ b/src/plugins/cpptools/compileroptionsbuilder.cpp
@@ -709,6 +709,7 @@ void CompilerOptionsBuilder::evaluateCompilerFlags()
qgetenv("QTC_CLANG_CMD_OPTIONS_BLACKLIST"))
.split(';', QString::SkipEmptyParts);
+ const Core::Id &toolChain = m_projectPart.toolchainType;
bool containsDriverMode = false;
bool skipNext = false;
for (const QString &option : m_projectPart.compilerFlags) {
@@ -720,6 +721,13 @@ void CompilerOptionsBuilder::evaluateCompilerFlags()
if (userBlackList.contains(option))
continue;
+ // TODO: Make it possible that the clang binary/driver ignores unknown options,
+ // as it is done for libclang/clangd (not checking for OPT_UNKNOWN).
+ if (toolChain == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID) {
+ if (option == "-fkeep-inline-dllexport" || option == "-fno-keep-inline-dllexport")
+ 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
@@ -772,7 +780,6 @@ void CompilerOptionsBuilder::evaluateCompilerFlags()
m_compilerFlags.flags.append(theOption);
}
- const Core::Id &toolChain = m_projectPart.toolchainType;
if (!containsDriverMode
&& (toolChain == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID
|| toolChain == ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID)) {