diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2020-08-29 23:34:18 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2020-09-02 15:26:19 +0000 |
commit | a408bcfd3d05a071fb546c5986643ea2f0332ea2 (patch) | |
tree | 65304020e18d818d83953bfe3620e36d1e2a735c /tests/unit | |
parent | 6d519554513bd0fa711b403681611f0b7561de12 (diff) |
Clang: Add conditions for adding exceptions flag
For GCC it can be deduced from the compiler flags, so no correction is
needed.
For MSVC it can be deduced from the detected defines.
Amends 26693e82126de15145a04c3428a10f6c15120532.
Change-Id: Ie4850f328a2afdb3e5158c58f8c30a2644d9c592
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/unittest/compileroptionsbuilder-test.cpp | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/tests/unit/unittest/compileroptionsbuilder-test.cpp b/tests/unit/unittest/compileroptionsbuilder-test.cpp index 76fe2be066..1376bed6b8 100644 --- a/tests/unit/unittest/compileroptionsbuilder-test.cpp +++ b/tests/unit/unittest/compileroptionsbuilder-test.cpp @@ -650,8 +650,6 @@ TEST_F(CompilerOptionsBuilder, BuildAllOptions) "-x", "c++", "-std=c++17", - "-fcxx-exceptions", - "-fexceptions", "-DprojectFoo=projectBar", "-I", IsPartOfHeader("wrappedQtHeaders"), "-I", IsPartOfHeader(toNative("wrappedQtHeaders/QtCore").toStdString()), @@ -683,6 +681,44 @@ TEST_F(CompilerOptionsBuilder, BuildAllOptionsCl) "--target=x86_64-apple-darwin10", "/TP", "/std:c++17", + "-fms-compatibility-version=19.00", + "-DprojectFoo=projectBar", + "-D__FUNCSIG__=\"\"", + "-D__FUNCTION__=\"\"", + "-D__FUNCDNAME__=\"\"", + "-I", IsPartOfHeader("wrappedQtHeaders"), + "-I", IsPartOfHeader(toNative("wrappedQtHeaders/QtCore").toStdString()), + "-I", toNative("/tmp/path"), + "-I", toNative("/tmp/system_path"), + "/clang:-isystem", + "/clang:" + toNative(CLANG_RESOURCE_DIR ""), + "/clang:-isystem", + "/clang:" + toNative("/tmp/builtin_path"))); +} + +TEST_F(CompilerOptionsBuilder, BuildAllOptionsClWithExceptions) +{ + projectPart.toolchainType = ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID; + projectPart.toolChainMacros.append(ProjectExplorer::Macro{"_CPPUNWIND", "1"}); + CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, + CppTools::UseSystemHeader::No, + CppTools::UseTweakedHeaderPaths::Yes, + CppTools::UseLanguageDefines::No, + CppTools::UseBuildSystemWarnings::No, + "dummy_version", + ""); + + compilerOptionsBuilder.build(ProjectFile::CXXSource, CppTools::UsePrecompiledHeaders::No); + + ASSERT_THAT(compilerOptionsBuilder.options(), + ElementsAre("-nostdinc", + "-nostdinc++", + "--driver-mode=cl", + "/Zs", + "-m64", + "--target=x86_64-apple-darwin10", + "/TP", + "/std:c++17", "-fcxx-exceptions", "-fexceptions", "-fms-compatibility-version=19.00", |