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  ea660cfeb3d1f9f0fc85e226563d93162b043f83 (commit)
       via  135fd90a2a3e1f6a700ed59494ee2b54b9d3662c (commit)
       via  1f19ac4da5af812891be305721f3e3b7eed62cc3 (commit)
       via  0798d1e5b0a09564b127ae7d26d8c1ea1bc9adad (commit)
       via  938bd94eb0b34e1b5be12dcceaab641efc8a7e43 (commit)
       via  462c630b8a6d832dd37562fcd7b00a75e1ec6e82 (commit)
       via  222ec86f7d9ae838d2e460b89985c797c7c90373 (commit)
       via  6e909035af73d3ee0ca3e5adef39b4541f0c8be9 (commit)
       via  bfc995cc3b8834281ee86ea2ed248b041d5ad1be (commit)
       via  1532b9214f79517fe74dc674939601c75f4af300 (commit)
       via  1f4649e62f6394a6e9af67486e4c41f3e286de47 (commit)
       via  a60027a642f887179513496ef61552db44829652 (commit)
      from  57eb391335197a75d92530bfcd67ea4087d98066 (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=ea660cfeb3d1f9f0fc85e226563d93162b043f83
commit ea660cfeb3d1f9f0fc85e226563d93162b043f83
Merge: 57eb391 135fd90
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Thu Jan 15 16:31:27 2015 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Thu Jan 15 16:31:27 2015 -0500

    Merge topic 'GNU-4.6-compile-features' into next
    
    135fd90a Features: Record for GNU 4.6.
    1f19ac4d Features: Adjust cxx_variadic_templates unit test for GNU < 4.7.
    0798d1e5 Features: Extend the generalized_initializers test for GNU < 4.7.
    938bd94e Features: Test __GXX_EXPERIMENTAL_CXX0X__ macro for GNU < 4.7 
compatibility.
    462c630b Features: Don't test __cplusplus value for CXX98 on GNU.
    222ec86f Features: Test an old value of __STDC_VERSION__ for GNU < 4.7 
compatibility.
    6e909035 Features: Record C/CXX dialect flags for GNU 4.6.
    bfc995cc Features: Remove wrong content from else() condition.
    1532b921 Features: Make cxx_noexcept available from GNU 4.6.
    1f4649e6 Features: Update the default_dialect test for old GNU-like 
compilers.
    a60027a6 Features: Ensure appropriate return value from feature test macros.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=135fd90a2a3e1f6a700ed59494ee2b54b9d3662c
commit 135fd90a2a3e1f6a700ed59494ee2b54b9d3662c
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sat Jan 10 20:05:54 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:16:20 2015 +0100

    Features: Record for GNU 4.6.
    
    Adjust the CompileFeatures genex_test for the expectation of the
    OVERRIDE_CONTROL feature group.

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 8faf4e4..d5e747d 100644
--- a/Modules/Compiler/GNU-C.cmake
+++ b/Modules/Compiler/GNU-C.cmake
@@ -29,7 +29,7 @@ macro(cmake_record_c_compile_features)
   endmacro()
 
   set(_result 0)
-  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 3c6c663..267d658 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 c03cc4b..eeada86 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()
diff --git a/Tests/CompileFeatures/CMakeLists.txt 
b/Tests/CompileFeatures/CMakeLists.txt
index 5ca1eb7..106f29c 100644
--- a/Tests/CompileFeatures/CMakeLists.txt
+++ b/Tests/CompileFeatures/CMakeLists.txt
@@ -142,23 +142,24 @@ if (CMAKE_CXX_COMPILE_FEATURES)
   add_executable(IfaceCompileFeatures main.cpp)
   target_link_libraries(IfaceCompileFeatures iface)
 
-  add_definitions(-DEXPECT_OVERRIDE_CONTROL=1)
-
   if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
     if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
       add_definitions(
+        -DEXPECT_OVERRIDE_CONTROL=1
         -DEXPECT_INHERITING_CONSTRUCTORS=1
         -DEXPECT_FINAL=1
         -DEXPECT_INHERITING_CONSTRUCTORS_AND_FINAL=1
       )
     elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
       add_definitions(
+        -DEXPECT_OVERRIDE_CONTROL=1
         -DEXPECT_INHERITING_CONSTRUCTORS=0
         -DEXPECT_FINAL=1
         -DEXPECT_INHERITING_CONSTRUCTORS_AND_FINAL=0
       )
     else()
       add_definitions(
+        -DEXPECT_OVERRIDE_CONTROL=0
         -DEXPECT_INHERITING_CONSTRUCTORS=0
         -DEXPECT_FINAL=0
         -DEXPECT_INHERITING_CONSTRUCTORS_AND_FINAL=0
@@ -166,6 +167,7 @@ if (CMAKE_CXX_COMPILE_FEATURES)
     endif()
   elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
     add_definitions(
+      -DEXPECT_OVERRIDE_CONTROL=1
       -DEXPECT_INHERITING_CONSTRUCTORS=1
       -DEXPECT_FINAL=1
       -DEXPECT_INHERITING_CONSTRUCTORS_AND_FINAL=1
@@ -173,12 +175,14 @@ if (CMAKE_CXX_COMPILE_FEATURES)
   elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
     if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
       add_definitions(
+        -DEXPECT_OVERRIDE_CONTROL=1
         -DEXPECT_INHERITING_CONSTRUCTORS=1
         -DEXPECT_FINAL=1
         -DEXPECT_INHERITING_CONSTRUCTORS_AND_FINAL=1
       )
     else()
       add_definitions(
+        -DEXPECT_OVERRIDE_CONTROL=1
         -DEXPECT_INHERITING_CONSTRUCTORS=0
         -DEXPECT_FINAL=1
         -DEXPECT_INHERITING_CONSTRUCTORS_AND_FINAL=0

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1f19ac4da5af812891be305721f3e3b7eed62cc3
commit 1f19ac4da5af812891be305721f3e3b7eed62cc3
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sun Jan 11 18:44:49 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 2015 +0100

    Features: Adjust cxx_variadic_templates unit test for GNU < 4.7.
    
    The unit test for this fails with GNU 4.6:
    
     Building CXX object 
CMakeFiles/test_cxx_variadic_templates.dir/cxx_variadic_templates.cpp.o
       CompileFeatures/cxx_variadic_templates.cpp: In static member function 
‘static int Interface<I, Is>::accumulate()’:
       CompileFeatures/cxx_variadic_templates.cpp:18:31: sorry, unimplemented: 
cannot expand ‘Is ...’ into a fixed-length argument list
     CMakeFiles/test_cxx_variadic_templates.dir/build.make:54: recipe for 
target 
'CMakeFiles/test_cxx_variadic_templates.dir/cxx_variadic_templates.cpp.o' failed
    
    The workaround is to use a specialization:
    
     http://stackoverflow.com/questions/1989552
     http://stackoverflow.com/questions/11297376

diff --git a/Tests/CompileFeatures/cxx_variadic_templates.cpp 
b/Tests/CompileFeatures/cxx_variadic_templates.cpp
index 1d5a706..a80e157 100644
--- a/Tests/CompileFeatures/cxx_variadic_templates.cpp
+++ b/Tests/CompileFeatures/cxx_variadic_templates.cpp
@@ -1,4 +1,4 @@
-template<int I, int... Is>
+template<int... Is>
 struct Interface;
 
 template<int I>
@@ -11,7 +11,7 @@ struct Interface<I>
 };
 
 template<int I, int... Is>
-struct Interface
+struct Interface<I, Is...>
 {
   static int accumulate()
   {

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0798d1e5b0a09564b127ae7d26d8c1ea1bc9adad
commit 0798d1e5b0a09564b127ae7d26d8c1ea1bc9adad
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sun Jan 11 18:43:31 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 2015 +0100

    Features: Extend the generalized_initializers test for GNU < 4.7.
    
    That compiler requires a different initializer_list constructor, so
    update the test to match.

diff --git a/Tests/CompileFeatures/cxx_generalized_initializers.cpp 
b/Tests/CompileFeatures/cxx_generalized_initializers.cpp
index 8013ef5..7bf356b 100644
--- a/Tests/CompileFeatures/cxx_generalized_initializers.cpp
+++ b/Tests/CompileFeatures/cxx_generalized_initializers.cpp
@@ -8,6 +8,7 @@ namespace std {
     const _E* __begin_;
     size_t    __size_;
 
+    initializer_list(const int*, long unsigned int) {}
   };
 }
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=938bd94eb0b34e1b5be12dcceaab641efc8a7e43
commit 938bd94eb0b34e1b5be12dcceaab641efc8a7e43
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sun Jan 11 16:22:24 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 2015 +0100

    Features: Test __GXX_EXPERIMENTAL_CXX0X__ macro for GNU < 4.7 compatibility.

diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake 
b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 8f812da..3c6c663 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} && __cplusplus")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=462c630b8a6d832dd37562fcd7b00a75e1ec6e82
commit 462c630b8a6d832dd37562fcd7b00a75e1ec6e82
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sun Jan 11 16:23:34 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 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).
    
    Test only that it has a truthy value.

diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake 
b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index 03b53e1..8f812da 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} && __cplusplus")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=222ec86f7d9ae838d2e460b89985c797c7c90373
commit 222ec86f7d9ae838d2e460b89985c797c7c90373
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sun Jan 11 16:20:03 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 2015 +0100

    Features: Test an old value of __STDC_VERSION__ for GNU < 4.7 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=6e909035af73d3ee0ca3e5adef39b4541f0c8be9
commit 6e909035af73d3ee0ca3e5adef39b4541f0c8be9
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sun Jan 11 16:09:50 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 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 8b47880..8faf4e4 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 6ade85a..c03cc4b 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=bfc995cc3b8834281ee86ea2ed248b041d5ad1be
commit bfc995cc3b8834281ee86ea2ed248b041d5ad1be
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sun Jan 11 16:14:26 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 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 3404d22..8b47880 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=1532b9214f79517fe74dc674939601c75f4af300
commit 1532b9214f79517fe74dc674939601c75f4af300
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Sun Jan 11 15:55:09 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 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=1f4649e62f6394a6e9af67486e4c41f3e286de47
commit 1f4649e62f6394a6e9af67486e4c41f3e286de47
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Fri Jan 9 20:18:24 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:22 2015 +0100

    Features: 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

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a60027a642f887179513496ef61552db44829652
commit a60027a642f887179513496ef61552db44829652
Author:     Stephen Kelly <steve...@gmail.com>
AuthorDate: Mon Jan 12 21:43:48 2015 +0100
Commit:     Stephen Kelly <steve...@gmail.com>
CommitDate: Thu Jan 15 22:13:21 2015 +0100

    Features: Ensure appropriate return value from feature test macros.
    
    GNU-CXX already has complex logic and sets the _result to 0 before
    tests which may set it to something else.
    
    Change the other modules to be consistent with that.

diff --git a/Modules/Compiler/AppleClang-C.cmake 
b/Modules/Compiler/AppleClang-C.cmake
index 0665745..16f420f 100644
--- a/Modules/Compiler/AppleClang-C.cmake
+++ b/Modules/Compiler/AppleClang-C.cmake
@@ -19,6 +19,7 @@ macro(cmake_record_c_compile_features)
     record_compiler_features(C "${std_version}" ${list})
   endmacro()
 
+  set(_result 0)
   if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
     _get_appleclang_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} 
CMAKE_C11_COMPILE_FEATURES)
     if (_result EQUAL 0)
@@ -27,7 +28,5 @@ macro(cmake_record_c_compile_features)
     if (_result EQUAL 0)
       _get_appleclang_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} 
CMAKE_C90_COMPILE_FEATURES)
     endif()
-  else()
-    set(_result 0)
   endif()
 endmacro()
diff --git a/Modules/Compiler/AppleClang-CXX.cmake 
b/Modules/Compiler/AppleClang-CXX.cmake
index a508623..978c382 100644
--- a/Modules/Compiler/AppleClang-CXX.cmake
+++ b/Modules/Compiler/AppleClang-CXX.cmake
@@ -26,6 +26,7 @@ macro(cmake_record_cxx_compile_features)
     record_compiler_features(CXX "${std_version}" ${list})
   endmacro()
 
+  set(_result 0)
   if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
     set(_result 0)
     if(CMAKE_CXX14_STANDARD_COMPILE_OPTION)
@@ -37,7 +38,5 @@ macro(cmake_record_cxx_compile_features)
     if (_result EQUAL 0)
       _get_appleclang_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} 
CMAKE_CXX98_COMPILE_FEATURES)
     endif()
-  else()
-    set(_result 0)
   endif()
 endmacro()
diff --git a/Modules/Compiler/Clang-C.cmake b/Modules/Compiler/Clang-C.cmake
index ebd5c43..548d0a5 100644
--- a/Modules/Compiler/Clang-C.cmake
+++ b/Modules/Compiler/Clang-C.cmake
@@ -28,6 +28,7 @@ macro(cmake_record_c_compile_features)
     record_compiler_features(C "${std_version}" ${list})
   endmacro()
 
+  set(_result 0)
   if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
     _get_clang_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} 
CMAKE_C11_COMPILE_FEATURES)
     if (_result EQUAL 0)
@@ -36,7 +37,5 @@ macro(cmake_record_c_compile_features)
     if (_result EQUAL 0)
       _get_clang_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} 
CMAKE_C90_COMPILE_FEATURES)
     endif()
-  else()
-    set(_result 0)
   endif()
 endmacro()
diff --git a/Modules/Compiler/Clang-CXX.cmake b/Modules/Compiler/Clang-CXX.cmake
index 6fe0b56..e07eace 100644
--- a/Modules/Compiler/Clang-CXX.cmake
+++ b/Modules/Compiler/Clang-CXX.cmake
@@ -38,6 +38,7 @@ macro(cmake_record_cxx_compile_features)
     record_compiler_features(CXX "${std_version}" ${list})
   endmacro()
 
+  set(_result 0)
   if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
     _get_clang_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} 
CMAKE_CXX14_COMPILE_FEATURES)
     if (_result EQUAL 0)
@@ -46,7 +47,5 @@ macro(cmake_record_cxx_compile_features)
     if (_result EQUAL 0)
       _get_clang_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} 
CMAKE_CXX98_COMPILE_FEATURES)
     endif()
-  else()
-    set(_result 0)
   endif()
 endmacro()
diff --git a/Modules/Compiler/GNU-C.cmake b/Modules/Compiler/GNU-C.cmake
index db9089d..3404d22 100644
--- a/Modules/Compiler/GNU-C.cmake
+++ b/Modules/Compiler/GNU-C.cmake
@@ -23,6 +23,7 @@ macro(cmake_record_c_compile_features)
     record_compiler_features(C "${std_version}" ${list})
   endmacro()
 
+  set(_result 0)
   if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
     _get_gcc_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} 
CMAKE_C11_COMPILE_FEATURES)
     if (_result EQUAL 0)
@@ -31,7 +32,5 @@ macro(cmake_record_c_compile_features)
     if (_result EQUAL 0)
       _get_gcc_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} 
CMAKE_C90_COMPILE_FEATURES)
     endif()
-  else()
-    set(_result 0)
   endif()
 endmacro()
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index 4a26963..6ade85a 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -49,7 +49,5 @@ macro(cmake_record_cxx_compile_features)
     if (_result EQUAL 0)
       _get_gcc_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} 
CMAKE_CXX98_COMPILE_FEATURES)
     endif()
-  else()
-    set(_result 0)
   endif()
 endmacro()

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

Summary of changes:
 Modules/Compiler/AppleClang-C.cmake                |    3 +--
 Modules/Compiler/AppleClang-CXX.cmake              |    3 +--
 Modules/Compiler/Clang-C.cmake                     |    3 +--
 Modules/Compiler/Clang-CXX.cmake                   |    3 +--
 Modules/Compiler/GNU-C-FeatureTests.cmake          |    9 +++++--
 Modules/Compiler/GNU-C.cmake                       |   14 +++++++----
 Modules/Compiler/GNU-CXX-FeatureTests.cmake        |   25 ++++++++++++--------
 Modules/Compiler/GNU-CXX.cmake                     |    9 +++----
 Tests/CompileFeatures/CMakeLists.txt               |    8 +++++--
 .../cxx_generalized_initializers.cpp               |    1 +
 Tests/CompileFeatures/cxx_variadic_templates.cpp   |    4 ++--
 Tests/CompileFeatures/default_dialect.cpp          |    2 +-
 12 files changed, 50 insertions(+), 34 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to