]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | |
2 | Source files are .c, .h and .lcl files. If there is no suffix, | |
3 | LCLint will look for <file>.c and <file>.lcl. | |
4 | ||
5 | Use lclint -help <topic or flag name> for more information | |
6 | ||
7 | Topics: | |
8 | ||
9 | annotations (describes source-code annotations) | |
10 | comments (describes control comments) | |
11 | flags (describes flag categories) | |
12 | flags <category> (describes flags in category) | |
13 | flags all (short description of all flags) | |
14 | flags alpha (list all flags alphabetically) | |
15 | flags full (full description of all flags) | |
16 | mail (information on mailing lists) | |
17 | modes (show mode settings) | |
18 | parseerrors (help on handling parser errors) | |
19 | prefixcodes (character codes in namespace prefixes) | |
20 | references (sources for more information) | |
21 | vars (environment variables) | |
22 | version (information on compilation, maintainer) | |
23 | ||
24 | ||
25 | Cannot find standard library: ansi.lcd | |
26 | Check LARCH_PATH environment variable. | |
27 | Continuing without LCL init file: lclinit.lci | |
28 | Continuing without LSL init file: lslinit.lsi | |
29 | Unable to find CTrait.syms or CTrait.lsl. Check LARCH_PATH environment | |
30 | variable. | |
31 | ||
32 | Source files are .c, .h and .lcl files. If there is no suffix, | |
33 | LCLint will look for <file>.c and <file>.lcl. | |
34 | ||
35 | Use lclint -help <topic or flag name> for more information | |
36 | ||
37 | Topics: | |
38 | ||
39 | annotations (describes source-code annotations) | |
40 | comments (describes control comments) | |
41 | flags (describes flag categories) | |
42 | flags <category> (describes flags in category) | |
43 | flags all (short description of all flags) | |
44 | flags alpha (list all flags alphabetically) | |
45 | flags full (full description of all flags) | |
46 | mail (information on mailing lists) | |
47 | modes (show mode settings) | |
48 | parseerrors (help on handling parser errors) | |
49 | prefixcodes (character codes in namespace prefixes) | |
50 | references (sources for more information) | |
51 | vars (environment variables) | |
52 | version (information on compilation, maintainer) | |
53 | ||
54 | ||
55 | Unrecognized option: asdf | |
56 | ||
57 | ||
58 | Finished LCLint checking --- no code processed | |
59 | ||
60 | Warning: setting +boolint redundant with current value | |
61 | ||
62 | Finished LCLint checking --- no code processed | |
63 | ||
64 | D<initializer> | |
65 | I<directory> | |
66 | S<directory> | |
67 | U<initializer> | |
68 | abstract | |
69 | accessall | |
70 | accessczech | |
71 | accessczechoslovak | |
72 | accessfile | |
73 | accessmodule | |
74 | accessslovak | |
75 | aliasunique | |
76 | allblock | |
77 | allempty | |
78 | allglobs | |
79 | allimponly | |
80 | allmacros | |
81 | ansilib | |
82 | ansilimits | |
83 | ansireserved | |
84 | ansireservedinternal | |
8e349e11 | 85 | arrayread |
86 | arraywrite | |
885824d3 | 87 | assignexpose |
88 | badflag | |
89 | bitwisesigned | |
885824d3 | 90 | boolcompare |
91 | boolfalse | |
92 | boolint | |
93 | boolops | |
94 | booltrue | |
95 | booltype | |
96 | branchstate | |
8e349e11 | 97 | bufferoverflow |
885824d3 | 98 | casebreak |
99 | castexpose | |
100 | castfcnptr | |
101 | charindex | |
102 | charint | |
103 | charintliteral | |
104 | charunsignedchar | |
105 | checkedglobalias | |
106 | checkmodglobalias | |
107 | checkstrictglobalias | |
108 | checkstrictglobs | |
109 | codeimponly | |
110 | commentchar | |
111 | compdef | |
112 | compdestroy | |
113 | compmempass | |
114 | constmacros | |
115 | constprefix | |
116 | constprefixexclude | |
117 | constuse | |
118 | continuecomment | |
119 | controlnestdepth | |
120 | cppnames | |
121 | czech | |
122 | czechconsts | |
123 | czechfcns | |
124 | czechmacros | |
125 | czechoslovak | |
126 | czechoslovakconsts | |
127 | czechoslovakfcns | |
128 | czechoslovakmacros | |
129 | czechoslovaktypes | |
130 | czechoslovakvars | |
131 | czechtypes | |
132 | czechvars | |
133 | declundef | |
134 | deepbreak | |
135 | deparrays | |
136 | dependenttrans | |
137 | distinctexternalnames | |
138 | distinctinternalnames | |
139 | dump | |
140 | duplicatequals | |
141 | elseifcomplete | |
142 | enumindex | |
143 | enumint | |
144 | enummembers | |
145 | enummemuse | |
146 | enumprefix | |
147 | enumprefixexclude | |
148 | evalorder | |
149 | evalorderuncon | |
150 | exitarg | |
151 | expect | |
152 | exportany | |
153 | exportconst | |
154 | exportfcn | |
155 | exportheader | |
156 | exportheadervar | |
157 | exportiter | |
158 | exportlocal | |
159 | exportmacro | |
160 | exporttype | |
161 | exportvar | |
162 | exposetrans | |
163 | externalnamecaseinsensitive | |
164 | externalnamelen | |
165 | externalprefix | |
166 | externalprefixexclude | |
167 | f | |
8e349e11 | 168 | fcnconstraint |
885824d3 | 169 | fcnderef |
170 | fcnmacros | |
8e349e11 | 171 | fcnpost |
885824d3 | 172 | fcnuse |
173 | fielduse | |
174 | filestaticprefix | |
175 | filestaticprefixexclude | |
176 | firstcase | |
177 | fixedformalarray | |
178 | floatdouble | |
179 | forblock | |
180 | forcehints | |
181 | forempty | |
182 | formalarray | |
183 | formatcode | |
184 | formattype | |
185 | forwarddecl | |
186 | freshtrans | |
187 | fullinitblock | |
188 | globalias | |
189 | globalprefix | |
190 | globalprefixexclude | |
191 | globimponly | |
192 | globnoglobs | |
193 | globs | |
194 | globsimpmodsnothing | |
195 | globstate | |
196 | globuse | |
197 | gnuextensions | |
198 | hasyield | |
199 | help | |
200 | hints | |
201 | i | |
202 | ifblock | |
203 | ifempty | |
204 | ignorequals | |
205 | ignoresigns | |
206 | immediatetrans | |
207 | impabstract | |
208 | impcheckedglobs | |
209 | impcheckedspecglobs | |
210 | impcheckedstatics | |
211 | impcheckedstrictglobs | |
212 | impcheckedstrictspecglobs | |
213 | impcheckedstrictstatics | |
214 | impcheckmodglobs | |
215 | impcheckmodinternals | |
216 | impcheckmodspecglobs | |
217 | impcheckmodstatics | |
218 | impconj | |
219 | impouts | |
220 | imptype | |
221 | includenest | |
222 | incompletetype | |
223 | incondefs | |
224 | incondefslib | |
225 | infloops | |
226 | infloopsuncon | |
227 | internalglobs | |
228 | internalglobsnoglobs | |
229 | internalnamecaseinsensitive | |
230 | internalnamelen | |
231 | internalnamelookalike | |
232 | iterprefix | |
233 | iterprefixexclude | |
234 | keeptrans | |
235 | kepttrans | |
236 | larchpath | |
237 | lclexpect | |
238 | lclimportdir | |
239 | lcs | |
240 | lh | |
241 | libmacros | |
242 | likelybool | |
243 | limit | |
244 | linelen | |
245 | lintcomments | |
246 | load | |
247 | localprefix | |
248 | localprefixexclude | |
249 | longintegral | |
250 | longsignedintegral | |
251 | longunsignedintegral | |
252 | longunsignedunsignedintegral | |
253 | loopexec | |
254 | looploopbreak | |
255 | looploopcontinue | |
256 | loopswitchbreak | |
257 | macroassign | |
258 | macroconstdecl | |
259 | macrodecl | |
260 | macroempty | |
261 | macrofcndecl | |
262 | macromatchname | |
263 | macroparams | |
264 | macroparens | |
265 | macroredef | |
266 | macrostmt | |
267 | macrounrecog | |
268 | macrovarprefix | |
269 | macrovarprefixexclude | |
270 | maintype | |
271 | matchanyintegral | |
272 | matchfields | |
273 | mayaliasunique | |
274 | memchecks | |
275 | memimp | |
276 | memtrans | |
277 | misscase | |
278 | modfilesys | |
279 | modglobs | |
280 | modglobsnomods | |
281 | modglobsunchecked | |
282 | modinternalstrict | |
283 | modnomods | |
284 | modobserver | |
285 | modobserveruncon | |
286 | mods | |
287 | modsimpnoglobs | |
288 | modstrictglobsnomods | |
289 | moduncon | |
290 | modunconnomods | |
291 | modunspec | |
292 | mustdefine | |
293 | mustfree | |
294 | mustmod | |
295 | mustnotalias | |
296 | mutrep | |
297 | namechecks | |
298 | needspec | |
299 | nestcomment | |
300 | nestedextern | |
301 | neverinclude | |
302 | newdecl | |
303 | newreftrans | |
304 | nextlinemacros | |
305 | noaccess | |
306 | nocomments | |
307 | noeffect | |
308 | noeffectuncon | |
309 | nof | |
310 | nolib | |
311 | noparams | |
312 | noret | |
313 | null | |
314 | nullassign | |
315 | nullderef | |
316 | nullpass | |
317 | nullptrarith | |
318 | nullret | |
319 | nullstate | |
8e349e11 | 320 | nullterminated |
321 | nullterminated | |
885824d3 | 322 | numenummembers |
323 | numliteral | |
324 | numstructfields | |
325 | observertrans | |
326 | oldstyle | |
327 | onlytrans | |
328 | onlyunqglobaltrans | |
329 | overload | |
330 | ownedtrans | |
331 | paramimptemp | |
332 | paramuse | |
333 | parenfileformat | |
334 | partial | |
335 | passunknown | |
336 | posixlib | |
337 | posixstrictlib | |
338 | predassign | |
339 | predbool | |
340 | predboolint | |
341 | predboolothers | |
342 | predboolptr | |
343 | protoparammatch | |
344 | protoparamname | |
345 | protoparamprefix | |
346 | protoparamprefixexclude | |
347 | ptrarith | |
348 | ptrcompare | |
349 | ptrnegate | |
350 | quiet | |
351 | readonlystrings | |
352 | readonlytrans | |
353 | realcompare | |
354 | redecl | |
355 | redef | |
356 | refcounttrans | |
357 | relaxquals | |
358 | relaxtypes | |
359 | repeatunrecog | |
360 | repexpose | |
361 | retalias | |
362 | retexpose | |
363 | retimponly | |
364 | retval | |
365 | retvalbool | |
366 | retvalint | |
367 | retvalother | |
368 | sefparams | |
369 | sefuncon | |
370 | shadow | |
371 | sharedtrans | |
372 | shiftsigned | |
373 | showallconjs | |
374 | showalluses | |
375 | showcolumn | |
376 | showfunc | |
377 | showscan | |
378 | showsummary | |
379 | singleinclude | |
380 | sizeofformalarray | |
381 | sizeoftype | |
382 | skipansiheaders | |
383 | skipposixheaders | |
384 | skipsysheaders | |
385 | slovak | |
386 | slovakconsts | |
387 | slovakfcns | |
388 | slovakmacros | |
389 | slovaktypes | |
390 | slovakvars | |
391 | specglobimponly | |
392 | specimponly | |
393 | specmacros | |
394 | specretimponly | |
395 | specstructimponly | |
396 | specundecl | |
397 | specundef | |
398 | stackref | |
399 | staticinittrans | |
400 | statictrans | |
401 | stats | |
402 | strictbranchstate | |
403 | strictdestroy | |
404 | strictlib | |
405 | strictops | |
406 | strictusereleased | |
407 | stringliterallen | |
408 | structimponly | |
409 | supcounts | |
410 | switchloopbreak | |
411 | switchswitchbreak | |
412 | syntax | |
413 | sysdirerrors | |
414 | sysdirexpandmacros | |
415 | sysdirs | |
416 | sysunrecog | |
417 | tagprefix | |
418 | tagprefixexclude | |
419 | temptrans | |
420 | timedist | |
421 | tmpcomments | |
422 | tmpdir | |
423 | topuse | |
424 | trytorecover | |
425 | type | |
426 | typeprefix | |
427 | typeprefixexclude | |
428 | typeuse | |
429 | uncheckedglobalias | |
430 | uncheckedmacroprefix | |
431 | uncheckedmacroprefixexclude | |
432 | uniondef | |
433 | unixlib | |
434 | unixstrictlib | |
435 | unqualifiedinittrans | |
436 | unqualifiedtrans | |
437 | unreachable | |
438 | unrecog | |
439 | unrecogcomments | |
440 | unusedspecial | |
441 | usedef | |
442 | usereleased | |
443 | usestderr | |
444 | usevarargs | |
445 | varuse | |
446 | voidabstract | |
447 | warnflags | |
448 | warnlintcomments | |
449 | warnmissingglobs | |
450 | warnmissingglobsnoglobs | |
451 | warnposixheaders | |
452 | warnunixlib | |
453 | whichlib | |
454 | whileblock | |
455 | whileempty | |
cc78dedd | 456 | zerobool |
885824d3 | 457 | |
458 | ||
885824d3 | 459 | likelybool --- type name is probably a boolean type but does not match default |
460 | boolean type name, "bool", and alternate name is not set | |
461 | impabstract --- assume user type definitions are abstract (unless | |
462 | /*@concrete@*/ is used) | |
463 | accessall --- set accessmodule, accessfile and accessczech | |
464 | accessmodule --- allow access to abstract types in definition module | |
465 | accessfile --- allow access to abstract types by file name convention | |
466 | accessczech --- allow access to abstract types by czech naming convention | |
467 | accessslovak --- allow access to abstract types by slovak naming convention | |
468 | accessczechoslovak --- allow access to abstract types by czechoslovak naming | |
469 | convention | |
470 | abstract --- data abstraction barriers | |
471 | mutrep --- representation of mutable type has sharing semantics | |
472 | globalias --- function returns with global aliasing external state (sets | |
473 | checkstrictglobalias, checkedglobalias, checkmodglobalias and | |
474 | uncheckedglobalias) | |
475 | checkstrictglobalias --- function returns with a checkstrict global aliasing | |
476 | external state | |
477 | checkedglobalias --- function returns with a checked global aliasing external | |
478 | state | |
479 | checkmodglobalias --- function returns with a checkmod global aliasing external | |
480 | state | |
481 | uncheckedglobalias --- function returns with an unchecked global aliasing | |
482 | external state | |
483 | aliasunique --- unique parameter is aliased | |
484 | mayaliasunique --- unique parameter may be aliased | |
485 | mustnotalias --- temp storage aliased at return point or scope exit | |
486 | retalias --- function returns alias to parameter or global | |
487 | noparams --- function declaration has no parameter list | |
488 | oldstyle --- old style function definition | |
489 | gnuextensions --- support some gnu (gcc) language extensions | |
490 | usevarargs --- non-standard <varargs.h> included | |
491 | warnposixheaders --- a POSIX header is included, but the POSIX library is not | |
492 | used | |
493 | exitarg --- argument to exit has implementation defined behavior | |
494 | evalorder --- code has unspecified or implementation-dependent behavior because | |
495 | of order of evaluation | |
496 | evalorderuncon --- code involving call to unspecified function has undefined or | |
497 | implementation-dependent behavior | |
498 | boolfalse --- set name of boolean false (default FALSE) | |
499 | booltype --- set name of boolean type (default bool) | |
500 | booltrue --- set name of boolean true (default TRUE) | |
501 | noaccess --- ignore access comments | |
502 | nocomments --- ignore all stylized comments | |
503 | unrecogcomments --- stylized comment is unrecognized | |
504 | continuecomment --- line continuation marker (\) in comment before */ on same | |
505 | line | |
506 | nestcomment --- comment begins inside comment | |
507 | tmpcomments --- interpret t comments (ignore errors in lines marked with | |
508 | /*@t<n>@*/ | |
509 | lintcomments --- interpret traditional lint comments (/*FALLTHROUGH*/, | |
510 | /*NOTREACHED*/) | |
511 | warnlintcomments --- print a warning and suggest an alternative when a | |
512 | traditional lint comment is used | |
513 | declundef --- function or variable declared but never defined | |
514 | specundef --- function or variable specified but never defined | |
515 | specundecl --- function or variable specified but never declared in a source | |
516 | file | |
517 | loopexec --- assume all loops execute at least once | |
518 | infloops --- likely infinite loop is detected | |
519 | infloopsuncon --- likely infinite loop is detected (may result from | |
520 | unconstrained function) | |
521 | deepbreak --- break inside nested while or for or switch | |
522 | looploopbreak --- break inside nested while or for | |
523 | switchloopbreak --- break in loop inside switch | |
524 | loopswitchbreak --- break in switch inside loop | |
525 | switchswitchbreak --- break in switch inside switch | |
526 | looploopcontinue --- continue inside nested loop | |
527 | unreachable --- unreachable code detected | |
528 | whileempty --- a while statement has no body | |
529 | whileblock --- the body of a while statement is not a block | |
530 | forempty --- a for statement has no body | |
531 | forblock --- the body of a for statement is not a block | |
532 | ifempty --- an if statement has no body | |
533 | ifblock --- the body of an if statement is not a block | |
534 | allempty --- an if, while or for statement has no body (sets ifempty, | |
535 | whileempty and forempty | |
536 | allblock --- the body of an if, while or for statement is not a block (sets | |
537 | ifblock, whileblock and forblock) | |
538 | elseifcomplete --- if ... else if chains must have final else | |
539 | noret --- path with no return detected in non-void function | |
540 | casebreak --- non-empty case in a switch without preceding break | |
541 | misscase --- switch on enum type missing case for some value | |
542 | firstcase --- first statement in switch is not a case | |
543 | shadow --- declaration reuses name visible in outer scope | |
544 | incondefslib --- function, variable or constant defined in a library is | |
545 | redefined with inconsistent type | |
546 | overload --- library function overloaded | |
547 | nestedextern --- an extern declaration is inside a function scope | |
548 | redecl --- function or variable redeclared | |
549 | redef --- function or variable redefined | |
550 | incondefs --- function, variable or constant redefined with inconsistent type | |
551 | imptype --- variable declaration has unknown (implicitly int) type | |
552 | matchfields --- struct or enum type redefined with inconsistent fields or | |
553 | members | |
554 | usedef --- use before definition | |
555 | impouts --- pointer parameters to unspecified functions may be implicit out | |
556 | parameters | |
557 | tmpdir --- set directory for writing temp files | |
558 | larchpath --- set path for searching for library files (overrides LARCH_PATH | |
559 | environment variable) | |
560 | lclimportdir --- set directory to search for LCL import files (overrides | |
561 | LCLIMPORTDIR) | |
562 | sysdirs --- set directories for system files (default /usr/include). Separate | |
563 | directories with colons (e.g., "/usr/include:/usr/local/lib"). Flag settings | |
564 | propagate to files in a system directory. If -sysdirerrors is set, no errors | |
565 | are reported for files in system directories. | |
566 | skipansiheaders --- prevent inclusion of header files in a system directory | |
567 | with names that match standard ANSI headers. The symbolic information in the | |
568 | standard library is used instead. Flag in effect only if a library including | |
569 | the ANSI library is loaded. The ANSI headers are: | |
570 | assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg, | |
571 | stddef, stdio, stdlib, strings, string, time, and wchar. | |
572 | skipposixheaders --- prevent inclusion of header files in a system directory | |
573 | with names that match standard POSIX headers. The symbolic information in the | |
574 | posix library is used instead. The POSIX headers are: | |
575 | dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types, sys/utsname, | |
576 | sys/wait, unistd, and utime. | |
577 | sysdirerrors --- report errors in files in system directories (set by -sysdirs) | |
578 | sysdirexpandmacros --- expand macros in system directories regardless of other | |
579 | settings, except for macros corresponding to names defined in a load library | |
580 | I<directory> --- add to C include path | |
581 | S<directory> --- add to spec path | |
582 | quiet --- suppress herald and error count | |
583 | usestderr --- send error messages to standard error (instead of standard out) | |
584 | showsummary --- show summary of all errors reported and suppressed | |
585 | showscan --- show file names are they are processed | |
586 | stats --- display lines processed and time | |
587 | timedist --- display time distribution | |
588 | showalluses --- show sorted list of uses of all globals | |
589 | noeffect --- statement with no effect | |
590 | noeffectuncon --- statement with no effect (except possibly through call to | |
591 | unconstrained function) | |
592 | exportany --- variable, function or type exported but not specified | |
593 | exportfcn --- function exported but not specified | |
594 | exportmacro --- expanded macro exported but not specified | |
595 | exporttype --- type definition exported but not specified | |
596 | exportvar --- variable exported but not specified | |
597 | exportconst --- constant exported but not specified | |
598 | exportiter --- constant exported but not specified | |
599 | repexpose --- abstract representation is exposed (sets assignexpose, retexpose, | |
600 | and castexpose) | |
601 | retexpose --- abstract representation is exposed (return values only) | |
602 | assignexpose --- abstract representation is exposed (assignments only) | |
603 | castexpose --- abstract representation is exposed through a cast | |
604 | linelen --- set length of messages (number of chars) | |
605 | showcolumn --- show column number where error is found | |
606 | parenfileformat --- show column number where error is found | |
607 | showfunc --- show name of function containing error | |
608 | showallconjs --- show all possible types | |
609 | impconj --- make all alternate types implicit (useful for making system | |
610 | libraries | |
611 | expect --- expect <int> code errors | |
612 | lclexpect --- expect <int> spec errors | |
613 | partial --- check as partial system (-specundef, -declundef, -exportlocal, | |
614 | don't check macros in headers without corresponding .c files) | |
615 | globs --- undocumented use of a checked global variable | |
616 | globuse --- global listed for a function not used | |
617 | internalglobs --- use of internalState | |
618 | internalglobsnoglobs --- use of internalState (in function with no globals | |
619 | list) | |
620 | warnmissingglobs --- global variable used in modifies clause is not listed in | |
621 | globals list | |
622 | warnmissingglobsnoglobs --- global variable used in modifies clause in a | |
623 | function with no globals list | |
624 | globnoglobs --- use of checked global in a function with no globals list or | |
625 | specification | |
626 | allglobs --- report use and modification errors for globals not annotated with | |
627 | unchecked | |
628 | checkstrictglobs --- report use and modification errors for checkedstrict | |
629 | globals | |
630 | impcheckedspecglobs --- assume checked qualifier for unqualified global | |
631 | declarations in .lcl files | |
632 | impcheckmodspecglobs --- assume checkmod qualifier for unqualified global | |
633 | declarations in .lcl files | |
634 | impcheckedstrictspecglobs --- assume checkmod qualifier for unqualified global | |
635 | declarations in .lcl files | |
636 | impcheckedglobs --- assume checked qualifier for unqualified global | |
637 | declarations | |
638 | impcheckmodglobs --- assume checkmod qualifier for unqualified global | |
639 | declarations | |
640 | impcheckedstrictglobs --- assume checkedstrict qualifier for unqualified global | |
641 | declarations | |
642 | impcheckedstatics --- assume checked qualifier for unqualified file static | |
643 | declarations | |
644 | impcheckmodstatics --- assume checkmod qualifier for unqualified file static | |
645 | declarations | |
646 | impcheckmodinternals --- assume checkmod qualifier for unqualified local static | |
647 | declarations (for internal state modifications) | |
648 | impcheckedstrictstatics --- assume checkedstrict qualifier for unqualified file | |
649 | static declarations | |
650 | modglobs --- undocumented modification of a checked global variable | |
651 | modglobsnomods --- undocumented modification of a checked global variable in a | |
652 | function declared with no modifies clause | |
653 | modstrictglobsnomods --- undocumented modification of a strict checked global | |
654 | variable in a function declared with no modifies clause | |
655 | modglobsunchecked --- undocumented modification of an unchecked checked global | |
656 | variable | |
657 | lh --- generate .lh files | |
658 | lcs --- generate .lcs files | |
659 | singleinclude --- optimize header inclusion to eliminate redundant includes | |
660 | neverinclude --- optimize header inclusion to not include any header files | |
661 | skipsysheaders --- do not include header files in system directories (set by | |
662 | -sysdirs) | |
663 | warnflags --- warn when command line sets flag to default value in mode | |
664 | warnunixlib --- warn when the unix library is used | |
665 | badflag --- a flag is not recognized or used in an incorrect way | |
666 | forcehints --- provide hints for all errors reported | |
667 | help --- -help <flags> will describe flags | |
668 | hints --- provide hints on using lclint (hint only reported for first related | |
669 | error) | |
670 | retval --- return value ignored (sets retvalint, retvalbool and retvalother) | |
671 | retvalother --- return value of type other than bool or int ignored | |
cc78dedd | 672 | retvalbool --- return value of manifest type bool ignored |
885824d3 | 673 | retvalint --- return value of type int ignored |
674 | f --- load options file (default ~/.lclintrc not loaded) | |
675 | i --- set LCL initilization file | |
676 | nof --- do not read options file | |
677 | needspec --- information in specifications is not also included in syntactic | |
678 | comments | |
679 | newdecl --- report new global declarations in source files | |
680 | hasyield --- iter declaration has no yield parameters | |
681 | dump --- save state for merging (default suffix .lcd) | |
682 | load --- load state from dump file (default suffix .lcd) | |
683 | nolib --- do not load standard library | |
684 | ansilib --- use ANSI (ISO) standard library | |
685 | strictlib --- interpret standard library strictly | |
686 | unixlib --- use UNIX (sort-of) standard library | |
687 | unixstrictlib --- use strict version of UNIX (sort-of) library | |
688 | posixlib --- use POSIX standard library | |
689 | posixstrictlib --- use strict POSIX standard library | |
690 | whichlib --- show standard library filename | |
691 | commentchar --- set marker character for syntactic comments (default is '@') | |
692 | allmacros --- sets fcnmacros and constmacros | |
693 | libmacros --- check all macros with declarations in library as functions | |
694 | specmacros --- check all macros corresponding to specified functions or | |
695 | constants | |
696 | fcnmacros --- check all macros with parameter lists as functions | |
697 | constmacros --- check all macros without parameter lists as constants | |
698 | macromatchname --- macro definition does not match iter or constant declaration | |
699 | nextlinemacros --- the line after a constant or iter declaration must be a | |
700 | macro definition | |
701 | macrostmt --- macro definition is syntactically not equivalent to function | |
702 | macroempty --- macro definition for is empty | |
703 | macroparams --- macro parameter not used exactly once | |
704 | macroassign --- assignment to a macro parameter | |
705 | sefparams --- a parameter with side-effects is passed as a sef parameter | |
706 | sefuncon --- a parameter with unconstrained side-effects is passed as a sef | |
707 | parameter | |
708 | macroparens --- macro parameter used without parentheses (in potentially | |
709 | dangerous context) | |
710 | macrodecl --- macro without prototype or specification (sets macrofcndecl and | |
711 | macroconstdecl) | |
712 | macrofcndecl --- parameterized macro without prototype or specification | |
713 | macroconstdecl --- non-parameterized macro without prototype or specification | |
714 | macroredef --- macro redefined | |
715 | macrounrecog --- unrecognized identifier in macro | |
716 | stackref --- external reference to stack-allocated storage is created | |
717 | usereleased --- storage used after release | |
718 | strictusereleased --- element used after it may have been released | |
719 | compdef --- parameter, return value or global completely defined | |
720 | compmempass --- actual parameter matches alias kind of formal parameter | |
721 | completely | |
722 | mustdefine --- out storage not defined before return or scope exit | |
723 | uniondef --- at least one field of a union must be defined | |
724 | memimp --- memory errors for unqualified storage | |
725 | paramimptemp --- assume unannotated parameter is temp | |
726 | allimponly --- sets globimponly, retimponly, structimponly, specglobimponly, | |
727 | specretimponly and specstructimponly | |
728 | codeimponly --- sets globimponly, retimponly and structimponly | |
729 | specimponly --- sets specglobimponly, specretimponly and specstructimponly | |
730 | globimponly --- assume unannotated global storage is only | |
731 | retimponly --- assume unannotated returned storage is only | |
732 | structimponly --- assume unannotated structure field is only | |
733 | specglobimponly --- assume unannotated global storage is only | |
734 | specretimponly --- assume unannotated returned storage is only | |
735 | specstructimponly --- assume unannotated structure field is only | |
736 | deparrays --- array elements are dependent storage | |
737 | compdestroy --- all only references derivable from void pointer out only | |
738 | parameter are released | |
739 | strictdestroy --- report complete destruction errors for array elements that | |
740 | may have been released | |
741 | mustfree --- only storage not released before return or scope exit | |
742 | branchstate --- storage has inconsistent states of alternate paths through a | |
743 | branch | |
744 | strictbranchstate --- storage through array fetch has inconsistent states of | |
745 | alternate paths through a branch | |
746 | memchecks --- sets all dynamic memory checking flags (memimplicit, mustfree, | |
747 | mustdefine, mustnotalias, null, memtrans) | |
748 | memtrans --- memory transfer errors (sets all *trans flags) | |
749 | exposetrans --- exposure transfer errors | |
750 | observertrans --- observer transfer errors | |
751 | dependenttrans --- dependent transfer errors | |
752 | newreftrans --- new reference transfer to reference counted reference | |
753 | onlytrans --- only storage transferred to non-only reference (memory leak) | |
754 | onlyunqglobaltrans --- only storage transferred to an unqualified global or | |
755 | static reference (memory leak) | |
756 | ownedtrans --- owned storage transferred to non-owned reference (memory leak) | |
757 | freshtrans --- fresh storage transferred to non-only reference (memory leak) | |
758 | sharedtrans --- shared storage transferred to non-shared reference | |
759 | temptrans --- temp storage transferred to non-temporary reference | |
760 | kepttrans --- kept storage transferred to non-temporary reference | |
761 | keeptrans --- keep storage transferred inconsistently | |
762 | immediatetrans --- an immediate address (result of &) is transferred | |
763 | inconsistently | |
764 | refcounttrans --- reference counted storage is transferred in an inconsistent | |
765 | way | |
766 | statictrans --- static storage is transferred in an inconsistent way | |
767 | unqualifiedtrans --- unqualified storage is transferred in an inconsistent way | |
768 | staticinittrans --- static storage is used as an initial value in an | |
769 | inconsistent way | |
770 | unqualifiedinittrans --- unqualified storage is used as an initial value in an | |
771 | inconsistent way | |
772 | readonlystrings --- string literals are read-only (error if one is modified or | |
773 | released) | |
774 | readonlytrans --- report memory transfer errors for initializations to | |
775 | read-only string literals | |
776 | passunknown --- passing a value as an un-annotated parameter clears its | |
777 | annotation | |
778 | mods --- unspecified modification of caller-visible state | |
779 | mustmod --- specified modification is not detected | |
780 | modobserver --- possible modification of observer storage | |
781 | modobserveruncon --- possible modification of observer storage through | |
782 | unconstrained call | |
783 | modinternalstrict --- possible modification of internal storage through | |
784 | function call | |
785 | modfilesys --- report undocumented file system modifications (applies to | |
786 | unspecified functions if modnomods is set) | |
787 | modunspec --- modification in unspecified functions (sets modnomods, | |
788 | modglobunspec and modstrictglobsunspec) | |
789 | modnomods --- modification in a function with no modifies clause | |
790 | moduncon --- possible modification through a call to an unconstrained function | |
791 | modunconnomods --- possible modification through a call to an unconstrained | |
792 | function in a function with no modifies clause | |
793 | globsimpmodsnothing --- functions declared with a globals list but no modifies | |
794 | clause are assumed to modify nothing | |
795 | modsimpnoglobs --- functions declared with a modifies clause but no globals | |
796 | list are assumed to use no globals | |
797 | namechecks --- controls name checking without changing other settings | |
798 | czech --- czech naming convention (sets accessczech, czechfunctions, czechvars, | |
799 | czechconstants, czechenums, and czechmacros) | |
800 | czechfcns --- czech naming convention violated in a function or iterator | |
801 | declaration | |
802 | czechvars --- czech naming convention violated in a variable declaration | |
803 | czechmacros --- czech naming convention violated in an expanded macro name | |
804 | czechconsts --- czech naming convention violated in a constant declaration | |
805 | czechtypes --- czech naming convention violated in a user-defined type | |
806 | definition | |
807 | slovak --- slovak naming convention violated | |
808 | slovakfcns --- slovak naming convention violated in a function or iterator | |
809 | declaration | |
810 | slovakmacros --- slovak naming convention violated in an expanded macro name | |
811 | slovakvars --- slovak naming convention violated in a variable declaration | |
812 | slovakconsts --- slovak naming convention violated in a constant declaration | |
813 | slovaktypes --- slovak naming convention violated in a use-defined type | |
814 | definition | |
815 | czechoslovak --- czech or slovak naming convention violated | |
816 | czechoslovakfcns --- czechoslovak naming convention violated in a function or | |
817 | iterator declaration | |
818 | czechoslovakmacros --- czechoslovak naming convention violated in an expanded | |
819 | macro name | |
820 | czechoslovakvars --- czechoslovak naming convention violated in a variable | |
821 | declaration | |
822 | czechoslovakconsts --- czechoslovak naming convention violated in a constant | |
823 | declaration | |
824 | czechoslovaktypes --- czechoslovak naming convention violated in a user-defined | |
825 | type definition | |
826 | ansireserved --- external name conflicts with name reserved for system or | |
827 | standard library | |
828 | cppnames --- external or internal name is a C++ keyword or reserved word | |
829 | ansireservedinternal --- internal name conflicts with name reserved for system | |
830 | or standard library | |
831 | distinctexternalnames --- external name is not distinguishable from another | |
832 | external name using the number of significant characters | |
833 | externalnamelen --- set the number of significant characters in an external | |
834 | name | |
835 | externalnamecaseinsensitive --- alphabetic comparisons for external names are | |
836 | case-insensitive | |
837 | distinctinternalnames --- internal name is not distinguishable from another | |
838 | internal name using the number of significant characters | |
839 | internalnamelen --- set the number of significant characters in an internal | |
840 | name | |
841 | internalnamecaseinsensitive --- set whether case is significant an internal | |
842 | names (-internalnamecaseinsensitive means case is significant) | |
843 | internalnamelookalike --- lookalike characters match in internal names | |
844 | macrovarprefix --- set namespace prefix for variables declared in a macro body | |
845 | macrovarprefixexclude --- the macrovarprefix may not be used for non-macro | |
846 | variables | |
847 | tagprefix --- set namespace prefix for struct, union and enum tags | |
848 | tagprefixexclude --- the tagprefix may not be used for non-tag identifiers | |
849 | enumprefix --- set namespace prefix for enum members | |
850 | enumprefixexclude --- the enumprefix may not be used for non-enum member | |
851 | identifiers | |
852 | filestaticprefix --- set namespace prefix for file static declarations | |
853 | filestaticprefixexclude --- the filestaticprefix may not be used for | |
854 | identifiers that are not file static | |
855 | globalprefix --- set namespace prefix for global variables | |
856 | globalprefixexclude --- the globalprefix may not be used for non-global | |
857 | identifiers | |
858 | typeprefix --- set namespace prefix for user-defined types | |
859 | typeprefixexclude --- the typeprefix may not be used for identifiers that are | |
860 | not type names | |
861 | externalprefix --- set namespace prefix for external identifiers | |
862 | externalprefixexclude --- the externalprefix may not be used for non-external | |
863 | identifiers | |
864 | localprefix --- set namespace prefix for local variables | |
865 | localprefixexclude --- the localprefix may not be used for non-local | |
866 | identifiers | |
867 | uncheckedmacroprefix --- set namespace prefix for unchecked macros | |
868 | uncheckedmacroprefixexclude --- the uncheckmacroprefix may not be used for | |
869 | identifiers that are not unchecked macros | |
870 | constprefix --- set namespace prefix for constants | |
871 | constprefixexclude --- the constprefix may not be used for non-constant | |
872 | identifiers | |
873 | iterprefix --- set namespace prefix for iterators | |
874 | iterprefixexclude --- the iterprefix may not be used for non-iter identifiers | |
875 | protoparamprefix --- set namespace prefix for parameters in function prototype | |
876 | declarations | |
877 | protoparamname --- a parameter in a function prototype has a name | |
878 | protoparammatch --- the name of a parameter in a function prototype and | |
879 | corresponding declaration must match (after removing the protoparamprefix | |
880 | protoparamprefixexclude --- the protoparamprefix may not be used for | |
881 | non-declaraction parameter identifiers | |
882 | controlnestdepth --- set maximum nesting depth of compound statements, | |
883 | iteration control structures, and selection control structures (ANSI minimum is | |
884 | 15) | |
885 | stringliterallen --- set maximum length of string literals (ANSI minimum is | |
886 | 509) | |
887 | numstructfields --- set maximum number of fields in a struct or union (ANSI | |
888 | minimum is 127) | |
889 | numenummembers --- set maximum number of members of an enum (ANSI minimum is | |
890 | 127) | |
891 | includenest --- set maximum number of nested #include files | |
892 | ansilimits --- check for violations of standard limits (controlnestdepth, | |
893 | stringliterallen, includenest, numstructfields, numenummembers) | |
894 | null --- misuses of null pointer | |
8e349e11 | 895 | nullterminated --- misuse of nullterminated allocation |
896 | bufferoverflow --- possible buffer overflow | |
897 | arrayread --- possible out of bounds read | |
898 | arraywrite --- possible buffer overflow from an out of bounds write | |
899 | fcnpost --- Function has the post condition | |
900 | fcnconstraint --- unresolved constraint | |
901 | nullterminated --- misuse of nullterminated allocation | |
885824d3 | 902 | nullderef --- possible dereferencce of null pointer |
903 | fcnderef --- dereferencce of a function type | |
904 | nullpass --- possibly null pointer passed as formal with no null annotation | |
905 | nullret --- possibly null pointer returned as result with no null annotation | |
906 | nullstate --- possibly null pointer reachable from a reference with no null | |
907 | annotation | |
908 | nullassign --- inconsistent assignment or initialization involving null pointer | |
909 | boolcompare --- comparison between bools (dangerous because of multiple TRUE | |
910 | values) | |
911 | realcompare --- dangerous comparison between reals (dangerous because of | |
912 | inexact floating point representations) | |
913 | ptrarith --- arithmetic involving pointer and integer | |
914 | nullptrarith --- arithmetic involving possibly null pointer and integer | |
915 | ptrcompare --- comparison between pointer and number | |
916 | strictops --- primitive operation does not type check strictly | |
917 | bitwisesigned --- a bitwise logical operator does not have unsigned operands | |
918 | shiftsigned --- a shift operator does not have unsigned operands | |
919 | boolops --- primitive operation (!, && or ||) does not has a boolean argument | |
920 | ptrnegate --- allow ! to be used on pointer operand | |
921 | sizeoftype --- sizeof operator has a type argument | |
922 | sizeofformalarray --- sizeof operator has an array formal parameter argument | |
923 | fixedformalarray --- formal parameter of type array is declared with size | |
924 | incompletetype --- formal parameter has an incomplete type | |
925 | formalarray --- formal parameter is an array | |
926 | predassign --- condition test (if, while or for) is an assignment | |
927 | predbool --- type of condition test (if, while or for) not bool (sets | |
928 | predboolint, predboolptr and predboolothers) | |
929 | predboolint --- type of condition test (if, while or for) is an integral type | |
930 | predboolothers --- type of condition test (if, while or for) not bool, int or | |
931 | pointer | |
932 | predboolptr --- type of condition test (if, while or for) is a pointer | |
933 | D<initializer> --- passed to pre-processor | |
934 | U<initializer> --- passed to pre-processor | |
935 | globstate --- returns with global in inconsistent state (null or undefined) | |
936 | supcounts --- The number of errors detected does not match number in | |
937 | /*@i<n>@*/. | |
938 | limit --- limit <int> consecutive repeated errors | |
939 | syntax --- syntax error in parsing | |
940 | trytorecover --- try to recover from parse error | |
941 | type --- type mismatch | |
942 | fullinitblock --- initializer sets all fields | |
943 | enummembers --- enum members must be int values | |
944 | maintype --- type of main does not match expected type | |
945 | formattype --- type-mismatch in parameter corresponding to format code in a | |
946 | printf or scanf-like function | |
947 | formatcode --- invalid format code in format string for printf or scanf-like | |
948 | function | |
949 | forwarddecl --- forward declarations of pointers to abstract representation | |
950 | match abstract type | |
951 | voidabstract --- void * matches pointers to abstract types, casting ok | |
952 | (dangerous) | |
953 | castfcnptr --- a pointer to a function is cast to a pointer to void (or vice | |
954 | versa) | |
955 | charindex --- char can be used to index arrays | |
956 | enumindex --- enum can be used to index arrays | |
957 | boolint --- bool and int are equivalent | |
958 | charint --- char and int are equivalent | |
959 | enumint --- enum and int are equivalent | |
960 | floatdouble --- float and double are equivalent | |
961 | ignorequals --- ignore type qualifiers (long, short, unsigned) | |
962 | duplicatequals --- report duplicate type qualifiers (e.g., long long) | |
963 | ignoresigns --- ignore signs in type comparisons (unsigned matches signed) | |
964 | numliteral --- int literals can be reals | |
965 | charintliteral --- character constants (e.g., 'a') can be used as ints | |
966 | relaxquals --- report qualifier mismatches only if dangerous | |
967 | relaxtypes --- allow all numeric types to match | |
968 | charunsignedchar --- allow char and unsigned char types to match | |
969 | matchanyintegral --- allow any intergral type to match an arbitrary integral | |
970 | type (e.g., dev_t) | |
971 | longunsignedintegral --- allow long unsigned type to match an arbitrary | |
972 | integral type (e.g., dev_t) | |
973 | longintegral --- allow long type to match an arbitrary integral type (e.g., | |
974 | dev_t) | |
975 | longunsignedunsignedintegral --- allow long unsigned type to match an arbitrary | |
976 | unsigned integral type (e.g., size_t) | |
977 | longsignedintegral --- allow long type to match an arbitrary signed integral | |
978 | type (e.g., ssize_t) | |
979 | zeroptr --- 0 is treated as a pointer | |
cc78dedd | 980 | zerobool --- 0 is treated as a boolean |
885824d3 | 981 | repeatunrecog --- do not suppress repeated unrecognized identifier messages |
982 | (instead of only reporting the first error) | |
983 | sysunrecog --- report unrecognized identifiers with system (__) prefix | |
984 | unrecog --- unrecognized identifier | |
985 | topuse --- declaration at top level not used | |
986 | exportlocal --- a declaration is exported but not used outside this module | |
987 | exportheader --- a declaration is exported but does not appear in a header file | |
988 | exportheadervar --- a variable declaration is exported but does not appear in a | |
989 | header file | |
990 | fielduse --- field of structure type not used | |
991 | enummemuse --- member of an enum type not used | |
992 | constuse --- constant declared but not used | |
993 | fcnuse --- function declared but not used | |
994 | paramuse --- function parameter not used | |
995 | typeuse --- type declared but not used | |
996 | varuse --- variable declared but not used | |
997 | unusedspecial --- unused declaration in special file (corresponding to .l or .y | |
998 | file) | |
999 |