LINT(7)

NAME
lint - Error, warning and query messages from lint

DESCRIPTION
The following is a list of message IDs and messages produced by lint(1). It is intended to be used with the -X flag of lint(1).

0 empty declaration
1 old-style declaration; add 'int'
2 empty declaration
3 '%s' declared in parameter declaration list
4 invalid type combination
5 modifying typedef with '%s'; only qualifiers allowed
6 use 'double' instead of 'long float'
7 only one storage class allowed
8 invalid storage class
9 only 'register' is valid as storage class in parameter
10 duplicate '%s'
11 bit-field initializer out of range
12 compiler takes size of function
13 incomplete enum type '%s'
--- (no longer used)
15 function returns invalid type '%s'
16 array of function is invalid
17 null dimension
18 invalid use of 'void'
19 void type for '%s'
20 negative array dimension (%d)
21 redeclaration of formal parameter '%s'
22 incomplete or misplaced function definition
23 undefined label '%s'
24 cannot initialize function '%s'
25 cannot initialize typedef '%s'
26 cannot initialize extern declaration '%s'
27 redeclaration of '%s'
28 redefinition of '%s'
29 '%s' was previously declared extern, becomes static
30 redeclaration of '%s'; C90 or later require static
31 '%s' has incomplete type '%s'
32 type of parameter '%s' defaults to 'int'
33 duplicate member name '%s'
34 nonportable bit-field type '%s'
35 invalid bit-field type '%s'
36 invalid bit-field size: %d
37 zero size bit-field
38 function invalid in structure or union
39 zero-sized array '%s' in struct requires C99 or later
--- (no longer used)
41 bit-field in union is very unusual
42 forward reference to enum type
43 redefinition of '%s' hides earlier one
44 declaration of '%s %s' introduces new type in C90 or later
45 base type is really '%s %s'
46 %s tag '%s' redeclared as %s
47 zero sized %s is a C99 feature
48 enumeration value '%s' overflows
49 anonymous struct/union members is a C11 feature
50 parameter '%s' has function type, should be pointer
51 parameter mismatch: %d declared, %d defined
52 cannot initialize parameter '%s'
53 declared parameter '%s' is missing
54 trailing ',' in enum declaration requires C99 or later
55 integral constant expression expected
56 constant %s too large for 'int'
57 enumeration constant '%s' hides parameter
58 type of '%s' does not match prototype
59 formal parameter #%d lacks name
60 void must be sole parameter
61 void parameter '%s' cannot have name
62 function prototype parameters must have types
63 prototype does not match old-style definition
64 ()-less function definition
65 '%s' has no named members
--- (no longer used)
67 cannot return incomplete type
68 typedef already qualified with '%s'
69 inappropriate qualifiers with 'void'
--- (no longer used)
71 too many characters in character constant
72 typedef declares no type name
73 empty character constant
74 no hex digits follow \x
75 overflow in hex escape
76 character escape does not fit in character
77 bad octal digit '%c'
--- (no longer used)
79 dubious escape \%c
80 dubious escape \%o
81 \a requires C90 or later
82 \x requires C90 or later
83 storage class after type is obsolescent
84 C90 to C17 require formal parameter before '...'
85 dubious tag declaration '%s %s'
86 automatic '%s' hides external declaration with type '%s'
87 static '%s' hides external declaration with type '%s'
88 typedef '%s' hides external declaration with type '%s'
89 typedef '%s' redeclared
90 inconsistent redeclaration of extern '%s'
91 declaration of '%s' hides parameter
92 inconsistent redeclaration of static '%s'
93 dubious static function '%s' at block level
94 function '%s' has invalid storage class
95 declaration of '%s' hides earlier one
96 cannot dereference non-pointer type '%s'
97 suffix 'U' requires C90 or later
98 suffixes 'F' or 'L' require C90 or later
99 '%s' undefined
100 unary '+' requires C90 or later
101 type '%s' does not have member '%s'
102 invalid use of member '%s'
103 left operand of '.' must be struct or union, not '%s'
104 left operand of '->' must be pointer to struct or union, not '%s'
105 non-unique member requires struct/union %s
106 left operand of '->' must be pointer
107 operands of '%s' have incompatible types '%s' and '%s'
108 operand of '%s' has invalid type '%s'
109 void type invalid in expression
110 pointer to function is not allowed here
111 unacceptable operand of '%s'
112 cannot take address of bit-field
113 cannot take address of register '%s'
114 %soperand of '%s' must be lvalue
115 %soperand of '%s' must be modifiable lvalue
116 invalid pointer subtraction
117 bitwise '%s' on signed '%s' possibly nonportable
118 '%s' %s '%s' differs between traditional C and C90
119 conversion of '%s' to '%s' is out of range
120 bitwise '%s' on signed '%s' nonportable
121 negative shift
122 shift amount %u is greater than bit-size %u of '%s'
123 invalid combination of %s '%s' and %s '%s', op '%s'
124 invalid combination of '%s' and '%s', op '%s'
125 pointers to functions can only be compared for equality
126 incompatible types '%s' and '%s' in conditional
--- (no longer used)
128 operator '%s' discards '%s' from '%s'
129 expression has null effect
130 enum type mismatch: '%s' '%s' '%s'
131 conversion to '%s' may sign-extend incorrectly
132 conversion from '%s' to '%s' may lose accuracy
133 conversion of pointer to '%s' loses bits
134 conversion of pointer to '%s' may lose bits
135 converting '%s' to '%s' increases alignment from %u to %u
136 cannot do pointer arithmetic on operand of unknown size
--- (no longer used)
138 unknown operand size, op '%s'
139 division by 0
140 modulus by 0
141 '%s' overflows '%s'
142 operator '%s' produces floating point overflow
143 cannot take size/alignment of incomplete type
144 cannot take size/alignment of function type '%s'
145 cannot take size/alignment of bit-field
146 cannot take size/alignment of void
147 invalid cast from '%s' to '%s'
148 improper cast of void expression
149 cannot call '%s', must be a function
150 argument mismatch: %d %s passed, %d expected
151 void expressions may not be arguments, arg #%d
152 argument cannot have unknown size, arg #%d
153 converting '%s' to incompatible '%s' for argument %d
154 invalid combination of %s '%s' and %s '%s', arg #%d
155 passing '%s' to incompatible '%s', arg #%d
156 function expects '%s', passing '%s' for arg #%d
157 C90 treats constant as unsigned
158 '%s' may be used before set
159 assignment in conditional context
160 operator '==' found where '=' was expected
--- (no longer used)
162 operator '%s' compares '%s' with '%s'
163 a cast does not yield an lvalue
164 assignment of negative constant %d to unsigned type '%s'
165 constant truncated by assignment
166 precision lost in bit-field assignment
167 array subscript %d cannot be negative
168 array subscript %u cannot be > %d
169 possible precedence confusion between '%s' and '%s'
170 first operand of '?' must have scalar type
171 cannot assign to '%s' from '%s'
172 too many struct/union initializers
173 too many array initializers, expected %d
174 too many initializers for '%s'
175 initialization of incomplete type '%s'
--- (no longer used)
177 non-constant initializer
178 initializer does not fit
179 cannot initialize struct/union with no named member
180 bit-field initializer does not fit
181 {}-enclosed or constant initializer of type '%s' required
182 '%s' discards '%s' from '%s'
183 invalid combination of %s '%s' and %s '%s' for '%s'
184 invalid combination of '%s' and '%s'
185 cannot initialize '%s' from '%s'
186 bit-field initializer must be an integer in traditional C
187 string literal too long (%u) for target array (%u)
188 automatic aggregate initialization requires C90 or later
--- (no longer used)
190 empty array declaration for '%s'
191 '%s' set but not used in function '%s'
192 '%s' unused in function '%s'
193 '%s' statement not reached
194 label '%s' redefined
195 case not in switch
196 case label is converted from '%s' to '%s'
197 non-constant case expression
198 non-integral case expression
199 duplicate case '%d' in switch
200 duplicate case '%u' in switch
201 default outside switch
202 duplicate default in switch
203 case label must be of type 'int' in traditional C
204 controlling expressions must have scalar type, not '%s'
205 switch expression must have integral type, not '%s'
206 enumeration value(s) not handled in switch
--- (no longer used)
208 break outside loop or switch
209 continue outside loop
210 enum type mismatch between '%s' and '%s' in initialization
211 function has return type '%s' but returns '%s'
212 cannot return incomplete type
213 void function '%s' cannot return value
214 function '%s' expects to return value
215 function '%s' implicitly declared to return int
216 function '%s' has 'return expr' and 'return'
217 function '%s' falls off bottom without returning value
218 C90 treats constant as unsigned, op '%s'
219 concatenated strings require C90 or later
220 fallthrough on case statement
221 initialization of unsigned type '%s' with negative constant %d
222 conversion of negative constant %d to unsigned type '%s'
223 end-of-loop code not reached
224 cannot recover from previous errors
225 static function '%s' called but not defined
226 static variable '%s' unused
227 const object '%s' should have initializer
228 function cannot return const or volatile object
229 converting '%s' to '%s' is questionable
230 nonportable character comparison '%s'
231 parameter '%s' unused in function '%s'
232 label '%s' unused in function '%s'
233 struct '%s' never defined
234 union '%s' never defined
235 enum '%s' never defined
236 static function '%s' unused
237 redeclaration of formal parameter '%s'
238 initialization of union requires C90 or later
--- (no longer used)
--- (no longer used)
241 dubious operation '%s' on enum
242 combination of '%s' and '%s', op '%s'
243 operator '%s' assumes that '%s' is ordered
244 invalid structure pointer combination
245 incompatible structure pointers: '%s' '%s' '%s'
246 dubious conversion of enum to '%s'
247 pointer cast from '%s' to unrelated '%s'
248 floating-point constant out of range
249 syntax error '%s'
250 unknown character \%o
251 malformed integer constant
252 integer constant out of range
253 unterminated character constant
254 newline in string or char constant
255 undefined or invalid '#' directive
256 unterminated comment
257 extra characters in lint comment
258 unterminated string constant
259 argument %d is converted from '%s' to '%s' due to prototype
260 previous declaration of '%s'
261 previous definition of '%s'
262 \" inside a character constant requires C90 or later
263 \? requires C90 or later
264 \v requires C90 or later
265 %s does not support 'long long'
266 'long double' requires C90 or later
267 shift amount %u equals bit-size of '%s'
268 variable '%s' declared inline
269 parameter '%s' declared inline
270 function prototypes require C90 or later
271 switch expression must be of type 'int' in traditional C
272 empty translation unit
273 bit-field type '%s' invalid in C90 or later
274 C90 or later forbid comparison of %s with %s
275 cast discards 'const' from type '%s'
276 '__%s__' is invalid for type '%s'
277 initialization of '%s' with '%s'
278 combination of '%s' and '%s', arg #%d
279 combination of '%s' and '%s' in return
280 comment /* %s */ must be outside function
281 duplicate comment /* %s */
282 comment /* %s */ must precede function definition
283 parameter number mismatch in comment /* %s */
284 fallthrough on default statement
285 prototype declaration
286 function definition for '%s' is not a prototype
287 function declaration for '%s' is not a prototype
288 dubious use of /* VARARGS */ with /* %s */
289 /* PRINTFLIKE */ and /* SCANFLIKE */ cannot be combined
290 static function '%s' declared but not defined
291 invalid multibyte character
292 cannot concatenate wide and regular string literals
293 parameter %d must be 'char *' for PRINTFLIKE/SCANFLIKE
294 multi-character character constant
295 conversion of '%s' to '%s' is out of range, arg #%d
296 conversion of negative constant %d to unsigned type '%s', arg #%d
297 conversion to '%s' may sign-extend incorrectly, arg #%d
298 conversion from '%s' to '%s' may lose accuracy, arg #%d
299 prototype does not match old-style definition, arg #%d
300 old-style definition
301 array of incomplete type
302 '%s' returns pointer to automatic object
303 conversion of %s to %s requires a cast
304 conversion of %s to %s requires a cast, arg #%d
305 conversion of %s to %s requires a cast, op %s
306 constant %s truncated by conversion, op '%s'
307 static variable '%s' set but not used
308 invalid type for _Complex
309 '%s' converts '%s' with its most significant bit being set to '%s'
310 symbol renaming can't be used on function parameters
311 symbol renaming can't be used on automatic variables
312 %s does not support '//' comments
313 struct or union member name in initializer is a C99 feature
--- (no longer used)
315 GCC style struct or union member name in initializer
316 __FUNCTION__/__PRETTY_FUNCTION__ is a GCC extension
317 __func__ is a C99 feature
318 variable array dimension is a C99/GCC extension
319 compound literals are a C99/GCC extension
320 '({ ... })' is a GCC extension
321 array initializer with designators is a C99 feature
322 zero sized array requires C99 or later
323 continue in 'do ... while (0)' loop
324 suggest cast from '%s' to '%s' on op '%s' to avoid overflow
325 variable declaration in for loop
326 attribute '%s' ignored for '%s'
327 declarations after statements is a C99 feature
328 union cast is a GCC extension
329 type '%s' is not a member of '%s'
330 operand of '%s' must be bool, not '%s'
331 left operand of '%s' must be bool, not '%s'
332 right operand of '%s' must be bool, not '%s'
333 controlling expression must be bool, not '%s'
334 parameter %d expects '%s', gets passed '%s'
335 operand of '%s' must not be bool
336 left operand of '%s' must not be bool
337 right operand of '%s' must not be bool
338 option '%c' should be handled in the switch
339 option '%c' should be listed in the options string
340 initialization with '[a...b]' is a GCC extension
341 argument to '%s' must be 'unsigned char' or EOF, not '%s'
342 argument to '%s' must be cast to 'unsigned char', not to '%s'
343 static array size requires C11 or later
344 bit-field of type plain 'int' has implementation-defined signedness
345 generic selection requires C11 or later
346 call to '%s' effectively discards 'const' from argument
347 redeclaration of '%s' with type '%s', expected '%s'
348 maximum value %d for '%s' of type '%s' does not match maximum array index %d
349 non type argument to alignof is a GCC extension
350 '_Atomic' requires C11 or later
351 missing%s header declaration for '%s'
352 nested 'extern' declaration of '%s'
353 empty initializer braces require C23 or later
354 '_Static_assert' requires C11 or later
355 '_Static_assert' without message requires C23 or later
356 short octal escape '%s' followed by digit '%c'
357 hex escape '%s' mixes uppercase and lowercase digits
358 hex escape '%s' has more than 2 digits
359 missing new-style '\177' or old-style number base
360 missing new-style number base after '\177'
361 number base '%s' is %u, must be 8, 10 or 16
362 conversion '%s' should not be escaped
363 escaped character '%s' in description of conversion '%s'
364 missing bit position after '%s'
365 missing field width after '%s'
366 missing '\0' at the end of '%s'
367 empty description in '%s'
368 missing comparison value after conversion '%s'
369 bit position '%s' in '%s' should be escaped as octal or hex
370 field width '%s' in '%s' should be escaped as octal or hex
371 bit position '%s' (%u) in '%s' out of range %u..%u
372 field width '%s' (%u) in '%s' out of range 0..64
373 bit field end %u in '%s' out of range 0..64
374 unknown conversion '%s', must be one of 'bfF=:*'
375 comparison value '%s' (%u) exceeds maximum field value %u
376 '%s' overlaps earlier '%s' on bit %u
377 redundant '\0' at the end of the format
378 conversion '%s' is unreachable by input value
379 comparing integer '%s' to floating point constant %g
380 lossy conversion of %g to '%s', arg #%d
381 lossy conversion of %g to '%s'
382 constant assignment of type '%s' in operand of '%s' always evaluates to '%s'
383 passing '%s' as argument %d to '%s' discards '%s'
384 function definition for '%s' with identifier list is obsolete in C23
385 do-while macro '%s' ends with semicolon
386 conversion '%s' does not mix with '%c'

The following is a list of query IDs and their messages produced by lint(1). It is intended to be used with the -q flag of lint(1).

1 implicit conversion from floating point '%s' to integer '%s'
2 cast from floating point '%s' to integer '%s'
3 implicit conversion changes sign from '%s' to '%s'
4 usual arithmetic conversion for '%s' from '%s' to '%s'
5 pointer addition has integer on the left-hand side
6 no-op cast from '%s' to '%s'
7 redundant cast from '%s' to '%s' before assignment
8 octal number '%s'
9 parenthesized return value
10 chained assignment with '%s' and '%s'
11 static variable '%s' in function
12 comma operator with types '%s' and '%s'
13 redundant 'extern' in function declaration of '%s'
14 comparison '%s' of 'char' with plain integer %d
15 implicit conversion from integer 0 to pointer '%s'
16 '%s' was declared 'static', now non-'static'
17 invisible character U+%04X in %s
18 const automatic variable '%s'
19 implicit conversion from integer '%s' to floating point '%s'
20 implicit narrowing conversion from void pointer to '%s'
21 typedef '%s' of struct type '%s'
22 typedef '%s' of union type '%s'
23 typedef '%s' of pointer to struct type '%s'
24 typedef '%s' of pointer to union type '%s'