From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2181) id 26B823857714; Thu, 14 Mar 2024 11:54:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 26B823857714 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1710417298; bh=zXLmeWyVS0e1MnhRrzC+73uA/bP9iq5M0zq2qOjMZHw=; h=From:To:Subject:Date:From; b=sjUosrAj2jTDB5NoPaclvCBrMIP8eWQLAnVA9mcLfmKb721vu+S1JwV64ylpfnPL0 O0g/b7/6CgFtEh2mSwboaiavLlgagbG+Yeajt6vDxiJx6Ul07DKzxLDwhfcjJ0x4lV 4Bh7cn6HzSyoTWaGyjbkL+J/pQjyHiAo1K5TD2Hc= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: Jonathan Wakely To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r14-9466] libstdc++: Update C++23 status in the manual X-Act-Checkin: gcc X-Git-Author: Jonathan Wakely X-Git-Refname: refs/heads/master X-Git-Oldrev: 942497ad74272e0ef16020d628e471c5f21474b0 X-Git-Newrev: 2a556dbec2e522655175374c68d61a39b1463c7e Message-Id: <20240314115458.26B823857714@sourceware.org> Date: Thu, 14 Mar 2024 11:54:58 +0000 (GMT) List-Id: https://gcc.gnu.org/g:2a556dbec2e522655175374c68d61a39b1463c7e commit r14-9466-g2a556dbec2e522655175374c68d61a39b1463c7e Author: Jonathan Wakely Date: Thu Mar 14 11:47:56 2024 +0000 libstdc++: Update C++23 status in the manual libstdc++-v3/ChangeLog: * doc/xml/manual/status_cxx2023.xml: Update C++23 status table. * doc/html/manual/status.html: Regenerate. * include/bits/version.def: Fix typo in comment. Diff: --- libstdc++-v3/doc/html/manual/status.html | 146 ++++++++++--- libstdc++-v3/doc/xml/manual/status_cxx2023.xml | 289 ++++++++++++++++++++++--- libstdc++-v3/include/bits/version.def | 2 +- 3 files changed, 373 insertions(+), 64 deletions(-) diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index dafd48035a6..ea8fd485cb9 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -1832,11 +1832,20 @@ or any notes about the implementation. P2278R4 - 13.1 __cpp_lib_ranges_as_const >= 202207L ranges::to + 13.1 __cpp_lib_ranges_as_const >= 202207L ranges::to P1206R7 - __cpp_lib_ranges_to_container >= 202202L Pipe support for user-defined range adaptors + 14.1 (ranges::to function) + __cpp_lib_containers_ranges >= 202202L, + __cpp_lib_ranges_to_container >= 202202L + Ranges iterators as inputs to non-Ranges algorithms + + P2408R5 + + + __cpp_lib_algorithm_iterator_requirements >= 202207L + Pipe support for user-defined range adaptors P2387R3 @@ -1861,11 +1870,19 @@ or any notes about the implementation. P2302R4 - 13.1 __cpp_lib_ranges_contains >= 202207L ranges::fold + 13.1 __cpp_lib_ranges_contains >= 202207L Making multi-param constructors of views explicit + + P2711R1 + +   ranges::fold P2322R6 - 13.1 __cpp_lib_ranges_fold >= 202207L + 13.1 __cpp_lib_ranges_fold >= 202207L Relaxing Ranges Just A Smidge + + P2609R3 + + __cpp_lib_ranges >= 202302L Compile-time programming A proposal for a type trait to detect scoped enumerations @@ -1899,29 +1916,35 @@ or any notes about the implementation. P1413R3 -   A type trait to detect reference binding to temporary +   A type trait to detect reference binding to temporary P2255R2 - 13.1 (missing changes to std::tuple __cpp_lib_reference_from_temporary >= 202202L - Strings and text - string contains function - - P1679R3 + +
13.1 (missing changes to std::tuple)
14.1 (complete)
+ __cpp_lib_reference_from_temporary >= 202202L + Move-only types for equality_comparable_with, totally_ordered_with, + and three_way_comparable_with + +
+ P2404R3 - 11.1 __cpp_lib_string_contains >= 202011L Prohibit std::basic_string and std::basic_string_view construction from nullptr - - P2166R1 + __cpp_lib_concepts >= 202207L A trait for implicit lifetime types + + P2674R1 - 12.1   basic_string::resize_and_overwrite - - P1072R10 + __cpp_lib_is_implicit_lifetime >= 202302L + common_reference_t of reference_wrapper + Should Be a Reference Type + + + P2655R3 - 12.1 __cpp_lib_resize_and_overwrite >= 202110L A strstream replacement using span<charT> as buffer - - P0448R4 + __cpp_lib_common_reference >= 202302L Deprecate numeric_limits::has_denorm + + P2614R2 - 12.1 __cpp_lib_spanstream >= 202106L +   Containers Iterator pair constructors for stack and queue @@ -1973,7 +1996,27 @@ or any notes about the implementation.   Strings and text - std::format improvements + string contains function + + P1679R3 + + 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 std::string::substr() && + + P2438R2 + +   std::format improvements P2216R3 @@ -1996,7 +2039,13 @@ or any notes about the implementation. P2419R2 - __cpp_lib_format >= 202207L Formatting Ranges + __cpp_lib_format >= 202207L + Formatting pointers + + + P2510R3 + + 13.2 (feature test macro not defined) __cpp_lib_format >= 202207L Formatting Ranges P2286R8 @@ -2004,18 +2053,18 @@ or any notes about the implementation. P2585R1 - __cpp_lib_format_ranges >= 202207L Formatted output + __cpp_lib_format_ranges >= 202207L Formatted output P2093R14 - __cpp_lib_print >= 202207L + 14.1 __cpp_lib_print >= 202207L Should the output of std::print to a terminal be synchronized with the underlying stream? P2539R3 -   + 14.1   Formatting thread::id and stacktrace @@ -2059,13 +2108,19 @@ or any notes about the implementation. P0798R8 - 12.1 __cpp_lib_optional >= 202110L + 12.1 __cpp_lib_optional >= 202110L Compatibility between tuple, pair and tuple-like objects P2165R4 - __cpp_lib_tuple_like >= 202207L move_only_function + 14.1 __cpp_lib_tuple_like >= 202207L + Default Arguments for pair's Forwarding Constructor + + + P1951R1 + + 14.1   move_only_function P0288R9 @@ -2113,7 +2168,42 @@ or any notes about the implementation. P1642R11 - 13.1  

C++ TR1

+ 13.1   Providing size feedback in the Allocator interface + + P0401R6 + + __cpp_lib_allocate_at_least >= 202306L + Disallow User Specialization of allocator_traits + + + P2652R2 + +   Explicit lifetime management + + P2590R2 + + __cpp_lib_start_lifetime_as >= 202207L + Fixing std::start_lifetime_as and + std::start_lifetime_as_array + + + P2679R2 + +   out_ptr - a scalable output pointer abstraction + + P1132R8 + + 14.1 __cpp_lib_out_ptr >= 202106L barrier's phase completion guarantees + + P2588R3 + + __cpp_lib_barrier >= 202302L + Standard Library Modules std and std.compat + + + P2465R3 + + __cpp_lib_modules >= 202207L


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 4bf22f00bce..9b870d1dbdf 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml @@ -312,15 +312,32 @@ or any notes about the implementation. - + ranges::to P1206R7 + 14.1 (ranges::to function) + + __cpp_lib_containers_ranges >= 202202L, + __cpp_lib_ranges_to_container >= 202202L + + + + + + Ranges iterators as inputs to non-Ranges algorithms + + + P2408R5 + + - __cpp_lib_ranges_to_container >= 202202L + + __cpp_lib_algorithm_iterator_requirements >= 202207L + @@ -377,6 +394,18 @@ or any notes about the implementation. __cpp_lib_ranges_contains >= 202207L + + + Making multi-param constructors of views explicit + + + P2711R1 + + + + + + ranges::fold @@ -388,6 +417,18 @@ or any notes about the implementation. __cpp_lib_ranges_fold >= 202207L + + + Relaxing Ranges Just A Smidge + + + P2609R3 + + + + __cpp_lib_ranges >= 202302L + + Compile-time programming @@ -484,65 +525,73 @@ or any notes about the implementation. - A type trait to detect reference binding to temporary P2255R2 - 13.1 (missing changes to std::tuple + + + 13.1 (missing changes to std::tuple) + 14.1 (complete) + + __cpp_lib_reference_from_temporary >= 202202L - - Strings and text + + + Move-only types for equality_comparable_with, totally_ordered_with, + and three_way_comparable_with - - - - string contains function - - P1679R3 + + P2404R3 - 11.1 - __cpp_lib_string_contains >= 202011L + + __cpp_lib_concepts >= 202207L - Prohibit std::basic_string and std::basic_string_view construction from nullptr + + A trait for implicit lifetime types - - P2166R1 + + P2674R1 - 12.1 - + + __cpp_lib_is_implicit_lifetime >= 202302L - basic_string::resize_and_overwrite + - - P1072R10 + common_reference_t of reference_wrapper + Should Be a Reference Type + + + + P2655R3 - 12.1 - __cpp_lib_resize_and_overwrite >= 202110L + + __cpp_lib_common_reference >= 202302L - A strstream replacement using span<charT> as buffer + + Deprecate numeric_limits::has_denorm - - P0448R4 + + P2614R2 - 12.1 - __cpp_lib_spanstream >= 202106L + + @@ -683,6 +732,63 @@ or any notes about the implementation. + + string contains function + + + P1679R3 + + + 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 + + + + + std::string::substr() && + + + P2438R2 + + + + + + + std::format improvements @@ -735,6 +841,19 @@ or any notes about the implementation. __cpp_lib_format >= 202207L + + + Formatting pointers + + + + P2510R3 + + + 13.2 (feature test macro not defined) + __cpp_lib_format >= 202207L + + Formatting Ranges @@ -760,19 +879,17 @@ or any notes about the implementation. - Formatted output P2093R14 - + 14.1 __cpp_lib_print >= 202207L - Should the output of std::print to a terminal be synchronized with the underlying stream? @@ -782,7 +899,7 @@ or any notes about the implementation. P2539R3 - + 14.1 @@ -898,7 +1015,6 @@ or any notes about the implementation. - Compatibility between tuple, pair and tuple-like objects @@ -907,10 +1023,23 @@ or any notes about the implementation. P2165R4 - + 14.1 __cpp_lib_tuple_like >= 202207L + + + Default Arguments for pair's Forwarding Constructor + + + + P1951R1 + + + 14.1 + + + move_only_function @@ -1043,6 +1172,96 @@ or any notes about the implementation. + + + Providing size feedback in the Allocator interface + + + P0401R6 + + + + __cpp_lib_allocate_at_least >= 202306L + + + + + + Disallow User Specialization of allocator_traits + + + + P2652R2 + + + + + + + + + Explicit lifetime management + + + P2590R2 + + + + __cpp_lib_start_lifetime_as >= 202207L + + + + + + Fixing std::start_lifetime_as and + std::start_lifetime_as_array + + + + P2679R2 + + + + + + + + out_ptr - a scalable output pointer abstraction + + + P1132R8 + + + 14.1 + __cpp_lib_out_ptr >= 202106L + + + + + barrier's phase completion guarantees + + + P2588R3 + + + + __cpp_lib_barrier >= 202302L + + + + + + Standard Library Modules std and std.compat + + + + P2465R3 + + + + __cpp_lib_modules >= 202207L + + diff --git a/libstdc++-v3/include/bits/version.def b/libstdc++-v3/include/bits/version.def index d298420121b..be5af18e818 100644 --- a/libstdc++-v3/include/bits/version.def +++ b/libstdc++-v3/include/bits/version.def @@ -1457,7 +1457,7 @@ ftms = { }; //ftms = { -// name = container_ranges; +// name = containers_ranges; // values = { // v = 202202; // cxxmin = 23;