[clang] [C23] Downgrade WG14 N3037 implementation status to partial (PR #187495)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 19 05:46:57 PDT 2026


https://github.com/AaronBallman created https://github.com/llvm/llvm-project/pull/187495

In discussion of #186196, it started to become clear that claiming full conformance to this feature was premature because there are still outstanding implementation issues and standards questions with the feature. Claiming full conformance gives users a false impression that we think the implementation is production quality and that won't change our implementation in breaking ways, but I believe that we want some flexibility here and it's more accurate to say we only partially support the feature at the moment.

Note, this is not saying we expect to break the code from that issue, just listing where the discussion took place that led to this patch.

>From 37fe7bcc3002ed9438a5429a836b42f4a38a1da9 Mon Sep 17 00:00:00 2001
From: Aaron Ballman <aaron at aaronballman.com>
Date: Thu, 19 Mar 2026 08:39:43 -0400
Subject: [PATCH] [C23] Downgrade WG14 N3037 implementation status to partial

In discussion of #186196, it started to become clear that claiming
full conformance to this feature was premature because there are
still outstanding implementation issues and standards questions with
the feature. Claiming full conformance gives users a false impression
that we won't change our implementation in breaking ways, but I believe
that we want some flexibility here and it's more accurate to say we
only partially support the feature at the moment.

Note, this is not saying we expect to break the code from that issue,
just listing where the discussion took place that led to this patch.
---
 clang/www/c_status.html | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/clang/www/c_status.html b/clang/www/c_status.html
index aca71728e676c..a909a1fb3013e 100644
--- a/clang/www/c_status.html
+++ b/clang/www/c_status.html
@@ -997,7 +997,14 @@ <h2 id="c2x">C23 implementation status</h2>
     <tr>
       <td>Improved tag compatibility</td>
       <td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3037.pdf">N3037</a></td>
-      <td class="full" align="center">Clang 21</td>
+      <td class="partial" align="center">
+        <details><summary>Partial</summary>
+          Clang supports much of this feature starting with Clang 21, but there
+          are implementation bugs and open questions around handling of
+          attributes or other compiler extensions. As a result, some structure
+          definitions may be incorrectly accepted or rejected and so there is a
+          potential for breaking changes in the future.
+        </details>
     </tr>
     <tr>
       <td>#embed</td>



More information about the cfe-commits mailing list