[wwwdocs] cxx-status: Add C++26 papers (Spring 2023, Varna)

Message ID ZJMpN1WebpMTlQHd@redhat.com
State Unresolved
Headers
Series [wwwdocs] cxx-status: Add C++26 papers (Spring 2023, Varna) |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Marek Polacek June 21, 2023, 4:45 p.m. UTC
  First C++26 papers started to trickle in.  Update our docs accordingly.

We don't have -std=c++2c/-std=c++26/-std=gnu++2c/-std=gnu++26 yet, but
I should have a patch for it by the end of this week.

W3C validated.  Pushed.

commit 9c66e33761140358d350c5fb2d1638f6afdaead4
Author: Marek Polacek <polacek@redhat.com>
Date:   Wed Jun 21 12:41:25 2023 -0400

    cxx-status: Add C++26 papers (Spring 2023, Varna)
  

Patch

diff --git a/htdocs/projects/cxx-status.html b/htdocs/projects/cxx-status.html
index 675fbcd0..99387540 100644
--- a/htdocs/projects/cxx-status.html
+++ b/htdocs/projects/cxx-status.html
@@ -20,6 +20,7 @@ 
     <li><a href="#cxx17">C++17</a></li>
     <li><a href="#cxx20">C++20</a></li>
     <li><a href="#cxx23">C++23</a></li>
+    <li><a href="#cxx26">C++26</a></li>
     <li><a href="#tses">Technical Specifications</a></li>
   </ul>
   
@@ -32,6 +33,99 @@ 
    Implementation Status</a> section of the Libstdc++ manual.
   </p>
 
+  <h2 id="cxx26">C++26 Support in GCC</h2>
+
+  <p>GCC has experimental support for the next revision of the C++
+  standard, which is expected to be published in 2026.</p>
+
+<!-- TODO -->
+<!--
+  <p>C++26 features are available since GCC 14. To enable C++26
+      support, add the command-line parameter <code>-std=c++2c</code>
+      to your <code>g++</code> command line. Or, to enable GNU
+      extensions in addition to C++26 features,
+    add <code>-std=gnu++2c</code>.</p>
+
+  <p><strong>Important</strong>: Because the ISO C++26 standard is still
+    evolving, GCC's support is <strong>experimental</strong>.  No attempt will
+    be made to maintain backward compatibility with implementations of C++26
+    features that do not reflect the final standard.</p>
+-->
+
+  <h2>C++26 Language Features</h2>
+
+  <table class="cxxstatus">
+    <tr class="separator">
+      <th>Language Feature</th>
+      <th>Proposal</th>
+      <th>Available in GCC?</th>
+      <th>SD-6 Feature Test</th>
+    </tr>
+    <!-- Spring 2023 papers (Varna) -->
+    <tr>
+      <td> Remove undefined behavior from lexing </td>
+      <td><a href="https://wg21.link/P2621R2">P2621R2</a> (<a href="./cxx-dr-status.html">DR</a>) </td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110340">No</a></td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td> Making non-encodable string literals ill-formed </td>
+      <td><a href="https://wg21.link/P1854R4">P1854R4 </a> (<a href="./cxx-dr-status.html">DR</a>) </td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110341">No</a></td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td> Unevaluated strings </td>
+      <td> <a href="https://wg21.link/P2361R6">P2361R6</a></td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110342">No</a></td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td> Add @, $, and ` to the basic character set </td>
+      <td> <a href="https://wg21.link/P2558R2">P2558R2</a></td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110343">No</a></td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td> constexpr cast from <code>void*</code> </td>
+      <td> <a href="https://wg21.link/P2738R1">P2738R1</a></td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110344">No</a></td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td> On the ignorability of standard attributes </td>
+      <td><a href="https://wg21.link/P2552R3">P2552R3</a> (<a href="./cxx-dr-status.html">DR</a>) </td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110345">No</a></td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td> Static storage for braced initializers </td>
+      <td><a href="https://wg21.link/P2752R3">P2752R3</a> (<a href="./cxx-dr-status.html">DR</a>) </td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110346">No</a></td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td> User-generated <code>static_assert</code> messages </td>
+      <td> <a href="https://wg21.link/P2741R3">P2741R3</a></td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110348">No</a></td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td> Placeholder variables with no name </td>
+      <td> <a href="https://wg21.link/P2169R4">P2169R4</a></td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR110349">No</a></td>
+      <td> </td>
+    </tr>
+    <!--
+    <tr>
+      <td> </td>
+      <td> <a href="https://wg21.link/p"></a></td>
+      <td class="unsupported"> <a href="https://gcc.gnu.org/PR">No</a></td>
+      <td> </td>
+    </tr>
+    -->
+  </table>
+
   <h2 id="cxx23">C++23 Support in GCC</h2>
 
   <p>GCC has experimental support for the next revision of the C++