summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/compileroptionsbuilder.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2020-09-03 11:17:12 +0200
committerEike Ziller <eike.ziller@qt.io>2020-09-03 12:18:02 +0200
commit3b76714290da72eff10ed251263146bb59713ca5 (patch)
treee107f900b968e524b7c38fd833c66383cc449438 /src/plugins/cpptools/compileroptionsbuilder.cpp
parent5b8846a4f889d9e700b9625ffefd8b22f64ea41e (diff)
parent1074dab46703d80718ccda079f20e5e92c90257e (diff)
downloadqt-creator-3b76714290da72eff10ed251263146bb59713ca5.tar.gz
Merge remote-tracking branch 'origin/4.13' into master
Conflicts: share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ListViewSpecifics.qml share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/MouseAreaSpecifics.qml share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/RowSpecifics.qml share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/FlickableSection.qml share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/FontSection.qml share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/StandardTextSection.qml Change-Id: Ie5deacd39ae4f3c0966e7cb41a8fd832dcefbb09
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r--src/plugins/cpptools/compileroptionsbuilder.cpp14
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 &macro) {
+ return macro.key == "_CPPUNWIND";
+ })) {
+ enableExceptions();
+ }
+}
+
void CompilerOptionsBuilder::enableExceptions()
{
// With "--driver-mode=cl" exceptions are disabled (clang 8).