From c2513a1f6d7817d96cb125125ed0cf96d37f4669 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 29 Oct 2014 18:22:05 +0000 Subject: [PATCH] any: Add feature-testing macro. * include/experimental/any: Add feature-testing macro. * include/experimental/optional: Likewise. * include/experimental/string_view: Likewise. * include/experimental/tuple: Likewise. * include/experimental/type_traits: Likewise. * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. From-SVN: r216848 --- libstdc++-v3/ChangeLog | 7 +++++++ libstdc++-v3/include/experimental/any | 2 ++ libstdc++-v3/include/experimental/optional | 2 ++ libstdc++-v3/include/experimental/string_view | 2 ++ libstdc++-v3/include/experimental/tuple | 3 +++ libstdc++-v3/include/experimental/type_traits | 2 ++ .../testsuite/experimental/any/misc/any_cast_neg.cc | 2 +- 7 files changed, 19 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 78ffe5ec764..e513ac7a5d5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -12,6 +12,13 @@ * testsuite/experimental/functional/value.cc: New. * testsuite/experimental/feat-lib-fund.cc: Add headers and reorder. + * include/experimental/any: Add feature-testing macro. + * include/experimental/optional: Likewise. + * include/experimental/string_view: Likewise. + * include/experimental/tuple: Likewise. + * include/experimental/type_traits: Likewise. + * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. + 2014-10-25 François Dumont * doc/xml/manual/status_cxx2011.xml: Update unordered container diff --git a/libstdc++-v3/include/experimental/any b/libstdc++-v3/include/experimental/any index a4ac983d711..1de467c1254 100644 --- a/libstdc++-v3/include/experimental/any +++ b/libstdc++-v3/include/experimental/any @@ -60,6 +60,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @{ */ +#define __cpp_lib_experimental_any 201402 + /** * @brief Exception class thrown by a failed @c any_cast * @ingroup exceptions diff --git a/libstdc++-v3/include/experimental/optional b/libstdc++-v3/include/experimental/optional index c68d7ea3808..973775bd925 100644 --- a/libstdc++-v3/include/experimental/optional +++ b/libstdc++-v3/include/experimental/optional @@ -67,6 +67,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @{ */ +#define __cpp_lib_experimental_optional 201406 + // All subsequent [X.Y.n] references are against n3793. // [X.Y.4] diff --git a/libstdc++-v3/include/experimental/string_view b/libstdc++-v3/include/experimental/string_view index 041f7489deb..320d72db321 100644 --- a/libstdc++-v3/include/experimental/string_view +++ b/libstdc++-v3/include/experimental/string_view @@ -50,6 +50,8 @@ inline namespace fundamentals_v1 { _GLIBCXX_BEGIN_NAMESPACE_VERSION +#define __cpp_lib_experimental_string_view 201402 + /** * @class basic_string_view * @brief A non-owning reference to a string. diff --git a/libstdc++-v3/include/experimental/tuple b/libstdc++-v3/include/experimental/tuple index da756b85498..5cf02d38256 100644 --- a/libstdc++-v3/include/experimental/tuple +++ b/libstdc++-v3/include/experimental/tuple @@ -44,10 +44,13 @@ namespace experimental inline namespace fundamentals_v1 { _GLIBCXX_BEGIN_NAMESPACE_VERSION + // See C++14 §20.4.2.5, tuple helper classes template constexpr size_t tuple_size_v = tuple_size<_Tp>::value; +#define __cpp_lib_experimental_tuple 201402 + template constexpr decltype(auto) __apply_impl(_Fn&& f, _Tuple&& t, std::index_sequence<_Idx...>) diff --git a/libstdc++-v3/include/experimental/type_traits b/libstdc++-v3/include/experimental/type_traits index 93dd8ce3945..72aadbe6a25 100644 --- a/libstdc++-v3/include/experimental/type_traits +++ b/libstdc++-v3/include/experimental/type_traits @@ -50,6 +50,8 @@ inline namespace fundamentals_v1 { _GLIBCXX_BEGIN_NAMESPACE_VERSION +#define __cpp_lib_experimental_type_trait_variable_templates 201402 + // See C++14 §20.10.4.1, primary type categories template constexpr bool is_void_v = is_void<_Tp>::value; diff --git a/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc b/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc index 9a12ec37624..9ef7194a1da 100644 --- a/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc +++ b/libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc @@ -26,5 +26,5 @@ void test01() using std::experimental::any_cast; const any y(1); - any_cast(y); // { dg-error "qualifiers" "" { target { *-*-* } } 380 } + any_cast(y); // { dg-error "qualifiers" "" { target { *-*-* } } 382 } } -- 2.30.2