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  9220290194fffec111890c28ff17ff0b79947a5b (commit)
       via  78b6017c86c7367bf7ef217e026c71435df491e2 (commit)
       via  e9d1ae8c8e19d9a53933334311488c319ba7b783 (commit)
      from  b5b7a7107955aaa704230378393745f1dffeddc1 (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=9220290194fffec111890c28ff17ff0b79947a5b
commit 9220290194fffec111890c28ff17ff0b79947a5b
Merge: b5b7a71 78b6017
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Fri Dec 16 11:17:42 2016 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Fri Dec 16 11:17:42 2016 -0500

    Merge topic 'gcc-34-features' into next
    
    78b6017c record features of gcc 3.4..4.3
    e9d1ae8c use cxx_long_long_type instead of cxx_auto_type to check C++ 
compile features


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=78b6017c86c7367bf7ef217e026c71435df491e2
commit 78b6017c86c7367bf7ef217e026c71435df491e2
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Thu Dec 15 22:54:41 2016 +0100
Commit:     Rolf Eike Beer <e...@sf-mail.de>
CommitDate: Fri Dec 16 17:17:31 2016 +0100

    record features of gcc 3.4..4.3
    
    This is not entirely complete, i.e. for some features the version they were
    introduced in is not set yet. This is just a first test to see what breaks.
    
    DO NOT MERGE YET.

diff --git a/Modules/Compiler/GNU-C-FeatureTests.cmake 
b/Modules/Compiler/GNU-C-FeatureTests.cmake
index b3fe33f..0ab5265 100644
--- a/Modules/Compiler/GNU-C-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-C-FeatureTests.cmake
@@ -1,5 +1,5 @@
 
-set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 404")
+set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 304")
 
 # 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
@@ -8,10 +8,10 @@ set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) 
>= 404")
 # to the distinction between __cplusplus and __GXX_EXPERIMENTAL_CXX0X__ tests.
 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 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && 
defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")
-set(_cmake_feature_test_c_restrict "${GNU44_C99}")
-set(_cmake_feature_test_c_variadic_macros "${GNU44_C99}")
+# Since 3.4 at least:
+set(GNU34_C99 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && 
defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L")
+set(_cmake_feature_test_c_restrict "${GNU34_C99}")
+set(_cmake_feature_test_c_variadic_macros "${GNU34_C99}")
 
 set(GNU_C90 "${_cmake_oldestSupported}")
 set(_cmake_feature_test_c_function_prototypes "${GNU_C90}")
diff --git a/Modules/Compiler/GNU-C.cmake b/Modules/Compiler/GNU-C.cmake
index 05c3bb2..3f02618 100644
--- a/Modules/Compiler/GNU-C.cmake
+++ b/Modules/Compiler/GNU-C.cmake
@@ -4,12 +4,12 @@ __compiler_gnu(C)
 if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
   set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
   set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
-elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
+elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
   set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c89")
   set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu89")
 endif()
 
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
+if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
   set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
   set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
 endif()
@@ -22,7 +22,7 @@ elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
   set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu1x")
 endif()
 
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
+if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
   if (NOT CMAKE_C_COMPILER_FORCED)
     if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
       message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for 
${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version 
${CMAKE_C_COMPILER_VERSION}")
@@ -38,10 +38,9 @@ if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
   endif()
 endif()
 
-
 macro(cmake_record_c_compile_features)
   set(_result 0)
-  if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
+  if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
     if(_result EQUAL 0 AND CMAKE_C11_STANDARD_COMPILE_OPTION)
       _record_compiler_features_c(11)
     endif()
diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake 
b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index d18adaf..eeee003 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__) >= 404")
+set(_cmake_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 304")
 
 set(GNU50_CXX14 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 
201402L")
 set(_cmake_feature_test_cxx_variable_templates "${GNU50_CXX14}")
@@ -86,24 +86,24 @@ set(_cmake_feature_test_cxx_trailing_return_types 
"${GNU44_CXX11}")
 set(_cmake_feature_test_cxx_unicode_literals "${GNU44_CXX11}")
 set(_cmake_feature_test_cxx_uniform_initialization "${GNU44_CXX11}")
 set(_cmake_feature_test_cxx_variadic_templates "${GNU44_CXX11}")
-# TODO: If features are ever recorded for GNU 4.3, there should possibly
+# There chould possibly
 # be a new feature added like cxx_variadic_template_template_parameters,
 # which is implemented by GNU 4.4, but not 4.3. cxx_variadic_templates is
 # actually implemented by GNU 4.3, but variadic template template parameters
 # 'completes' it, so that is the version we record as having the variadic
 # 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} && ${GNU_CXX0X_DEFINED}")
+set(GNU43_CXX11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 403 && 
${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}")
 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}")
+set(GNU34_CXX11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 304")
 # TODO: Should be supported since GNU 3.4?
-set(_cmake_feature_test_cxx_extern_templates "${_cmake_oldestSupported} && 
${GNU_CXX0X_DEFINED}")
+set(_cmake_feature_test_cxx_extern_templates "${GNU44_CXX11}")
 # TODO: Should be supported forever?
-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_long_long_type "${_cmake_oldestSupported}")
+set(_cmake_feature_test_cxx_func_identifier "${_cmake_oldestSupported}")
+set(_cmake_feature_test_cxx_variadic_macros "${_cmake_oldestSupported}")
 set(_cmake_feature_test_cxx_template_template_parameters 
"${_cmake_oldestSupported} && __cplusplus")
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index b04ea11..3ffb082 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -6,13 +6,13 @@ if (WIN32)
     set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN 
"-fno-keep-inline-dllexport")
   endif()
 else()
-  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.2)
+  if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
     set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN 
"-fvisibility-inlines-hidden")
   endif()
 endif()
 
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
-  # Supported since 4.3
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
+  # Supported since at least 3.4
   set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
   set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
 endif()
@@ -20,7 +20,7 @@ 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.4)
+elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.3)
   # 4.3 supports 0x variants
   set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++0x")
   set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x")
@@ -39,7 +39,7 @@ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
   set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z")
 endif()
 
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
   if (NOT CMAKE_CXX_COMPILER_FORCED)
     if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
       message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set 
for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version 
${CMAKE_CXX_COMPILER_VERSION}")
@@ -53,7 +53,7 @@ endif()
 
 macro(cmake_record_cxx_compile_features)
   set(_result 0)
-  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
+  if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
     if(_result EQUAL 0 AND CMAKE_CXX17_STANDARD_COMPILE_OPTION)
       _record_compiler_features_cxx(17)
     endif()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e9d1ae8c8e19d9a53933334311488c319ba7b783
commit e9d1ae8c8e19d9a53933334311488c319ba7b783
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Fri Dec 16 16:53:39 2016 +0100
Commit:     Rolf Eike Beer <e...@sf-mail.de>
CommitDate: Fri Dec 16 17:17:31 2016 +0100

    use cxx_long_long_type instead of cxx_auto_type to check C++ compile 
features
    
    Older gcc versions do not support auto, but already have some C++11 features
    available as extension.

diff --git a/Tests/CMakeCommands/target_compile_features/CMakeLists.txt 
b/Tests/CMakeCommands/target_compile_features/CMakeLists.txt
index 9b35f27..8a433cd 100644
--- a/Tests/CMakeCommands/target_compile_features/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_compile_features/CMakeLists.txt
@@ -32,7 +32,7 @@ if (CMAKE_CXX_COMPILE_FEATURES)
   endif()
   add_executable(target_compile_features${target_suffix} main.cpp)
   target_compile_features(target_compile_features${target_suffix}
-    PRIVATE cxx_auto_type
+    PRIVATE cxx_long_long_type
   )
 
   add_library(lib_auto_type lib_auto_type.cpp)
diff --git a/Tests/CMakeCommands/target_compile_features/main.cpp 
b/Tests/CMakeCommands/target_compile_features/main.cpp
index 6f5daee..aee232a 100644
--- a/Tests/CMakeCommands/target_compile_features/main.cpp
+++ b/Tests/CMakeCommands/target_compile_features/main.cpp
@@ -1,6 +1,6 @@
 
 int main(int, char**)
 {
-  auto i = 0;
-  return i;
+  long long i = 1 << 31;
+  return (i << 1) == 0;
 }
diff --git a/Tests/CompileFeatures/CMakeLists.txt 
b/Tests/CompileFeatures/CMakeLists.txt
index 0405def..fbd868f 100644
--- a/Tests/CompileFeatures/CMakeLists.txt
+++ b/Tests/CompileFeatures/CMakeLists.txt
@@ -278,7 +278,7 @@ if (CMAKE_CXX_COMPILE_FEATURES)
 
   add_executable(CompileFeatures main.cpp)
   set_property(TARGET CompileFeatures
-    PROPERTY COMPILE_FEATURES "cxx_auto_type"
+    PROPERTY COMPILE_FEATURES "cxx_long_long_type"
   )
   set_property(TARGET CompileFeatures
     PROPERTY CXX_STANDARD_REQUIRED TRUE
diff --git a/Tests/CompileFeatures/main.cpp b/Tests/CompileFeatures/main.cpp
index c5a7a46..5472cab 100644
--- a/Tests/CompileFeatures/main.cpp
+++ b/Tests/CompileFeatures/main.cpp
@@ -1,6 +1,6 @@
 
 int main(int, char**)
 {
-  auto value = 0;
-  return value;
+  long long value = 1 << 31;
+  return (value << 1) == 0;
 }

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

Summary of changes:


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

Reply via email to