diff options
author | Cristian Adam <cristian.adam@qt.io> | 2019-10-02 13:57:07 +0200 |
---|---|---|
committer | Cristian Adam <cristian.adam@qt.io> | 2019-10-02 13:43:22 +0000 |
commit | 93ec10754f6186b0331b52cb9e96ad3f4341af91 (patch) | |
tree | eabc56507ccdcd49a1ec740b8d7695ae1945991a /src/plugins/cpptools/compileroptionsbuilder.cpp | |
parent | 6ec8017bc675692f3d325c0cd95c9c4c7a79db7d (diff) | |
download | qt-creator-93ec10754f6186b0331b52cb9e96ad3f4341af91.tar.gz |
CppTools: Make code model on "cl" mode more robust
Unknown command line options starting with / are now transformed
into commands starting with -, which will cause unknown commands
warnings in libclang.
The / commands cause errors because they are treated as missing
files.
Fixes: QTCREATORBUG-22871
Change-Id: I75f7878ab6a7951df24c954ccff1c298ea65f839
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 109613d2c0..7fde0b3a57 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -792,6 +792,15 @@ void CompilerOptionsBuilder::evaluateCompilerFlags() containsDriverMode = true; } + // Transfrom the "/" starting commands into "-" commands, which if + // unknown will not cause clang to fail because it thinks + // it's a missing file. + if (theOption.startsWith("/") && + (toolChain == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID || + toolChain == ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID)) { + theOption[0] = '-'; + } + m_compilerFlags.flags.append(theOption); } |