Define C++17 feature-test macros
authorJonathan Wakely <jwakely@redhat.com>
Wed, 3 Aug 2016 18:11:10 +0000 (19:11 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 3 Aug 2016 18:11:10 +0000 (19:11 +0100)
* include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
Define feature-test macro.
* include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
* include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
* include/std/type_traits (__cpp_lib_logical_traits): Fix value.
(__cpp_lib_type_trait_variable_templates): Define.

From-SVN: r239088

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/allocator.h
libstdc++-v3/include/bits/range_access.h
libstdc++-v3/include/std/shared_mutex
libstdc++-v3/include/std/type_traits

index 0dad50cf46b3237a3f83523d64b84259b03b2ee1..61135055e37fa6dc2ac309a3e80f8b6e4bf62b5a 100644 (file)
@@ -1,5 +1,12 @@
 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
 
+       * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
+       Define feature-test macro.
+       * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
+       * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
+       * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
+       (__cpp_lib_type_trait_variable_templates): Define.
+
        * include/bits/stl_function.h: Remove commented-out macro.
        * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
        Define feature-test macro.
index 597d3054c03dad64aab07f170bb2631d982a0254..984d80075bca2a7a61db73146e87efd05240acd1 100644 (file)
@@ -49,6 +49,8 @@
 #include <type_traits>
 #endif
 
+#define __cpp_lib_incomplete_container_elements 201505
+
 namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
index e2ec07267111f9bcaf9cde8809f2144aa32250fc..d6f8fa15f0f441950b4ab03461aa408343bf01c4 100644 (file)
@@ -38,6 +38,10 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
+#if __cplusplus >= 201402L
+# define __cpp_lib_array_constexpr 201603L
+#endif
+
   /**
    *  @brief  Return an iterator pointing to the first element of
    *          the container.
index 6ca322b44e8a73865da9f11a32c47c28638c63de..9712b358b8b4f6b47490a425a6d50b254b40bcc0 100644 (file)
@@ -52,7 +52,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #ifdef _GLIBCXX_HAS_GTHREADS
 
 #if __cplusplus > 201402L
-// TODO: #define __cpp_lib_shared_mutex 201505
+#define __cpp_lib_shared_mutex 201505
   class shared_mutex;
 #endif
 
index dd9f57ed2e6154f933e80f55039aad789154bc24..693952ac0125ff6a723e03fb056ffc9e406dddb3 100644 (file)
@@ -156,7 +156,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 #if __cplusplus > 201402L
 
-#define __cpp_lib_logical_traits 201511
+#define __cpp_lib_logical_traits 201510
 
   template<typename... _Bn>
     struct conjunction
@@ -2763,6 +2763,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #endif // __cplusplus >= 201402L
 
 #if __cplusplus > 201402L
+# define __cpp_lib_type_trait_variable_templates 201510L
 template <typename _Tp>
   constexpr bool is_void_v = is_void<_Tp>::value;
 template <typename _Tp>