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  50be50f8fd017a4f014aded68d81e1955382db63 (commit)
       via  37ed860ad1e71f347513a38432640f7dda5c07ee (commit)
       via  94a8ee6fd0ba487437579bb224500b9f46c2819c (commit)
       via  940bf6a4a427c8edfd975bf078a3ea331847f72a (commit)
       via  f26ca5a1953e7f260bc23d30c5d35cc071a6f6ab (commit)
      from  9a4338d7f59750c2cbd61ed0a252224f102f0384 (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=50be50f8fd017a4f014aded68d81e1955382db63
commit 50be50f8fd017a4f014aded68d81e1955382db63
Merge: 9a4338d 37ed860
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Thu Feb 2 15:56:13 2017 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Thu Feb 2 15:56:13 2017 -0500

    Merge topic 'gcc-features' into next
    
    37ed860a GNU C++: record that -fvisibility-inlines-hidden is available 
since 4.0
    94a8ee6f GNU C: record that C99 is available since at least 3.4
    940bf6a4 Tests/Module/WCDH: only use -Werror=undef compiler flag if 
actually supported
    f26ca5a1 Tests/Module/WCDH: write multi_file_compiler_detection.h before 
using it


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=37ed860ad1e71f347513a38432640f7dda5c07ee
commit 37ed860ad1e71f347513a38432640f7dda5c07ee
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Fri Jan 27 16:52:42 2017 +0100
Commit:     Rolf Eike Beer <e...@sf-mail.de>
CommitDate: Thu Feb 2 18:28:56 2017 +0100

    GNU C++: record that -fvisibility-inlines-hidden is available since 4.0
    
    See https://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Option-Summary.html

diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index b04ea11..c007c98 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -6,7 +6,7 @@ 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 4.0)
     set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN 
"-fvisibility-inlines-hidden")
   endif()
 endif()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=94a8ee6fd0ba487437579bb224500b9f46c2819c
commit 94a8ee6fd0ba487437579bb224500b9f46c2819c
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Fri Jan 27 16:49:45 2017 +0100
Commit:     Rolf Eike Beer <e...@sf-mail.de>
CommitDate: Thu Feb 2 18:28:56 2017 +0100

    GNU C: record that C99 is available since at least 3.4

diff --git a/Help/manual/cmake-compile-features.7.rst 
b/Help/manual/cmake-compile-features.7.rst
index 4f48ad9..448fe9a 100644
--- a/Help/manual/cmake-compile-features.7.rst
+++ b/Help/manual/cmake-compile-features.7.rst
@@ -338,6 +338,14 @@ versions specified for each:
 * ``SunPro``: Oracle SolarisStudio version 12.4.
 * ``Intel``: Intel compiler versions 12.1 through 17.0.
 
+CMake is currently aware of the :prop_tgt:`C standards <C_STANDARD>`
+and :prop_gbl:`compile features <CMAKE_C_KNOWN_FEATURES>` available from
+the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of the
+versions specified for each:
+
+* all compilers and versions listed above for C++
+* ``GNU``: GNU compiler versions 3.4 through 5.0.
+
 CMake is currently aware of the :prop_tgt:`CUDA standards <CUDA_STANDARD>`
 from the following :variable:`compiler ids <CMAKE_<LANG>_COMPILER_ID>` as of 
the
 versions specified for each:
diff --git a/Help/release/dev/gcc-features.rst 
b/Help/release/dev/gcc-features.rst
new file mode 100644
index 0000000..c6959ab
--- /dev/null
+++ b/Help/release/dev/gcc-features.rst
@@ -0,0 +1,5 @@
+gcc-features
+------------
+
+* The :manual:`Compile Features <cmake-compile-features(7)>` functionality
+  is now aware of the availability of C99 in gcc since version 3.4.
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()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=940bf6a4a427c8edfd975bf078a3ea331847f72a
commit 940bf6a4a427c8edfd975bf078a3ea331847f72a
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Thu Feb 2 18:28:24 2017 +0100
Commit:     Rolf Eike Beer <e...@sf-mail.de>
CommitDate: Thu Feb 2 18:28:56 2017 +0100

    Tests/Module/WCDH: only use -Werror=undef compiler flag if actually 
supported

diff --git a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt 
b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
index a8406dd..2657aeb 100644
--- a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
+++ b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
@@ -68,7 +68,11 @@ if (CMAKE_C_COMPILE_FEATURES)
 
     add_executable(C_undefined c_undefined.c)
     set_property(TARGET C_undefined PROPERTY C_STANDARD 90)
-    target_compile_options(C_undefined PRIVATE -Werror=undef)
+    include(CheckCCompilerFlag)
+    check_c_compiler_flag(-Werror=undef use_error_undef)
+    if (use_error_undef)
+        target_compile_options(C_undefined PRIVATE -Werror=undef)
+    endif()
 
     add_executable(WriteCompilerDetectionHeader_C main.c)
     set_property(TARGET WriteCompilerDetectionHeader_C PROPERTY C_STANDARD 90)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f26ca5a1953e7f260bc23d30c5d35cc071a6f6ab
commit f26ca5a1953e7f260bc23d30c5d35cc071a6f6ab
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Wed Feb 1 20:48:25 2017 +0100
Commit:     Rolf Eike Beer <e...@sf-mail.de>
CommitDate: Thu Feb 2 18:25:28 2017 +0100

    Tests/Module/WCDH: write multi_file_compiler_detection.h before using it
    
    This was broken in commit 98e6d1e5e426c491e04faa746c11746002e6a69d
    (Tests/Module/WCDH: make it work with only C features defined) when all C 
tests
    were made accessible even if no C++ features are available, but the header 
was
    only created if C++ features are available. Fix it by creating the header
    unconditionally before any checks on the available features.

diff --git a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt 
b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
index 7957ab8..a8406dd 100644
--- a/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
+++ b/Tests/Module/WriteCompilerDetectionHeader/CMakeLists.txt
@@ -20,6 +20,17 @@ write_compiler_detection_header(
     ${cxx_known_features} ${c_known_features}
 )
 
+write_compiler_detection_header(
+  FILE 
"${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/multi_file_compiler_detection.h"
+  PREFIX MULTI
+  OUTPUT_FILES_VAR multi_files
+  OUTPUT_DIR 
"${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/compiler_support"
+  COMPILERS GNU Clang AppleClang MSVC SunPro Intel
+  VERSION 3.1
+  FEATURES
+    ${cxx_known_features} ${c_known_features}
+)
+
 macro(set_defines target true_defs false_defs)
   set(defines)
   foreach(def ${true_defs})
@@ -116,17 +127,6 @@ add_executable(WriteCompilerDetectionHeader main.cpp)
 set_property(TARGET WriteCompilerDetectionHeader PROPERTY CXX_STANDARD 98)
 set_defines(WriteCompilerDetectionHeader "${true_defs}" "${false_defs}")
 
-write_compiler_detection_header(
-  FILE 
"${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/multi_file_compiler_detection.h"
-  PREFIX MULTI
-  OUTPUT_FILES_VAR multi_files
-  OUTPUT_DIR 
"${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files/compiler_support"
-  COMPILERS GNU Clang AppleClang MSVC SunPro Intel
-  VERSION 3.1
-  FEATURES
-    ${cxx_known_features} ${c_known_features}
-)
-
 add_executable(multi_files multi_files.cpp)
 set_property(TARGET multi_files PROPERTY CXX_STANDARD 98)
 target_include_directories(multi_files PRIVATE 
${CMAKE_CURRENT_BINARY_DIR}/compiler_multi_files)

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

Summary of changes:
 Help/manual/cmake-compile-features.7.rst           |    8 ++++++
 Help/release/dev/gcc-features.rst                  |    5 ++++
 Modules/Compiler/GNU-C-FeatureTests.cmake          |   10 +++----
 Modules/Compiler/GNU-C.cmake                       |    9 +++----
 Modules/Compiler/GNU-CXX.cmake                     |    2 +-
 .../WriteCompilerDetectionHeader/CMakeLists.txt    |   28 +++++++++++---------
 6 files changed, 39 insertions(+), 23 deletions(-)
 create mode 100644 Help/release/dev/gcc-features.rst


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

Reply via email to