C Defect Report Support in Clang

C defect report implementation status

This page tracks which C defect reports are implemented within Clang.

The implementation status for defect reports against the C Standard are currently under investigation. Any defect report whose status in Clang is currently unknown will be marked in purple.

The LLVM bug tracker uses the "c", "c99", "c11", "c17", "c23", and "c2y" labels to track known bugs with Clang's language conformance.

Number Status Issue title Available in Clang?
1 C89 Do functions return values by copying? Yes
2 NAD Subclause 6.8.3.2: Semantics of # Unknown
3.1 NAD Are preprocessing numbers too inclusive? Unknown
3.2 NAD Should white space surround macro substitutions? Unknown
3.3 NAD Is an empty macro argument a constraint violation? Unknown
3.4 NAD Should preprocessing directives be permitted within macro invokations? Unknown
4 NAD Are multiple definitions of unused identifiers with external linkage permitted? Yes
5 NAD May a conforming implementation define and recognize a pragma which would change the semantics of the language? Yes
6 C89 It is unclear how the strtoul function behaves when presented with a subject sequence that begins with a minus sign N/A
7 NAD Are declarations of the form struct-or-union identifier ; permitted after the identifier tag has already been declared? Yes
8.1 NAD Is dead-store elimination permitted near setjmp? Yes
8.2 NAD Should volatile functions be added? Yes
9 C89 Use of typedef names in parameter declarations No
10 NAD Is a typedef to an incomplete type legal? Yes
11.1 C89 When do the types of multiple external declarations get formed into a composite type? Yes
11.2 C89 Does extern link to a static declaration that is not visible? Yes
11.3 NAD Are implicit initializers for tentative array definitions syntactically valid? Yes
11.4 C89 Does an incomplete array get completed as a tentative definition? Yes
12 NAD Is it valid to take the address of a dereferenced void pointer? Yes
13.1 C89 How does one form the composite type of mixed array and pointer parameter types? Yes
13.2 NAD Is compatible properly defined for recursive types? Yes
13.3 NAD What is the composite type of an enumeration and an integer? Yes
13.4 C89 When is a struct type complete? Yes
13.5 C89 When is the sizeof an enumeration type known? Yes
14.1 NAD Is setjmp a macro or a function? N/A
14.2 C89 How does fscanf("%n") behave on end-of-file? N/A
15 NAD What is the promoted type of a plain int bit-field? Yes
16.1 NAD Can a tentative definition have an incomplete type initially? Unknown
16.2 C89 Can you implicitly initialize a union when null pointers have nonzero bit patterns? Unknown
17.1 C89 Are newlines permitted within macro invocations in preprocessing directives? Unknown
17.2 C89 Should the absence of function main be explicitly undefined? Unknown
17.3 C89 Does a constraint violation win over undefined behavior? Unknown
17.4 NAD Do numeric escape sequences map from source to execution character sets? Unknown
17.5 NAD When are character constants implementation defined? Unknown
17.6 C89 Are register aggregates permitted? Unknown
17.7 NAD What is the scope and uniqueness of size_t? Unknown
17.8 NAD What types are compatible with pointer to void? Unknown
17.9 C89 What is the type of an assignment expression? Unknown
17.10 NAD When is the sizeof an object needed? Unknown
17.11 NAD Is struct t; struct t; valid? Unknown
17.12 C89 How do typedefs parse in function prototypes? Unknown
17.13 NAD How does register affect compatibility of function parameters? Unknown
17.14 C89 const void type as a parameter Unknown
17.15 C89 When do array parameters get converted to pointers? Unknown
17.16 C89 Are subarrays of arrays distinct objects? Unknown
17.17 C89 How do you initialize the first member of a union if it has no name? Unknown
17.18 NAD Are f() and f(void) compatible? Unknown
17.19 C89 Are macro expansions ambiguous? Unknown
17.20 NAD Is the scope of macro parameters defined in the right place? Unknown
17.21 NAD Is translation phase 4 defined unambiguously? Unknown
17.22 C89 Does the rescan of a macro invocation also perform token pasting? Unknown
17.23 NAD How long does blue paint persist on macro names? Unknown
17.24 C89 Can subclause 7.1.2 be better expressed? Unknown
17.25 NAD Should must appear in footnotes? Unknown
17.26 C89 Are unnamed union members required to be initialized? Unknown
17.27 NAD Does the # flag alter zero stripping of %g in fprintf? N/A
17.28 NAD Does errno get stored before library functions return? N/A
17.29 C89 When does conversion failure occur in floating-point fscanf input? N/A
17.30 C89 Do fseek/fsetpos require values from successful calls to ftell/fgetpos? N/A
17.31 NAD Are object sizes always in bytes? Unknown
17.32 NAD Are strcmp/strncmp defined when char is signed? N/A
17.33 NAD Are strcmp/strncmp defined for strings of differing length? N/A
17.34 NAD Is strtok described properly? N/A
17.35 NAD When is a physical source line created? Unknown
17.36 NAD Is a function returning const void defined? Unknown
17.37 C89 What is the type of a function call? Unknown
17.38 C89 What is an iteration control structure or selection control structure? Unknown
17.39 C89 Are header names tokens outside include directives? Unknown
18 NAD How does fscanf behave in the presence of multibyte characters? N/A
19 NAD Definition of the term "printing character" and isgraph() N/A
20 NAD Is a compiler which allows the Relaxed Ref/Def linkage model to be considered a conforming compiler? Yes
21 C89 What is the result of: printf("%#.4o", 345);? N/A
22 C89 What is the result of: strtod("100ergs", &ptr);? N/A
23 NAD what is the result of strtod("0.0e99999", &ptr);? N/A
24 NAD In subclause 7.10.1.4 The strtod function: What does '"C" locale' mean? N/A
25 NAD What is meant by 'representable floating-point value?' Yes
26 NAD Can a strictly conforming program contain a string literal with '$' or '@'? Yes
27 C89 Can there be characters in the character set that are not in the required source character set? Yes
28 NAD Do object access rules apply to dynamically allocated objects? Unknown
29 NAD Do two types have to have the same tag to be compatible? No
30 NAD Can 'sin(DBL_MAX)' result in 'errno' being set to 'EDOM'? N/A
31 NAD Can constant expressions overflow? Yes
32 NAD Must implementations diagnose extensions to the constant evaluation rules? No
33 NAD Conformance questions around 'shall' violations outside of constraints sections Yes
34.1 C89 Does size information evaporate when a declaration goes out of scope, even for objects with external linkage? Yes
34.2 NAD If so, can one then write conflicting declarations in disjoint scopes? N/A
35.1 NAD Can one declare an enumeration or struct tag as part of an old-style parameter declaration? Yes
35.2 NAD If so, what is the scope of enumeration tags and constants declared in old-style parameter declarations?
Partial Tags declared directly within an identifier list are incorrectly scoped to the prototype rather than to the function body.
36 NAD May floating-point constants be represented with more precision than implied by its type? Yes
37 NAD Questions about multibyte characters and Unicode Yes
38 NAD Questions about argument substitution during macro expansion Yes
39.1 NAD Must MB_CUR_MAX be one in the "C" locale? N/A
39.2 NAD Should setlocale(LC_ALL, NULL) return "C" in the "C" locale? N/A
40.1 C89 What is the composite type of f(int) and f(const int)? Unknown
40.2 C89 Is an implementation that fails to equal the value of an environmental limit conforming? Unknown
40.3 NAD Is an Environmental Constraint a constraint? Unknown
40.4 NAD Should the response to Defect Report #017, Q39 be reconsidered? Unknown
40.5 NAD Can a conforming implementation accept long long? Unknown
40.6 NAD Can one use offsetof(struct t1, mbr) before struct t1 is completely defined? Yes
40.7 NAD Can sizeof be applied to earlier parameter names in a prototype, or to earlier fields in a struct? Unknown
40.8 NAD What arithmetic can be performed on a char holding a defined character literal value? Unknown
40.9 NAD Should the response to Defect Report #017, Q27 be reconsidered? Unknown
41 NAD Do characters defined in 5.2.1 impact 7.3.1? N/A
42.1 NAD Does memcpy define a (sub)object? N/A
42.2 NAD If so, how big is the object defined by memcpy? N/A
42.3 NAD How big is a string object defined by the str* functions? N/A
43.1 C89 Can NULL be defined as 4-4? Yes
43.2 NAD Can an identifier that starts with an underscore be defined as a macro in a source file that includes at least one standard header? Unknown
44.1 NAD What does it mean to say that the type of offsetof is size_t? Yes
44.2 NAD Must the expansion of a standard header be a strictly conforming program? N/A
44.3 NAD Does expanding offsetof result in a non-strictly conforming program? N/A
44.4 NAD Can one use offsetof in a strictly conforming program? N/A
44.5 NAD Is offsetof the only standard macro that renders a program not strictly conforming? N/A
45 NAD Is the behavior of freopen defined when the file is invalid? N/A
46 NAD Use of typedef names in parameter declarations Yes
47 NAD Questions about declaration conformance Yes
48 NAD Clarifications on the abort() function N/A
49 C89 Can strxfrm() output more characters than were input? N/A
50 NAD Do wide string literals implicitly include <stddef.h>? Yes
51 NAD Question on pointer arithmetic Yes
52.1 C89 Should the mktime example use (time_t)-1 instead of -1? N/A
52.2 C89 Is the index entry for static correct? N/A
52.3 NAD Does the C Standard come with a Rationale, as indicated in Footnote 1? N/A
53 C89 Accessing a pointer to a function with a prototype through a pointer to pointer to function without a prototype Yes
54 C89 Can the string handling functions have a length of 0? N/A
55 C89 Signal handler macros should have distinct values N/A
56 NAD Floating-point representation precision requirements Yes
57 NAD Is there an integral type for every pointer? Yes
58 NAD Is there a limit on the number of digits processed by scanf and strtdo? N/A
59 NAD Do types have to be completed? Yes
60 C89 Array initialization from a string literal Yes
61 NAD Whitespace in scanf format string N/A
62 NAD Can the rename function be defined to fail? N/A
63 Dup Floating-point representation precision requirements Duplicate of 56
64 NAD Null pointer constants Yes
65 C89 Questions on locales N/A
66 NAD Another question on locales N/A
67 NAD Integer and integral type confusion Yes
68 NAD 'char' and signed vs unsigned integer types Yes
69 NAD Questions about the representation of integer types Yes
70 NAD Interchangeability of function arguments Yes
71 C89 Enumerated types Yes
72 NAD Definition of object and pointer arithmetic Unknown
73 NAD Definition of object and array access Unknown
74 NAD Alignment and structure padding Unknown
75 NAD Alignment of allocated memory N/A
76 Open Pointers to the end of arrays Not resolved
77 NAD Stability of addresses Yes
78 NAD Uniqueness of addresses Unknown
79 NAD Constancy of system library function addresses N/A
80 C89 Merging of string constants Yes
81 NAD Left shift operator Yes
82 C89 Multiple varargs Unknown
83 C89 Use of library functions N/A
84 NAD Incomplete type in function declaration Yes
85 C89 Returning from main Yes
86 NAD Object-like macros in system headers Yes
87 NAD Order of evaluation Yes
88 NAD Compatibility of incomplete types Yes
89 C89 Multiple definitions of macros Yes
90 NAD Multibyte characters in formats N/A
91 NAD Multibyte encodings Yes
92 Dup Partial initialization of strings Duplicate of 60
93 C89 Reservation of identifiers Yes
94 NAD Are constraints on function return the same as assignment? Yes
95 NAD Is initialization as constrained as assignment? Yes
96 NAD Arrays of incomplete types Yes
97 Dup Use of offsetof with an incomplete type Duplicate of 40
98 NAD Pre/post increment/decrement of function or incomplete types Yes
99 NAD ANSI/ISO C Defect report #rfg6 Unknown
100 Dup Defect with the return statement Duplicate of 1
101 C89 Type qualifiers and "as if by assignment" Yes
102 NAD Tag redeclaration constraints Yes
103 NAD Formal parameters of incomplete type Yes
104 Dup Incomplete tag types in a parameter list Duplicate of 84
105 Dup Precedence of requirements on compatible types Duplicate of 17
106 NAD When can you dereference a void pointer? Yes
107 NAD Type requirements of the assert macro parameter N/A
108 NAD Can a macro identifier hide a keyword? Yes
109 NAD Are undefined values and undefined behavior the same? Yes
110 Dup Formal parameters having array-of-non-object types Duplicate of 47
111 NAD Conversion of pointer-to-qualified type values to type (void*) values Yes
112 NAD Null pointer constants and relational comparisons Yes
113 NAD Return expressions in functions declared to return qualified void Yes
114 NAD Initialization of multi-dimensional char array objects Yes
115 NAD Member declarators as declarators Yes
116 NAD Implicit unary & applied to register arrays Yes
117 NAD Abstract semantics, sequence points, and expression evaluation Yes
118 C89 Completion point for enumerated types Yes
119 NAD Initialization of multi-dimensional array objects Yes
120 NAD Semantics of assignment to (and initialization of) bit-fields Yes
121 NAD Conversions of pointer values to integral types Yes
122 Dup Conversion/widening of bit-fields Duplicate of 15
123 NAD 'Type categories' and qualified types Yes
124 C89 Casts to 'a void type' versus casts to 'the void type' Yes
125 NAD Using things declared as 'extern (qualified) void' Yes
126 NAD What does 'synonym' mean with respect to typedef names? Yes
127 Dup Composite type of an enumerated type and an integral type Duplicate of 13
128 NAD Editorial issue relating to tag declarations in type specifiers Yes
129 NAD Tags and name spaces Yes
130 NAD Guarantees when writing text to a stream N/A
131 C89 const member qualification and assignment Yes
132 Dup Can undefined behavior occur at translation time, or only at run time? Duplicate of 109
133 NAD Undefined behavior not previously listed in subclause G2 Yes
134 NAD What is an 'error number' for strerror? N/A
135 NAD Can the size argument to 'fwrite' be zero? N/A
136 NAD 'mktime' and time gaps N/A
137 NAD 'printf' and negative floating point values N/A
138 C89 Is there an allocated storage duration? Yes
139 C89 Compatibility of complete and incomplete types Yes
140 NAD Behavior of 'setvbuf' N/A
141 NAD What is the meaning of EOF? N/A
142 C89 Reservation of macro names Yes
143 C89 'fopen' modes N/A
144 C89 Preprocessing of preprocessing directives Yes
145 C89 Constant expressions Unknown
146 C89 Nugatory constraint Yes
147 C89 Sequence points in library functions Yes
148 NAD Defining library functions Yes
149 C89 The term "variable" Yes
150 C89 Initialization of a char array from a string literal Yes
151 C89 Behavior of 'printf' and flags N/A
152 NAD Can you 'longjmp' out of a signal handler? N/A
153 Dup Can 'f()' be considered a call to a function-like macro with one empty argument? Duplicate of 3
154 NAD Consistency of implementation-defined values Yes
155 C89 Zero-sized allocations N/A
156 C89 Closed streams N/A
157 C89 Legitimacy of type synonyms Yes
158 C89 Null pointer conversions Yes
159 C89 Consistency of the C Standard Defects exist in the way the Standard refers to itself Yes
160 Open Reservation of identifiers Not resolved
161 NAD Details of reserved symbols Yes
162 C89 'gmtime' and 'localtime' N/A
163 C89 Undeclared identifiers Yes
164 NAD Bad declarations Yes
165 C89 Tags and incomplete types Not resolved
166 Open Meaning of lvalue Not resolved
167 Open Consistency of the C Standard (Defect Report UK 015) Not resolved
168 Open Consistency of the C Standard (Defect Report UK 016) Not resolved
169 NAD Trigraphs Yes
170 C89 Operators and punctuators Not resolved
171 Open Ranges of integral types Not resolved
172 Open Relational and equality operators Not resolved
173 Open Line numbers Not resolved
174 Open Implicit conversions Not resolved
175 Open Correction to Technical Corrigendum 1 Not resolved
176 Open Diagnostics for #error Not resolved
177 Open Preprocessing directives Not resolved
178 Open Conformance with array members and allocations Not resolved
201 NAD Integer types longer than long Yes
202 C99 Change return type of certain <fenv.h> functions N/A
203 C99 C locale conflict with ISO/IEC 9945-2 N/A
204 C99 size_t and ptrdiff_t as a long long type Yes
205 NAD New keyword __at_least Yes
206 NAD Default argument conversion of float _Complex Yes
207 C99 Handling of imaginary types
Partial Clang detects use of the _Imaginary keyword but does not otherwise support the type yet.
208 C99 Ambiguity in initialization Yes
209 C99 Problem implementing INTN_C macros
Partial Clang provides these definitions in a freestanding compilation, but the type of the value produced by UINT8_C and UINT16_C is not the type after integer promotion per C99 7.18.4p3.
210 C99 'fprintf' %a and %A conversions recommended practice N/A
211 C99 Accuracy of decimal string to/from "binary" (non-decimal) floating-point conversions Yes
212 NAD Binding of multibyte conversion state objects N/A
213 C99 Lacuna in 'mbrtowc' N/A
214 NAD 'atexit' function registration N/A
215 C99 Equality operators Yes
216 C99 Source character encodings Yes
217 NAD 'asctime' limits N/A
218 C99 Signs of non-numeric floating point values Yes
219 NAD Effective types Yes
220 C99 Definition of "decimal integer" N/A
221 NAD Lacuna in pointer arithmetic Yes
222 C99 Partially initialized structures Yes
223 C99 'FP_FAST_FMAF' and 'FP_FAST_FMAL' should be integer constant N/A
224 C99 fpclassify return is not defined N/A
225 C99 strtod, strtof and strtold expected form of the subject sequence N/A
226 NAD strftime references N/A
227 NAD strftime %U, %V, and %W conversion specifiers N/A
228 C99 wmemcmp declaration in Annex B N/A
229 C99 localeconv() *_sep_by_space table entries issues N/A
230 C99 Enumerated type rank Yes
231 NAD Semantics of text-line and non-directive No
232 C99 Typo in Annex I N/A
233 C99 %g, %G precision specification N/A
234 C99 Miscellaneous Typos Yes
235 C99 "C" locale collating behaviour not defined N/A
236 NAD The interpretation of type based aliasing rule when applied to union objects or allocated objects Unknown
237 NAD Declarations using [static] No
238 C99 Decriptions of fma() overflow and underflow errors are missing N/A
239 C99 Annex F nexttoward description is inconsistent with 7.12.11.4 and F.9.8.3 N/A
240 C99 lrint, llrint, lround, llround, and ilogb descriptions are not consistent for unrepresentable results N/A
241 C99 Make the base standard and Annex F consistent for pow(0, <0) N/A
242 C99 Make the base standard and Annex F consistent for logb(0) N/A
243 C99 Make the base standard and Annex F consistent for fmod(), remainder(), and remquo() for a zero divisor N/A
244 C99 tgamma(zero or negative integer) should be considered a pole error N/A
245 C99 Missing paragraph numbers Yes
246 NAD Completion of declarators Yes
247 C99 Are values a form of behaviour? Yes
248 C99 Limits are required for optional types Yes
249 Dup Lacuna applying C89:TC1 to C99 Duplicate of 9
250 C99 Non-directives within macro arguments Yes
251 C99 Are struct fred and union fred the same type? Yes
252 NAD Incomplete argument types when calling non-prototyped functions Yes
253 NAD "overriding" in designated initializers Yes
254 NAD mbtowc and partial characters N/A
255 NAD Non-prototyped function calls and argument mismatches Yes
256 NAD Multiple inclusion of headers N/A
257 NAD Common initial sequences and related issues with unions Unknown
258 NAD Ordering of "defined" and macro replacement Yes
259 NAD Macro invocations with no arguments Yes
260 NAD Indeterminate values and identical representations Unknown
261 NAD Constant expressions Yes
262 C99 Maximum size of bit fields Yes
263 C99 All-zero bits representations Yes
264 NAD Graphic characters N/A
265 C99 Preprocessor arithmetic Yes
266 NAD Overflow of sizeof Yes
267 C99 Typos in 5.1.2.3, 7.24.4.4.5, 7.24.6.1, 7.24.6.1 Yes
268 C99 Jumps into iteration statements Yes
269 C99 Lacunae in exact-width integer types N/A
270 C99 wint_t is not the promoted version of wchar_t N/A
271 NAD Lacuna in iswctype and towctrans N/A
272 C99 Type category Yes
273 C99 Meaning of __STDC_ISO_10646__
Yes The compiler portion of this DR is implemented in Clang, but the __STDC_ISO_10646__ macro is not defined by Clang; the standard library behavior factors into whether this macro can or cannot be defined.
274 C99 Meaning of "character" in <string.h> functions N/A
275 C99 Bitwise-OR of nothing N/A
276 C99 Orientation of perror N/A
277 NAD Declarations within iteration statements No
278 C99 Lacuna in character encodings Yes
279 C99 Wide character code values for members of the basic character set Yes
280 NAD struct tm, member tm_isdst, and mktime() in <time.h> N/A
281 C99 CLOCKS_PER_SEC should not be a constant expression N/A
282 C99 Flexible array members & struct padding Yes
283 C99 Accessing a non-current union member ("type punning") Unknown
284 NAD Does <math.h> define INT_MIN and INT_MAX? N/A
285 C99 Conversion of an imaginary type to _Bool
Partial Clang detects use of the _Imaginary keyword but does not otherwise support the type yet.
286 C99 Correctly rounded and rounding direction/mode N/A
287 Dup Floating-point status flags and sequence points Duplicate of 87
288 NAD Deficiency on multibyte conversions N/A
289 C99 Function prototype with [restrict] Yes
290 C99 FLT_EVAL_METHOD and extra precision and/or range No
291 C99 Corrections to requirements on inexact floating-point exceptions Unknown
292 C99 Use of the word variable Yes
293 C99 Typo in Standard - double complex instead of complex in an example Yes
294 NAD Technical question on C99 restrict keyword Unknown
295 C99 Incomplete types for function parameters Yes
296 C99 Is exp(INFINITY) overflow? A range error? A divide-by-zero exception? INFINITY without any errors? N/A
297 C99 May FE_* floating-point exception flags have bits in common? N/A
298 C99 Validity of constant in unsigned long long range
Partial Clang defines the behavior in this situation by automatically using long long or unsigned long long as the underlying type of the constant; however, Clang fails to diagnose the extension in C89 mode with such constants.
299 C99 Is cabs() a type-generic macro? N/A
300 NAD Translation-time expresssion evaluation Yes
301 NAD Meaning of FE_* macros in <fenv.h> Yes
302 C99 6.10.2p5: Adding underscore to portable include file name character set Yes
303 C99 6.10p2: Breaking up the very long sentence describing preprocessing directive Yes
304 C99 Clarifying illegal tokens in #if directives Yes
305 C99 6.10.1p3: Clarifying handling of keywords in #if directives Yes
306 C99 6.10.3p9: Clarifying that rescanning applies to object-like macros Yes
307 C99 6.10.3p10: Clarifiying arguments vs. parameters Yes
308 C99 Clarify that source files et al. need not be "files" Yes
309 C99 Clarifying trigraph substitution Yes
310 C99 Add non-corner case example of trigraphs Yes
311 C99 Definition of variably modified types Yes
312 C99 Meaning of "known constant size" Yes
313 NAD Incomplete arrays of VLAs Yes
314 NAD Cross-translation-unit tagged type compatibility Unknown
315 C99 Implementation-defined bit-field types Yes
316 NAD Unprototyped function types Yes
317 NAD Function definitions with empty parentheses Yes
318 C99 (double)0.1f with FLT_EVAL_METHOD being 2 Unknown
319 NAD printf("%a", 1.0) and trailing zeros N/A
320 C99 Scope of variably modified type Yes
321 C99 Wide character code values for members of the basic character set Yes
322 C99 Problem with TC2 Change #67 (Add perror to the list defining byte input/output functions) N/A
323 C99 Potential problems with TC2 #34, #35, and #36 N/A
324 C99 Tokenization obscurities Yes
325 NAD strerror() N/A
326 C99 asctime() N/A
327 C99 Italicize definition of variable length array type, add forward references Yes
328 C99 String literals in compound literal initialization
Partial Clang properly implements the use of string literals in a compound literal initializer, but fails to diagnose use of a variably-modified type at file scope. DR339 (about variably-modified types) is marked as a duplicate of DR328.
329 C99 Math functions and directed rounding N/A
330 C99 Externally visible exceptional conditions N/A
331 NAD permit FE_DIVBYZERO when errno says EDOM N/A
332 C99 gets is generally unsafe N/A
333 C99 Missing Predefined Macro Name Yes
334 Open Missing semantics of comparison macros Not resolved
335 NAD _Bool bit-fields Yes
336 C99 What does TMP_MAX actually indicate? N/A
337 C99 stdio.h macro definition problems N/A
338 C99 C99 seems to exclude indeterminate value from being an uninitialized register Yes
339 Dup Variably modified compound literal Duplicate of 328
340 C99 Composite types for variable-length arrays Yes
341 C99 [*] in abstract declarators Yes
342 Dup VLAs and conditional expressions Duplicate of 340
343 C99 Initializing qualified wchar_t arrays Yes
344 C99 Casts in preprocessor conditional expressions Yes
345 C99 Where does parameter scope start? Yes
400 C11 realloc with size zero problems Unknown
401 C11 "happens before" can not be cyclic Yes
402 C11 Memory model coherence is not aligned with C++11 Yes
403 C11 malloc() and free() in the memory model N/A
404 C11 Joke fragment remains in a footnote Yes
405 C11 The mutex specification N/A
406 C11 Visible sequences of side effects are redundant Yes
407 C11 Memory ordering of atomics Unknown
408 NAD Should locks provide intra-thread synchronization N/A
409 C11 f(inf) is inf being a range error N/A
410 C11 ilogb inconsistent with lrint, lround N/A
411 C11 Predefined macro values Yes
412 C11 #elif Yes
413 NAD Initialization Yes
414 C11 Typos in 6.27 Threads <threads.h> N/A
415 C11 Missing divide by zero entry in Annex J Yes
416 C11 tss_t destruction unspecified N/A
417 C11 Annex J not updated with necessary aligned_alloc entries Yes
418 NAD Possible defect report: fmod(0.,NaN) and fmod(NaN,infinity) N/A
419 C11 Generic Functions Yes
420 NAD Sytax error in specification of for-statement Yes
421 NAD Initialization of atomic_flag N/A
422 NAD Initialization of atomic types N/A
423 C11 Defect Report relative to n1570: underspecification for qualified rvalues
Partial Clang properly handles dropping qualifiers from cast operations, but does not yet handle dropping qualifiers from the function return type.
424 Dup Underspecification of tss_t Duplicate of 416
425 NAD No specification for the access to variables with temporary lifetime Yes
426 C11 G.5.1: -yv and -x/v are ambiguous N/A
427 NAD Function Parameter and Return Value Assignments Unknown
428 C11 Runtime-constraint issue with sprintf family of routines in Annex K N/A
429 C11 Should gets_s discard next input line when (s == NULL) ? N/A
430 C11 getenv_s, maxsize should be allowed to be zero N/A
431 C11 atomic_compare_exchange: What does it mean to say two structs compare equal? Unknown
432 C11 Possible defect report: Is 0.0 required to be a representable value? Yes
433 C11 Issue with constraints for wide character function arguments involving RSIZE_MAX N/A
434 C11 Possible defect report: Missing constraint w.r.t. Atomic Yes
435 NAD Possible defect report: Missing constraint w.r.t. Imaginary Yes
436 C11 Request for interpretation of C11 6.8.5#6 Yes
437 C11 clock overflow problems N/A
438 C11 ungetc / ungetwc and file position after discarding push back problems N/A
439 C11 Issues with the definition of "full expression" Unknown
440 NAD Floating-point issues in C11 from PDTS 18661-1 UK review, Issue 1 Unknown
441 C11 Floating-point issues in C11 from PDTS 18661-1 UK review, Issue 2 N/A
442 NAD Floating-point issues in C11 from PDTS 18661-1 UK review, Issue 3 Unknown
443 NAD Floating-point issues in C11 from PDTS 18661-1 UK review, Issue 4 Unknown
444 C11 Issues with alignment in C11, part 1
Partial Clang rejects use of an alignment specifier in a compound literal expression.
445 C11 Issues with alignment in C11, part 2 Unknown
446 NAD Use byte instead of character for memcmp, memcpy N/A
447 C11 Boolean from complex Yes
448 C11 What are the semantics of a # non-directive? Yes
449 NAD What is the value of TSS_DTOR_ITERATIONS for implementations with no maximum? N/A
450 C11 tmpnam_s clears s[0] when maxsize > RSIZE_MAX N/A
451 NAD Instability of uninitialized automatic variables Unknown
452 C11 Effective Type in Loop Invariant Unknown
453 C11 Atomic flag type and operations N/A
454 NAD ATOMIC_VAR_INIT (issues 3 and 4) Yes
455 NAD ATOMIC_VAR_INIT issue 5 Yes
456 Dup Compile time definition of UINTN_C(value) Duplicate of 209
457 C11 The ctime_s function in Annex K defined incorrectly N/A
458 C11 ATOMIC_XXX_LOCK_FREE macros not constant expressions N/A
459 C11 atomic_load missing const qualifier Yes
460 C11 aligned_alloc underspecified N/A
461 NAD Problems with references to objects in signal handlers N/A
462 C11 Clarifying objects accessed in signal handlers N/A
463 NAD Left-shifting into the sign bit Yes
464 C11 Clarifying the Behavior of the #line Directive Yes
465 C11 Fixing an inconsistency in atomic_is_lock_free Unknown
466 NAD Scope of a for loop control declaration Yes
467 C11 Maximum representable finite description vs math Unknown
468 C11 strncpy_s clobbers buffer past null N/A
469 NAD Lock ownership vs. thread termination N/A
470 C11 mtx_trylock should be allowed to fail spuriously N/A
471 C11 Complex math functions cacosh and ctanh N/A
472 C11 Introduction to complex arithmetic in 7.3.1p3 wrong due to CMPLX N/A
473 C11 "A range error occurs if x is too large." is misleading N/A
474 NAD NOTE 1 Clarification for atomic_compare_exchange N/A
475 C11 Misleading Atomic library references to atomic types Yes
476 C11 volatile semantics for lvalues Unknown
477 C11 nan should take a string argument N/A
478 NAD Valid uses of the main function Yes
479 Dup Unclear specification of mtx_trylock on non-recursive muteness Duplicate of 269
480 C11 cnd_wait and cnd_timewait should allow spurious wake-ups N/A
481 C11 Controlling expression of _Generic primary expression Clang 3.8
482 NAD Macro invocation split over many files Unknown
483 NAD __LINE__ and __FILE__ in macro replacement list Yes
484 NAD invalid characters in strcoll() N/A
485 C11 Problem with the specification of ATOMIC_VAR_INIT Yes
486 NAD Inconsistent specification for arithmetic on atomic objects Unknown
487 C11 timespec vs. tm N/A
488 C11 c16rtomb() on wide characters encoded as multiple char16_t N/A
489 NAD Integer Constant Expression
Partial Clang inconsistently diagnoses folding a constan expression into an ICE as an extension.
490 NAD Unwritten Assumptions About if-then Yes
491 C11 Concern with Keywords that Match Reserved Identifiers
Partial Clang issues a reserved identifier diagnostic when the identifier leads with an underscore followed by a capital letter or double underscores, even if the identifier is used for a macro definition.
492 NAD Named Child struct-union with no Member Clang 3.6
493 Dup Mutex Initialization Underspecified Duplicate of 469
494 C11 Part 1: Alignment specifier expression evaluation Yes
495 C11 Part 2: Atomic specifier expression evaluation Not resolved
496 NAD offsetof questions Yes
497 C11 "white-space character" defined in two places N/A
498 C11 mblen, mbtowc, and wctomb thread-safety N/A
499 C17 Anonymous structure in union behavior Yes
500 C17 Ambiguous specification for FLT_EVAL_METHOD Unknown
501 C17 Can DECIMAL_DIG be larger than necessary? N/A
502 NAD Flexible array member in an anonymous struct Yes
503 NAD Hexadecimal floating-point and strtod N/A
1000 C2y Structure type compatibility with flexible array members Unknown
1001 C2y Qualified rvalues from structure or union members Unknown
1002 C2y Type qualifiers in [*] in abstract declarators Unknown
1003 C2y Linkage between library functions Unknown
1004 C2y Linkage between library functions N/A
1005 C2y Annex D refers to option removed from UAX#31 in revision 39 Unknown
1006 C2y atomic_fetch operations and "address types" Unknown
1007 C2y Implicitly unsigned bit-fields ambiguity Unknown
1008 C2y Bad constraint on attributes with tags Unknown
1009 C2y extern thread_local should not be an external definition Unknown
1010 Open Termination of the execution with threads Not resolved
1011 C2y powr(negative, qNaN) N/A
1012 Open Error returns from specific width length modifiers Not resolved
1013 Open Ambiguity of "same type" Not resolved
1015 C2y Imprecise wording for cnd_t functions N/A
1016 C2y Are digit separators allowed in __LINE__? Unknown
1017 Open Unspecified timing and synchronization for cnd_t functions Not resolved
1018 Open Issue with enum compatibility Not resolved
1019 C2y String functions and trailing null inclusion N/A
1020 C2y Definition of address constant Unknown
1021 Open Integer promotions for enumerations Not resolved
1022 Open Void expressions and lvalues Not resolved
1023 Open static_assert in structure and union definitions Not resolved
1024 Open Redeclaration of standard library typedefs Not resolved
1024 Review Redeclaration of standard library typedefs Review
1026 Open thrd_t as an array type Not resolved
1027 Open Member declaration attributes and composite types Not resolved
1028 Review jmp_buf as an incomplete array type Review
1029 Open Spelling of __LINE__ Not resolved
1030 Open Lvalue conversion for generic associations Not resolved
1031 Open Generic selection controlling expression lvalue of incomplete non-array type Not resolved
1032 Open errno as a bit-field Not resolved
1033 Review FILE as a void type Review
1034 Open Extra members in div_t types Not resolved
1035 Open wctrans_t and wctype_t as nullptr_t Not resolved
1036 Open Initializer syntactic requirements Not resolved
1037 Open Scopes and noreturn declarations Not resolved
1038 Open Issues with float_t and related types Not resolved
1039 Open Function type attributes on abstract declarators Not resolved
1040 Open Freestanding library issues Not resolved
1041 Open Alignment of structure and union members Not resolved
1042 Open Attributes on compound literals Not resolved
1043 Open Issues with library integer types Not resolved
1044 Open Alignment specifier consistency rules Not resolved
1045 Open Are VLAs adjusted to pointers variably modified? Not resolved
1046 Open Order of arguments to powr Not resolved
1047 Open Function call returning void Not resolved
1048 Open Mixed [non-]designated initializer behavior Not resolved
1049 Open Future language direction of storage-class specifiers Not resolved
1050 Open Values of wctrans_t and wctype_t Not resolved
1051 Open Standard library integer types wider than intmax_t Not resolved
1052 Open Relations between standard library integer types Not resolved
1053 Open Conversion of NULL to intptr_t or uintptr_t Not resolved
1054 Open Signals from freestanding integer conversion Not resolved
1055 Open Incomplete enumerated types in the standard library Not resolved
1056 Open WEOF in integer constant expressions Not resolved
1057 Open Standard library types as atomic types Not resolved
1058 Open Categories of standard library types Not resolved
1059 Open <fenv.h> types underspecified Not resolved
1060 Open Declaring main with attributes Not resolved
1061 Open Variably modified parameters with typeof specifiers Not resolved
1062 Open Signaling NaNs in structures, unions, and standard library types Not resolved
1063 Open Conversions to signed integer types Not resolved
1064 Open __VA_OPT__() hypothetical substitution Not resolved
1065 Open More issues with noreturn Not resolved
1066 C2y Duplicate macro definitions with variadic macros Unknown
1067 Open Bitwise operators on signed types Not resolved
1068 Open Standard pragmas after labels Not resolved
1069 Open Placemarker preprocessing token concatenation and expansion Not resolved
1070 Open Evaluation of [static] parameter array lengths Not resolved
1071 Open Header names, __has_include, and __has_embed Not resolved
1072 Open Initialization with string literals Not resolved
1073 Open charN_t in freestanding Not resolved
1074 Open Feature test macros and freestanding Not resolved
1075 Open Empty structure types as standard library types Not resolved
1076 Open Bit-field storage issues Not resolved
1077 Open Bit-field expression issues Not resolved
1078 Open Valid locations for __VA_ARGS__ and __VA_OPT__ Not resolved
1079 Open restrict, _Atomic, and multidimensional arrays Not resolved
1080 Open _Generic and VLA type compatibility Not resolved
1081 Open Limitations on extended integer constant expressions Not resolved
1082 Open Dollar signs in nondigits Not resolved
1083 Open Whitespace in macro expansions Not resolved
1084 Open Unspecified evaluation order of # and ## Not resolved
1085 Open Non-finite values in arithmetic constant expressions Not resolved
1086 Open Questions about infinity Not resolved
1087 Open Reentering variably modified declaration Not resolved
1088 Open Objects with temporary lifetime sharing storage Not resolved
1089 Open offsetof and va_arg handling of commas outside of parentheses Not resolved
1090 Open Pointer arithmetic involving flexible array members Not resolved
1091 Open Issues with external definitions Not resolved
1092 Open Strictly conforming programs using argv and handling errors Not resolved
1093 Open Compatibility of array types completed by initialization Not resolved
1095 Open Inconsistent usage of "based on" Not resolved
1102 Open Conditions for when types are inferred Not resolved
1103 Open Contradictory requirements of linkage Not resolved
1104 Open Flexible array members and alignment Not resolved
1105 Open Issues with atomic integer types in <stdatomic.h> Not resolved
1106 Open Questions about translation limits Not resolved
1107 Open decimal_point and thousands_sep issues Not resolved
1108 Open grouping and mon_grouping questions Not resolved
1111 Open Inconsistent definitions of version macros Not resolved
1112 Open Undefined behavior from uninitialized reads Not resolved
1113 Open Questions about character constants Not resolved
1114 Open Requirements on RSIZE_MAX Not resolved
1115 Open Directives partially contained in multiline macro invocations Not resolved
1116 Open Requirements on array parameters Not resolved
1117 Open Effective type object access requirements Not resolved
1118 Open Flexible array member layout Not resolved
1119 Open Meaning of TSS_DTOR_ITERATIONS Not resolved
1120 Open Full expressions, declarators, and abstract declarators Not resolved
1121 Open Bitwise representation of unsigned integer types Not resolved
1122 Open Constraints on string literals and character constants Not resolved
1123 Open fopen and restrict qualified parameters Not resolved