diff options
author | The Qt Project <gerrit-noreply@qt-project.org> | 2020-09-03 10:18:31 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2020-09-03 10:18:31 +0000 |
commit | e4cc659444c10cf8b3b3543a4b4792259f06aa73 (patch) | |
tree | c7581f682802d2745260248a63e9297eec9d93bc /src/plugins/cpptools/compileroptionsbuilder.cpp | |
parent | 6cff79d377b4dc5e914873f008d3c6f1ec74ddf2 (diff) | |
parent | 3b76714290da72eff10ed251263146bb59713ca5 (diff) | |
download | qt-creator-e4cc659444c10cf8b3b3543a4b4792259f06aa73.tar.gz |
Merge "Merge remote-tracking branch 'origin/4.13' into master"
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 5964267206..ff51c43504 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -35,6 +35,7 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectmacro.h> +#include <utils/algorithm.h> #include <utils/cpplanguage_details.h> #include <utils/fileutils.h> #include <utils/qtcassert.h> @@ -137,7 +138,7 @@ QStringList CompilerOptionsBuilder::build(ProjectFile::Kind fileKind, addTargetTriple(); updateFileLanguage(fileKind); addLanguageVersionAndExtensions(); - enableExceptions(); + addMsvcExceptions(); addPrecompiledHeaderOptions(usePrecompiledHeaders); addProjectConfigFileInclude(); @@ -273,6 +274,17 @@ void CompilerOptionsBuilder::addCompilerFlags() add(m_compilerFlags.flags); } +void CompilerOptionsBuilder::addMsvcExceptions() +{ + if (!m_clStyle) + return; + if (Utils::anyOf(m_projectPart.toolChainMacros, [](const ProjectExplorer::Macro ¯o) { + return macro.key == "_CPPUNWIND"; + })) { + enableExceptions(); + } +} + void CompilerOptionsBuilder::enableExceptions() { // With "--driver-mode=cl" exceptions are disabled (clang 8). |