aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2014-10-29 18:22:05 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2014-10-29 18:22:05 +0000
commitc2513a1f6d7817d96cb125125ed0cf96d37f4669 (patch)
treed450a31e72dd42a2b24d66141d1479a372d6eca9
parent43e9f72225b84f101fed8d86b27d47b008d0910f (diff)
downloadgcc-c2513a1f6d7817d96cb125125ed0cf96d37f4669.zip
gcc-c2513a1f6d7817d96cb125125ed0cf96d37f4669.tar.gz
gcc-c2513a1f6d7817d96cb125125ed0cf96d37f4669.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/include/experimental/any2
-rw-r--r--libstdc++-v3/include/experimental/optional2
-rw-r--r--libstdc++-v3/include/experimental/string_view2
-rw-r--r--libstdc++-v3/include/experimental/tuple3
-rw-r--r--libstdc++-v3/include/experimental/type_traits2
-rw-r--r--libstdc++-v3/testsuite/experimental/any/misc/any_cast_neg.cc2
7 files changed, 19 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 78ffe5e..e513ac7 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 <fdumont@gcc.gnu.org>
* doc/xml/manual/status_cxx2011.xml: Update unordered container
diff --git a/libstdc++-v3/include/experimental/any b/libstdc++-v3/include/experimental/any
index a4ac983..1de467c 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 c68d7ea..973775b 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 041f748..320d72d 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 <experimental/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 da756b8..5cf02d3 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 <typename _Tp>
constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
+#define __cpp_lib_experimental_tuple 201402
+
template <typename _Fn, typename _Tuple, std::size_t... _Idx>
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 93dd8ce..72aadbe 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 <typename _Tp>
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 9a12ec3..9ef7194 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<int&>(y); // { dg-error "qualifiers" "" { target { *-*-* } } 380 }
+ any_cast<int&>(y); // { dg-error "qualifiers" "" { target { *-*-* } } 382 }
}