[libc++][spaceship] Marks P1614 as complete. (#99375)
Implements parts of: - P1902R1 Missing feature-test macros 2017-2019 Completes: - P1614R2 The Mothership has Landed Fixes #100018
This commit is contained in:
parent
342328db6b
commit
3ce6f68ee7
@ -290,7 +290,7 @@ Status
|
||||
---------------------------------------------------------- -----------------
|
||||
``__cpp_lib_syncbuf`` ``201803L``
|
||||
---------------------------------------------------------- -----------------
|
||||
``__cpp_lib_three_way_comparison`` ``201711L``
|
||||
``__cpp_lib_three_way_comparison`` ``201907L``
|
||||
---------------------------------------------------------- -----------------
|
||||
``__cpp_lib_to_address`` ``201711L``
|
||||
---------------------------------------------------------- -----------------
|
||||
|
||||
@ -53,6 +53,7 @@ Implemented Papers
|
||||
------------------
|
||||
|
||||
- P1132R8 - ``out_ptr`` - a scalable output pointer abstraction
|
||||
- P1614R2 - The Mothership has Landed
|
||||
- P2637R3 - Member ``visit``
|
||||
- P2652R2 - Disallow User Specialization of ``allocator_traits``
|
||||
- P2819R2 - Add ``tuple`` protocol to ``complex``
|
||||
|
||||
@ -48,6 +48,7 @@ Paper Status
|
||||
.. [#note-P0883.1] P0883: shared_ptr and floating-point changes weren't applied as they themselves aren't implemented yet.
|
||||
.. [#note-P0883.2] P0883: ``ATOMIC_FLAG_INIT`` was marked deprecated in version 14.0, but was undeprecated with the implementation of LWG3659 in version 15.0.
|
||||
.. [#note-P0660] P0660: The paper is implemented but the features are experimental and can be enabled via ``-fexperimental-library``.
|
||||
.. [#note-P1614] P1614: ``std::strong_order(long double, long double)`` is partly implemented.
|
||||
.. [#note-P0355] P0355: The implementation status is:
|
||||
|
||||
* ``Calendars`` mostly done in Clang 7
|
||||
|
||||
@ -123,7 +123,7 @@
|
||||
"`P1522R1 <https://wg21.link/P1522R1>`__","LWG","Iterator Difference Type and Integer Overflow","Cologne","|Complete|","15.0","|ranges|"
|
||||
"`P1523R1 <https://wg21.link/P1523R1>`__","LWG","Views and Size Types","Cologne","|Complete|","15.0","|ranges|"
|
||||
"`P1612R1 <https://wg21.link/P1612R1>`__","LWG","Relocate Endian's Specification","Cologne","|Complete|","10.0"
|
||||
"`P1614R2 <https://wg21.link/P1614R2>`__","LWG","The Mothership has Landed","Cologne","|In Progress|",""
|
||||
"`P1614R2 <https://wg21.link/P1614R2>`__","LWG","The Mothership has Landed","Cologne","|Complete| [#note-P1614]_","19.0"
|
||||
"`P1638R1 <https://wg21.link/P1638R1>`__","LWG","basic_istream_view::iterator should not be copyable","Cologne","|Complete|","16.0","|ranges|"
|
||||
"`P1643R1 <https://wg21.link/P1643R1>`__","LWG","Add wait/notify to atomic_ref","Cologne","|Complete|","19.0"
|
||||
"`P1644R0 <https://wg21.link/P1644R0>`__","LWG","Add wait/notify to atomic<shared_ptr>","Cologne","",""
|
||||
|
||||
|
Can't render this file because it has a wrong number of fields in line 2.
|
@ -1,5 +1,5 @@
|
||||
"Number","Name","Status","First released version"
|
||||
`P1614R2 <https://wg21.link/P1614R2>`_,The Mothership has Landed,|In Progress|,
|
||||
`P1614R2 <https://wg21.link/P1614R2>`_,The Mothership has Landed,|Complete|,19.0
|
||||
`P2404R3 <https://wg21.link/P2404R3>`_,"Relaxing ``equality_comparable_with``'s, ``totally_ordered_with``'s, and ``three_way_comparable_with``'s common reference requirements to support move-only types",,
|
||||
`LWG3330 <https://wg21.link/LWG3330>`_,Include ``<compare>`` from most library headers,"|Complete|","13.0"
|
||||
`LWG3347 <https://wg21.link/LWG3347>`_,"``std::pair<T, U>`` now requires ``T`` and ``U`` to be *less-than-comparable*",|Nothing To Do|,
|
||||
|
||||
|
@ -238,7 +238,7 @@ __cpp_lib_string_view 202403L <string> <string
|
||||
__cpp_lib_submdspan 202306L <mdspan>
|
||||
__cpp_lib_syncbuf 201803L <syncstream>
|
||||
__cpp_lib_text_encoding 202306L <text_encoding>
|
||||
__cpp_lib_three_way_comparison 201711L <compare>
|
||||
__cpp_lib_three_way_comparison 201907L <compare>
|
||||
__cpp_lib_to_address 201711L <memory>
|
||||
__cpp_lib_to_array 201907L <array>
|
||||
__cpp_lib_to_chars 202306L <charconv>
|
||||
@ -446,7 +446,7 @@ __cpp_lib_void_t 201411L <type_traits>
|
||||
# if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
|
||||
# define __cpp_lib_syncbuf 201803L
|
||||
# endif
|
||||
# define __cpp_lib_three_way_comparison 201711L
|
||||
# define __cpp_lib_three_way_comparison 201907L
|
||||
# define __cpp_lib_to_address 201711L
|
||||
# define __cpp_lib_to_array 201907L
|
||||
# define __cpp_lib_type_identity 201806L
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
// Test the feature test macros defined by <compare>
|
||||
|
||||
/* Constant Value
|
||||
__cpp_lib_three_way_comparison 201711L [C++20]
|
||||
__cpp_lib_three_way_comparison 201907L [C++20]
|
||||
*/
|
||||
|
||||
#include <compare>
|
||||
@ -45,8 +45,8 @@
|
||||
# ifndef __cpp_lib_three_way_comparison
|
||||
# error "__cpp_lib_three_way_comparison should be defined in c++20"
|
||||
# endif
|
||||
# if __cpp_lib_three_way_comparison != 201711L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201711L in c++20"
|
||||
# if __cpp_lib_three_way_comparison != 201907L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201907L in c++20"
|
||||
# endif
|
||||
|
||||
#elif TEST_STD_VER == 23
|
||||
@ -54,8 +54,8 @@
|
||||
# ifndef __cpp_lib_three_way_comparison
|
||||
# error "__cpp_lib_three_way_comparison should be defined in c++23"
|
||||
# endif
|
||||
# if __cpp_lib_three_way_comparison != 201711L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201711L in c++23"
|
||||
# if __cpp_lib_three_way_comparison != 201907L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201907L in c++23"
|
||||
# endif
|
||||
|
||||
#elif TEST_STD_VER > 23
|
||||
@ -63,8 +63,8 @@
|
||||
# ifndef __cpp_lib_three_way_comparison
|
||||
# error "__cpp_lib_three_way_comparison should be defined in c++26"
|
||||
# endif
|
||||
# if __cpp_lib_three_way_comparison != 201711L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201711L in c++26"
|
||||
# if __cpp_lib_three_way_comparison != 201907L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201907L in c++26"
|
||||
# endif
|
||||
|
||||
#endif // TEST_STD_VER > 23
|
||||
|
||||
@ -221,7 +221,7 @@
|
||||
__cpp_lib_submdspan 202306L [C++26]
|
||||
__cpp_lib_syncbuf 201803L [C++20]
|
||||
__cpp_lib_text_encoding 202306L [C++26]
|
||||
__cpp_lib_three_way_comparison 201711L [C++20]
|
||||
__cpp_lib_three_way_comparison 201907L [C++20]
|
||||
__cpp_lib_to_address 201711L [C++20]
|
||||
__cpp_lib_to_array 201907L [C++20]
|
||||
__cpp_lib_to_chars 201611L [C++17]
|
||||
@ -4438,8 +4438,8 @@
|
||||
# ifndef __cpp_lib_three_way_comparison
|
||||
# error "__cpp_lib_three_way_comparison should be defined in c++20"
|
||||
# endif
|
||||
# if __cpp_lib_three_way_comparison != 201711L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201711L in c++20"
|
||||
# if __cpp_lib_three_way_comparison != 201907L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201907L in c++20"
|
||||
# endif
|
||||
|
||||
# ifndef __cpp_lib_to_address
|
||||
@ -6037,8 +6037,8 @@
|
||||
# ifndef __cpp_lib_three_way_comparison
|
||||
# error "__cpp_lib_three_way_comparison should be defined in c++23"
|
||||
# endif
|
||||
# if __cpp_lib_three_way_comparison != 201711L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201711L in c++23"
|
||||
# if __cpp_lib_three_way_comparison != 201907L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201907L in c++23"
|
||||
# endif
|
||||
|
||||
# ifndef __cpp_lib_to_address
|
||||
@ -7960,8 +7960,8 @@
|
||||
# ifndef __cpp_lib_three_way_comparison
|
||||
# error "__cpp_lib_three_way_comparison should be defined in c++26"
|
||||
# endif
|
||||
# if __cpp_lib_three_way_comparison != 201711L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201711L in c++26"
|
||||
# if __cpp_lib_three_way_comparison != 201907L
|
||||
# error "__cpp_lib_three_way_comparison should have the value 201907L in c++26"
|
||||
# endif
|
||||
|
||||
# ifndef __cpp_lib_to_address
|
||||
|
||||
@ -1302,8 +1302,7 @@ feature_test_macros = [
|
||||
},
|
||||
{
|
||||
"name": "__cpp_lib_three_way_comparison",
|
||||
"values": {"c++20": 201711},
|
||||
# {"c++20": 201907} # P1614R2 The Mothership has Landed (see P1902R1 Missing feature-test macros 2017-2019)
|
||||
"values": {"c++20": 201907},
|
||||
"headers": ["compare"],
|
||||
},
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user