2 Source files are .c, .h and .lcl files. If there is no suffix,
3 LCLint will look for <file>.c and <file>.lcl.
5 Use lclint -help <topic or flag name> for more information
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)
25 Finished LCLint checking --- no code processed
27 Source files are .c, .h and .lcl files. If there is no suffix,
28 LCLint will look for <file>.c and <file>.lcl.
30 Use lclint -help <topic or flag name> for more information
34 annotations (describes source-code annotations)
35 comments (describes control comments)
36 flags (describes flag categories)
37 flags <category> (describes flags in category)
38 flags all (short description of all flags)
39 flags alpha (list all flags alphabetically)
40 flags full (full description of all flags)
41 mail (information on mailing lists)
42 modes (show mode settings)
43 parseerrors (help on handling parser errors)
44 prefixcodes (character codes in namespace prefixes)
45 references (sources for more information)
46 vars (environment variables)
47 version (information on compilation, maintainer)
50 Command Line: Unrecognized option: asdf
51 A flag is not recognized or used in an incorrect way (-badflag will suppress
55 Finished LCLint checking --- no code processed
57 Warning: setting +boolint redundant with current value
59 Finished LCLint checking --- no code processed
143 distinctexternalnames
144 distinctinternalnames
169 externalnamecaseinsensitive
172 externalprefixexclude
182 filestaticprefixexclude
219 impcheckedstrictglobs
220 impcheckedstrictspecglobs
221 impcheckedstrictstatics
227 implementationoptional
242 internalnamecaseinsensitive
244 internalnamelookalike
270 longunsignedunsignedintegral
287 macrovarprefixexclude
370 protoparamprefixexclude
464 uncheckedmacroprefixexclude
486 warnmissingglobsnoglobs
496 likelybool --- type name is probably a boolean type but does not match default
497 boolean type name, "bool", and alternate name is not set
498 impabstract --- assume user type definitions are abstract (unless
499 /*@concrete@*/ is used)
500 accessall --- set accessmodule, accessfile and accessczech
501 accessmodule --- allow access to abstract types in definition module
502 accessfile --- allow access to abstract types by file name convention
503 accessczech --- allow access to abstract types by czech naming convention
504 accessslovak --- allow access to abstract types by slovak naming convention
505 accessczechoslovak --- allow access to abstract types by czechoslovak naming
507 abstract --- data abstraction barriers
508 mutrep --- representation of mutable type has sharing semantics
509 globalias --- function returns with global aliasing external state (sets
510 checkstrictglobalias, checkedglobalias, checkmodglobalias and
512 checkstrictglobalias --- function returns with a checkstrict global aliasing
514 checkedglobalias --- function returns with a checked global aliasing external
516 checkmodglobalias --- function returns with a checkmod global aliasing external
518 uncheckedglobalias --- function returns with an unchecked global aliasing
520 aliasunique --- unique parameter is aliased
521 mayaliasunique --- unique parameter may be aliased
522 mustnotalias --- temp storage aliased at return point or scope exit
523 retalias --- function returns alias to parameter or global
524 noparams --- function declaration has no parameter list
525 oldstyle --- old style function definition
526 gnuextensions --- support some gnu (gcc) language extensions
527 usevarargs --- non-standard <varargs.h> included
528 warnposixheaders --- a POSIX header is included, but the POSIX library is not
530 exitarg --- argument to exit has implementation defined behavior
531 evalorder --- code has unspecified or implementation-dependent behavior because
532 of order of evaluation
533 evalorderuncon --- code involving call to unspecified function has undefined or
534 implementation-dependent behavior
535 boolfalse --- set name of boolean false (default FALSE)
536 booltype --- set name of boolean type (default bool)
537 booltrue --- set name of boolean true (default TRUE)
538 noaccess --- ignore access comments
539 nocomments --- ignore all stylized comments
540 unrecogcomments --- stylized comment is unrecognized
541 unrecogflagcomments --- stylized flag comment uses an unrecognized flag
542 continuecomment --- line continuation marker (\) in comment before */ on same
544 slashslashcomment --- C++ style // comment
545 nestcomment --- comment begins inside comment
546 tmpcomments --- interpret t comments (ignore errors in lines marked with
548 lintcomments --- interpret traditional lint comments (/*FALLTHROUGH*/,
550 warnlintcomments --- print a warning and suggest an alternative when a
551 traditional lint comment is used
552 declundef --- function or variable declared but never defined
553 specundef --- function or variable specified but never defined
554 specundecl --- function or variable specified but never declared in a source
556 loopexec --- assume all loops execute at least once
557 infloops --- likely infinite loop is detected
558 infloopsuncon --- likely infinite loop is detected (may result from
559 unconstrained function)
560 deepbreak --- break inside nested while or for or switch
561 looploopbreak --- break inside nested while or for
562 switchloopbreak --- break in loop inside switch
563 loopswitchbreak --- break in switch inside loop
564 switchswitchbreak --- break in switch inside switch
565 looploopcontinue --- continue inside nested loop
566 unreachable --- unreachable code detected
567 whileempty --- a while statement has no body
568 whileblock --- the body of a while statement is not a block
569 forempty --- a for statement has no body
570 forblock --- the body of a for statement is not a block
571 ifempty --- an if statement has no body
572 ifblock --- the body of an if statement is not a block
573 allempty --- an if, while or for statement has no body (sets ifempty,
574 whileempty and forempty
575 allblock --- the body of an if, while or for statement is not a block (sets
576 ifblock, whileblock and forblock)
577 elseifcomplete --- if ... else if chains must have final else
578 noret --- path with no return detected in non-void function
579 casebreak --- non-empty case in a switch without preceding break
580 misscase --- switch on enum type missing case for some value
581 firstcase --- first statement in switch is not a case
582 shadow --- declaration reuses name visible in outer scope
583 incondefslib --- function, variable or constant defined in a library is
584 redefined with inconsistent type
585 overload --- library function overloaded
586 nestedextern --- an extern declaration is inside a function scope
587 redecl --- function or variable redeclared
588 redef --- function or variable redefined
589 incondefs --- function, variable or constant redefined with inconsistent type
590 imptype --- variable declaration has unknown (implicitly int) type
591 matchfields --- struct or enum type redefined with inconsistent fields or
593 usedef --- use before definition
594 impouts --- pointer parameters to unspecified functions may be implicit out
596 tmpdir --- set directory for writing temp files
597 larchpath --- set path for searching for library files (overrides LARCH_PATH
598 environment variable)
599 lclimportdir --- set directory to search for LCL import files (overrides
601 sysdirs --- set directories for system files (default /usr/include). Separate
602 directories with path separator (colons in Unix, semi-colons in Windows). Flag
603 settings propagate to files in a system directory. If -sysdirerrors is set, no
604 errors are reported for files in system directories.
605 skipansiheaders --- prevent inclusion of header files in a system directory
606 with names that match standard ANSI headers. The symbolic information in the
607 standard library is used instead. Flag in effect only if a library including
608 the ANSI library is loaded. The ANSI headers are:
609 assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
610 stddef, stdio, stdlib, strings, string, time, and wchar.
611 skipposixheaders --- prevent inclusion of header files in a system directory
612 with names that match standard POSIX headers. The symbolic information in the
613 posix library is used instead. The POSIX headers are:
614 dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types, sys/utsname,
615 sys/wait, unistd, and utime.
616 sysdirerrors --- report errors in files in system directories (set by -sysdirs)
617 sysdirexpandmacros --- expand macros in system directories regardless of other
618 settings, except for macros corresponding to names defined in a load library
619 I<directory> --- add to C include path
620 S<directory> --- add to spec path
621 quiet --- suppress herald and error count
622 usestderr --- send error messages to standard error (instead of standard out)
623 showsummary --- show summary of all errors reported and suppressed
624 showscan --- show file names are they are processed
625 stats --- display lines processed and time
626 timedist --- display time distribution
627 showalluses --- show sorted list of uses of all globals
628 noeffect --- statement with no effect
629 noeffectuncon --- statement with no effect (except possibly through call to
630 unconstrained function)
631 exportany --- variable, function or type exported but not specified
632 exportfcn --- function exported but not specified
633 exportmacro --- expanded macro exported but not specified
634 exporttype --- type definition exported but not specified
635 exportvar --- variable exported but not specified
636 exportconst --- constant exported but not specified
637 exportiter --- constant exported but not specified
638 repexpose --- abstract representation is exposed (sets assignexpose, retexpose,
640 retexpose --- abstract representation is exposed (return values only)
641 assignexpose --- abstract representation is exposed (assignments only)
642 castexpose --- abstract representation is exposed through a cast
643 linelen --- set length of messages (number of chars)
644 indentspaces --- set number of spaces to indent sub-messages
645 showcolumn --- show column number where error is found
646 parenfileformat --- show column number where error is found
647 showfunc --- show name of function containing error
648 showallconjs --- show all possible types
649 impconj --- make all alternate types implicit (useful for making system
651 expect --- expect <int> code errors
652 lclexpect --- expect <int> spec errors
653 partial --- check as partial system (-specundef, -declundef, -exportlocal,
654 don't check macros in headers without corresponding .c files)
655 globs --- undocumented use of a checked global variable
656 globuse --- global listed for a function not used
657 internalglobs --- use of internalState
658 internalglobsnoglobs --- use of internalState (in function with no globals
660 warnmissingglobs --- global variable used in modifies clause is not listed in
662 warnmissingglobsnoglobs --- global variable used in modifies clause in a
663 function with no globals list
664 globnoglobs --- use of checked global in a function with no globals list or
666 allglobs --- report use and modification errors for globals not annotated with
668 checkstrictglobs --- report use and modification errors for checkedstrict
670 impcheckedspecglobs --- assume checked qualifier for unqualified global
671 declarations in .lcl files
672 impcheckmodspecglobs --- assume checkmod qualifier for unqualified global
673 declarations in .lcl files
674 impcheckedstrictspecglobs --- assume checkmod qualifier for unqualified global
675 declarations in .lcl files
676 impcheckedglobs --- assume checked qualifier for unqualified global
678 impcheckmodglobs --- assume checkmod qualifier for unqualified global
680 impcheckedstrictglobs --- assume checkedstrict qualifier for unqualified global
682 impcheckedstatics --- assume checked qualifier for unqualified file static
684 impcheckmodstatics --- assume checkmod qualifier for unqualified file static
686 impcheckmodinternals --- assume checkmod qualifier for unqualified local static
687 declarations (for internal state modifications)
688 impcheckedstrictstatics --- assume checkedstrict qualifier for unqualified file
690 modglobs --- undocumented modification of a checked global variable
691 modglobsnomods --- undocumented modification of a checked global variable in a
692 function declared with no modifies clause
693 modstrictglobsnomods --- undocumented modification of a strict checked global
694 variable in a function declared with no modifies clause
695 modglobsunchecked --- undocumented modification of an unchecked checked global
697 lh --- generate .lh files
698 lcs --- generate .lcs files
699 singleinclude --- optimize header inclusion to eliminate redundant includes
700 neverinclude --- optimize header inclusion to not include any header files
701 skipsysheaders --- do not include header files in system directories (set by
703 warnflags --- warn when command line sets flag to default value in mode
704 warnunixlib --- warn when the unix library is used
705 badflag --- warn about bad command line flags
706 forcehints --- provide hints for all errors reported
707 help --- -help <flags> will describe flags
708 hints --- provide hints on using lclint (hint only reported for first related
710 retval --- return value ignored (sets retvalint, retvalbool and retvalother)
711 retvalother --- return value of type other than bool or int ignored
712 retvalbool --- return value of manifest type bool ignored
713 retvalint --- return value of type int ignored
714 f --- load options file (default ~/.lclintrc not loaded)
715 i --- set LCL initilization file
716 nof --- do not read options file
717 needspec --- information in specifications is not also included in syntactic
719 newdecl --- report new global declarations in source files
720 hasyield --- iter declaration has no yield parameters
721 dump --- save state for merging (default suffix .lcd)
722 load --- load state from dump file (default suffix .lcd)
723 nolib --- do not load standard library
724 ansilib --- use ANSI (ISO) standard library
725 strictlib --- interpret standard library strictly
726 unixlib --- use UNIX (sort-of) standard library
727 unixstrictlib --- use strict version of UNIX (sort-of) library
728 posixlib --- use POSIX standard library
729 posixstrictlib --- use strict POSIX standard library
730 whichlib --- show standard library filename
731 mts --- load meta state declaration and corresponding xh file
732 commentchar --- set marker character for syntactic comments (default is '@')
733 allmacros --- sets fcnmacros and constmacros
734 libmacros --- check all macros with declarations in library as functions
735 specmacros --- check all macros corresponding to specified functions or
737 fcnmacros --- check all macros with parameter lists as functions
738 constmacros --- check all macros without parameter lists as constants
739 macromatchname --- macro definition does not match iter or constant declaration
740 nextlinemacros --- the line after a constant or iter declaration must be a
742 macrostmt --- macro definition is syntactically not equivalent to function
743 macroempty --- macro definition for is empty
744 macroparams --- macro parameter not used exactly once
745 macroassign --- assignment to a macro parameter
746 sefparams --- a parameter with side-effects is passed as a sef parameter
747 sefuncon --- a parameter with unconstrained side-effects is passed as a sef
749 macroparens --- macro parameter used without parentheses (in potentially
751 macrodecl --- macro without prototype or specification (sets macrofcndecl and
753 macrofcndecl --- parameterized macro without prototype or specification
754 macroconstdecl --- non-parameterized macro without prototype or specification
755 macroredef --- macro redefined
756 macrounrecog --- unrecognized identifier in macro
757 stackref --- external reference to stack-allocated storage is created
758 usereleased --- storage used after release
759 strictusereleased --- element used after it may have been released
760 compdef --- parameter, return value or global completely defined
761 compmempass --- actual parameter matches alias kind of formal parameter
763 mustdefine --- out storage not defined before return or scope exit
764 uniondef --- at least one field of a union must be defined
765 memimp --- memory errors for unqualified storage
766 paramimptemp --- assume unannotated parameter is temp
767 allimponly --- sets globimponly, retimponly, structimponly, specglobimponly,
768 specretimponly and specstructimponly
769 codeimponly --- sets globimponly, retimponly and structimponly
770 specimponly --- sets specglobimponly, specretimponly and specstructimponly
771 globimponly --- assume unannotated global storage is only
772 retimponly --- assume unannotated returned storage is only
773 structimponly --- assume unannotated structure field is only
774 specglobimponly --- assume unannotated global storage is only
775 specretimponly --- assume unannotated returned storage is only
776 specstructimponly --- assume unannotated structure field is only
777 deparrays --- array elements are dependent storage
778 compdestroy --- all only references derivable from void pointer out only
779 parameter are released
780 strictdestroy --- report complete destruction errors for array elements that
781 may have been released
782 mustfree --- only storage not released before return or scope exit
783 branchstate --- storage has inconsistent states of alternate paths through a
785 strictbranchstate --- storage through array fetch has inconsistent states of
786 alternate paths through a branch
787 memchecks --- sets all dynamic memory checking flags (memimplicit, mustfree,
788 mustdefine, mustnotalias, null, memtrans)
789 memtrans --- memory transfer errors (sets all *trans flags)
790 exposetrans --- exposure transfer errors
791 observertrans --- observer transfer errors
792 dependenttrans --- dependent transfer errors
793 newreftrans --- new reference transfer to reference counted reference
794 onlytrans --- only storage transferred to non-only reference (memory leak)
795 onlyunqglobaltrans --- only storage transferred to an unqualified global or
796 static reference (memory leak)
797 ownedtrans --- owned storage transferred to non-owned reference (memory leak)
798 freshtrans --- fresh storage transferred to non-only reference (memory leak)
799 sharedtrans --- shared storage transferred to non-shared reference
800 temptrans --- temp storage transferred to non-temporary reference
801 kepttrans --- kept storage transferred to non-temporary reference
802 keeptrans --- keep storage transferred inconsistently
803 immediatetrans --- an immediate address (result of &) is transferred
805 refcounttrans --- reference counted storage is transferred in an inconsistent
807 statictrans --- static storage is transferred in an inconsistent way
808 unqualifiedtrans --- unqualified storage is transferred in an inconsistent way
809 staticinittrans --- static storage is used as an initial value in an
811 unqualifiedinittrans --- unqualified storage is used as an initial value in an
813 readonlystrings --- string literals are read-only (error if one is modified or
815 readonlytrans --- report memory transfer errors for initializations to
816 read-only string literals
817 passunknown --- passing a value as an un-annotated parameter clears its
819 mods --- unspecified modification of caller-visible state
820 mustmod --- specified modification is not detected
821 modobserver --- possible modification of observer storage
822 modobserveruncon --- possible modification of observer storage through
824 modinternalstrict --- possible modification of internal storage through
826 modfilesys --- report undocumented file system modifications (applies to
827 unspecified functions if modnomods is set)
828 modunspec --- modification in unspecified functions (sets modnomods,
829 modglobunspec and modstrictglobsunspec)
830 modnomods --- modification in a function with no modifies clause
831 moduncon --- possible modification through a call to an unconstrained function
832 modunconnomods --- possible modification through a call to an unconstrained
833 function in a function with no modifies clause
834 globsimpmodsnothing --- functions declared with a globals list but no modifies
835 clause are assumed to modify nothing
836 modsimpnoglobs --- functions declared with a modifies clause but no globals
837 list are assumed to use no globals
838 namechecks --- controls name checking without changing other settings
839 czech --- czech naming convention (sets accessczech, czechfunctions, czechvars,
840 czechconstants, czechenums, and czechmacros)
841 czechfcns --- czech naming convention violated in a function or iterator
843 czechvars --- czech naming convention violated in a variable declaration
844 czechmacros --- czech naming convention violated in an expanded macro name
845 czechconsts --- czech naming convention violated in a constant declaration
846 czechtypes --- czech naming convention violated in a user-defined type
848 slovak --- slovak naming convention violated
849 slovakfcns --- slovak naming convention violated in a function or iterator
851 slovakmacros --- slovak naming convention violated in an expanded macro name
852 slovakvars --- slovak naming convention violated in a variable declaration
853 slovakconsts --- slovak naming convention violated in a constant declaration
854 slovaktypes --- slovak naming convention violated in a use-defined type
856 czechoslovak --- czech or slovak naming convention violated
857 czechoslovakfcns --- czechoslovak naming convention violated in a function or
859 czechoslovakmacros --- czechoslovak naming convention violated in an expanded
861 czechoslovakvars --- czechoslovak naming convention violated in a variable
863 czechoslovakconsts --- czechoslovak naming convention violated in a constant
865 czechoslovaktypes --- czechoslovak naming convention violated in a user-defined
867 ansireserved --- external name conflicts with name reserved for system or
869 cppnames --- external or internal name is a C++ keyword or reserved word
870 ansireservedinternal --- internal name conflicts with name reserved for system
872 distinctexternalnames --- external name is not distinguishable from another
873 external name using the number of significant characters
874 externalnamelen --- set the number of significant characters in an external
876 externalnamecaseinsensitive --- alphabetic comparisons for external names are
878 distinctinternalnames --- internal name is not distinguishable from another
879 internal name using the number of significant characters
880 internalnamelen --- set the number of significant characters in an internal
882 internalnamecaseinsensitive --- set whether case is significant an internal
883 names (-internalnamecaseinsensitive means case is significant)
884 internalnamelookalike --- lookalike characters match in internal names
885 macrovarprefix --- set namespace prefix for variables declared in a macro body
886 macrovarprefixexclude --- the macrovarprefix may not be used for non-macro
888 tagprefix --- set namespace prefix for struct, union and enum tags
889 tagprefixexclude --- the tagprefix may not be used for non-tag identifiers
890 enumprefix --- set namespace prefix for enum members
891 enumprefixexclude --- the enumprefix may not be used for non-enum member
893 filestaticprefix --- set namespace prefix for file static declarations
894 filestaticprefixexclude --- the filestaticprefix may not be used for
895 identifiers that are not file static
896 globalprefix --- set namespace prefix for global variables
897 globalprefixexclude --- the globalprefix may not be used for non-global
899 typeprefix --- set namespace prefix for user-defined types
900 typeprefixexclude --- the typeprefix may not be used for identifiers that are
902 externalprefix --- set namespace prefix for external identifiers
903 externalprefixexclude --- the externalprefix may not be used for non-external
905 localprefix --- set namespace prefix for local variables
906 localprefixexclude --- the localprefix may not be used for non-local
908 uncheckedmacroprefix --- set namespace prefix for unchecked macros
909 uncheckedmacroprefixexclude --- the uncheckmacroprefix may not be used for
910 identifiers that are not unchecked macros
911 constprefix --- set namespace prefix for constants
912 constprefixexclude --- the constprefix may not be used for non-constant
914 iterprefix --- set namespace prefix for iterators
915 iterprefixexclude --- the iterprefix may not be used for non-iter identifiers
916 protoparamprefix --- set namespace prefix for parameters in function prototype
918 protoparamname --- a parameter in a function prototype has a name
919 protoparammatch --- the name of a parameter in a function prototype and
920 corresponding declaration must match (after removing the protoparamprefix
921 protoparamprefixexclude --- the protoparamprefix may not be used for
922 non-declaraction parameter identifiers
923 controlnestdepth --- set maximum nesting depth of compound statements,
924 iteration control structures, and selection control structures (ANSI minimum is
926 stringliterallen --- set maximum length of string literals (ANSI minimum is
928 numstructfields --- set maximum number of fields in a struct or union (ANSI
930 numenummembers --- set maximum number of members of an enum (ANSI minimum is
932 includenest --- set maximum number of nested #include files
933 ansilimits --- check for violations of standard limits (controlnestdepth,
934 stringliterallen, includenest, numstructfields, numenummembers)
935 null --- misuses of null pointer
936 nullterminated --- misuse of nullterminated allocation
937 arrayread --- possible out of bounds read
938 arraywrite --- possible buffer overflow from an out of bounds write
939 fcnpost --- Function has the post condition
940 parenconstraint --- parenthesize constraint term
941 debugfcnconstraint --- debuging constraint flas
942 arraybounds --- Possible out-of-bounds store. Unable to resolve constraint:
943 arrayboundsread --- Possible out-of-bounds read. Unable to resolve constraint:
944 fcnconstraint --- unresolved constraint
945 checkpost --- unable to verify ensures annotation
946 constraintlocation --- display full c expression for every constraint generated
947 implictconstraint --- Try to generate implicit constraints for functions
948 orconstraint --- Use limited OR expressions to resolve constraints
949 nullterminated --- misuse of nullterminated allocation
950 nullderef --- possible dereferencce of null pointer
951 fcnderef --- dereferencce of a function type
952 nullpass --- possibly null pointer passed as formal with no null annotation
953 nullret --- possibly null pointer returned as result with no null annotation
954 nullstate --- possibly null pointer reachable from a reference with no null
956 nullassign --- inconsistent assignment or initialization involving null pointer
957 boolcompare --- comparison between bools (dangerous because of multiple TRUE
959 realcompare --- dangerous comparison between reals (dangerous because of
960 inexact floating point representations)
961 unsignedcompare --- comparison using <, <=, >= between an unsigned integral and
963 ptrarith --- arithmetic involving pointer and integer
964 nullptrarith --- arithmetic involving possibly null pointer and integer
965 ptrcompare --- comparison between pointer and number
966 strictops --- primitive operation does not type check strictly
967 bitwisesigned --- a bitwise logical operator does not have unsigned operands
968 shiftsigned --- a shift operator does not have unsigned operands
969 boolops --- primitive operation (!, && or ||) does not has a boolean argument
970 ptrnegate --- allow ! to be used on pointer operand
971 sizeoftype --- sizeof operator has a type argument
972 sizeofformalarray --- sizeof operator has an array formal parameter argument
973 fixedformalarray --- formal parameter of type array is declared with size
974 incompletetype --- formal parameter has an incomplete type
975 formalarray --- formal parameter is an array
976 predassign --- condition test (if, while or for) is an assignment
977 predbool --- type of condition test (if, while or for) not bool (sets
978 predboolint, predboolptr and predboolothers)
979 predboolint --- type of condition test (if, while or for) is an integral type
980 predboolothers --- type of condition test (if, while or for) not bool, int or
982 predboolptr --- type of condition test (if, while or for) is a pointer
983 D<initializer> --- passed to pre-processor
984 U<initializer> --- passed to pre-processor
985 globstate --- returns with global in inconsistent state (null or undefined)
986 supcounts --- The number of errors detected does not match number in
988 limit --- limit <int> consecutive repeated errors
989 syntax --- syntax error in parsing
990 trytorecover --- try to recover from parse error
991 type --- type mismatch
992 fullinitblock --- initializer sets all fields
993 initallelements --- initializer defines all array elements
994 initsize --- initializer defines extra array elements
995 stringliteraltoolong --- string literal too long for character array
996 stringliteralnoroom --- string literal leaves no room for null terminator
997 stringliteralsmaller --- string literal is smaller than the char array it is
999 enummembers --- enum members must be int values
1000 maintype --- type of main does not match expected type
1001 formattype --- type-mismatch in parameter corresponding to format code in a
1002 printf or scanf-like function
1003 formatconst --- format parameter is not a string constant (hence variable
1004 arguments cannot be typechecked)
1005 formatcode --- invalid format code in format string for printf or scanf-like
1007 forwarddecl --- forward declarations of pointers to abstract representation
1009 voidabstract --- void * matches pointers to abstract types, casting ok
1011 castfcnptr --- a pointer to a function is cast to a pointer to void (or vice
1013 charindex --- char can be used to index arrays
1014 enumindex --- enum can be used to index arrays
1015 boolint --- bool and int are equivalent
1016 charint --- char and int are equivalent
1017 enumint --- enum and int are equivalent
1018 floatdouble --- float and double are equivalent
1019 ignorequals --- ignore type qualifiers (long, short, unsigned)
1020 duplicatequals --- report duplicate type qualifiers (e.g., long long)
1021 ignoresigns --- ignore signs in type comparisons (unsigned matches signed)
1022 numliteral --- int literals can be reals
1023 charintliteral --- character constants (e.g., 'a') can be used as ints
1024 relaxquals --- report qualifier mismatches only if dangerous
1025 relaxtypes --- allow all numeric types to match
1026 charunsignedchar --- allow char and unsigned char types to match
1027 matchanyintegral --- allow any intergral type to match an arbitrary integral
1029 longunsignedintegral --- allow long unsigned type to match an arbitrary
1030 integral type (e.g., dev_t)
1031 longintegral --- allow long type to match an arbitrary integral type (e.g.,
1033 longunsignedunsignedintegral --- allow long unsigned type to match an arbitrary
1034 unsigned integral type (e.g., size_t)
1035 longsignedintegral --- allow long type to match an arbitrary signed integral
1036 type (e.g., ssize_t)
1037 zeroptr --- 0 is treated as a pointer
1038 zerobool --- 0 is treated as a boolean
1039 repeatunrecog --- do not suppress repeated unrecognized identifier messages
1040 (instead of only reporting the first error)
1041 sysunrecog --- report unrecognized identifiers with system (__) prefix
1042 unrecog --- unrecognized identifier
1043 topuse --- declaration at top level not used
1044 exportlocal --- a declaration is exported but not used outside this module
1045 exportheader --- a declaration is exported but does not appear in a header file
1046 exportheadervar --- a variable declaration is exported but does not appear in a
1048 fielduse --- field of structure type not used
1049 enummemuse --- member of an enum type not used
1050 constuse --- constant declared but not used
1051 fcnuse --- function declared but not used
1052 paramuse --- function parameter not used
1053 typeuse --- type declared but not used
1054 varuse --- variable declared but not used
1055 unusedspecial --- unused declaration in special file (corresponding to .l or .y
1057 redundantsharequal --- declaration uses observer qualifier that is always true
1058 misplacedsharequal --- declaration of unsharable storage uses sharing
1060 annotationerror --- annotation is used in inconsistent location
1061 commenterror --- inconsistent syntactic comment
1062 bugslimit --- set maximum number of bugs detected before giving up
1063 fileextensions --- warn when command line file does not have a recognized
1065 warnuse --- warn when declaration marked with warn is used
1066 statetransfer --- storage has been transfered with invalid state
1067 statemerge --- control paths merge with storage in incompatible states
1068 its4mostrisky --- most risky security vulnerabilities (from its4 database)
1069 its4veryrisky --- very risky security vulnerabilities (from its4 database)
1070 its4risky --- risky security vulnerabilities (from its4 database)
1071 its4moderate --- moderately risky security vulnerabilities (from its4 database)
1072 its4low --- risky security vulnerabilities (from its4 database)
1073 bufferoverflowhigh --- likely buffer overflow vulnerability
1074 bufferoverflow --- possible buffer overflow vulnerability
1075 toctou --- possible time of check, time of use vulnerability
1076 multithreaded --- function is not reentrant
1077 portability --- function may have undefined behavior
1078 unixstandard --- function is not required in Standard UNIX Specification
1079 superuser --- function is restricted to superusers
1080 implementationoptional --- declarator is implementation optional (ISO99 does
1081 not require an implementation to provide it)