diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index dbb7d8e4b54..8ad9c2f29f8 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,13 @@ 2019-01-15 Jonathan Wakely + * include/bits/erase_if.h [__cplusplus > 201703L] + (__cpp_lib_erase_if): Only define for C++2a. + * include/std/iterator [__cplusplus >= 201402L && !_GLIBCXX_DEBUG] + (__cpp_lib_null_iterators): Define. + * include/std/version [__cplusplus >= 201402L && !_GLIBCXX_DEBUG] + (__cpp_lib_null_iterators): Define. + [__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Define. + * doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2 status. * include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms): diff --git a/libstdc++-v3/include/bits/erase_if.h b/libstdc++-v3/include/bits/erase_if.h index d84f5ffc8ed..4641dbebd85 100644 --- a/libstdc++-v3/include/bits/erase_if.h +++ b/libstdc++-v3/include/bits/erase_if.h @@ -38,7 +38,9 @@ namespace std { _GLIBCXX_BEGIN_NAMESPACE_VERSION -#define __cpp_lib_erase_if 201900L +#if __cplusplus > 201703L +# define __cpp_lib_erase_if 201900L +#endif namespace __detail { diff --git a/libstdc++-v3/include/std/iterator b/libstdc++-v3/include/std/iterator index 5c6903c1cff..9d9e19c4c6b 100644 --- a/libstdc++-v3/include/std/iterator +++ b/libstdc++-v3/include/std/iterator @@ -67,4 +67,8 @@ #include #include +#if __cplusplus >= 201402L && ! defined _GLIBCXX_DEBUG // PR libstdc++/70303 +# define __cpp_lib_null_iterators 201304L +#endif + #endif /* _GLIBCXX_ITERATOR */ diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version index f49a45940f9..36d291dcf93 100644 --- a/libstdc++-v3/include/std/version +++ b/libstdc++-v3/include/std/version @@ -42,6 +42,10 @@ # define __cpp_lib_uncaught_exceptions 201411L #endif +#if __cpp_impl_destroying_delete +# define __cpp_lib_destroying_delete 201806L +#endif + #if __cplusplus >= 201103L // c++11 #define __cpp_lib_allocator_is_always_equal 201411 @@ -71,6 +75,9 @@ #define __cpp_lib_is_final 201402L #define __cpp_lib_make_reverse_iterator 201402 #define __cpp_lib_make_unique 201304 +#ifndef _GLIBCXX_DEBUG // PR libstdc++/70303 +# define __cpp_lib_null_iterators 201304L +#endif #define __cpp_lib_quoted_string_io 201304 #define __cpp_lib_robust_nonmodifying_seq_ops 201304 #ifdef _GLIBCXX_HAS_GTHREADS