diff options
author | Eike Ziller <eike.ziller@qt.io> | 2020-01-03 08:57:33 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2020-01-03 08:57:33 +0100 |
commit | 92546d0983278666de1a318d0d192ed09f08be55 (patch) | |
tree | 46c3be2f8db47878b1fd14bb78f0aa0e3db147ea /src/plugins/cpptools/compileroptionsbuilder.cpp | |
parent | 586c6dd92f8c1533eba4a05551145a06d44a0aae (diff) | |
parent | 4a00f53c17989b5eedb59967dd09fa17e229fe39 (diff) | |
download | qt-creator-92546d0983278666de1a318d0d192ed09f08be55.tar.gz |
Merge remote-tracking branch 'origin/4.11'
Change-Id: I0657cee6b87eea7b3178548bebed85d5ac824519
Diffstat (limited to 'src/plugins/cpptools/compileroptionsbuilder.cpp')
-rw-r--r-- | src/plugins/cpptools/compileroptionsbuilder.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/cpptools/compileroptionsbuilder.cpp b/src/plugins/cpptools/compileroptionsbuilder.cpp index 1f15ebddda..fcce3d6cc5 100644 --- a/src/plugins/cpptools/compileroptionsbuilder.cpp +++ b/src/plugins/cpptools/compileroptionsbuilder.cpp @@ -138,6 +138,7 @@ QStringList CompilerOptionsBuilder::build(ProjectFile::Kind fileKind, addTargetTriple(); updateFileLanguage(fileKind); addLanguageVersionAndExtensions(); + enableExceptions(); addPrecompiledHeaderOptions(usePrecompiledHeaders); addProjectConfigFileInclude(); @@ -272,6 +273,17 @@ void CompilerOptionsBuilder::addCompilerFlags() add(m_compilerFlags.flags); } +void CompilerOptionsBuilder::enableExceptions() +{ + // With "--driver-mode=cl" exceptions are disabled (clang 8). + // This is most likely due to incomplete exception support of clang. + // However, as we need exception support only in the frontend, + // enabling them explicitly should be fine. + if (m_projectPart.languageVersion > ::Utils::LanguageVersion::LatestC) + add("-fcxx-exceptions"); + add("-fexceptions"); +} + static QString creatorResourcePath() { #ifndef UNIT_TESTS |