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