On 15/01/19 12:59 +0000, Jonathan Wakely wrote:
On 15/01/19 12:01 +0000, Jonathan Wakely wrote:
* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
status.
* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
Define.
* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
changes are supported.
* include/std/optional (__cpp_lib_optional): Likewise.
* include/std/variant (__cpp_lib_variant): Likewise.
* include/std/version [!__STRICT_ANSI__]
(__cpp_lib_uncaught_exceptions): Define as long integer.
[__cplusplus >= 201703L] (__cpp_lib_any)
(__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions)
(__cpp_lib_variant): Define for C++17.
[__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define
as long integer.
* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
integer.
Some more found by Jakub. Everything in <version> should be consistent
with the rest of the library headers now, for all -std modes.
And one more, where we defined it consistently, but not to the right
value.
Tested powerpc64le-linux, committed to trunk.
commit 172b1fa26185715e39ee7234c86b58e895ecc4b6
Author: Jonathan Wakely <jwak...@redhat.com>
Date: Tue Jan 15 13:03:06 2019 +0000
Update value of __cpp_lib_shared_ptr_arrays macro
* include/bits/shared_ptr_base.h (__cpp_lib_shared_ptr_arrays): Define
as 201611L, because P0497R0 changes are supported.
* include/std/version (__cpp_lib_shared_ptr_arrays): Likewise.
diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h
index cacc7d689ea..b45cbf73667 100644
--- a/libstdc++-v3/include/bits/shared_ptr_base.h
+++ b/libstdc++-v3/include/bits/shared_ptr_base.h
@@ -890,7 +890,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_pi = nullptr;
}
-#define __cpp_lib_shared_ptr_arrays 201603
+#define __cpp_lib_shared_ptr_arrays 201611L
// Helper traits for shared_ptr of array:
diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version
index 36d291dcf93..38277b9ecf2 100644
--- a/libstdc++-v3/include/std/version
+++ b/libstdc++-v3/include/std/version
@@ -52,7 +52,7 @@
#define __cpp_lib_allocator_traits_is_always_equal 201411
#define __cpp_lib_is_null_pointer 201309
#define __cpp_lib_result_of_sfinae 201210
-#define __cpp_lib_shared_ptr_arrays 201603
+#define __cpp_lib_shared_ptr_arrays 201611L
#if !defined(__STRICT_ANSI__)
// gnu++11