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