Commit 6e3dd211 by Jonathan Wakely Committed by Jonathan Wakely

Fix more missing or incorrect feature test macros

	* 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.

From-SVN: r267937
parent 56a9eaf9
2019-01-15 Jonathan Wakely <jwakely@redhat.com> 2019-01-15 Jonathan Wakely <jwakely@redhat.com>
* 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 * doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
status. status.
* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms): * include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
......
...@@ -38,7 +38,9 @@ namespace std ...@@ -38,7 +38,9 @@ namespace std
{ {
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
#define __cpp_lib_erase_if 201900L #if __cplusplus > 201703L
# define __cpp_lib_erase_if 201900L
#endif
namespace __detail namespace __detail
{ {
......
...@@ -67,4 +67,8 @@ ...@@ -67,4 +67,8 @@
#include <bits/streambuf_iterator.h> #include <bits/streambuf_iterator.h>
#include <bits/range_access.h> #include <bits/range_access.h>
#if __cplusplus >= 201402L && ! defined _GLIBCXX_DEBUG // PR libstdc++/70303
# define __cpp_lib_null_iterators 201304L
#endif
#endif /* _GLIBCXX_ITERATOR */ #endif /* _GLIBCXX_ITERATOR */
...@@ -42,6 +42,10 @@ ...@@ -42,6 +42,10 @@
# define __cpp_lib_uncaught_exceptions 201411L # define __cpp_lib_uncaught_exceptions 201411L
#endif #endif
#if __cpp_impl_destroying_delete
# define __cpp_lib_destroying_delete 201806L
#endif
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
// c++11 // c++11
#define __cpp_lib_allocator_is_always_equal 201411 #define __cpp_lib_allocator_is_always_equal 201411
...@@ -71,6 +75,9 @@ ...@@ -71,6 +75,9 @@
#define __cpp_lib_is_final 201402L #define __cpp_lib_is_final 201402L
#define __cpp_lib_make_reverse_iterator 201402 #define __cpp_lib_make_reverse_iterator 201402
#define __cpp_lib_make_unique 201304 #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_quoted_string_io 201304
#define __cpp_lib_robust_nonmodifying_seq_ops 201304 #define __cpp_lib_robust_nonmodifying_seq_ops 201304
#ifdef _GLIBCXX_HAS_GTHREADS #ifdef _GLIBCXX_HAS_GTHREADS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment