@@ -69,6 +69,11 @@ <h1>C Support in Clang</h1>
69
69
< td > < tt > -std=c23</ tt > </ td >
70
70
< td class ="partial " align ="center "> Partial</ td >
71
71
</ 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 >
72
77
</ table >
73
78
74
79
< p > The implementation status for C11 and C23 are currently under investigation.
@@ -81,7 +86,7 @@ <h1>C Support in Clang</h1>
81
86
they become available.</ p >
82
87
83
88
< 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
85
90
conformance.</ p >
86
91
87
92
< h2 id ="c89 "> C89 implementation status</ h2 >
@@ -1220,6 +1225,79 @@ <h2 id="c2x">C23 implementation status</h2>
1220
1225
</ table >
1221
1226
</ details >
1222
1227
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
+
1223
1301
</ div >
1224
1302
</ body >
1225
1303
</ html >
0 commit comments