[Cmake-commits] CMake branch, master, updated. v3.14.2-768-g800b2aa
Kitware Robot
kwrobot at kitware.com
Mon Apr 22 08:33:03 EDT 2019
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, master has been updated
via 800b2aad13ec36c61c6d4bfe825aed6afaacd301 (commit)
via 66f3f11af5ecea17680077c39c6e0fe7738ca34a (commit)
from d0e37018616d43defbc16c752ca9b2be72261fb6 (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=800b2aad13ec36c61c6d4bfe825aed6afaacd301
commit 800b2aad13ec36c61c6d4bfe825aed6afaacd301
Merge: d0e3701 66f3f11
Author: Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 22 12:26:49 2019 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Apr 22 08:26:56 2019 -0400
Merge topic 'sunpro-cxx14-features'
66f3f11af5 SunPro: Record support for C++14 features by SunPro 5.{14,15}
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !3248
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=66f3f11af5ecea17680077c39c6e0fe7738ca34a
commit 66f3f11af5ecea17680077c39c6e0fe7738ca34a
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Apr 19 08:44:51 2019 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Apr 19 09:14:00 2019 -0400
SunPro: Record support for C++14 features by SunPro 5.{14,15}
SunPro 5.15 supports `-std=c++14` and several C++14 features.
SunPro 5.14 accepts `-std=c++14` but does not update its definition of
`__cplusplus` or any other macro to distinguish it from `-std=c++11`,
so we need to blacklist a couple features that do work but that we
cannot report for that version. We can still support `cxx_std_14`.
Co-Author: Robert Maynard <robert.maynard at kitware.com>
diff --git a/Modules/Compiler/SunPro-CXX-FeatureTests.cmake b/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
index 279d875..e7133c1 100644
--- a/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/SunPro-CXX-FeatureTests.cmake
@@ -6,6 +6,14 @@
set(_cmake_oldestSupported "__SUNPRO_CC >= 0x5130")
+set(SolarisStudio126_CXX14 "(__SUNPRO_CC >= 0x5150) && __cplusplus >= 201402L")
+set(_cmake_feature_test_cxx_aggregate_default_initializers "${SolarisStudio126_CXX14}")
+set(_cmake_feature_test_cxx_digit_separators "${SolarisStudio126_CXX14}")
+set(_cmake_feature_test_cxx_generic_lambdas "${SolarisStudio126_CXX14}")
+set(_cmake_feature_test_cxx_lambda_init_captures "${SolarisStudio126_CXX14}")
+set(_cmake_feature_test_cxx_return_type_deduction "${SolarisStudio126_CXX14}")
+set(_cmake_feature_test_cxx_variable_templates "${SolarisStudio126_CXX14}")
+
set(SolarisStudio126_CXX11 "(__SUNPRO_CC >= 0x5150) && __cplusplus >= 201103L")
set(_cmake_feature_test_cxx_decltype_auto "${SolarisStudio126_CXX11}")
diff --git a/Modules/Compiler/SunPro-CXX.cmake b/Modules/Compiler/SunPro-CXX.cmake
index c2f6d1d..c946c64 100644
--- a/Modules/Compiler/SunPro-CXX.cmake
+++ b/Modules/Compiler/SunPro-CXX.cmake
@@ -52,6 +52,11 @@ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=c++11")
set(CMAKE_CXX_LINK_WITH_STANDARD_COMPILE_OPTION 1)
+
+ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.14)
+ set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14")
+ set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=c++14")
+ endif()
else()
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-library=stlport4")
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-library=stlport4")
diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt
index 2dd8917..060fb49 100644
--- a/Tests/CompileFeatures/CMakeLists.txt
+++ b/Tests/CompileFeatures/CMakeLists.txt
@@ -52,6 +52,16 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.15)
+ # SunPro 5.14 accepts -std=c++14 and compiles two features but does
+ # not define __cplusplus to a value different than with -std=c++11.
+ list(REMOVE_ITEM CXX_non_features
+ cxx_aggregate_default_initializers
+ cxx_digit_separators
+ )
+ endif()
+
+ # FIXME: Do any of these work correctly on SunPro 5.13 or above?
list(REMOVE_ITEM CXX_non_features
cxx_attribute_deprecated
cxx_contextual_conversions
-----------------------------------------------------------------------
Summary of changes:
Modules/Compiler/SunPro-CXX-FeatureTests.cmake | 8 ++++++++
Modules/Compiler/SunPro-CXX.cmake | 5 +++++
Tests/CompileFeatures/CMakeLists.txt | 10 ++++++++++
3 files changed, 23 insertions(+)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list