[Cmake-commits] CMake branch, next, updated. v3.5.2-1078-gb832d5f

Brad King brad.king at kitware.com
Mon Apr 25 10:12:38 EDT 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  b832d5f71d98e954fadfb03681e9a5c8cd12e1ea (commit)
       via  aa78e774a6fcd142770f7b5bb29c6dad1870d5b8 (commit)
      from  824dc081274b1e535b1cddeb438370e4f52b7785 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b832d5f71d98e954fadfb03681e9a5c8cd12e1ea
commit b832d5f71d98e954fadfb03681e9a5c8cd12e1ea
Merge: 824dc08 aa78e77
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 25 10:12:35 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Apr 25 10:12:35 2016 -0400

    Merge topic 'intel-compiler-features' into next
    
    aa78e774 Features: Handle Intel 15.1 incorrect __cplusplus value.


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aa78e774a6fcd142770f7b5bb29c6dad1870d5b8
commit aa78e774a6fcd142770f7b5bb29c6dad1870d5b8
Author:     Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Fri Apr 22 11:26:19 2016 -0400
Commit:     Robert Maynard <robert.maynard at kitware.com>
CommitDate: Fri Apr 22 14:38:32 2016 -0400

    Features: Handle Intel 15.1 incorrect __cplusplus value.
    
    Intel 15.1 __cplusplus value is always 1 so we need to use other ways
    to detect if we are targeting 98/11/14.

diff --git a/Modules/Compiler/Intel-CXX-FeatureTests.cmake b/Modules/Compiler/Intel-CXX-FeatureTests.cmake
index eda3a8d..d328e3c 100644
--- a/Modules/Compiler/Intel-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/Intel-CXX-FeatureTests.cmake
@@ -12,10 +12,13 @@ endif()
 #set(_cmake_feature_test_cxx_variable_templates "${Intel15_CXX14}")
 #set(_cmake_feature_test_cxx_relaxed_constexpr "${Intel15_CXX14}")
 
-
 set(_cmake_oldestSupported "__INTEL_COMPILER >= 1110")
 set(DETECT_CXX11 "((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))")
-set(DETECT_CXX14 "((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)))")
+#ICC version 15 update 1 has a bug where __cplusplus is defined as 1 no matter
+#if you are compiling as 98/11/14. So to properly detect C++14 with this version
+#we look for the existence of __GXX_EXPERIMENTAL_CXX0X__ but not __INTEL_CXX11_MODE__
+set(DETECT_BUGGY_ICC15 "((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))")
+set(DETECT_CXX14 "((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) || ((${DETECT_BUGGY_ICC15}) && defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(__INTEL_CXX11_MODE__) ) )")
 
 set(Intel16_CXX14 "__INTEL_COMPILER >= 1600 && ${DETECT_CXX14}")
 set(_cmake_feature_test_cxx_aggregate_default_initializers "${Intel16_CXX14}")

-----------------------------------------------------------------------

Summary of changes:
 Modules/Compiler/Intel-CXX-FeatureTests.cmake |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list