[Cmake-commits] CMake branch, next, updated. v3.1.0-1658-g1e34d70

Stephen Kelly steveire at gmail.com
Sun Jan 11 10:32:40 EST 2015


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  1e34d70d79927b9ed68111528bdde02cbfd1afa6 (commit)
       via  9a920b69d548faef12d7cf9a5d1bc2706e1e5e5c (commit)
       via  6c634a5cb389b9576da94d9e42ca9392651ec22b (commit)
       via  548c7be76d4c6590175c190ba3b1391bcd5e7861 (commit)
       via  1b7c74a2abca1d6f09abc7f84c63ad9eed311c54 (commit)
       via  c7f575ec1d221aba0350fbe92b8bb1a10d1123e3 (commit)
       via  f726493f91a61c28faa5eb526ab8c7f26dbedff2 (commit)
       via  a1efdd8d0a65e98833cf3209da378250fa096c3e (commit)
       via  3452847e1ddb24d36048575d51bb5216af036ace (commit)
      from  c7fb8d364b6915cd603573fdfb4670c88d728050 (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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1e34d70d79927b9ed68111528bdde02cbfd1afa6
commit 1e34d70d79927b9ed68111528bdde02cbfd1afa6
Merge: c7fb8d3 9a920b6
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 10:32:39 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sun Jan 11 10:32:39 2015 -0500

    Merge topic 'GNU-4.6-compile-features' into next
    
    9a920b69 Features: Record for GNU 4.6.
    6c634a5c Features: Test __GXX_EXPERIMENTAL_CXX0X__ macro for GNU 4.6 compatibility.
    548c7be7 Features: Don't test __cplusplus value for CXX98 on GNU.
    1b7c74a2 Features: Test an old value of __STDC_VERSION__ for GNU 4.6 compatibility.
    c7f575ec Features: Record C/CXX dialect flags for GNU 4.6.
    f726493f Features: Remove wrong content from else() condition.
    a1efdd8d Features: Make cxx_noexcept available from GNU 4.6.
    3452847e Update the default_dialect test for old GNU-like compilers.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9a920b69d548faef12d7cf9a5d1bc2706e1e5e5c
commit 9a920b69d548faef12d7cf9a5d1bc2706e1e5e5c
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat Jan 10 20:05:54 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 16:29:14 2015 +0100

    Features: Record for GNU 4.6.

diff --git a/Modules/Compiler/GNU-C-FeatureTests.cmake b/Modules/Compiler/GNU-C-FeatureTests.cmake
index ddac0e8..7e840aa 100644
--- a/Modules/Compiler/GNU-C-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-C-FeatureTests.cmake
@@ -1,12 +1,12 @@
 
-set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 407")
+set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 406")
 
 # GNU 4.7 correctly sets __STDC_VERSION__ to 201112L, but GNU 4.6 sets it
 # to 201000L.  As the former is strictly greater than the latter, test only
 # for the latter.  If in the future CMake learns about a C feature which was
 # introduced with GNU 4.7, that should test for the correct version, similar
 # to the distinction between __cplusplus and __GXX_EXPERIMENTAL_CXX0X__ tests.
-set(GNU46_C11 "${_cmake_oldestSupported} && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L")
+set(GNU46_C11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L")
 set(_cmake_feature_test_c_static_assert "${GNU46_C11}")
 # Since 4.4 at least:
 set(GNU44_C99 "${_cmake_oldestSupported} && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")
diff --git a/Modules/Compiler/GNU-C.cmake b/Modules/Compiler/GNU-C.cmake
index 2720fbc..07200f4 100644
--- a/Modules/Compiler/GNU-C.cmake
+++ b/Modules/Compiler/GNU-C.cmake
@@ -28,7 +28,7 @@ macro(cmake_record_c_compile_features)
     record_compiler_features(C "${std_version}" ${list})
   endmacro()
 
-  if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
+  if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
     _get_gcc_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
     if (_result EQUAL 0)
       _get_gcc_features(${CMAKE_C99_STANDARD_COMPILE_OPTION} CMAKE_C99_COMPILE_FEATURES)
diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 41f1803..e5af099 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -2,7 +2,7 @@
 # Reference: http://gcc.gnu.org/projects/cxx0x.html
 # http://gcc.gnu.org/projects/cxx1y.html
 
-set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 407")
+set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 406")
 
 set(GNU50_CXX14 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L")
 set(_cmake_feature_test_cxx_variable_templates "${GNU50_CXX14}")
@@ -60,7 +60,7 @@ set(_cmake_feature_test_cxx_user_literals "${GNU47_CXX11}")
 # defined in the future.
 set(GNU_CXX0X_DEFINED "(__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))")
 # TODO: Should be supported by GNU 4.6
-set(GNU46_CXX11 "${_cmake_oldestSupported} && ${GNU_CXX0X_DEFINED}")
+set(GNU46_CXX11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && ${GNU_CXX0X_DEFINED}")
 set(_cmake_feature_test_cxx_constexpr "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_defaulted_move_initializers "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_enum_forward_declarations "${GNU46_CXX11}")
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index e746267..18bcf15 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -45,7 +45,7 @@ macro(cmake_record_cxx_compile_features)
   if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
     _get_gcc_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
   endif()
-  if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
+  if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.6)
     if (_result EQUAL 0)
       _get_gcc_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
     endif()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6c634a5cb389b9576da94d9e42ca9392651ec22b
commit 6c634a5cb389b9576da94d9e42ca9392651ec22b
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 16:22:24 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 16:27:33 2015 +0100

    Features: Test __GXX_EXPERIMENTAL_CXX0X__ macro for GNU 4.6 compatibility.

diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 27cff40..41f1803 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -54,8 +54,13 @@ set(_cmake_feature_test_cxx_user_literals "${GNU47_CXX11}")
 # support -std=c++11. Prior to that, support for C++11 features is technically
 # experiemental and possibly incomplete (see for example the note below about
 # cxx_variadic_template_template_parameters)
+# GNU does not define __cplusplus correctly before version 4.7.
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773
+# __GXX_EXPERIMENTAL_CXX0X__ is defined in prior versions, but may not be
+# defined in the future.
+set(GNU_CXX0X_DEFINED "(__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))")
 # TODO: Should be supported by GNU 4.6
-set(GNU46_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(GNU46_CXX11 "${_cmake_oldestSupported} && ${GNU_CXX0X_DEFINED}")
 set(_cmake_feature_test_cxx_constexpr "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_defaulted_move_initializers "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_enum_forward_declarations "${GNU46_CXX11}")
@@ -64,13 +69,13 @@ set(_cmake_feature_test_cxx_nullptr "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_range_for "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_unrestricted_unions "${GNU46_CXX11}")
 # TODO: Should be supported by GNU 4.5
-set(GNU45_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(GNU45_CXX11 "${_cmake_oldestSupported} && ${GNU_CXX0X_DEFINED}")
 set(_cmake_feature_test_cxx_explicit_conversions "${GNU45_CXX11}")
 set(_cmake_feature_test_cxx_lambdas "${GNU45_CXX11}")
 set(_cmake_feature_test_cxx_local_type_template_args "${GNU45_CXX11}")
 set(_cmake_feature_test_cxx_raw_string_literals "${GNU45_CXX11}")
 # TODO: Should be supported by GNU 4.4
-set(GNU44_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(GNU44_CXX11 "${_cmake_oldestSupported} && ${GNU_CXX0X_DEFINED}")
 set(_cmake_feature_test_cxx_auto_type "${GNU44_CXX11}")
 set(_cmake_feature_test_cxx_defaulted_functions "${GNU44_CXX11}")
 set(_cmake_feature_test_cxx_deleted_functions "${GNU44_CXX11}")
@@ -90,7 +95,7 @@ set(_cmake_feature_test_cxx_variadic_templates "${GNU44_CXX11}")
 # templates capability in CMake. See
 # http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf
 # TODO: Should be supported by GNU 4.3
-set(GNU43_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(GNU43_CXX11 "${_cmake_oldestSupported} && ${GNU_CXX0X_DEFINED}")
 set(_cmake_feature_test_cxx_decltype "${GNU43_CXX11}")
 set(_cmake_feature_test_cxx_default_function_template_args "${GNU43_CXX11}")
 set(_cmake_feature_test_cxx_long_long_type "${GNU43_CXX11}")
@@ -98,8 +103,8 @@ set(_cmake_feature_test_cxx_right_angle_brackets "${GNU43_CXX11}")
 set(_cmake_feature_test_cxx_rvalue_references "${GNU43_CXX11}")
 set(_cmake_feature_test_cxx_static_assert "${GNU43_CXX11}")
 # TODO: Should be supported since GNU 3.4?
-set(_cmake_feature_test_cxx_extern_templates "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(_cmake_feature_test_cxx_extern_templates "${_cmake_oldestSupported} && ${GNU_CXX0X_DEFINED}")
 # TODO: Should be supported forever?
-set(_cmake_feature_test_cxx_func_identifier "${_cmake_oldestSupported} && __cplusplus >= 201103L")
-set(_cmake_feature_test_cxx_variadic_macros "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(_cmake_feature_test_cxx_func_identifier "${_cmake_oldestSupported} && ${GNU_CXX0X_DEFINED}")
+set(_cmake_feature_test_cxx_variadic_macros "${_cmake_oldestSupported} && ${GNU_CXX0X_DEFINED}")
 set(_cmake_feature_test_cxx_template_template_parameters "${_cmake_oldestSupported}")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=548c7be76d4c6590175c190ba3b1391bcd5e7861
commit 548c7be76d4c6590175c190ba3b1391bcd5e7861
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 16:23:34 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 16:23:34 2015 +0100

    Features: Don't test __cplusplus value for CXX98 on GNU.
    
    The macro is defined to 1 for GNU 4.6, and such a test is only
    useful for features in language dialects newer than the
    default (CXX98 for GNU currently).

diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 03b53e1..27cff40 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -102,4 +102,4 @@ set(_cmake_feature_test_cxx_extern_templates "${_cmake_oldestSupported} && __cpl
 # TODO: Should be supported forever?
 set(_cmake_feature_test_cxx_func_identifier "${_cmake_oldestSupported} && __cplusplus >= 201103L")
 set(_cmake_feature_test_cxx_variadic_macros "${_cmake_oldestSupported} && __cplusplus >= 201103L")
-set(_cmake_feature_test_cxx_template_template_parameters "${_cmake_oldestSupported} && __cplusplus >= 199711L")
+set(_cmake_feature_test_cxx_template_template_parameters "${_cmake_oldestSupported}")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1b7c74a2abca1d6f09abc7f84c63ad9eed311c54
commit 1b7c74a2abca1d6f09abc7f84c63ad9eed311c54
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 16:20:03 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 16:20:03 2015 +0100

    Features: Test an old value of __STDC_VERSION__ for GNU 4.6 compatibility.

diff --git a/Modules/Compiler/GNU-C-FeatureTests.cmake b/Modules/Compiler/GNU-C-FeatureTests.cmake
index dfaeebf..ddac0e8 100644
--- a/Modules/Compiler/GNU-C-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-C-FeatureTests.cmake
@@ -1,7 +1,12 @@
 
 set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 407")
 
-set(GNU46_C11 "${_cmake_oldestSupported} && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L")
+# GNU 4.7 correctly sets __STDC_VERSION__ to 201112L, but GNU 4.6 sets it
+# to 201000L.  As the former is strictly greater than the latter, test only
+# for the latter.  If in the future CMake learns about a C feature which was
+# introduced with GNU 4.7, that should test for the correct version, similar
+# to the distinction between __cplusplus and __GXX_EXPERIMENTAL_CXX0X__ tests.
+set(GNU46_C11 "${_cmake_oldestSupported} && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L")
 set(_cmake_feature_test_c_static_assert "${GNU46_C11}")
 # Since 4.4 at least:
 set(GNU44_C99 "${_cmake_oldestSupported} && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c7f575ec1d221aba0350fbe92b8bb1a10d1123e3
commit c7f575ec1d221aba0350fbe92b8bb1a10d1123e3
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 16:09:50 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 16:17:57 2015 +0100

    Features: Record C/CXX dialect flags for GNU 4.6.
    
    This release was prior to standardization of C11/CXX11.

diff --git a/Modules/Compiler/GNU-C.cmake b/Modules/Compiler/GNU-C.cmake
index 031eb81..2720fbc 100644
--- a/Modules/Compiler/GNU-C.cmake
+++ b/Modules/Compiler/GNU-C.cmake
@@ -1,15 +1,20 @@
 include(Compiler/GNU)
 __compiler_gnu(C)
 
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
+if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
   set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
   set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
 
   set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
   set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
+endif()
 
+if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
   set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
   set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
+elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
+  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c1x")
+  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu1x")
 endif()
 
 if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index 4a26963..e746267 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -11,7 +11,7 @@ else()
   endif()
 endif()
 
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.6)
   # Supported since 4.3
   set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
   set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
@@ -20,7 +20,10 @@ endif()
 if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
   set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
   set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.6)
   # 4.3 supports 0x variants
+  set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
+  set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
 endif()
 
 if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f726493f91a61c28faa5eb526ab8c7f26dbedff2
commit f726493f91a61c28faa5eb526ab8c7f26dbedff2
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 16:14:26 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 16:16:01 2015 +0100

    Features: Remove wrong content from else() condition.
    
    As this is not elseif(), the content has no effect.
    
    Rather than changing it to an elseif(), remove the conditional content.
    All versions of GNU prior to 5.0 default to C90/89.
    
    Clang-C.cmake has a similar code block which correctly uses
    elseif() for setting the default C dialect to C99.  That may have
    been updated from a C90 default at some point, so leave the
    version condition there in place for now.

diff --git a/Modules/Compiler/GNU-C.cmake b/Modules/Compiler/GNU-C.cmake
index db9089d..031eb81 100644
--- a/Modules/Compiler/GNU-C.cmake
+++ b/Modules/Compiler/GNU-C.cmake
@@ -14,7 +14,7 @@ endif()
 
 if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
   set(CMAKE_C_STANDARD_DEFAULT 11)
-else(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
+else()
   set(CMAKE_C_STANDARD_DEFAULT 90)
 endif()
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a1efdd8d0a65e98833cf3209da378250fa096c3e
commit a1efdd8d0a65e98833cf3209da378250fa096c3e
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 15:55:09 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 15:55:59 2015 +0100

    Features: Make cxx_noexcept available from GNU 4.6.
    
    As listed in the reference document.

diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 6de06dd..03b53e1 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -46,7 +46,6 @@ set(_cmake_feature_test_cxx_alias_templates "${GNU47_CXX11}")
 set(_cmake_feature_test_cxx_delegating_constructors "${GNU47_CXX11}")
 set(_cmake_feature_test_cxx_extended_friend_declarations "${GNU47_CXX11}")
 set(_cmake_feature_test_cxx_final "${GNU47_CXX11}")
-set(_cmake_feature_test_cxx_noexcept "${GNU47_CXX11}")
 set(_cmake_feature_test_cxx_nonstatic_member_init "${GNU47_CXX11}")
 set(_cmake_feature_test_cxx_override "${GNU47_CXX11}")
 set(_cmake_feature_test_cxx_user_literals "${GNU47_CXX11}")
@@ -60,6 +59,7 @@ set(GNU46_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
 set(_cmake_feature_test_cxx_constexpr "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_defaulted_move_initializers "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_enum_forward_declarations "${GNU46_CXX11}")
+set(_cmake_feature_test_cxx_noexcept "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_nullptr "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_range_for "${GNU46_CXX11}")
 set(_cmake_feature_test_cxx_unrestricted_unions "${GNU46_CXX11}")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3452847e1ddb24d36048575d51bb5216af036ace
commit 3452847e1ddb24d36048575d51bb5216af036ace
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Jan 9 20:18:24 2015 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 14:28:56 2015 +0100

    Update the default_dialect test for old GNU-like compilers.
    
    Prior to GNU 4.7, GNU defined __cplusplus incorrectly, and defined
    __GXX_EXPERIMENTAL_CXX0X__ in C++11 mode.

diff --git a/Tests/CompileFeatures/default_dialect.cpp b/Tests/CompileFeatures/default_dialect.cpp
index 8d97926..a2ca268 100644
--- a/Tests/CompileFeatures/default_dialect.cpp
+++ b/Tests/CompileFeatures/default_dialect.cpp
@@ -14,7 +14,7 @@ Outputter<__cplusplus> o;
 #  if !DEFAULT_CXX98
 #    error Buildsystem error
 #  endif
-#  if __cplusplus != 199711L
+#  if __cplusplus != 199711L && __cplusplus != 1 && !defined(__GXX_EXPERIMENTAL_CXX0X__)
 Outputter<__cplusplus> o;
 #  endif
 #endif

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

Summary of changes:
 Modules/Compiler/GNU-C-FeatureTests.cmake   |    9 +++++++--
 Modules/Compiler/GNU-C.cmake                |   11 ++++++++---
 Modules/Compiler/GNU-CXX-FeatureTests.cmake |   25 +++++++++++++++----------
 Modules/Compiler/GNU-CXX.cmake              |    7 +++++--
 Tests/CompileFeatures/default_dialect.cpp   |    2 +-
 5 files changed, 36 insertions(+), 18 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list