[libc++] [P0646] Add feature-test macro for __cpp_lib_list_remove_return_type.

Summary: The return type modification has already been implemented in rL364840 and rL365290.

Reviewers: ldionne, mclow.lists, EricWF, #libc!

Reviewed By: ldionne

Subscribers: christof, dexonsmith, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D70275
This commit is contained in:
Marek Kurdej 2019-11-14 23:20:24 +01:00
parent f16f139db4
commit 05343588e3
7 changed files with 18 additions and 37 deletions

View File

@ -194,7 +194,7 @@ Status
------------------------------------------------- -----------------
``__cpp_lib_is_constant_evaluated`` ``201811L``
------------------------------------------------- -----------------
``__cpp_lib_list_remove_return_type`` *unimplemented*
``__cpp_lib_list_remove_return_type`` ``201806L``
------------------------------------------------- -----------------
``__cpp_lib_ranges`` *unimplemented*
------------------------------------------------- -----------------

View File

@ -232,7 +232,7 @@ __cpp_lib_void_t 201411L <type_traits>
# if !defined(_LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED)
# define __cpp_lib_is_constant_evaluated 201811L
# endif
// # define __cpp_lib_list_remove_return_type 201806L
# define __cpp_lib_list_remove_return_type 201806L
// # define __cpp_lib_ranges 201811L
# define __cpp_lib_to_array 201907L
// # define __cpp_lib_three_way_comparison 201711L

View File

@ -122,17 +122,11 @@
# error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++2a"
# endif
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should be defined in c++2a"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
# error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2a"
# endif
# else // _LIBCPP_VERSION
# ifdef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should not be defined because it is unimplemented in libc++!"
# endif
# ifndef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should be defined in c++2a"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
# error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2a"
# endif
# ifndef __cpp_lib_nonmember_container_access

View File

@ -122,17 +122,11 @@
# error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++2a"
# endif
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should be defined in c++2a"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
# error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2a"
# endif
# else // _LIBCPP_VERSION
# ifdef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should not be defined because it is unimplemented in libc++!"
# endif
# ifndef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should be defined in c++2a"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
# error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2a"
# endif
# ifndef __cpp_lib_nonmember_container_access

View File

@ -1899,17 +1899,11 @@
# error "__cpp_lib_launder should have the value 201606L in c++2a"
# endif
# if !defined(_LIBCPP_VERSION)
# ifndef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should be defined in c++2a"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
# error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2a"
# endif
# else // _LIBCPP_VERSION
# ifdef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should not be defined because it is unimplemented in libc++!"
# endif
# ifndef __cpp_lib_list_remove_return_type
# error "__cpp_lib_list_remove_return_type should be defined in c++2a"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
# error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2a"
# endif
# ifndef __cpp_lib_logical_traits

View File

@ -542,7 +542,6 @@ feature_test_macros = sorted([ add_version_header(x) for x in [
"c++2a": int(201806),
},
"headers": ["forward_list", "list"],
"unimplemented": True,
},
{"name": "__cpp_lib_generic_unordered_lookup",
"values": {

View File

@ -90,7 +90,7 @@
<tr><td><a href="https://wg21.link/P0542R5">P0542R5</a></td><td>CWG</td><td>Support for contract based programming in C++</td><td>Rapperswil</td><td></td><td></td></tr>
<tr><td><a href="https://wg21.link/P0556R3">P0556R3</a></td><td>LWG</td><td>Integral power-of-2 operations</td><td>Rapperswil</td><td>Complete</td><td>9.0</td></tr>
<tr><td><a href="https://wg21.link/P0619R4">P0619R4</a></td><td>LWG</td><td>Reviewing Deprecated Facilities of C++17 for C++20</td><td>Rapperswil</td><td></td><td></td></tr>
<tr><td><a href="https://wg21.link/P0646R1">P0646R1</a></td><td>LWG</td><td>Improving the Return Value of Erase-Like Algorithms</td><td>Rapperswil</td><td></td><td></td></tr>
<tr><td><a href="https://wg21.link/P0646R1">P0646R1</a></td><td>LWG</td><td>Improving the Return Value of Erase-Like Algorithms</td><td>Rapperswil</td><td>Complete</td><td>10.0</td></tr>
<tr><td><a href="https://wg21.link/P0722R3">P0722R3</a></td><td>CWG</td><td>Efficient sized delete for variable sized classes</td><td>Rapperswil</td><td>Complete</td><td>9.0</td></tr>
<tr><td><a href="https://wg21.link/P0758R1">P0758R1</a></td><td>LWG</td><td>Implicit conversion traits and utility functions</td><td>Rapperswil</td><td>Complete</td><td></td></tr>
<tr><td><a href="https://wg21.link/P0759R1">P0759R1</a></td><td>LWG</td><td>fpos Requirements</td><td>Rapperswil</td><td></td><td></td></tr>