-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathfeatures_c2y.yaml
More file actions
393 lines (336 loc) · 8.05 KB
/
Copy pathfeatures_c2y.yaml
File metadata and controls
393 lines (336 loc) · 8.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
---
features:
- desc: "Round-trip rounding"
paper: N3232
lib: true
support:
- GCC ?
- Clang
- desc: "Slay Some Earthly Demons I"
paper: N3244
support:
- GCC ?
- Clang (partial)
- Xcode 16.3 (partial)
hints:
- target: Clang
msg: "Clang does not document the implementation-defined behavior for decay of an array with the register storage class specifier. Clang does not diagnose an extern inline function with no definition in the TU. Clang accepts and rejects redeclarations with/without an alignment specifier, depending on the order of the declarations."
- target: Xcode 16.3
msg: "See hint for Clang."
- desc: "Accessing byte arrays"
paper: N3254
support:
- GCC 15
- Clang 18
- Xcode 16.4
- desc: "Support `++` and `--` on complex values"
paper: N3259
content: c-complex-inc-dec.md
support:
- GCC 3
- Clang 18
- Xcode 16.4
- desc: "Generic selection expression with a type operand"
paper: N3260
content: c-generic-type-operand.md
support:
- GCC 15
- Clang 17
- Xcode 16.4
- desc: "`alignof` of an incomplete array type"
paper: N3273
content: c-alignof-incomplete.md
support:
- GCC 15
- Clang 3.5
- desc: "Remove imaginary types"
paper: N3274
support:
- GCC (hint)
- Clang (hint)
- Xcode (hint)
hints:
- target: GCC
msg: "GCC has never supported imaginary types."
- target: Clang
msg: "Clang has never supported imaginary types."
- target: Xcode
msg: "Apple Clang has never supported imaginary types."
- desc: "Floating-point exceptions for macro replacements"
paper: N3286
lib: true
support:
- Clang
- Xcode 16.4
- desc: "Introduce complex literals"
paper: N3298
content: c-complex-literals.md
support:
- GCC 2.5
- Clang
- Xcode 16.4
- desc: "Allowing stricter alignment for atomic types"
paper: N3312
support:
- Clang
- Xcode 16.4
- desc: "Allow zero length operations on null pointers"
paper: N3322
support:
- GCC 15
- Clang
- Xcode 16.4
- desc: "How do you add one to something?"
paper: N3323
support:
- Clang
- Xcode 16.4
- desc: "Slay Some Earthly Demons III"
paper: N3341
support:
- Clang
- Xcode 16.4
- desc: "Slay Some Earthly Demons IV"
paper: N3342
support:
- Clang
- Xcode 16.4
- desc: "Slay Some Earthly Demons VI"
paper: N3344
support:
- Clang 20
- GCC
- Xcode 16.4
- desc: "Slay Some Earthly Demons VII"
paper: N3345
support:
- Clang
- GCC
- Xcode 16.4
- desc: "Slay Some Earthly Demons VIII"
paper: N3346
support:
- Clang
- GCC
- Xcode 16.3
- desc: "Slay Some Earthly Demons IX"
paper: N3347
support:
- Clang
- GCC
- Xcode 16.4
- desc: "Matching of Multi-Dimensional Arrays in Generic Selection Expressions"
paper: N3348
support:
- GCC 16
- desc: "Obsolete implicitly octal literals and delimited escape sequences"
paper: N3353
content: c-octal-literals.md
support:
- GCC 15
- Clang 21
- Xcode 26.4
- desc: "Named loops"
paper: N3355
content: c-named-loops.md
support:
- GCC 15
- Clang 22
- desc: "`if` declarations"
paper: N3356
content: c-if-declarations.md
support:
- GCC 15
- desc: "Consistent wording for SNAN initialization"
paper: N3364
support:
- Clang
- Xcode 16.4
- desc: "Case range expressions (`case x ... y`)"
paper: N3370
content: c-case-range.md
support:
- GCC 2
- Clang
- Xcode 16.4
- desc: "`stdarg.h` wording improvements"
paper: N3363
support:
- Clang 5
- Xcode 16.4
- desc: "`_Countof` operator"
paper:
- N3369
- N3469
content: c-countof.md
support:
- GCC 16
- Clang 21
- Xcode 26.4
- desc: "Restartable Functions for Efficient Character Conversions"
paper: N3366
support:
- Clang ?
- MSVC ?
- desc: "Abs Without Undefined Behavior"
paper: N3349
support:
- Clang ?
- MSVC ?
- desc: "More Modern Bit Utilities"
paper: N3367
support:
- Clang ?
- MSVC ?
- desc: "Error conditions in `<math.h>`"
paper: N3405
lib: true
- desc: "Slay Some Earthly Demons X"
paper: N3409
support:
- Clang 21
- Xcode 26.4
- desc: "Slay Some Earthly Demons XI"
paper: N3410
support:
- Xcode 16.4
- desc: "Slay Some Earthly Demons XII"
paper: N3411
support:
- Clang 21
- Xcode 16.4
- desc: "Slay Some Earthly Demons XIV"
paper: N3418
- desc: "Anonymous structure/union initialization"
paper: N3451
support:
- Clang
- desc: "The `__COUNTER__` predefined macro"
paper: N3457
content: c-counter-macro.md
support:
- Clang 22
- Xcode 16.3 (hint)
hints:
- target: Xcode 16.3
msg: "Supported as a pre-existing GNU extension prior to C2y standardization."
- desc: "Complex operators"
paper: N3460
support:
- Clang 12
- Xcode 16.4
- desc: "Range error definition followup"
paper: N3461
lib: true
- desc: "Preprocessor integer expressions"
paper:
- N3465
- N3505
support:
- Clang
- desc: "Null pointer clarifications in library"
paper: N3466
lib: true
support:
- GCC 16
- Xcode 16.4
- desc: "Slay Some Earthly Demons XIII"
paper: N3478
support:
- GCC
- Clang
- desc: "Slay Some Earthly Demons XVI"
paper: N3481
support:
- GCC
- Clang
- Xcode 16.4
- desc: "Slay Some Earthly Demons XVII"
paper: N3482
support:
- GCC
- Clang
- Xcode 16.4
- desc: "Slay Some Earthly Demons V"
paper: N3484
support:
- GCC
- Clang
- Xcode 16.4
- desc: "Error conditions for narrow type rounding"
paper: N3492
lib: true
- desc: "Clarify width macros specification"
paper: N3496
support:
- Clang 20
- Xcode 16.4
- desc: "`static_assert` without UB"
paper: N3525
support:
- Clang
- Xcode 16.3
- desc: "Member access of an incomplete object"
paper: N3532
support:
- GCC
- MSVC
- Clang
- Xcode
- desc: "Chasing Ghosts I: constant expressions"
paper: N3558
support:
- GCC ?
- MSVC ?
- Clang ?
- Xcode ?
- desc: "Generic replacement (quasi-literals)"
paper: N3605
support:
- Clang
- Xcode 26.4
- desc: "Allow calling `static inline` within `extern inline`"
paper: N3622
support:
- GCC (partial)
- Clang 22
- Xcode 16.3 (partial)
hints:
- target: Xcode 16.3
msg: "Code compiles but emits `-Wstatic-in-inline` warning. Full C2y semantics (warning suppression in `c2y` mode) require Clang 22."
- target: GCC
msg: "Code compiles but emits a warning."
- desc: "Earthly Demon XV: Definition of Main"
paper: N3623
support:
- GCC
- Clang
- Xcode 16.3
- desc: "Composite types"
paper: N3652
support:
- GCC 16 (partial)
- desc: "static_assert expressions"
paper: N3715
- desc: "Earthly Demon: Accessing a Member of an Atomic Structure or Union"
paper: N3653
support:
- GCC
- Clang
- desc: "Const integer declarations as implicit named constants"
paper: N3833
content: c-const-constexpr.md
support:
- GCC (partial)
- Clang (partial)
- Xcode 16.3 (partial)
hints:
- target: Xcode 16.3
msg: "Constant folding of const integers works via a GNU extension, not native C2y constexpr semantics. Issues a `-Wgnu-folding-constant` warning under `-pedantic`."
- desc: "Enumerations with Bit-Precise Integer as Underlying Type"
paper: N3705
- desc: "The Elvis operator ?:"
paper: N3804
support:
- GCC
- Clang