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