From cfaf297e0550222dfea39f53a5268421b077b3f6 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 16 May 2022 14:44:41 +0100 Subject: [PATCH] libstdc++: Update C++23 status docs These are the C++23 proposals supported in the gcc-12 branch. libstdc++-v3/ChangeLog: * doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support. * doc/html/*: Regenerate. (cherry picked from commit 8414dad54a8a5eed710f894bde5721631fd3f748) --- libstdc++-v3/doc/html/manual/status.html | 132 +++++++++- libstdc++-v3/doc/xml/manual/status_cxx2023.xml | 341 +++++++++++++++++++++++++ 2 files changed, 468 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index dab92b3..e8da941 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -1757,7 +1757,31 @@ or any notes about the implementation. P2251R1 - Yes   + Yes   Repairing input range adaptors and counted_iterator + + P2259R1 + + 12.1   Superior String Splitting + + P2210R2 + + 12.1   What is a view? + + P2415R2 + + 12.1 __cpp_lib_ranges >= 202110L Fix istream_view + + P2432R1 + + 12.1   starts_with and ends_with + + P1659R3 + + __cpp_lib_ranges_starts_ends_with >= 202106L zip + + P2321R2 + + __cpp_lib_ranges_zip >= 202110L Compile-time programming A proposal for a type trait to detect scoped enumerations @@ -1767,13 +1791,67 @@ or any notes about the implementation. P1682R3 - 11.1 __cpp_lib_to_underlying >= 202102L + 11.1 __cpp_lib_to_underlying >= 202102L Missing constexpr in std::optional and std::variant + + P2231R1 + + +
11.3 (optional)
12.1 (variant)
+ +
__cpp_lib_constexpr_optional >= 202106L
__cpp_lib_variant >= 202106L
+ Making std::unique_ptr constexpr + + P2273R3 + + 12.1 __cpp_lib_constexpr_memory >= 202202L Making std::type_info::operator== constexpr + + P1328R1 + + 12.1 __cpp_lib_constexpr_typeinfo >= 202106L constexpr for <cmath> and <cstdlib> + + P0533R9 + + __cpp_lib_constexpr_cmath >= 202202L Deprecate std::aligned_storage and std::aligned_union + + P1413R3 + +   A type trait to detect reference binding to temporary + + P2255R2 + + __cpp_lib_reference_from_temporary >= 202202L Strings and text string contains function P1679R3 - 11.1 __cpp_lib_string_contains >= 202011L + 11.1 __cpp_lib_string_contains >= 202011L Prohibit std::basic_string and std::basic_string_view construction from nullptr + + P2166R1 + + 12.1   basic_string::resize_and_overwrite + + P1072R10 + + 12.1 __cpp_lib_resize_and_overwrite >= 202110L A strstream replacement using span<charT> as buffer + + P0448R4 + + 12.1 __cpp_lib_spanstream >= 202106L + Containers + Iterator pair constructors for stack and queue + + P1425R4 + + 12.1 __cpp_lib_adaptor_iterator_pair_constructor >= 202106L Stop overconstraining allocators in container deduction guides + + P1518R2 + + 12.1   Heterogeneous erasure overloads for associative containers + + P2077R3 + + __cpp_lib_associative_heterogeneous_erasure >= 202110L Miscellaneous Inheriting from std::variant @@ -1783,7 +1861,47 @@ or any notes about the implementation. P1147R1 - 11.3   Clarifying the status of the "C headers" + 11.3   A Proposal to add stacktrace library + + P0881R7 + + 12.1 __cpp_lib_stacktrace >= 202011L Add a pmr alias for std::stacktrace + + P2301R1 + + 12.1   std::expected + + P0323R12 + + 12.1 __cpp_lib_expected >= 202202L Monadic operations for std::optional + + P0798R8 + + 12.1 __cpp_lib_optional >= 202110L move_only_function + + P0288R9 + + 12.1 __cpp_lib_move_only_function >= 202110L invoke_r + + P2136R3 + + 12.1 __cpp_lib_invoke_r >= 202106L Byteswapping for fun&&nuf + + P1272R4 + + 12.1 __cpp_lib_byteswap >= 202110L Function to mark unreachable code + + P0627R6 + + 12.1 __cpp_lib_unreachable >= 202202L Add a conditional noexcept specification to std::exchange + + P2401R0 + + 12.1   Support C atomics in C++ + + P0943R6 + + 12.1 __cpp_lib_stdatomic_h >= 202011L Clarifying the status of the "C headers" P2340R1 @@ -1791,7 +1909,11 @@ or any notes about the implementation. P2212R2 - Yes  

C++ TR1

+ Yes   Removing Garbage Collection Support + + P2186R2 + + 12.1  


C++ TR1

This table is based on the table of contents of ISO/IEC DTR 19768, Doc No: N1836=05-0096, Date: 2005-06-24, "Draft Technical Report on C++ Library Extensions". diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml index f1244da..a6049e7 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml @@ -131,6 +131,74 @@ or any notes about the implementation. + Repairing input range adaptors and counted_iterator + + + P2259R1 + + + 12.1 + + + + + Superior String Splitting + + + P2210R2 + + + 12.1 + + + + + What is a view? + + + P2415R2 + + + 12.1 + __cpp_lib_ranges >= 202110L + + + + Fix istream_view + + + P2432R1 + + + 12.1 + + + + + + starts_with and ends_with + + + P1659R3 + + + + __cpp_lib_ranges_starts_ends_with >= 202106L + + + + + zip + + + P2321R2 + + + + __cpp_lib_ranges_zip >= 202110L + + + Compile-time programming @@ -159,6 +227,85 @@ or any notes about the implementation. + Missing constexpr in std::optional and std::variant + + + P2231R1 + + + + + 11.3 (optional) + 12.1 (variant) + + + + + __cpp_lib_constexpr_optional >= 202106L + __cpp_lib_variant >= 202106L + + + + + + Making std::unique_ptr constexpr + + + P2273R3 + + + 12.1 + __cpp_lib_constexpr_memory >= 202202L + + + + Making std::type_info::operator== constexpr + + + P1328R1 + + + 12.1 + __cpp_lib_constexpr_typeinfo >= 202106L + + + + + constexpr for <cmath> and <cstdlib> + + + P0533R9 + + + + __cpp_lib_constexpr_cmath >= 202202L + + + + + Deprecate std::aligned_storage and std::aligned_union + + + P1413R3 + + + + + + + + + A type trait to detect reference binding to temporary + + + P2255R2 + + + + __cpp_lib_reference_from_temporary >= 202202L + + + Strings and text @@ -176,6 +323,79 @@ or any notes about the implementation. + Prohibit std::basic_string and std::basic_string_view construction from nullptr + + + P2166R1 + + + 12.1 + + + + + basic_string::resize_and_overwrite + + + P1072R10 + + + 12.1 + __cpp_lib_resize_and_overwrite >= 202110L + + + + A strstream replacement using span<charT> as buffer + + + P0448R4 + + + 12.1 + __cpp_lib_spanstream >= 202106L + + + + + Containers + + + + + Iterator pair constructors for stack and queue + + + P1425R4 + + + 12.1 + __cpp_lib_adaptor_iterator_pair_constructor >= 202106L + + + + Stop overconstraining allocators in container deduction guides + + + P1518R2 + + + 12.1 + + + + + + Heterogeneous erasure overloads for associative containers + + + P2077R3 + + + + __cpp_lib_associative_heterogeneous_erasure >= 202110L + + + Miscellaneous @@ -200,10 +420,120 @@ or any notes about the implementation. 11.3 + + + + + A Proposal to add stacktrace library + + + P0881R7 + + + 12.1 + __cpp_lib_stacktrace >= 202011L + + + + Add a pmr alias for std::stacktrace + + + P2301R1 + + + 12.1 + std::expected + + + P0323R12 + + + 12.1 + __cpp_lib_expected >= 202202L + + + + Monadic operations for std::optional + + + P0798R8 + + + 12.1 + __cpp_lib_optional >= 202110L + + + + move_only_function + + + P0288R9 + + + 12.1 + __cpp_lib_move_only_function >= 202110L + + + + invoke_r + + + P2136R3 + + + 12.1 + __cpp_lib_invoke_r >= 202106L + + + + Byteswapping for fun&&nuf + + + P1272R4 + + + 12.1 + __cpp_lib_byteswap >= 202110L + + + + Function to mark unreachable code + + + P0627R6 + + + 12.1 + __cpp_lib_unreachable >= 202202L + + + + Add a conditional noexcept specification to std::exchange + + + P2401R0 + + + 12.1 + + + + + Support C atomics in C++ + + + P0943R6 + + + 12.1 + __cpp_lib_stdatomic_h >= 202011L + + + Clarifying the status of the "C headers" @@ -225,6 +555,17 @@ or any notes about the implementation. + + Removing Garbage Collection Support + + + P2186R2 + + + 12.1 + + + -- 2.7.4