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