Skip to content

Commit 7888d66

Browse files
committed
[C2y] Add C2y documents to the tracking page
These documents were adopted in the past two meetings; the current working draft doesn't yet incorporate them however.
1 parent d3e7c4c commit 7888d66

File tree

1 file changed

+79
-1
lines changed

1 file changed

+79
-1
lines changed

clang/www/c_status.html

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ <h1>C Support in Clang</h1>
6969
<td><tt>-std=c23</tt></td>
7070
<td class="partial" align="center">Partial</td>
7171
</tr>
72+
<tr>
73+
<td><a href="#c2y">C2y</a></td>
74+
<td><tt>(Flag currently unavailable)</tt></td>
75+
<td class="partial" align="center">Partial</td>
76+
</tr>
7277
</table>
7378

7479
<p>The implementation status for C11 and C23 are currently under investigation.
@@ -81,7 +86,7 @@ <h1>C Support in Clang</h1>
8186
they become available.</p>
8287

8388
<p>The <a href="https://github.com/llvm/llvm-project/issues/">LLVM bug tracker</a> uses
84-
the "c", "c99", "c11", "c17", and "c23" labels to track known bugs with Clang's language
89+
the "c", "c99", "c11", "c17", "c23", and "c2y" labels to track known bugs with Clang's language
8590
conformance.</p>
8691

8792
<h2 id="c89">C89 implementation status</h2>
@@ -1220,6 +1225,79 @@ <h2 id="c2x">C23 implementation status</h2>
12201225
</table>
12211226
</details>
12221227

1228+
<h2 id="c2y">C2y implementation status</h2>
1229+
1230+
<p>Clang has support for some of the features of the C standard following C23, informally referred to as C2y.</p>
1231+
1232+
<p>Clang currently does not expose a language standard mode flag for C2y.
1233+
<!--You can use Clang in C2y mode with the <code>-std=c2y</code> option (available in Clang 19 and later).--></p>
1234+
1235+
<details open>
1236+
<summary>List of features and minimum Clang version with support</summary>
1237+
1238+
<table width="689" border="1" cellspacing="0">
1239+
<tr>
1240+
<th>Language Feature</th>
1241+
<th>C2y Proposal</th>
1242+
<th>Available in Clang?</th>
1243+
</tr>
1244+
<!-- Strasbourg 2024 Papers -->
1245+
<tr>
1246+
<td>Sequential hexdigits</td>
1247+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3192.pdf">N3192</a></td>
1248+
<td class="full" align="center">Yes</td>
1249+
</tr>
1250+
<!-- Jun 2024 Papers -->
1251+
<tr>
1252+
<td>Generic selection expression with a type operand</td>
1253+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3260.pdf">N3260</a></td>
1254+
<td class="full" align="center">Clang 17</td>
1255+
</tr>
1256+
<tr>
1257+
<td>Round-trip rounding</td>
1258+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3232.pdf">N3232</a></td>
1259+
<td class="unknown" align="center">Unknown</td>
1260+
</tr>
1261+
<tr>
1262+
<td>Accessing byte arrays</td>
1263+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3254.pdf">N3254</a></td>
1264+
<td class="unknown" align="center">Unknown</td>
1265+
</tr>
1266+
<tr>
1267+
<td>Slay some earthly demons I</td>
1268+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3244.pdf">N3244</a></td>
1269+
<td class="unknown" align="center">Unknown</td>
1270+
<!-- Voted in:
1271+
Annex J Item 21 (including additional change)
1272+
Annex J Item 56
1273+
Annex J Item 57 Option 1
1274+
Annex J Item 67
1275+
Annex J Item 69 (alternative wording for semantics)
1276+
-->
1277+
</tr>
1278+
<tr>
1279+
<td>Support ++ and -- on complex values</td>
1280+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3259.pdf">N3259</a></td>
1281+
<td class="full" align="center">Yes</td>
1282+
</tr>
1283+
<tr>
1284+
<td>Usability of a byte-wise copy of va_list</td>
1285+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3262.pdf">N3262</a></td>
1286+
<td class="unknown" align="center">Unknown</td>
1287+
</tr>
1288+
<tr>
1289+
<td>alignof of an incomplete array type</td>
1290+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3273.pdf">N3273</a></td>
1291+
<td class="full" align="center">Clang 3.5</td>
1292+
</tr>
1293+
<tr>
1294+
<td>Remove imaginary types</td>
1295+
<td><a href="https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3274.pdf">N3274</a></td>
1296+
<td class="unknown" align="center">Unknown</td>
1297+
</tr>
1298+
</table>
1299+
</details>
1300+
12231301
</div>
12241302
</body>
12251303
</html>

0 commit comments

Comments
 (0)