From c2d590c9571f5c40d3391ce2892156f9d4af3c53 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 21 Jul 2015 12:56:47 -0400 Subject: Features: Update MSVC features for VS 2015 RTM VS 2015 RTM completed support for constexpr and attribute features. Update our feature table and test accordingly. --- Modules/Compiler/MSVC-CXX-FeatureTests.cmake | 10 +++++----- Tests/CompileFeatures/CMakeLists.txt | 6 ------ 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/Modules/Compiler/MSVC-CXX-FeatureTests.cmake b/Modules/Compiler/MSVC-CXX-FeatureTests.cmake index fcedf3c..ad1d14b 100644 --- a/Modules/Compiler/MSVC-CXX-FeatureTests.cmake +++ b/Modules/Compiler/MSVC-CXX-FeatureTests.cmake @@ -3,6 +3,8 @@ # http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx # http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx # http://www.visualstudio.com/en-us/news/vs2015-preview-vs.aspx +# http://blogs.msdn.com/b/vcblog/archive/2015/04/29/c-11-14-17-features-in-vs-2015-rc.aspx +# http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx set(_cmake_oldestSupported "_MSC_VER >= 1600") @@ -10,10 +12,11 @@ set(_cmake_oldestSupported "_MSC_VER >= 1600") set(MSVC_2015 "_MSC_VER >= 1900") set(_cmake_feature_test_cxx_alignas "${MSVC_2015}") set(_cmake_feature_test_cxx_alignof "${MSVC_2015}") +set(_cmake_feature_test_cxx_attributes "${MSVC_2015}") +set(_cmake_feature_test_cxx_attribute_deprecated "${MSVC_2015}") set(_cmake_feature_test_cxx_binary_literals "${MSVC_2015}") +set(_cmake_feature_test_cxx_constexpr "${MSVC_2015}") set(_cmake_feature_test_cxx_decltype_auto "${MSVC_2015}") -# Digit separators are not available as of VS 2015 Preview, but a footnote -# says they will be available in the RTM. set(_cmake_feature_test_cxx_digit_separators "${MSVC_2015}") set(_cmake_feature_test_cxx_func_identifier "${MSVC_2015}") set(_cmake_feature_test_cxx_nonstatic_member_init "${MSVC_2015}") @@ -89,10 +92,7 @@ set(_cmake_feature_test_cxx_trailing_return_types "${MSVC_2010}") set(_cmake_feature_test_cxx_variadic_macros "${MSVC_2010}") # Currently unsupported: -# set(_cmake_feature_test_cxx_constexpr ) # set(_cmake_feature_test_cxx_relaxed_constexpr ) -# set(_cmake_feature_test_cxx_attributes ) -# set(_cmake_feature_test_cxx_attribute_deprecated ) # 'NSDMIs for aggregates' # set(_cmake_feature_test_cxx_aggregate_default_initializers ) # set(_cmake_feature_test_cxx_variable_templates ) diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt index 3ba1e0a..a32138d 100644 --- a/Tests/CompileFeatures/CMakeLists.txt +++ b/Tests/CompileFeatures/CMakeLists.txt @@ -116,12 +116,6 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") cxx_deleted_functions cxx_nonstatic_member_init ) - else() - list(REMOVE_ITEM CXX_non_features - # The cxx_constexpr feature happens to work (for *this* testcase) - # with VS 2015, but they document only partial support. - cxx_constexpr - ) endif() endif() -- cgit v0.12