[gcc r15-9661] libstdc++: Update C++23 status table

Jonathan Wakely redi@gcc.gnu.org
Mon May 12 14:11:34 GMT 2025


https://gcc.gnu.org/g:981abdf8da111a5d1b8a8e01cdc5bbe7673cb332

commit r15-9661-g981abdf8da111a5d1b8a8e01cdc5bbe7673cb332
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu May 8 15:35:43 2025 +0100

    libstdc++: Update C++23 status table
    
    This should have been updated for the GCC 15.1 release.
    
    libstdc++-v3/ChangeLog:
    
            * doc/xml/manual/status_cxx2023.xml: Update status of proposals
            implemented after GCC 14.2 release.
            * doc/html/*: Regenerate.
    
    (cherry picked from commit 203eb116ec60afba61c9fbe6cc4b54310ecda9de)

Diff:
---
 .../doc/html/manual/source_code_style.html         |  2 +-
 libstdc++-v3/doc/html/manual/status.html           | 40 ++++++++++---------
 libstdc++-v3/doc/xml/manual/status_cxx2023.xml     | 45 +++++++++++-----------
 3 files changed, 46 insertions(+), 41 deletions(-)

diff --git a/libstdc++-v3/doc/html/manual/source_code_style.html b/libstdc++-v3/doc/html/manual/source_code_style.html
index a66e3a079471..b0b22683f67c 100644
--- a/libstdc++-v3/doc/html/manual/source_code_style.html
+++ b/libstdc++-v3/doc/html/manual/source_code_style.html
@@ -474,7 +474,7 @@
 <br />
       Examples:  <code class="code">_M_num_elements  _M_initialize ()</code><br />
 <br />
-      Static data and function members, constants, and enumerations: <code class="literal">_S_.*</code><br />
+      Static data members, constants, and enumerations: <code class="literal">_S_.*</code><br />
 <br />
       Examples: <code class="code">_S_max_elements  _S_default_value</code><br />
 <br />
diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html
index 664c1426da71..81a41c6c96b7 100644
--- a/libstdc++-v3/doc/html/manual/status.html
+++ b/libstdc++-v3/doc/html/manual/status.html
@@ -1847,13 +1847,15 @@ or any notes about the implementation.
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2278r4.html" target="_top">
         P2278R4
         </a>
-      </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_as_const >= 202207L</code> </td></tr><tr bgcolor="#B0B0B0"><td align="left"> <code class="code">ranges::to</code> </td><td align="left">
+      </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_as_const >= 202207L</code> </td></tr><tr><td align="left"> <code class="code">ranges::to</code> </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1206r7.pdf" target="_top">
         P1206R7
         </a>
-      </td><td align="center"> 14.1 (<code class="code">ranges::to</code> function) </td><td align="left">
-	<code class="code">__cpp_lib_containers_ranges >= 202202L</code>,
-	<code class="code">__cpp_lib_ranges_to_container >= 202202L</code>
+      </td><td align="center">
+	<div class="informaltable"><table class="informaltable" border="0"><colgroup><col /></colgroup><tbody><tr><td> 14.1 (<code class="code">ranges::to</code> function) </td></tr><tr><td> 15.1 (new members in containers) </td></tr></tbody></table></div>
+      </td><td align="left">
+	<code class="code">__cpp_lib_ranges_to_container >= 202202L</code>,
+	<code class="code">__cpp_lib_containers_ranges >= 202202L</code>
       </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Ranges iterators as inputs to non-Ranges algorithms </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2408r5.html" target="_top">
         P2408R5
@@ -1893,11 +1895,11 @@ or any notes about the implementation.
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2322r6.html" target="_top">
         P2322R6
         </a>
-      </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_fold >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Relaxing Ranges Just A Smidge</td><td align="left">
+      </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_fold >= 202207L</code> </td></tr><tr><td align="left"> Relaxing Ranges Just A Smidge</td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2609r3.html" target="_top">
         P2609R3
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_ranges >= 202302L</code> </td></tr><tr><td colspan="4" align="left">
+      </td><td align="center"> 14.3 </td><td align="left"> <code class="code">__cpp_lib_ranges >= 202302L</code> </td></tr><tr><td colspan="4" align="left">
         <span class="bold"><strong>Compile-time programming</strong></span>
       </td></tr><tr><td align="left"> A proposal for a type trait to detect scoped enumerations </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1048r1.pdf" target="_top">
@@ -1927,11 +1929,11 @@ or any notes about the implementation.
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0533r9.pdf" target="_top">
         P0533R9
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_constexpr_cmath >= 202202L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Deprecate std::aligned_storage and std::aligned_union </td><td align="left">
+      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_constexpr_cmath >= 202202L</code> </td></tr><tr><td align="left"> Deprecate std::aligned_storage and std::aligned_union </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf" target="_top">
         P1413R3
         </a>
-      </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> A type trait to detect reference binding to temporary </td><td align="left">
+      </td><td align="center"> 13.1 </td><td align="left"> </td></tr><tr><td align="left"> A type trait to detect reference binding to temporary </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2255r2.html" target="_top">
         P2255R2
         </a>
@@ -1973,15 +1975,15 @@ or any notes about the implementation.
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2077r3.html" target="_top">
         P2077R3
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_associative_heterogeneous_erasure >= 202110L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code"><flat_map></code> </td><td align="left">
+      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_associative_heterogeneous_erasure >= 202110L</code> </td></tr><tr><td align="left"> <code class="code"><flat_map></code> </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0429r9.pdf" target="_top">
         P0429R9
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_flat_map >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code"><flat_set></code> </td><td align="left">
+      </td><td align="center"> 15.1 </td><td align="left"> <code class="code">__cpp_lib_flat_map >= 202207L</code> </td></tr><tr><td align="left"> <code class="code"><flat_set></code> </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1222r4.pdf" target="_top">
         P1222R4
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_flat_set >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">mdspan</code> </td><td align="left">
+      </td><td align="center"> 15.1 </td><td align="left"> <code class="code">__cpp_lib_flat_set >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">mdspan</code> </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0009r18.html" target="_top">
         P0009R18
         </a>
@@ -2048,27 +2050,29 @@ or any notes about the implementation.
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2508r1.html" target="_top">
         P2508R1
         </a>
-      </td><td align="center"> 13.1 (feature test macro not defined)</td><td align="left"> <code class="code">__cpp_lib_format >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left">
+      </td><td align="center"> 13.1 (feature test macro not updated until 15.1) </td><td align="left"> <code class="code">__cpp_lib_format >= 202207L</code> </td></tr><tr><td align="left">
 	Clarify handling of encodings in localized formatting of chrono types
       </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2419r2.html" target="_top">
         P2419R2
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_format >= 202207L</code> </td></tr><tr><td align="left">
+      </td><td align="center"> 15.1 </td><td align="left"> <code class="code">__cpp_lib_format >= 202207L</code> </td></tr><tr><td align="left">
 	Formatting pointers
       </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2510r3.pdf" target="_top">
         P2510R3
         </a>
-      </td><td align="center"> 13.2 (feature test macro not defined)</td><td align="left"> <code class="code">__cpp_lib_format >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Formatting Ranges </td><td align="left">
+      </td><td align="center"> 13.2 (feature test macro not updated until 15.1) </td><td align="left"> <code class="code">__cpp_lib_format >= 202207L</code> </td></tr><tr><td align="left"> Formatting Ranges </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2286r8.html" target="_top">
         P2286R8
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_format_ranges >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Improve default container formatting </td><td align="left">
+      </td><td align="center">
+	<div class="informaltable"><table class="informaltable" border="0"><colgroup><col /></colgroup><tbody><tr><td> 15.1 (changes to adaptors missing) </td></tr><tr><td> 15.2 (complete) </td></tr></tbody></table></div>
+      </td><td align="left"> <code class="code">__cpp_lib_format_ranges >= 202207L</code> </td></tr><tr><td align="left"> Improve default container formatting </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2585r1.html" target="_top">
         P2585R1
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_format_ranges >= 202207L</code> </td></tr><tr><td align="left"> Formatted output </td><td align="left">
+      </td><td align="center"> 15.1 (feature test macro not defined until 15.2) </td><td align="left"> <code class="code">__cpp_lib_format_ranges >= 202207L</code> </td></tr><tr><td align="left"> Formatted output </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2093r14.html" target="_top">
         P2093R14
         </a>
@@ -2212,13 +2216,13 @@ or any notes about the implementation.
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2588r3.html" target="_top">
         P2588R3
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_barrier >= 202302L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left">
+      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_barrier >= 202302L</code> </td></tr><tr><td align="left">
         Standard Library Modules <code class="code">std</code> and <code class="code">std.compat</code>
       </td><td align="left">
         <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2465r3.pdf" target="_top">
         P2465R3
         </a>
-      </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_modules >= 202207L</code> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p>
+      </td><td align="center"> 15.1 </td><td align="left"> <code class="code">__cpp_lib_modules >= 202207L</code> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p>
 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 8233201caf6d..c77272416fdd 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml
@@ -312,17 +312,21 @@ or any notes about the implementation.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#B0B0B0" ?>
       <entry> <code>ranges::to</code> </entry>
       <entry>
         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1206r7.pdf">
         P1206R7
         </link>
       </entry>
-      <entry align="center"> 14.1 (<code>ranges::to</code> function) </entry>
+      <entry align="center">
+	<informaltable colsep="0" rowsep="0" rowheader="norowheader" frame="none"><tgroup cols="1"><tbody>
+	<row><entry> 14.1 (<code>ranges::to</code> function) </entry></row>
+	<row><entry> 15.1 (new members in containers) </entry></row>
+	</tbody></tgroup></informaltable>
+      </entry>
       <entry>
-	<code>__cpp_lib_containers_ranges >= 202202L</code>,
-	<code>__cpp_lib_ranges_to_container >= 202202L</code>
+	<code>__cpp_lib_ranges_to_container >= 202202L</code>,
+	<code>__cpp_lib_containers_ranges >= 202202L</code>
       </entry>
     </row>
 
@@ -418,14 +422,13 @@ or any notes about the implementation.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry> Relaxing Ranges Just A Smidge</entry>
       <entry>
         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2609r3.html">
         P2609R3
         </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 14.3 </entry>
       <entry> <code>__cpp_lib_ranges >= 202302L</code> </entry>
     </row>
 
@@ -513,14 +516,13 @@ or any notes about the implementation.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry> Deprecate std::aligned_storage and std::aligned_union </entry>
       <entry>
         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf">
         P1413R3
         </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 13.1 </entry>
       <entry />
     </row>
 
@@ -635,26 +637,24 @@ or any notes about the implementation.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry> <code><flat_map></code> </entry>
       <entry>
         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0429r9.pdf">
         P0429R9
         </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 15.1 </entry>
       <entry> <code>__cpp_lib_flat_map >= 202207L</code> </entry>
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry> <code><flat_set></code> </entry>
       <entry>
         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1222r4.pdf">
         P1222R4
         </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 15.1 </entry>
       <entry> <code>__cpp_lib_flat_set >= 202207L</code> </entry>
     </row>
 
@@ -823,12 +823,11 @@ or any notes about the implementation.
         P2508R1
         </link>
       </entry>
-      <entry align="center"> 13.1 (feature test macro not defined)</entry>
+      <entry align="center"> 13.1 (feature test macro not updated until 15.1) </entry>
       <entry> <code>__cpp_lib_format >= 202207L</code> </entry>
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry>
 	Clarify handling of encodings in localized formatting of chrono types
       </entry>
@@ -837,7 +836,7 @@ or any notes about the implementation.
         P2419R2
         </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 15.1 </entry>
       <entry> <code>__cpp_lib_format >= 202207L</code> </entry>
     </row>
 
@@ -850,31 +849,34 @@ or any notes about the implementation.
         P2510R3
         </link>
       </entry>
-      <entry align="center"> 13.2 (feature test macro not defined)</entry>
+      <entry align="center"> 13.2 (feature test macro not updated until 15.1) </entry>
       <entry> <code>__cpp_lib_format >= 202207L</code> </entry>
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry> Formatting Ranges </entry>
       <entry>
         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2286r8.html">
         P2286R8
         </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center">
+	<informaltable colsep="0" rowsep="0" rowheader="norowheader" frame="none"><tgroup cols="1"><tbody>
+	<row><entry> 15.1 (changes to adaptors missing) </entry></row>
+	<row><entry> 15.2 (complete) </entry></row>
+	</tbody></tgroup></informaltable>
+      </entry>
       <entry> <code>__cpp_lib_format_ranges >= 202207L</code> </entry>
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry> Improve default container formatting </entry>
       <entry>
         <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2585r1.html">
         P2585R1
         </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 15.1 (feature test macro not defined until 15.2) </entry>
       <entry> <code>__cpp_lib_format_ranges >= 202207L</code> </entry>
     </row>
 
@@ -1249,7 +1251,6 @@ or any notes about the implementation.
     </row>
 
     <row>
-      <?dbhtml bgcolor="#C8B0B0" ?>
       <entry>
         Standard Library Modules <code>std</code> and <code>std.compat</code>
       </entry>
@@ -1258,7 +1259,7 @@ or any notes about the implementation.
         P2465R3
         </link>
       </entry>
-      <entry align="center"> </entry>
+      <entry align="center"> 15.1 </entry>
       <entry> <code>__cpp_lib_modules >= 202207L</code> </entry>
     </row>


More information about the Libstdc++-cvs mailing list