diff options
author | Brad King <brad.king@kitware.com> | 2018-06-04 17:47:04 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-06-04 17:52:11 (GMT) |
commit | f719a13c28690fb44fbcd02ad1b5b9724c962d6b (patch) | |
tree | d33bd36b33e4764d9c4e593559f112f64a7974e4 /Modules/Compiler | |
parent | 07bddeae14001328209f5d1fb988107a6db508cb (diff) | |
download | CMake-f719a13c28690fb44fbcd02ad1b5b9724c962d6b.zip CMake-f719a13c28690fb44fbcd02ad1b5b9724c962d6b.tar.gz CMake-f719a13c28690fb44fbcd02ad1b5b9724c962d6b.tar.bz2 |
Features: Add special case to disable relaxed constexpr for Intel 18
Intel compilers define `__cpp_constexpr` to `200704` even in C++14 mode.
This indicates that the `cxx_relaxed_constexpr` feature is not
available. However, Intel 17 and above document support for it. In
commit v3.8.0~9^2 (Features: Update features for Intel C++ 17.0.2 on
UNIX, 2017-03-31) we added a special check for this case. Intel 17 and
19 work. However, Intel 18 does not seem to work and fails our test
case. Add a special case to disable the feature for Intel 18.
Diffstat (limited to 'Modules/Compiler')
-rw-r--r-- | Modules/Compiler/Intel-CXX-FeatureTests.cmake | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/Compiler/Intel-CXX-FeatureTests.cmake b/Modules/Compiler/Intel-CXX-FeatureTests.cmake index bbefe15..0df6c0f 100644 --- a/Modules/Compiler/Intel-CXX-FeatureTests.cmake +++ b/Modules/Compiler/Intel-CXX-FeatureTests.cmake @@ -24,7 +24,7 @@ set(DETECT_CXX14 "((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !def unset(DETECT_BUGGY_ICC15) set(Intel17_CXX14 "__INTEL_COMPILER >= 1700 && ${DETECT_CXX14}") -set(_cmake_feature_test_cxx_relaxed_constexpr "__cpp_constexpr >= 201304 || (${Intel17_CXX14} && !defined(_MSC_VER))") +set(_cmake_feature_test_cxx_relaxed_constexpr "__cpp_constexpr >= 201304 || (${Intel17_CXX14} && __INTEL_COMPILER != 1800 && !defined(_MSC_VER))") set(Intel16_CXX14 "__INTEL_COMPILER >= 1600 && ${DETECT_CXX14}") set(_cmake_feature_test_cxx_aggregate_default_initializers "${Intel16_CXX14}") |