LINT(7)

LINT(7) | Miscellaneous Information Manual | 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 value possibly nonportable
118 | semantics of '%s' change in C90; use explicit cast
119 | conversion of '%s' to '%s' is out of range
120 | bitwise '%s' on signed value 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
205 | switch expression must have integral type
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 is not a prototype
287 | function declaration 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

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'

July 8, 2025 | NetBSD 11.0