[wwwdocs] cxx-status: Add C++26 papers (Spring 2023, Varna)
Checks
Commit Message
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)
@@ -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++