On 3/11/26 5:36 AM, Jakub Jelinek wrote:
Hi!
Shouldn't we mark P2900R14 as implemented for GCC 16? Regarding
non-finalized ABI, I think we don't guarantee ABI stability for anything
C++20 right now.
OK, though btw I don't think we need to require -fcontracts. Iain, any
objection to enabling contracts by default for C++26? That doesn't
break anything in the testcase for me.
--- htdocs/projects/cxx-status.html.jj 2026-01-28 10:35:04.469567367 +0100
+++ htdocs/projects/cxx-status.html 2026-03-11 10:30:11.396687257 +0100
@@ -265,7 +265,7 @@
<tr>
<td> Contracts </td>
<td> <a href="https://wg21.link/P2900R14">P2900R14</a></td>
- <td class="unsupported"> <a
href="https://gcc.gnu.org/PR119061">No</a></td>
+ <td class="supported"> <a href="../gcc-16/changes.html#cxx">16</a> (requires
<code>-fcontracts</code>)</td>
<td> __cpp_contracts >= 202502L </td>
</tr>
<tr>
--- htdocs/gcc-16/changes.html.jj 2026-03-11 10:28:16.597626894 +0100
+++ htdocs/gcc-16/changes.html 2026-03-11 10:32:19.242527183 +0100
@@ -161,6 +161,9 @@ for general information.</p>
Reflection</li>
<li><a href="https://wg21.link/P1306R5">P1306R5</a>, Expansion
statements (<a href="https://gcc.gnu.org/PR120776">PR120776</a>)</li>
+ <li><a href="https://wg21.link/P2900R14">P2900R14</a>, Contracts
+ (<a href="https://gcc.gnu.org/PR119061">PR119061</a>, enabled by
+ <code>-std=c++26 -fcontracts</code>)</li>
<li><a href="https://wg21.link/P2795R5">P2795R5</a>, Erroneous behavior
for uninitialized reads (<a
href="https://gcc.gnu.org/PR114457">PR114457</a>)</li>
<li><a href="https://wg21.link/P1061R10">P1061R10</a>, Structured
bindings
Jakub