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  65aadbed2e3361519eec9a32a3250976c0ae04ed (commit)
       via  5b5bdb2638ccd83dfe7127444121907c11769b25 (commit)
       via  674aaf80bda5254cd7c16377f93fda577a06bedc (commit)
       via  9639b2f7e7fadee1c160b915183dc2aa30a0408e (commit)
      from  08f31611996f8c7878f6267bd3698056cb016f61 (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=65aadbed2e3361519eec9a32a3250976c0ae04ed
commit 65aadbed2e3361519eec9a32a3250976c0ae04ed
Merge: 08f3161 5b5bdb2
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Sat Dec 17 09:01:07 2016 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Sat Dec 17 09:01:07 2016 -0500

    Merge topic 'gcc-34-features' into next
    
    5b5bdb26 record features of gcc 3.4..4.3
    674aaf80 use cxx_long_long_type instead of cxx_auto_type to check C++ 
compile features
    9639b2f7 CMake Nightly Date Stamp


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5b5bdb2638ccd83dfe7127444121907c11769b25
commit 5b5bdb2638ccd83dfe7127444121907c11769b25
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: Sat Dec 17 15:00:54 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=674aaf80bda5254cd7c16377f93fda577a06bedc
commit 674aaf80bda5254cd7c16377f93fda577a06bedc
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: Sat Dec 17 15:00:54 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..7da526a 100644
--- a/Tests/CMakeCommands/target_compile_features/CMakeLists.txt
+++ b/Tests/CMakeCommands/target_compile_features/CMakeLists.txt
@@ -32,14 +32,14 @@ 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)
-  target_compile_features(lib_auto_type
-    PUBLIC cxx_auto_type
+  add_library(lib_long_long_type lib_long_long_type.cpp)
+  target_compile_features(lib_long_long_type
+    PUBLIC cxx_long_long_type
   )
 
   add_executable(lib_user lib_user.cpp)
-  target_link_libraries(lib_user lib_auto_type)
+  target_link_libraries(lib_user lib_long_long_type)
 endif()
diff --git a/Tests/CMakeCommands/target_compile_features/lib_auto_type.cpp 
b/Tests/CMakeCommands/target_compile_features/lib_auto_type.cpp
deleted file mode 100644
index 71b2215..0000000
--- a/Tests/CMakeCommands/target_compile_features/lib_auto_type.cpp
+++ /dev/null
@@ -1,6 +0,0 @@
-
-int getAutoTypeImpl()
-{
-  auto i = 0;
-  return i;
-}
diff --git a/Tests/CMakeCommands/target_compile_features/lib_auto_type.h 
b/Tests/CMakeCommands/target_compile_features/lib_auto_type.h
deleted file mode 100644
index c825b10..0000000
--- a/Tests/CMakeCommands/target_compile_features/lib_auto_type.h
+++ /dev/null
@@ -1,8 +0,0 @@
-
-int getAutoTypeImpl();
-
-int getAutoType()
-{
-  auto i = getAutoTypeImpl();
-  return i;
-}
diff --git a/Tests/CMakeCommands/target_compile_features/lib_long_long_type.cpp 
b/Tests/CMakeCommands/target_compile_features/lib_long_long_type.cpp
new file mode 100644
index 0000000..4d3a896
--- /dev/null
+++ b/Tests/CMakeCommands/target_compile_features/lib_long_long_type.cpp
@@ -0,0 +1,11 @@
+
+int getLLTypeImpl(long long &l)
+{
+  int i = 64;
+  while(l) {
+    if(l & 1)
+      i--;
+    l >>= 1;
+  }
+  return i;
+}
diff --git a/Tests/CMakeCommands/target_compile_features/lib_long_long_type.h 
b/Tests/CMakeCommands/target_compile_features/lib_long_long_type.h
new file mode 100644
index 0000000..8111382
--- /dev/null
+++ b/Tests/CMakeCommands/target_compile_features/lib_long_long_type.h
@@ -0,0 +1,8 @@
+
+int getLLTypeImpl(long long &);
+
+int getLLType(int i)
+{
+  long long l = i;
+  return getLLTypeImpl(l);
+}
diff --git a/Tests/CMakeCommands/target_compile_features/lib_user.cpp 
b/Tests/CMakeCommands/target_compile_features/lib_user.cpp
index 541e528..8e6f860 100644
--- a/Tests/CMakeCommands/target_compile_features/lib_user.cpp
+++ b/Tests/CMakeCommands/target_compile_features/lib_user.cpp
@@ -1,7 +1,7 @@
 
-#include "lib_auto_type.h"
+#include "lib_long_long_type.h"
 
 int main(int argc, char** argv)
 {
-  return getAutoType();
+  return getLLType(42);
 }
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..7c5aa88 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
@@ -291,7 +291,7 @@ if (CMAKE_CXX_COMPILE_FEATURES)
 
   add_library(iface INTERFACE)
   set_property(TARGET iface
-    PROPERTY INTERFACE_COMPILE_FEATURES "cxx_auto_type"
+    PROPERTY INTERFACE_COMPILE_FEATURES "cxx_long_long_type"
   )
   add_executable(IfaceCompileFeatures main.cpp)
   target_link_libraries(IfaceCompileFeatures iface)
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:
 Source/CMakeVersion.cmake |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


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

Reply via email to