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