]> andersk Git - splint.git/blobdiff - test/help.expect
Added support for ISO C99 _Bool and stdbool bool/true/false. The
[splint.git] / test / help.expect
index b151e51908373ce153fb02f52b94376ff4bba701..1599fb6e9197c64a7f55b778076e14d67bdb0f0f 100644 (file)
@@ -22,7 +22,12 @@ Topics:
    version (information on compilation, maintainer)
 
 
-Finished checking --- no code processed
+Cannot find standard library: standard.lcd
+     Check LARCH_PATH environment variable.
+Continuing without LCL init file: lclinit.lci
+Continuing without LSL init file: lslinit.lsi
+Unable to find CTrait.syms or CTrait.lsl.  Check LARCH_PATH environment
+variable.
 
 Source files are .c, .h and .lcl files.  If there is no suffix,
    Splint will look for <file>.c and <file>.lcl.
@@ -47,15 +52,13 @@ Topics:
    version (information on compilation, maintainer)
 
 
-
-Command Line: Unrecognized option: asdf
+Command Line: Unrecognized option: -asdf
   A flag is not recognized or used in an incorrect way (Use -badflag to inhibit
   warning)
 
 Finished checking --- no code processed
 
-Warning: setting +boolint redundant with current value
-
+Command Line: Setting +boolint redundant with current value
 Finished checking --- no code processed
 
    D<initializer>              
@@ -63,6 +66,7 @@ Finished checking --- no code processed
    S<directory>                
    U<initializer>              
    abstract                    
+   abstractcompare             
    accessall                   
    accessczech                 
    accessczechoslovak          
@@ -88,6 +92,7 @@ Finished checking --- no code processed
    booltrue                    
    booltype                    
    bounds                      
+   boundscompacterrormessages  
    boundsread                  
    boundswrite                 
    branchstate                 
@@ -95,6 +100,7 @@ Finished checking --- no code processed
    bufferoverflowhigh          
    bugslimit                   
    casebreak                   
+   caseinsensitivefilenames    
    castexpose                  
    castfcnptr                  
    charindex                   
@@ -119,6 +125,8 @@ Finished checking --- no code processed
    continuecomment             
    controlnestdepth            
    cppnames                    
+   csv                         
+   csvoverwrite                
    czech                       
    czechconsts                 
    czechfcns                   
@@ -142,13 +150,16 @@ Finished checking --- no code processed
    duplicatecases              
    duplicatequals              
    elseifcomplete              
-   emptyreturn                 
+   emptyret                    
    enumindex                   
    enumint                     
    enummembers                 
    enummemuse                  
    enumprefix                  
    enumprefixexclude           
+   errorstream                 
+   errorstreamstderr           
+   errorstreamstdout           
    evalorder                   
    evalorderuncon              
    exitarg                     
@@ -205,6 +216,7 @@ Finished checking --- no code processed
    hasyield                    
    help                        
    hints                       
+   htmlfileformat              
    i                           
    ifblock                     
    ifempty                     
@@ -265,13 +277,18 @@ Finished checking --- no code processed
    legacy                      
    lh                          
    libmacros                   
+   likely-boundsread           
+   likely-boundswrite          
    likelybool                  
+   likelybounds                
    limit                       
    linelen                     
    lintcomments                
    load                        
    localprefix                 
    localprefixexclude          
+   locindentspaces             
+   longint                     
    longintegral                
    longsignedintegral          
    longunsignedintegral        
@@ -301,6 +318,9 @@ Finished checking --- no code processed
    memchecks                   
    memimp                      
    memtrans                    
+   messagestream               
+   messagestreamstderr         
+   messagestreamstdout         
    misplacedsharequal          
    misscase                    
    modfilesys                  
@@ -346,12 +366,18 @@ Finished checking --- no code processed
    null                        
    nullassign                  
    nullderef                   
+   nullinit                    
    nullpass                    
    nullptrarith                
    nullret                     
    nullstate                   
    nullterminated              
    nullterminated              
+   numabstract                 
+   numabstractcast             
+   numabstractindex            
+   numabstractlit              
+   numabstractprint            
    numenummembers              
    numliteral                  
    numstructfields             
@@ -410,19 +436,22 @@ Finished checking --- no code processed
    sharedtrans                 
    shiftimplementation         
    shiftnegative               
+   shortint                    
    showallconjs                
    showalluses                 
    showcolumn                  
    showconstraintlocation      
    showconstraintparens        
+   showdeephistory             
    showfunc                    
+   showloadloc                 
    showscan                    
    showsourceloc               
    showsummary                 
    singleinclude               
    sizeofformalarray           
    sizeoftype                  
-   skipansiheaders             
+   skipisoheaders              
    skipposixheaders            
    skipsysheaders              
    slashslashcomment           
@@ -445,6 +474,7 @@ Finished checking --- no code processed
    staticinittrans             
    statictrans                 
    stats                       
+   streamoverwrite             
    strictbranchstate           
    strictdestroy               
    strictlib                   
@@ -452,6 +482,7 @@ Finished checking --- no code processed
    strictusereleased           
    stringliterallen            
    stringliteralnoroom         
+   stringliteralnoroomfinalnull
    stringliteralsmaller        
    stringliteraltoolong        
    structimponly               
@@ -495,16 +526,19 @@ Finished checking --- no code processed
    unusedspecial               
    usedef                      
    usereleased                 
-   usestderr                   
    usevarargs                  
    varuse                      
    voidabstract                
    warnflags                   
+   warningstream               
+   warningstreamstderr         
+   warningstreamstdout         
    warnlintcomments            
    warnmissingglobs            
    warnmissingglobsnoglobs     
    warnposixheaders            
    warnrc                      
+   warnsysfiles                
    warnunixlib                 
    warnuse                     
    whichlib                    
@@ -512,5506 +546,3 @@ Finished checking --- no code processed
    whileempty                  
    whileloopexec               
    zerobool                    
-
-
-null --- misuses of null pointer
-nullderef --- possible dereferencce of null pointer
-nullpass --- possibly null pointer passed as formal with no null annotation
-nullret --- possibly null pointer returned as result with no null annotation
-nullstate --- possibly null pointer reachable from a reference with no null
-annotation
-nullassign --- inconsistent assignment or initialization involving null pointer
-usedef --- use before definition
-mustdefine --- out storage not defined before return or scope exit
-uniondef --- at least one field of a union must be defined
-compdef --- parameter, return value or global completely defined
-fullinitblock --- initializer sets all fields
-initallelements --- initializer defines all array elements
-initsize --- initializer defines extra array elements
-impouts --- pointer parameters to unspecified functions may be implicit out
-parameters
-incondefs --- function, variable or constant redefined with inconsistent type
-matchfields --- struct or enum type redefined with inconsistent fields or
-members
-fcnderef --- dereferencce of a function type
-realcompare --- dangerous comparison between reals (dangerous because of
-inexact floating point representations)
-unsignedcompare --- comparison using <, <=, >= between an unsigned integral and
-zero constant
-ptrarith --- arithmetic involving pointer and integer
-nullptrarith --- arithmetic involving possibly null pointer and integer
-ptrcompare --- comparison between pointer and number
-strictops --- primitive operation does not type check strictly
-bitwisesigned --- a bitwise logical operator does not have unsigned operands
-shiftnegative --- a shift right operand may be negative
-shiftimplementation --- a shift left operand may be negative
-sizeoftype --- sizeof operator has a type argument
-sizeofformalarray --- sizeof operator has an array formal parameter argument
-fixedformalarray --- formal parameter of type array is declared with size
-incompletetype --- formal parameter has an incomplete type
-formalarray --- formal parameter is an array
-booltype --- set name of boolean type (default bool)
-boolfalse --- set name of boolean false (default FALSE)
-booltrue --- set name of boolean true (default TRUE)
-likelybool --- type name is probably a boolean type but does not match default
-boolean type name, "bool", and alternate name is not set
-boolcompare --- comparison between bools (dangerous because of multiple TRUE
-values)
-boolops --- primitive operation (!, && or ||) does not has a boolean argument
-ptrnegate --- allow ! to be used on pointer operand
-predassign --- condition test (if, while or for) is an assignment
-predbool --- type of condition test (if, while or for) not bool (sets
-predboolint, predboolptr and predboolothers)
-predboolint --- type of condition test (if, while or for) is an integral type
-predboolptr --- type of condition test (if, while or for) is a pointer
-predboolothers --- type of condition test (if, while or for) not bool, int or
-pointer
-abstract --- data abstraction barriers
-impabstract --- assume user type definitions are abstract (unless
-/*@concrete@*/ is used)
-accessmodule --- allow access to abstract types in definition module
-accessfile --- allow access to abstract types by file name convention
-accessczech --- allow access to abstract types by czech naming convention
-accessslovak --- allow access to abstract types by slovak naming convention
-accessczechoslovak --- allow access to abstract types by czechoslovak naming
-convention
-accessall --- set accessmodule, accessfile and accessczech
-mutrep --- representation of mutable type has sharing semantics
-mustfreefresh --- freshly allocated storage not released before return or scope
-exit
-mustfreeonly --- only storage not released before return or scope exit
-mustfree --- fresh or only storage not released before return or scope exit
-(sets mustfreefresh and mustfreeonly)
-usereleased --- storage used after release
-strictusereleased --- element used after it may have been released
-compdestroy --- all only references derivable from void pointer out only
-parameter are released
-strictdestroy --- report complete destruction errors for array elements that
-may have been released
-deparrays --- array elements are dependent storage
-branchstate --- storage has inconsistent states of alternate paths through a
-branch
-strictbranchstate --- storage through array fetch has inconsistent states of
-alternate paths through a branch
-memchecks --- sets all dynamic memory checking flags (memimplicit, mustfree,
-mustdefine, mustnotalias, null, memtrans)
-compmempass --- actual parameter matches alias kind of formal parameter
-completely 
-stackref --- external reference to stack-allocated storage is created
-memtrans --- memory transfer errors (sets all *trans flags)
-dependenttrans --- dependent transfer errors
-newreftrans --- new reference transfer to reference counted reference
-onlytrans --- only storage transferred to non-only reference (memory leak)
-onlyunqglobaltrans --- only storage transferred to an unqualified global or
-static reference (memory leak)
-ownedtrans --- owned storage transferred to non-owned reference (memory leak)
-freshtrans --- fresh storage transferred to non-only reference (memory leak)
-sharedtrans --- shared storage transferred to non-shared reference
-temptrans --- temp storage transferred to non-temporary reference
-kepttrans --- kept storage transferred to non-temporary reference
-keeptrans --- keep storage transferred inconsistently
-immediatetrans --- an immediate address (result of &) is transferred
-inconsistently
-refcounttrans --- reference counted storage is transferred in an inconsistent
-way
-statictrans --- static storage is transferred in an inconsistent way
-unqualifiedtrans --- unqualified storage is transferred in an inconsistent way
-staticinittrans --- static storage is used as an initial value in an
-inconsistent way
-unqualifiedinittrans --- unqualified storage is used as an initial value in an
-inconsistent way
-readonlytrans --- report memory transfer errors for initializations to
-read-only string literals
-passunknown --- passing a value as an un-annotated parameter clears its
-annotation
-readonlystrings --- string literals are read-only (error if one is modified or
-released)
-memimp --- memory errors for unqualified storage
-paramimptemp --- assume unannotated parameter is temp
-allimponly --- sets globimponly, retimponly, structimponly, specglobimponly,
-specretimponly and specstructimponly
-codeimponly --- sets globimponly, retimponly and structimponly
-specimponly --- sets specglobimponly, specretimponly and specstructimponly
-globimponly --- assume unannotated global storage is only
-retimponly --- assume unannotated returned storage is only
-structimponly --- assume unannotated structure field is only
-specglobimponly --- assume unannotated global storage is only
-specretimponly --- assume unannotated returned storage is only
-specstructimponly --- assume unannotated structure field is only
-aliasunique --- unique parameter is aliased
-mayaliasunique --- unique parameter may be aliased
-mustnotalias --- temp storage aliased at return point or scope exit
-retalias --- function returns alias to parameter or global
-globalias --- function returns with global aliasing external state (sets
-checkstrictglobalias, checkedglobalias, checkmodglobalias and
-uncheckedglobalias)
-checkstrictglobalias --- function returns with a checkstrict global aliasing
-external state
-checkedglobalias --- function returns with a checked global aliasing external
-state
-checkmodglobalias --- function returns with a checkmod global aliasing external
-state
-uncheckedglobalias --- function returns with an unchecked global aliasing
-external state
-exposetrans --- exposure transfer errors
-observertrans --- observer transfer errors
-repexpose --- abstract representation is exposed (sets assignexpose, retexpose,
-and castexpose)
-retexpose --- abstract representation is exposed (return values only)
-assignexpose --- abstract representation is exposed (assignments only)
-castexpose --- abstract representation is exposed through a cast
-redundantsharequal --- declaration uses observer qualifier that is always true
-misplacedsharequal --- declaration of unsharable storage uses sharing
-annotation
-mods --- unspecified modification of caller-visible state
-mustmod --- specified modification is not detected
-modobserver --- possible modification of observer storage
-modobserveruncon --- possible modification of observer storage through
-unconstrained call
-modinternalstrict --- possible modification of internal storage through
-function call
-modfilesys --- report undocumented file system modifications (applies to
-unspecified functions if modnomods is set)
-modunspec --- modification in unspecified functions (sets modnomods,
-modglobunspec and modstrictglobsunspec)
-modnomods --- modification in a function with no modifies clause
-moduncon --- possible modification through a call to an unconstrained function
-modunconnomods --- possible modification through a call to an unconstrained
-function in a function with no modifies clause
-globsimpmodsnothing --- functions declared with a globals list but no modifies
-clause are assumed to modify nothing
-modsimpnoglobs --- functions declared with a modifies clause but no globals
-list are assumed to use no globals
-globstate --- returns with global in inconsistent state (null or undefined)
-globs --- undocumented use of a checked global variable
-globuse --- global listed for a function not used
-internalglobs --- use of internalState
-internalglobsnoglobs --- use of internalState (in function with no globals
-list)
-warnmissingglobs --- global variable used in modifies clause is not listed in
-globals list
-warnmissingglobsnoglobs --- global variable used in modifies clause in a
-function with no globals list
-globnoglobs --- use of checked global in a function with no globals list or
-specification
-allglobs --- report use and modification errors for globals not annotated with
-unchecked
-checkstrictglobs --- report use and modification errors for checkedstrict
-globals
-impcheckedspecglobs --- assume checked qualifier for unqualified global
-declarations in .lcl files
-impcheckmodspecglobs --- assume checkmod qualifier for unqualified global
-declarations in .lcl files
-impcheckedstrictspecglobs --- assume checkmod qualifier for unqualified global
-declarations in .lcl files
-impcheckedglobs --- assume checked qualifier for unqualified global
-declarations
-impcheckmodglobs --- assume checkmod qualifier for unqualified global
-declarations
-impcheckedstrictglobs --- assume checkedstrict qualifier for unqualified global
-declarations
-impcheckedstatics --- assume checked qualifier for unqualified file static
-declarations
-impcheckmodstatics --- assume checkmod qualifier for unqualified file static
-declarations
-impcheckmodinternals --- assume checkmod qualifier for unqualified local static
-declarations (for internal state modifications)
-impcheckedstrictstatics --- assume checkedstrict qualifier for unqualified file
-static declarations
-modglobs --- undocumented modification of a checked global variable
-modglobsnomods --- undocumented modification of a checked global variable in a
-function declared with no modifies clause
-modstrictglobsnomods --- undocumented modification of a strict checked global
-variable in a function declared with no modifies clause
-modglobsunchecked --- undocumented modification of an unchecked checked global
-variable
-noret --- path with no return detected in non-void function
-emptyreturn --- empty return in function declared to return value
-alwaysexits --- loop predicate always exits
-loopexec --- assume all loops execute at least once (sets forloopexec,
-whileloopexec and iterloopexec)
-forloopexec --- assume all for loops execute at least once
-whileloopexec --- assume all while loops execute at least once
-iterloopexec --- assume all iterator loops execute at least once
-obviousloopexec --- assume loop that can be determined to always execute always
-does
-evalorder --- code has unspecified or implementation-dependent behavior because
-of order of evaluation
-evalorderuncon --- code involving call to unspecified function has undefined or
-implementation-dependent behavior
-infloops --- likely infinite loop is detected
-infloopsuncon --- likely infinite loop is detected (may result from
-unconstrained function)
-casebreak --- non-empty case in a switch without preceding break
-misscase --- switch on enum type missing case for some value
-firstcase --- first statement in switch is not a case
-duplicatecases --- duplicate cases in switch
-deepbreak --- break inside nested while or for or switch
-looploopbreak --- break inside nested while or for
-switchloopbreak --- break in loop inside switch
-loopswitchbreak --- break in switch inside loop
-switchswitchbreak --- break in switch inside switch
-looploopcontinue --- continue inside nested loop
-whileempty --- a while statement has no body
-whileblock --- the body of a while statement is not a block
-forempty --- a for statement has no body
-forblock --- the body of a for statement is not a block
-ifempty --- an if statement has no body
-ifblock --- the body of an if statement is not a block
-allempty --- an if, while or for statement has no body (sets ifempty,
-whileempty and forempty
-allblock --- the body of an if, while or for statement is not a block (sets
-ifblock, whileblock and forblock)
-elseifcomplete --- if ... else if chains must have final else
-unreachable --- unreachable code detected
-noeffect --- statement with no effect
-noeffectuncon --- statement with no effect (except possibly through call to
-unconstrained function)
-retval --- return value ignored (sets retvalint, retvalbool and retvalother)
-retvalother --- return value of type other than bool or int ignored
-retvalbool --- return value of manifest type bool ignored
-retvalint --- return value of type int ignored
-nullterminated --- misuse of nullterminated allocation
-bounds --- memory bounds checking (sets boundsread and boundswrite)
-boundsread --- possible out of bounds read
-boundswrite --- possible buffer overflow from an out of bounds write
-fcnpost --- display function post conditions
-redundantconstraints --- display seemingly redundant constraints
-checkpost --- unable to verify predicate in ensures clause
-implictconstraint --- generate implicit constraints for functions
-orconstraint --- use limited OR expressions to resolve constraints
-nullterminated --- misuse of nullterminated allocation
-showconstraintparens --- display parentheses around constraint terms
-showconstraintlocation --- display location for every constraint generated
-mts --- load meta state declaration and corresponding xh file
-statetransfer --- storage has been transfered with invalid state
-statemerge --- control paths merge with storage in incompatible states
-macroredef --- macro redefined
-macrounrecog --- unrecognized identifier in macro
-macroconstdecl --- non-parameterized macro without prototype or specification
-macrostmt --- macro definition is syntactically not equivalent to function
-macroempty --- macro definition for is empty
-macroparams --- macro parameter not used exactly once
-macroreturn --- return statement in macro body
-macroassign --- assignment to a macro parameter
-macroparens --- macro parameter used without parentheses (in potentially
-dangerous context)
-macrodecl --- macro without prototype or specification (sets macrofcndecl and
-macroconstdecl)
-macrofcndecl --- parameterized macro without prototype or specification
-sefparams --- a parameter with side-effects is passed as a sef parameter
-sefuncon --- a parameter with unconstrained side-effects is passed as a sef
-parameter
-constmacros --- check all macros without parameter lists as constants
-fcnmacros --- check all macros with parameter lists as functions
-allmacros --- sets fcnmacros and constmacros
-libmacros --- check all macros with declarations in library as functions
-specmacros --- check all macros corresponding to specified functions or
-constants
-macromatchname --- macro definition does not match iter or constant declaration
-nextlinemacros --- the line after a constant or iter declaration must be a
-macro definition
-iterbalance --- iter is not balanced with end_<iter>
-iteryield --- iter yield parameter is inappropriate
-hasyield --- iter declaration has no yield parameters
-namechecks --- controls name checking without changing other settings
-czech --- czech naming convention (sets accessczech, czechfunctions, czechvars,
-czechconstants, czechenums, and czechmacros)
-czechfcns --- czech naming convention violated in a function or iterator
-declaration
-czechvars --- czech naming convention violated in a variable declaration
-czechmacros --- czech naming convention violated in an expanded macro name
-czechconsts --- czech naming convention violated in a constant declaration
-czechtypes --- czech naming convention violated in a user-defined type
-definition
-slovak --- slovak naming convention violated
-slovakfcns --- slovak naming convention violated in a function or iterator
-declaration
-slovakmacros --- slovak naming convention violated in an expanded macro name
-slovakvars --- slovak naming convention violated in a variable declaration
-slovakconsts --- slovak naming convention violated in a constant declaration
-slovaktypes --- slovak naming convention violated in a use-defined type
-definition
-czechoslovak --- czech or slovak naming convention violated
-czechoslovakfcns --- czechoslovak naming convention violated in a function or
-iterator declaration
-czechoslovakmacros --- czechoslovak naming convention violated in an expanded
-macro name
-czechoslovakvars --- czechoslovak naming convention violated in a variable
-declaration
-czechoslovakconsts --- czechoslovak naming convention violated in a constant
-declaration
-czechoslovaktypes --- czechoslovak naming convention violated in a user-defined
-type definition
-macrovarprefix --- set namespace prefix for variables declared in a macro body
-macrovarprefixexclude --- the macrovarprefix may not be used for non-macro
-variables
-tagprefix --- set namespace prefix for struct, union and enum tags
-tagprefixexclude --- the tagprefix may not be used for non-tag identifiers
-enumprefix --- set namespace prefix for enum members
-enumprefixexclude --- the enumprefix may not be used for non-enum member
-identifiers
-filestaticprefix --- set namespace prefix for file static declarations
-filestaticprefixexclude --- the filestaticprefix may not be used for
-identifiers that are not file static
-globalprefix --- set namespace prefix for global variables
-globalprefixexclude --- the globalprefix may not be used for non-global
-identifiers
-typeprefix --- set namespace prefix for user-defined types
-typeprefixexclude --- the typeprefix may not be used for identifiers that are
-not type names
-externalprefix --- set namespace prefix for external identifiers
-externalprefixexclude --- the externalprefix may not be used for non-external
-identifiers
-localprefix --- set namespace prefix for local variables
-localprefixexclude --- the localprefix may not be used for non-local
-identifiers
-uncheckedmacroprefix --- set namespace prefix for unchecked macros
-uncheckedmacroprefixexclude --- the uncheckmacroprefix may not be used for
-identifiers that are not unchecked macros
-constprefix --- set namespace prefix for constants
-constprefixexclude --- the constprefix may not be used for non-constant
-identifiers
-iterprefix --- set namespace prefix for iterators
-iterprefixexclude --- the iterprefix may not be used for non-iter identifiers
-protoparamprefix --- set namespace prefix for parameters in function prototype
-declarations
-isoreserved --- external name conflicts with name reserved for system or
-standard library
-cppnames --- external or internal name is a C++ keyword or reserved word
-isoreservedinternal --- internal name conflicts with name reserved for system
-or standard library
-distinctexternalnames --- external name is not distinguishable from another
-external name using the number of significant characters
-externalnamelen --- set the number of significant characters in an external
-name
-externalnamecaseinsensitive --- alphabetic comparisons for external names are
-case-insensitive
-distinctinternalnames --- internal name is not distinguishable from another
-internal name using the number of significant characters
-internalnamelen --- set the number of significant characters in an internal
-name
-internalnamecaseinsensitive --- set whether case is significant an internal
-names (-internalnamecaseinsensitive means case is significant)
-internalnamelookalike --- lookalike characters match in internal names
-protoparamname --- a parameter in a function prototype has a name
-protoparammatch --- the name of a parameter in a function prototype and
-corresponding declaration must match (after removing the protoparamprefix
-protoparamprefixexclude --- the protoparamprefix may not be used for
-non-declaraction parameter identifiers
-topuse --- declaration at top level not used
-exportlocal --- a declaration is exported but not used outside this module
-exportheader --- a declaration is exported but does not appear in a header file
-exportheadervar --- a variable declaration is exported but does not appear in a
-header file
-fielduse --- field of structure type not used
-enummemuse --- member of an enum type not used
-constuse --- constant declared but not used
-fcnuse --- function declared but not used
-paramuse --- function parameter not used 
-typeuse --- type declared but not used
-varuse --- variable declared but not used
-unusedspecial --- unused declaration in special file (corresponding to .l or .y
-file)
-declundef --- function or variable declared but never defined
-specundef --- function or variable specified but never defined
-specundecl --- function or variable specified but never declared in a source
-file
-newdecl --- report new global declarations in source files
-needspec --- information in specifications is not also included in syntactic
-comments
-nolib --- do not load standard library
-isolib --- use normal standard library
-strictlib --- interpret standard library strictly
-unixlib --- use UNIX (sort-of) standard library
-unixstrictlib --- use strict version of UNIX (sort-of) library
-posixlib --- use POSIX standard library
-posixstrictlib --- use strict POSIX standard library
-whichlib --- show standard library filename
-warnposixheaders --- a POSIX header is included, but the POSIX library is not
-used
-warnunixlib --- warn when the unix library is used
-usevarargs --- non-standard <varargs.h> included
-dump --- save state for merging (default suffix .lcd)
-load --- load state from dump file (default suffix .lcd)
-singleinclude --- optimize header inclusion to eliminate redundant includes
-neverinclude --- optimize header inclusion to not include any header files
-skipsysheaders --- do not include header files in system directories (set by
--sysdirs)
-gnuextensions --- support some gnu (gcc) language extensions
-noparams --- function declaration has no parameter list
-oldstyle --- old style function definition
-maintype --- type of main does not match expected type
-exitarg --- argument to exit has implementation defined behavior
-shadow --- declaration reuses name visible in outer scope
-incondefslib --- function, variable or constant defined in a library is
-redefined with inconsistent type
-overload --- library function overloaded
-nestedextern --- an extern declaration is inside a function scope
-redecl --- function or variable redeclared
-redef --- function or variable redefined
-imptype --- variable declaration has unknown (implicitly int) type
-tmpdir --- set directory for writing temp files
-larchpath --- set path for searching for library files (overrides LARCH_PATH
-environment variable)
-lclimportdir --- set directory to search for LCL import files (overrides
-LCLIMPORTDIR)
-sysdirs --- set directories for system files (default /usr/include). Separate
-directories with path separator (colons in Unix, semi-colons in Windows). Flag
-settings propagate to files in a system directory. If -sysdirerrors is set, no
-errors are reported for files in system directories.
-skipansiheaders --- prevent inclusion of header files in a system directory
-with names that match standard ANSI headers. The symbolic information in the
-standard library is used instead.  Flag in effect only if a library including
-the ANSI library is loaded.  The ANSI headers are:
-assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
-stddef, stdio, stdlib, strings, string, time, and wchar.
-skipposixheaders --- prevent inclusion of header files in a system directory
-with names that match standard POSIX headers. The symbolic information in the
-posix library is used instead.  The POSIX headers are:
-dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types, sys/utsname,
-sys/wait, unistd, and utime.
-sysdirerrors --- report errors in files in system directories (set by -sysdirs)
-sysdirexpandmacros --- expand macros in system directories regardless of other
-settings, except for macros corresponding to names defined in a load library
-I<directory> --- add to C include path
-S<directory> --- add to spec path
-exportany --- variable, function or type exported but not specified
-exportfcn --- function exported but not specified
-exportmacro --- expanded macro exported but not specified
-exporttype --- type definition exported but not specified
-exportvar --- variable exported but not specified
-exportconst --- constant exported but not specified
-exportiter --- constant exported but not specified
-linelen --- set length of messages (number of chars)
-indentspaces --- set number of spaces to indent sub-messages
-showcolumn --- show column number where error is found
-parenfileformat --- show column number where error is found
-showfunc --- show name of function containing error
-showallconjs --- show all possible types
-impconj --- make all alternate types implicit (useful for making system
-libraries
-expect --- expect <int> code errors
-lclexpect --- expect <int> spec errors
-partial --- check as partial system (-specundef, -declundef, -exportlocal,
-don't check macros in headers without corresponding .c files)
-lh --- generate .lh files
-lcs --- generate .lcs files
-warnflags --- warn when command line sets flag in abnormal way
-warnrc --- warn when there are problems with reading the initialization files
-badflag --- warn about bad command line flags
-fileextensions --- warn when command line file does not have a recognized
-extension
-help --- -help <flags> will describe flags
-f --- read an options file (default ~/.splintrc not loaded)
-i --- set LCL initilization file
-nof --- do not read options file
-commentchar --- set marker character for syntactic comments (default is '@')
-controlnestdepth --- set maximum nesting depth of compound statements,
-iteration control structures, and selection control structures (ANSI89 minimum
-is 15; ISO99 is 63)
-stringliterallen --- set maximum length of string literals (ANSI89 minimum is
-509; ISO99 is 4095)
-numstructfields --- set maximum number of fields in a struct or union (ANSI89
-minimum is 127; ISO99 is 1023)
-numenummembers --- set maximum number of members of an enum (ANSI89 minimum is
-127; ISO99 is 1023)
-includenest --- set maximum number of nested #include files (ANSI89 minimum is
-8; ISO99 is 63)
-ansi89limits --- check for violations of standard limits (controlnestdepth,
-stringliterallen, includenest, numstructfields, numenummembers) based on ANSI89
-standard
-iso99limits --- check for violations of standard limits (controlnestdepth,
-stringliterallen, includenest, numstructfields, numenummembers) based on ISO99
-standard
-D<initializer> --- passed to pre-processor
-U<initializer> --- passed to pre-processor
-unrecogdirective --- unrecognized pre-processor directive
-supcounts --- The number of errors detected does not match number in
-/*@i<n>@*/.
-limit --- limit <int> consecutive repeated errors
-syntax --- syntax error in parsing
-trytorecover --- try to recover from parse error
-preproc --- preprocessing error
-type --- type mismatch
-stringliteraltoolong --- string literal too long for character array
-stringliteralnoroom --- string literal leaves no room for null terminator
-stringliteralsmaller --- string literal is smaller than the char array it is
-assigned to
-enummembers --- enum members must be int values
-formattype --- type-mismatch in parameter corresponding to format code in a
-printf or scanf-like function
-formatconst --- format parameter is not a string constant (hence variable
-arguments cannot be typechecked)
-formatcode --- invalid format code in format string for printf or scanf-like
-function
-forwarddecl --- forward declarations of pointers to abstract representation
-match abstract type
-voidabstract --- void * matches pointers to abstract types, casting ok
-(dangerous)
-castfcnptr --- a pointer to a function is cast to a pointer to void (or vice
-versa)
-charindex --- char can be used to index arrays
-enumindex --- enum can be used to index arrays
-boolint --- bool and int are equivalent
-charint --- char and int are equivalent
-enumint --- enum and int are equivalent
-floatdouble --- float and double are equivalent
-ignorequals --- ignore type qualifiers (long, short, unsigned)
-duplicatequals --- report duplicate type qualifiers (e.g., unsigned unsigned)
-ignoresigns --- ignore signs in type comparisons (unsigned matches signed)
-numliteral --- int literals can be reals
-charintliteral --- character constants (e.g., 'a') can be used as ints
-relaxquals --- report qualifier mismatches only if dangerous
-relaxtypes --- allow all numeric types to match
-charunsignedchar --- allow char and unsigned char types to match
-matchanyintegral --- allow any intergral type to match an arbitrary integral
-type (e.g., dev_t)
-longunsignedintegral --- allow long unsigned type to match an arbitrary
-integral type (e.g., dev_t)
-longintegral --- allow long type to match an arbitrary integral type (e.g.,
-dev_t)
-longunsignedunsignedintegral --- allow long unsigned type to match an arbitrary
-unsigned integral type (e.g., size_t)
-longsignedintegral --- allow long type to match an arbitrary signed integral
-type (e.g., ssize_t)
-zeroptr --- tread 0 as a pointer
-zerobool --- treat 0 as a boolean
-repeatunrecog --- do not suppress repeated unrecognized identifier messages
-(instead of only reporting the first error)
-sysunrecog --- report unrecognized identifiers with system (__) prefix
-unrecog --- unrecognized identifier
-annotationerror --- annotation is used in inconsistent location
-commenterror --- inconsistent syntactic comment
-warnuse --- warn when declaration marked with warn is used
-bufferoverflow --- possible buffer overflow vulnerability
-bufferoverflowhigh --- likely buffer overflow vulnerability
-implementationoptional --- declarator is implementation optional (ISO99 does
-not require an implementation to provide it)
-legacy --- legacy declaration in Unix Standard
-multithreaded --- function is not reentrant
-portability --- function may have undefined behavior
-superuser --- function is restricted to superusers
-toctou --- possible time of check, time of use vulnerability
-unixstandard --- function is not required in Standard UNIX Specification
-its4mostrisky --- most risky security vulnerabilities (from its4 database)
-its4veryrisky --- very risky security vulnerabilities (from its4 database)
-its4risky --- risky security vulnerabilities (from its4 database)
-its4moderate --- moderately risky security vulnerabilities (from its4 database)
-its4low --- risky security vulnerabilities (from its4 database)
-nocomments --- ignore all stylized comments
-noaccess --- ignore access comments
-unrecogcomments --- stylized comment is unrecognized
-unrecogflagcomments --- stylized flag comment uses an unrecognized flag
-tmpcomments --- interpret t comments (ignore errors in lines marked with
-/*@t<n>@*/
-lintcomments --- interpret traditional lint comments (/*FALLTHROUGH*/,
-/*NOTREACHED*/)
-warnlintcomments --- warn when a traditional lint comment is used
-continuecomment --- line continuation marker (\) in comment before */ on same
-line
-slashslashcomment --- use of // comment
-nestcomment --- comment begins inside comment
-quiet --- suppress herald and error count
-usestderr --- send error messages to standard error (instead of standard out)
-showsummary --- show summary of all errors reported and suppressed
-showscan --- show file names are they are processed
-stats --- display lines processed and time
-timedist --- display time distribution
-showalluses --- show sorted list of uses of all globals
-hints --- provide a hint the first time a particular warning appears
-forcehints --- provide a hint for every warnings
-bugslimit --- set maximum number of bugs detected before giving up
-debugfcnconstraint --- debug function constraints
-grammar --- debug parsing
-keep --- do not delete temporary files
-nopp --- do not pre-process input files
-showsourceloc --- display the source code location where a warning is produced
-
-
-D<initializer>
-   passed to pre-processor
-   Category: preproc
-   Default Setting: -
-   Set globally only
-   
-I<directory>
-   add to C include path
-   Categories: directories, headers
-   Default Setting: -
-   Set globally only
-   
-S<directory>
-   add to spec path
-   Categories: directories, specifications
-   Default Setting: -
-   Set globally only
-   
-U<initializer>
-   passed to pre-processor
-   Category: preproc
-   Default Setting: -
-   Set globally only
-   
-abstract
-   data abstraction barriers
-   Category: abstract
-   Default Setting: +
-   Set locally
-      An abstraction barrier is broken. If necessary, use /*@access <type>@*/
-      to allow access to an abstract type.
-      
-accessall
-   set accessmodule, accessfile and accessczech
-   Categories: abstract, names
-   Default Setting: -
-   Set locally
-      Sets accessmodule, accessfile and accessczech
-      
-accessczech
-   allow access to abstract types by czech naming convention
-   Categories: abstract, names
-   Default Setting: +
-   Set locally
-      The representation of an abstract type named <t> is accessible in the
-      definition of a function or constant named <t>_<name>
-      
-accessczechoslovak
-   allow access to abstract types by czechoslovak naming convention
-   Categories: abstract, names
-   Default Setting: -
-   Set locally
-      The representation of an abstract type named <t> is accessible in the
-      definition of a function or constant named <t>_<name> or <t><Name>
-      
-accessfile
-   allow access to abstract types by file name convention
-   Categories: abstract, names
-   Default Setting: +
-   Set locally
-      The representation of an abstract type named <t> is accessible anywhere
-      in a file named <t>.<x>.
-      
-accessmodule
-   allow access to abstract types in definition module
-   Categories: abstract, names
-   Default Setting: +
-   Set locally
-      The representation of an abstract type defined in <M>.<x> is accessible
-      anywhere in a file named <M>.<y>.
-      
-accessslovak
-   allow access to abstract types by slovak naming convention
-   Categories: abstract, names
-   Default Setting: -
-   Set locally
-      The representation of an abstract type named <t> is accessible in the
-      definition of a function or constant named <t><Name>
-      
-aliasunique
-   unique parameter is aliased
-   Categories: aliasing, memory
-   Mode Settings: -+++
-   Set locally
-      A unique or only parameter is aliased by some other parameter or visible
-      global.
-      
-allblock
-   the body of an if, while or for statement is not a block (sets ifblock,
-   whileblock and forblock)
-   Category: controlflow
-   Default Setting: -
-   Set locally
-      Body is a single statement, not a compound block.
-      
-allempty
-   an if, while or for statement has no body (sets ifempty, whileempty and
-   forempty
-   Category: controlflow
-   Default Setting: -
-   Set locally
-   
-allglobs
-   report use and modification errors for globals not annotated with unchecked
-   Categories: globals, implicit
-   Mode Settings: --++
-   Set locally
-   
-allimponly
-   sets globimponly, retimponly, structimponly, specglobimponly, specretimponly
-   and specstructimponly
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-allmacros
-   sets fcnmacros and constmacros
-   Category: macros
-   Default Setting: -
-   Set locally
-      All macros (not preceded by /*@notfunction@*/) are checked as functions
-      or constants depending on whether or not they have parameter lists.
-      
-alwaysexits
-   loop predicate always exits
-   Category: controlflow
-   Default Setting: +
-   Set locally
-   
-annotationerror
-   annotation is used in inconsistent location
-   Categories: declarations, 
-   Default Setting: +
-   Set locally
-      A declaration uses an invalid annotation.
-      
-ansi89limits
-   check for violations of standard limits (controlnestdepth, stringliterallen,
-   includenest, numstructfields, numenummembers) based on ANSI89 standard
-   Categories: limits, ansi
-   Default Setting: -
-   Set locally
-   
-assignexpose
-   abstract representation is exposed (assignments only)
-   Categories: exposure, abstract
-   Mode Settings: --++
-   Set locally
-      Storage internal to the representation of an abstract type is assigned to
-      an external pointer. This means clients may have access to a pointer into
-      the abstract representation. If the external pointer is a parameter, the
-      exposed qualifier can be used to allow the assignment, however, this is
-      considered dangerous programming practice.
-      
-badflag
-   warn about bad command line flags
-   Category: help
-   Default Setting: +
-   Set locally
-      A flag is not recognized or used in an incorrect way
-      
-bitwisesigned
-   a bitwise logical operator does not have unsigned operands
-   Categories: operations, 
-   Mode Settings: ---+
-   Set locally
-      An operand to a bitwise operator is not an unsigned values.  This may
-      have unexpected results depending on the signed representations.
-      
-boolcompare
-   comparison between bools (dangerous because of multiple TRUE values)
-   Categories: booleans, operations
-   Mode Settings: -+++
-   Set locally
-      Two bool values are compared directly using a C primitive. This may
-      produce unexpected results since all non-zero values are considered TRUE,
-      so different TRUE values may not be equal. The file bool.h (included in
-      splint/lib) provides bool_equal for safe bool comparisons.
-      
-boolfalse
-   set name of boolean false (default FALSE)
-   Category: booleans
-   Default Setting: -
-   Set locally
-   String argument.  Default: FALSE
-   
-boolint
-   bool and int are equivalent
-   Categories: typeequivalence, booleans
-   Mode Settings: +---
-   Set locally
-      To make bool and int types equivalent, use +boolint.
-      
-boolops
-   primitive operation (!, && or ||) does not has a boolean argument
-   Categories: booleans, operations
-   Mode Settings: -+++
-   Set locally
-      The operand of a boolean operator is not a boolean. Use +ptrnegate to
-      allow ! to be used on pointers.
-      
-booltrue
-   set name of boolean true (default TRUE)
-   Category: booleans
-   Default Setting: -
-   Set locally
-   String argument.  Default: TRUE
-   
-booltype
-   set name of boolean type (default bool)
-   Category: booleans
-   Default Setting: -
-   Set locally
-   String argument.  Default: lltX_bool
-   
-bounds
-   memory bounds checking (sets boundsread and boundswrite)
-   Categories: memorybounds, memory
-   Default Setting: -
-   Set locally
-      Memory read or write may be out of bounds of allocated storage.
-      
-boundsread
-   possible out of bounds read
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      A memory read references memory beyond the allocated storage.
-      
-boundswrite
-   possible buffer overflow from an out of bounds write
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      A memory write may write to an address beyond the allocated buffer.
-      
-branchstate
-   storage has inconsistent states of alternate paths through a branch
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      The state of a variable is different depending on which branch is taken.
-      This means no annotation can sensibly be applied to the storage.
-      
-bufferoverflow
-   possible buffer overflow vulnerability
-   Categories: warnuse, security
-   Mode Settings: -+++
-   Set locally
-      Use of function that may lead to buffer overflow.
-      
-bufferoverflowhigh
-   likely buffer overflow vulnerability
-   Categories: warnuse, security
-   Mode Settings: ++++
-   Set locally
-      Use of function that may lead to buffer overflow.
-      
-bugslimit
-   set maximum number of bugs detected before giving up
-   Category: debug
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 3
-   
-casebreak
-   non-empty case in a switch without preceding break
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      Execution falls through from the previous case.
-      
-castexpose
-   abstract representation is exposed through a cast
-   Categories: exposure, abstract
-   Mode Settings: --++
-   Set locally
-      Storage internal to the representation of an abstract type is exposed
-      through a type cast. This means clients may have access to a pointer into
-      the abstract representation.
-      
-castfcnptr
-   a pointer to a function is cast to a pointer to void (or vice versa)
-   Categories: typeequivalence, pointers
-   Default Setting: +
-   Set locally
-      A pointer to a function is cast to (or used as) a pointer to void (or
-      vice versa).
-      
-charindex
-   char can be used to index arrays
-   Categories: typeequivalence, arrays
-   Mode Settings: +---
-   Set locally
-      To allow char types to index arrays, use +charindex.
-      
-charint
-   char and int are equivalent
-   Category: typeequivalence
-   Mode Settings: +---
-   Set locally
-      To make char and int types equivalent, use +charint.
-      
-charintliteral
-   character constants (e.g., 'a') can be used as ints
-   Categories: typeequivalence, numbers
-   Mode Settings: +---
-   Set locally
-      A character constant is used as an int. Use +charintliteral to allow
-      character constants to be used as ints.  (This is safe since the actual
-      type of a char constant is int.)
-      
-charunsignedchar
-   allow char and unsigned char types to match
-   Category: typeequivalence
-   Mode Settings: +---
-   Set locally
-      To allow char and unsigned char types to match use +charunsignedchar.
-      
-checkedglobalias
-   function returns with a checked global aliasing external state
-   Categories: aliasing, globals
-   Mode Settings: -+++
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-checkmodglobalias
-   function returns with a checkmod global aliasing external state
-   Categories: aliasing, globals
-   Mode Settings: -+++
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-checkpost
-   unable to verify predicate in ensures clause
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      The function implementation may not satisfy a post condition given in an
-      ensures clause.
-      
-checkstrictglobalias
-   function returns with a checkstrict global aliasing external state
-   Categories: aliasing, globals
-   Mode Settings: -+++
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-checkstrictglobs
-   report use and modification errors for checkedstrict globals
-   Categories: globals, unconstrained
-   Mode Settings: ++++
-   Set locally
-   
-codeimponly
-   sets globimponly, retimponly and structimponly
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-commentchar
-   set marker character for syntactic comments (default is '@')
-   Categories: initializations, comments
-   Default Setting: -
-   Set locally
-   Character Argument.  Default: @
-      Set the marker character for syntactic comments. Comments beginning with
-      /*<char> are interpreted by Splint, where <char> is the comment marker
-      character.
-      
-commenterror
-   inconsistent syntactic comment
-   Categories: declarations, 
-   Default Setting: +
-   Set locally
-      A syntactic comment is used inconsistently.
-      
-compdef
-   parameter, return value or global completely defined
-   Categories: memory, definition
-   Mode Settings: -+++
-   Set locally
-      Storage derivable from a parameter, return value or global is not
-      defined. Use /*@out@*/ to denote passed or returned storage which need
-      not be defined.
-      
-compdestroy
-   all only references derivable from void pointer out only parameter are
-   released
-   Categories: memory, leaks
-   Mode Settings: -+++
-   Set locally
-      A storage leak due to incomplete deallocation of a structure or deep
-      pointer is suspected. Unshared storage that is reachable from a reference
-      that is being deallocated has not yet been deallocated. Splint assumes
-      when an object is passed as an out only void pointer that the outer
-      object will be deallocated, but the inner objects will not.
-      
-compmempass
-   actual parameter matches alias kind of formal parameter completely 
-   Categories: memory, definition
-   Mode Settings: -+++
-   Set locally
-      Storage derivable from a parameter does not match the alias kind expected
-      for the formal parameter.
-      
-constmacros
-   check all macros without parameter lists as constants
-   Category: macros
-   Default Setting: -
-   Set locally
-      Every non-parameterized macro (not preceded by /*@notfunction@*/) is
-      checked as a constant.
-      
-constprefix
-   set namespace prefix for constants
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A constant does not start with the constantprefix
-      
-constprefixexclude
-   the constprefix may not be used for non-constant identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a constant starts with the constantprefix.
-      
-constuse
-   constant declared but not used
-   Category: alluse
-   Mode Settings: -+++
-   Set locally
-      A constant is declared but not used. Use unused in the constant
-      declaration to suppress message.
-      
-continuecomment
-   line continuation marker (\) in comment before */ on same line
-   Categories: comments, 
-   Default Setting: -
-   Set locally
-      A line continuation marker (\) appears inside a comment on the same line
-      as the comment close. Preprocessors should handle this correctly, but it
-      causes problems for some preprocessors.
-      
-controlnestdepth
-   set maximum nesting depth of compound statements, iteration control
-   structures, and selection control structures (ANSI89 minimum is 15;
-   ISO99 is 63)
-   Categories: limits, ansi
-   Mode Settings: ---+
-   Set locally
-   Numeric Argument.  Default: 63
-      Maximum number of control levels exceeded.
-      
-cppnames
-   external or internal name is a C++ keyword or reserved word
-   Categories: names, ansi
-   Mode Settings: --++
-   Set locally
-      External name is a C++ keyword or reserved word. This could lead to
-      problems if the code is compiled with a C++ compiler.
-      
-czech
-   czech naming convention (sets accessczech, czechfunctions, czechvars,
-   czechconstants, czechenums, and czechmacros)
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Name is not consistent with Czech naming convention.
-      
-czechconsts
-   czech naming convention violated in a constant declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Constant name is not consistent with Czech naming convention.
-      
-czechfcns
-   czech naming convention violated in a function or iterator declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Function or iterator name is not consistent with Czech naming convention.
-      
-czechmacros
-   czech naming convention violated in an expanded macro name
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Expanded macro name is not consistent with Czech naming convention.
-      
-czechoslovak
-   czech or slovak naming convention violated
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Name is not consistent with either Czech or Slovak naming convention.
-      
-czechoslovakconsts
-   czechoslovak naming convention violated in a constant declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Constant name is not consistent with Czechoslovak naming convention.
-      
-czechoslovakfcns
-   czechoslovak naming convention violated in a function or iterator
-   declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Function name is not consistent with Czechoslovak naming convention.
-      
-czechoslovakmacros
-   czechoslovak naming convention violated in an expanded macro name
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Expanded macro name is not consistent with Czechoslovak naming
-      convention.
-      
-czechoslovaktypes
-   czechoslovak naming convention violated in a user-defined type definition
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Type name is not consistent with Czechoslovak naming convention.
-      Czechoslovak type names may not include uppercase letters or the
-      underscore character.
-      
-czechoslovakvars
-   czechoslovak naming convention violated in a variable declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Variable name is not consistent with Czechoslovak naming convention.
-      
-czechtypes
-   czech naming convention violated in a user-defined type definition
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Type name is not consistent with Czech naming convention. Czech type
-      names must not use the underscore character.
-      
-czechvars
-   czech naming convention violated in a variable declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Variable name is not consistent with Czech naming convention.
-      
-debugfcnconstraint
-   debug function constraints
-   Categories: debug, memorybounds
-   Mode Settings: ----
-   Set locally
-      Perform buffer overflow checking even if the errors would be surpressed.
-      
-declundef
-   function or variable declared but never defined
-   Category: complete
-   Mode Settings: --++
-   Set locally
-      A function or variable is declared, but not defined in any source code
-      file.
-      
-deepbreak
-   break inside nested while or for or switch
-   Category: controlflow
-   Default Setting: -
-   Set locally
-      A break statement appears inside the body of a nested while, for or
-      switch statement. Sets looploopbreak, loopswitchbreak, switchloopbreak,
-      switchswitchbreak, and looploopcontinue.
-      
-deparrays
-   array elements are dependent storage
-   Categories: memory, arrays
-   Mode Settings: --++
-   Set locally
-      When an element is fetched from an array, Splint analysis is not able to
-      determine if the same element is reused. If +deparrays, Splint will mark
-      local storage assigned from array fetches as dependent.
-      
-dependenttrans
-   dependent transfer errors
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Dependent storage is transferred to a non-dependent reference.
-      
-distinctexternalnames
-   external name is not distinguishable from another external name using the
-   number of significant characters
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-      An external name is not distinguishable from another external name using
-      the number of significant characters. According to ANSI Standard (3.1),
-      an implementation may only consider the first 6 characters significant,
-      and ignore alphabetical case distinctions (ISO C99 requires 31). The
-      +externalnamelen <n> flag may be used to change the number of significant
-      characters, and -externalnamecaseinsensitive to make alphabetical case
-      significant in external names.
-      
-distinctinternalnames
-   internal name is not distinguishable from another internal name using the
-   number of significant characters
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-      An internal name is not distinguishable from another internal name using
-      the number of significant characters. According to ANSI89 Standard (3.1),
-      an implementation may only consider the first 31 characters significant
-      (ISO C99 specified 63). The +internalnamelen <n> flag changes the number
-      of significant characters, -internalnamecaseinsensitive to makes
-      alphabetical case significant, and +internalnamelookalike to make
-      similar-looking characters non-distinct.
-      
-dump
-   save state for merging (default suffix .lcd)
-   Categories: libraries, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-   
-duplicatecases
-   duplicate cases in switch
-   Category: controlflow
-   Default Setting: +
-   Set locally
-      Duplicate cases in switch.
-      
-duplicatequals
-   report duplicate type qualifiers (e.g., unsigned unsigned)
-   Categories: typeequivalence, 
-   Default Setting: +
-   Set locally
-      Duplicate type qualifiers not supported by ISO standard.
-      
-elseifcomplete
-   if ... else if chains must have final else
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      There is no final else following an else if construct.
-      
-emptyreturn: <invalid flag>
-
-enumindex
-   enum can be used to index arrays
-   Categories: typeequivalence, arrays
-   Mode Settings: ----
-   Set locally
-      To allow enum types to index arrays, use +enumindex.
-      
-enumint
-   enum and int are equivalent
-   Category: typeequivalence
-   Mode Settings: ++--
-   Set locally
-      To make enum and int types equivalent, use +enumint.
-      
-enummembers
-   enum members must be int values
-   Mode Settings: ----
-   Set locally
-      Type of initial values for enum members must be int.
-      
-enummemuse
-   member of an enum type not used
-   Category: alluse
-   Mode Settings: -+++
-   Set locally
-      A member of an enum type is never used.
-      
-enumprefix
-   set namespace prefix for enum members
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      An enum member does not start with the enumprefix.
-      
-enumprefixexclude
-   the enumprefix may not be used for non-enum member identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not an enum member starts with the enumprefix.
-      
-evalorder
-   code has unspecified or implementation-dependent behavior because of order
-   of evaluation
-   Categories: undefined, ansi
-   Mode Settings: -+++
-   Set locally
-      Code has unspecified behavior. Order of evaluation of function parameters
-      or subexpressions is not defined, so if a value is used and modified in
-      different places not separated by a sequence point constraining
-      evaluation order, then the result of the expression is unspecified.
-      
-evalorderuncon
-   code involving call to unspecified function has undefined or
-   implementation-dependent behavior
-   Categories: undefined, ansi
-   Mode Settings: ---+
-   Set locally
-      Code involving a call to function with no modifies or globals clause may
-      have undefined or implementation-dependent behavior (Splint assumes the
-      unconstrained call may modify any reachable state or use any global). Add
-      a specification for the function.
-      
-exitarg
-   argument to exit has implementation defined behavior
-   Categories: systemfunctions, undefined
-   Mode Settings: -+++
-   Set locally
-      The argument to exit should be 0, EXIT_SUCCESS or EXIT_FAILURE
-      
-expect
-   expect <int> code errors
-   Categories: <No Category>, errors
-   Default Setting: -
-   Set globally only
-   Numeric Argument.  Default: 0
-   
-exportany
-   variable, function or type exported but not specified
-   Categories: export, specifications
-   Default Setting: -
-   Set locally
-      A variable, function or type is exported, but not specified.
-      
-exportconst
-   constant exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A constant is exported, but not specified.
-      
-exportfcn
-   function exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A function is exported, but not specified.
-      
-exportheader
-   a declaration is exported but does not appear in a header file
-   Categories: alluse, export
-   Mode Settings: --++
-   Set locally
-      A declaration is exported, but does not appear in a header file.
-      
-exportheadervar
-   a variable declaration is exported but does not appear in a header file
-   Categories: alluse, export
-   Mode Settings: --++
-   Set locally
-      A variable declaration is exported, but does not appear in a header file.
-      (Used with exportheader.)
-      
-exportiter
-   constant exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A constant is exported, but not specified.
-      
-exportlocal
-   a declaration is exported but not used outside this module
-   Categories: alluse, export
-   Mode Settings: -+++
-   Set locally
-      A declaration is exported, but not used outside this module. Declaration
-      can use static qualifier.
-      
-exportmacro
-   expanded macro exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A macro is exported, but not specified.
-      
-exporttype
-   type definition exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A type is exported, but not specified.
-      
-exportvar
-   variable exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A variable is exported, but not specified.
-      
-exposetrans
-   exposure transfer errors
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Exposed storage is transferred to a non-exposed, non-observer reference.
-      
-externalnamecaseinsensitive
-   alphabetic comparisons for external names are case-insensitive
-   Categories: names, ansi
-   Default Setting: +
-   Set locally
-      Make alphabetic case insignificant in external names. By ANSI89 standard,
-      case need not be significant in an external name. If +distinctexternalname
-      s is not set, sets +distinctexternalnames with unlimited external name
-      length.
-      
-externalnamelen
-   set the number of significant characters in an external name
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 31
-      Sets the number of significant characters in an external name (default is
-      6 for old ANSI89 limit, C99 requires 31). Sets +distinctexternalnames.
-      
-externalprefix
-   set namespace prefix for external identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      An external identifier does not start with the externalprefix
-      
-externalprefixexclude
-   the externalprefix may not be used for non-external identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not external starts with the externalprefix.
-      
-f
-   read an options file (default ~/.splintrc not loaded)
-   Categories: initializations, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-      Read an options file (instead of loading default ~/.splintc)
-      
-fcnderef
-   dereferencce of a function type
-   Mode Settings: --++
-   Set locally
-      A function type is dereferenced.  The ANSI standard allows this because
-      of implicit conversion of function designators, however the dereference
-      is unnecessary.
-      
-fcnmacros
-   check all macros with parameter lists as functions
-   Category: macros
-   Default Setting: -
-   Set locally
-      Every parameterized macro (not preceded by /*@notfunction@*/) is checked
-      as a function.
-      
-fcnpost
-   display function post conditions
-   Categories: memorybounds, display
-   Mode Settings: ----
-   Set locally
-      Display function post conditions.
-      
-fcnuse
-   function declared but not used
-   Category: alluse
-   Mode Settings: ++++
-   Set locally
-      A function is declared but not used. Use /*@unused@*/ in front of
-      function header to suppress message.
-      
-fielduse
-   field of structure type not used
-   Category: alluse
-   Mode Settings: -+++
-   Set locally
-      A field is present in a structure type but never used. Use /*@unused@*/
-      in front of field declaration to suppress message.
-      
-fileextensions
-   warn when command line file does not have a recognized extension
-   Category: help
-   Default Setting: +
-   Set locally
-   
-filestaticprefix
-   set namespace prefix for file static declarations
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A file-static identifier does not start with the filestaticprefix.
-      
-filestaticprefixexclude
-   the filestaticprefix may not be used for identifiers that are not file
-   static
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not file static starts with the filestaticprefix.
-      
-firstcase
-   first statement in switch is not a case
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      The first statement after a switch is not a case.
-      
-fixedformalarray
-   formal parameter of type array is declared with size
-   Categories: declarations, 
-   Default Setting: +
-   Set locally
-      A formal parameter is declared as an array with size.  The size of the
-      array is ignored in this context, since the array formal parameter is
-      treated as a pointer.
-      
-floatdouble
-   float and double are equivalent
-   Category: typeequivalence
-   Mode Settings: +---
-   Set locally
-      To make float and double types equivalent, use +floatdouble.
-      
-forblock
-   the body of a for statement is not a block
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      Loop body is a single statement, not a compound block.
-      
-forcehints
-   provide a hint for every warnings
-   Categories: hints, format
-   Default Setting: -
-   Set locally
-      Provide a hint for every warning
-      
-forempty
-   a for statement has no body
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      For statement has no body.
-      
-forloopexec
-   assume all for loops execute at least once
-   Categories: controlflow, memory
-   Default Setting: -
-   Set locally
-   
-formalarray
-   formal parameter is an array
-   Categories: declarations, 
-   Default Setting: -
-   Set locally
-      A formal parameter is declared as an array.  This can be confusing, since
-      a formal array parameter is treated as a pointer.
-      
-formatcode
-   invalid format code in format string for printf or scanf-like function
-   Default Setting: +
-   Set locally
-      Format code in a format string is not valid.
-      
-formatconst
-   format parameter is not a string constant (hence variable arguments cannot
-   be typechecked)
-   Mode Settings: -+++
-   Set locally
-      Format parameter is not known at compile-time.  This can lead to security
-      vulnerabilities because the arguments cannot be type checked.
-      
-formattype
-   type-mismatch in parameter corresponding to format code in a printf or
-   scanf-like function
-   Default Setting: +
-   Set locally
-      Type of parameter is not consistent with corresponding code in format
-      string.
-      
-forwarddecl
-   forward declarations of pointers to abstract representation match abstract
-   type
-   Categories: typeequivalence, abstract
-   Mode Settings: +---
-   Set locally
-   
-freshtrans
-   fresh storage transferred to non-only reference (memory leak)
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Fresh storage (newly allocated in this function) is transferred in a way
-      that the obligation to release storage is not propagated.  Use the
-      /*@only@*/ annotation to indicate the a return value is the only
-      reference to the returned storage.
-      
-fullinitblock
-   initializer sets all fields
-   Category: definition
-   Default Setting: +
-   Set locally
-      Initializer does not set every field in the structure.
-      
-globalias
-   function returns with global aliasing external state (sets
-   checkstrictglobalias, checkedglobalias, checkmodglobalias and
-   uncheckedglobalias)
-   Categories: aliasing, globals
-   Default Setting: -
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-globalprefix
-   set namespace prefix for global variables
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A global variable does not start with the globalprefix
-      
-globalprefixexclude
-   the globalprefix may not be used for non-global identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a global variable starts with the globalprefix.
-      
-globimponly
-   assume unannotated global storage is only
-   Categories: memory, implicit
-   Default Setting: +
-   Set locally
-   
-globnoglobs
-   use of checked global in a function with no globals list or specification
-   Categories: globals, unconstrained
-   Mode Settings: ---+
-   Set locally
-      A specified global variable is used in the function, but not listed in
-      its globals list. Without +globnoglobs, only globals declared with
-      /*@checkedstrict@*/ will produce use errors in functions without globals
-      lists. The /*@globals ... @*/ control comment can be used to give a
-      globals list for an unspecified function.
-      
-globs
-   undocumented use of a checked global variable
-   Categories: globals, specifications
-   Default Setting: +
-   Set locally
-      A checked global variable is used in the function, but not listed in its
-      globals clause. By default, only globals specified in .lcl files are
-      checked. To check all globals, use +allglobals. To check globals
-      selectively use /*@checked@*/ in the global declaration.
-      
-globsimpmodsnothing
-   functions declared with a globals list but no modifies clause are assumed to
-   modify nothing
-   Categories: modification, globals
-   Mode Settings: --++
-   Set locally
-      An implicit modifies nothing clause is assumed for a function declared
-      with a globals list but not modifies clause.
-      
-globstate
-   returns with global in inconsistent state (null or undefined)
-   Category: globals
-   Mode Settings: -+++
-   Set locally
-      A global variable does not satisfy its annotations when control is
-      transferred.
-      
-globuse
-   global listed for a function not used
-   Categories: globals, specifications
-   Mode Settings: ++++
-   Set locally
-      A global variable listed in the function's globals list is not used in
-      the body of the function.
-      
-gnuextensions
-   support some gnu (gcc) language extensions
-   Categories: , ansi
-   Default Setting: +
-   Set locally
-      ANSI C does not allow some language features supported by gcc and other
-      compilers. Use +gnuextensions to allow some of these extensions.
-      
-grammar
-   debug parsing
-   Category: debug
-   Default Setting: -
-   Set locally
-   
-hasyield
-   iter declaration has no yield parameters
-   Category: iterators
-   Default Setting: -
-   Set locally
-      An iterator has been declared with no parameters annotated with yield.
-      This may be what you want, if the iterator is meant to do something a
-      fixed number of times, but returns no information to the calling context.
-      Probably, a parameter is missing the yield annotation to indicate that it
-      is assigned a value in the calling context.
-      
-help
-   -help <flags> will describe flags
-   Category: help
-   Default Setting: -
-   Set globally only
-      Display help
-      
-hints
-   provide a hint the first time a particular warning appears
-   Categories: hints, format
-   Default Setting: +
-   Set locally
-      Provide a hint the first time a particular warning appears
-      
-i
-   set LCL initilization file
-   Categories: initializations, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-   
-ifblock
-   the body of an if statement is not a block
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      If body is a single statement, not a compound block.
-      
-ifempty
-   an if statement has no body
-   Category: controlflow
-   Mode Settings: ++++
-   Set locally
-      If statement has no body.
-      
-ignorequals
-   ignore type qualifiers (long, short, unsigned)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To ignore type qualifiers in type comparisons use +ignorequals.
-      
-ignoresigns
-   ignore signs in type comparisons (unsigned matches signed)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To ignore signs in type comparisons use +ignoresigns
-      
-immediatetrans
-   an immediate address (result of &) is transferred inconsistently
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      An immediate address (result of & operator) is transferred
-      inconsistently.
-      
-impabstract
-   assume user type definitions are abstract (unless /*@concrete@*/ is used)
-   Categories: abstract, implicit
-   Default Setting: -
-   Set locally
-   
-impcheckedglobs
-   assume checked qualifier for unqualified global declarations
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impcheckedspecglobs
-   assume checked qualifier for unqualified global declarations in .lcl files
-   Categories: globals, unconstrained
-   Mode Settings: -+++
-   Set locally
-   
-impcheckedstatics
-   assume checked qualifier for unqualified file static declarations
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impcheckedstrictglobs
-   assume checkedstrict qualifier for unqualified global declarations
-   Categories: globals, unconstrained
-   Mode Settings: ---+
-   Set locally
-   
-impcheckedstrictspecglobs
-   assume checkmod qualifier for unqualified global declarations in .lcl files
-   Categories: globals, unconstrained
-   Mode Settings: ---+
-   Set locally
-   
-impcheckedstrictstatics
-   assume checkedstrict qualifier for unqualified file static declarations
-   Categories: globals, unconstrained
-   Mode Settings: ---+
-   Set locally
-   
-impcheckmodglobs
-   assume checkmod qualifier for unqualified global declarations
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impcheckmodinternals
-   assume checkmod qualifier for unqualified local static declarations (for
-   internal state modifications)
-   Categories: globals, unconstrained
-   Mode Settings: --++
-   Set locally
-   
-impcheckmodspecglobs
-   assume checkmod qualifier for unqualified global declarations in .lcl files
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impcheckmodstatics
-   assume checkmod qualifier for unqualified file static declarations
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impconj
-   make all alternate types implicit (useful for making system libraries
-   Category: libraries
-   Default Setting: -
-   Set locally
-   
-implementationoptional
-   declarator is implementation optional (ISO99 does not require an
-   implementation to provide it)
-   Categories: warnuse, security
-   Mode Settings: --++
-   Set locally
-      Use of a declarator that is implementation optional, not required by
-      ISO99.
-      
-implictconstraint
-   generate implicit constraints for functions
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-   
-impouts
-   pointer parameters to unspecified functions may be implicit out parameters
-   Categories: definition, implicit
-   Mode Settings: ----
-   Set locally
-   
-imptype
-   variable declaration has unknown (implicitly int) type
-   Categories: declarations, 
-   Mode Settings: -+++
-   Set locally
-      A variable declaration has no explicit type.  The type is implicitly int.
-      
-includenest
-   set maximum number of nested #include files (ANSI89 minimum is 8;
-   ISO99 is 63)
-   Categories: limits, ansi
-   Mode Settings: --++
-   Set locally
-   Numeric Argument.  Default: 63
-      Maximum number of nested #include files exceeded.
-      
-incompletetype
-   formal parameter has an incomplete type
-   Categories: declarations, 
-   Default Setting: +
-   Set locally
-      A formal parameter is declared with an incomplete type.
-      
-incondefs
-   function, variable or constant redefined with inconsistent type
-   Categories: declarations, 
-   Mode Settings: -+++
-   Set locally
-      A function, variable or constant is redefined with a different type.
-      
-incondefslib
-   function, variable or constant defined in a library is redefined with
-   inconsistent type
-   Categories: declarations, libraries
-   Mode Settings: -+++
-   Set locally
-      A function, variable or constant previously defined in a library is
-      redefined with a different type.
-      
-indentspaces
-   set number of spaces to indent sub-messages
-   Categories: format, display
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 3
-   
-infloops
-   likely infinite loop is detected
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      This appears to be an infinite loop. Nothing in the body of the loop or
-      the loop test modifies the value of the loop test. Perhaps the
-      specification of a function called in the loop body is missing a
-      modification.
-      
-infloopsuncon
-   likely infinite loop is detected (may result from unconstrained function)
-   Category: controlflow
-   Mode Settings: --++
-   Set locally
-      This appears to be an infinite loop. Nothing in the body of the loop or
-      the loop test modifies the value of the loop test. There may be a
-      modification through a call to an unconstrained function, or an
-      unconstrained function in the loop test may use a global variable
-      modified by the loop body.
-      
-initallelements
-   initializer defines all array elements
-   Category: definition
-   Default Setting: +
-   Set locally
-      Initializer does not define all elements of a declared array.
-      
-initsize
-   initializer defines extra array elements
-   Category: definition
-   Default Setting: +
-   Set locally
-      Initializer block contains more elements than the size of a declared
-      array.
-      
-internalglobs
-   use of internalState
-   Category: globals
-   Mode Settings: ---+
-   Set locally
-      A called function uses internal state, but the globals list for the
-      function being checked does not include internalState
-      
-internalglobsnoglobs
-   use of internalState (in function with no globals list)
-   Category: globals
-   Mode Settings: ---+
-   Set locally
-      A called function uses internal state, but the function being checked has
-      no globals list
-      
-internalnamecaseinsensitive
-   set whether case is significant an internal names (-internalnamecaseinsensiti
-   ve means case is significant)
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-      Set whether case is significant an internal names (-internalnamecaseinsens
-      itive means case is significant). By ANSI89 default, case is not
-      significant.  If +distinctinternalnames is not set, sets
-      +distinctinternalnames with unlimited internal name length.
-      
-internalnamelen
-   set the number of significant characters in an internal name
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 63
-      Sets the number of significant characters in an internal name (ANSI89
-      default is 31.)  Sets +distinctinternalnames.
-      
-internalnamelookalike
-   lookalike characters match in internal names
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-      Set whether similar looking characters (e.g., "1" and "l") match in
-      internal names.
-      
-iso99limits
-   check for violations of standard limits (controlnestdepth, stringliterallen,
-   includenest, numstructfields, numenummembers) based on ISO99 standard
-   Categories: limits, ansi
-   Default Setting: -
-   Set locally
-   
-isolib
-   use normal standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      Library based on the ISO standard library specification is used.
-      
-isoreserved
-   external name conflicts with name reserved for system or standard library
-   Categories: names, ansi
-   Mode Settings: --++
-   Set locally
-      External name is reserved for system use by ISO C99 standard.
-      
-isoreservedinternal
-   internal name conflicts with name reserved for system or standard library
-   Categories: names, ansi
-   Mode Settings: ---+
-   Set locally
-      Internal name is reserved for system in ISO C99 standard (this should not
-      be necessary unless you are worried about C library implementations that
-      violate the standard and use macros).
-      
-iterbalance
-   iter is not balanced with end_<iter>
-   Category: iterators
-   Default Setting: +
-   Set locally
-   
-iterloopexec
-   assume all iterator loops execute at least once
-   Categories: controlflow, memory
-   Default Setting: -
-   Set locally
-   
-iterprefix
-   set namespace prefix for iterators
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      An iter does not start with the iterator prefix
-      
-iterprefixexclude
-   the iterprefix may not be used for non-iter identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a iter starts with the iterprefix.
-      
-iteryield
-   iter yield parameter is inappropriate
-   Category: iterators
-   Default Setting: +
-   Set locally
-   
-its4low
-   risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as risky in its4 database.
-      
-its4moderate
-   moderately risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as moderate risk in its4 database.
-      
-its4mostrisky
-   most risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as most risky in its4 database.
-      
-its4risky
-   risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as risky in its4 database.
-      
-its4veryrisky
-   very risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as very risky in its4 database.
-      
-keep
-   do not delete temporary files
-   Category: debug
-   Default Setting: -
-   Set locally
-   
-keeptrans
-   keep storage transferred inconsistently
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Keep storage is transferred inconsistently --- either in a way that may
-      add a new alias to it, or release it.
-      
-kepttrans
-   kept storage transferred to non-temporary reference
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      storage is transferred to a non-temporary reference after being passed as
-      keep parameter. The storage may be released or new aliases created.
-      
-larchpath
-   set path for searching for library files (overrides LARCH_PATH environment
-   variable)
-   Categories: directories, files
-   Default Setting: -
-   Set globally only
-   Path argument.  Default: .:/usr/local/share/splint/lib:/af9/drl7x/reTmp/LCLin
-   tDev/lib:
-   
-lclexpect
-   expect <int> spec errors
-   Categories: <No Category>, errors
-   Default Setting: -
-   Set globally only
-   Numeric Argument.  Default: 0
-   
-lclimportdir
-   set directory to search for LCL import files (overrides LCLIMPORTDIR)
-   Categories: directories, files
-   Default Setting: -
-   Set globally only
-   Directory argument.  Default: .:/usr/local/share/splint/imports:/af9/drl7x/re
-   Tmp/LCLintDev/imports
-   
-lcs
-   generate .lcs files
-   Categories: headers, specifications
-   Default Setting: +
-   Set globally only
-   
-legacy
-   legacy declaration in Unix Standard
-   Category: warnuse
-   Mode Settings: ----
-   Set locally
-      Use of a declarator that is marked as a legacy entry in the Unix
-      Standard.
-      
-lh
-   generate .lh files
-   Categories: headers, specifications
-   Default Setting: -
-   Set globally only
-   
-libmacros
-   check all macros with declarations in library as functions
-   Category: macros
-   Default Setting: -
-   Set locally
-      Every macro declared in the load library is checked.
-      
-likelybool
-   type name is probably a boolean type but does not match default boolean type
-   name, "bool", and alternate name is not set
-   Categories: booleans, help
-   Default Setting: +
-   Set locally
-      Use the -booltype, -boolfalse and -booltrue flags to change the name of
-      the default boolean type.
-      
-limit
-   limit <int> consecutive repeated errors
-   Categories: suppress, errors
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: -1
-   
-linelen
-   set length of messages (number of chars)
-   Categories: format, display
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 80
-   
-lintcomments
-   interpret traditional lint comments (/*FALLTHROUGH*/, /*NOTREACHED*/)
-   Categories: syncomments, suppress
-   Default Setting: +
-   Set locally
-   
-load
-   load state from dump file (default suffix .lcd)
-   Categories: libraries, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-   
-localprefix
-   set namespace prefix for local variables
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A local variable does not start with the localprefix
-      
-localprefixexclude
-   the localprefix may not be used for non-local identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a local variable starts with the localprefix.
-      
-longintegral
-   allow long type to match an arbitrary integral type (e.g., dev_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To allow arbitrary integral types to match long unsigned, use
-      +longintegral.
-      
-longsignedintegral
-   allow long type to match an arbitrary signed integral type (e.g., ssize_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To allow arbitrary signed integral types to match long unsigned, use
-      +longsignedintegral.
-      
-longunsignedintegral
-   allow long unsigned type to match an arbitrary integral type (e.g., dev_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: +---
-   Set locally
-      To allow arbitrary integral types to match long unsigned, use
-      +longunsignedintegral.
-      
-longunsignedunsignedintegral
-   allow long unsigned type to match an arbitrary unsigned integral type (e.g.,
-   size_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: +---
-   Set locally
-      To allow arbitrary unsigned integral types to match long unsigned, use
-      +longunsignedunsignedintegral.
-      
-loopexec
-   assume all loops execute at least once (sets forloopexec, whileloopexec and
-   iterloopexec)
-   Categories: controlflow, memory
-   Default Setting: -
-   Set locally
-   
-looploopbreak
-   break inside nested while or for
-   Category: controlflow
-   Mode Settings: --++
-   Set locally
-      A break statement appears inside the body of a nested while or for
-      statement. This is perfectly reasonable code, but check that the break is
-      intended to break only the inner loop. The break statement may be
-      preceded by /*@innerbreak@*/ to suppress the message for this break only.
-      
-looploopcontinue
-   continue inside nested loop
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      A continue statement appears inside a loop within a loop. This is
-      perfectly reasonable code, but check that the continue is intended to
-      continue only the inner loop. The continue statement may be preceded by
-      /*@innercontinue@*/ to suppress the message for this continue only.
-      
-loopswitchbreak
-   break in switch inside loop
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      A break statement appears inside a switch statement within a while or for
-      loop. This is perfectly reasonable code, but check that the break is
-      intended to break only the inner loop. The break statement may be
-      preceded by /*@switchbreak@*/ to suppress the message for this break
-      only.
-      
-macroassign
-   assignment to a macro parameter
-   Categories: macros, parameters
-   Mode Settings: -+++
-   Set locally
-      A macro parameter is used as the left side of an assignment expression.
-      This exhibits behavior that could not be implemented by a function.
-      
-macroconstdecl
-   non-parameterized macro without prototype or specification
-   Categories: macros, prototypes
-   Mode Settings: -+++
-   Set locally
-      Macro constant has no declaration. Use /*@constant ...@*/ to declare the
-      macro.
-      
-macrodecl
-   macro without prototype or specification (sets macrofcndecl and
-   macroconstdecl)
-   Categories: macros, prototypes
-   Mode Settings: ----
-   Set locally
-      Argument checking cannot be done well for macros without prototypes or
-      specifications, since the types of the arguments are unknown.
-      
-macroempty
-   macro definition for is empty
-   Category: macros
-   Mode Settings: ---+
-   Set locally
-      A macro definition has no body.
-      
-macrofcndecl
-   parameterized macro without prototype or specification
-   Categories: macros, prototypes
-   Mode Settings: -+++
-   Set locally
-      Function macro has no declaration.
-      
-macromatchname
-   macro definition does not match iter or constant declaration
-   Category: macros
-   Mode Settings: ++++
-   Set locally
-      A iter or constant macro is defined using a different name from the one
-      used in the previous syntactic comment
-      
-macroparams
-   macro parameter not used exactly once
-   Categories: macros, parameters
-   Mode Settings: -+++
-   Set locally
-      A macro parameter is not used exactly once in all possible invocations of
-      the macro. To behave like a function, each macro parameter must be used
-      exactly once on all invocations of the macro so that parameters with
-      side-effects are evaluated exactly once. Use /*@sef@*/ to denote
-      parameters that must be side-effect free.
-      
-macroparens
-   macro parameter used without parentheses (in potentially dangerous context)
-   Category: macros
-   Mode Settings: -+++
-   Set locally
-      A macro parameter is used without parentheses. This could be dangerous if
-      the macro is invoked with a complex expression and precedence rules will
-      change the evaluation inside the macro.
-      
-macroredef
-   macro redefined
-   Category: macros
-   Mode Settings: -+++
-   Set locally
-      A macro is defined in more than one place.
-      
-macroreturn: <invalid flag>
-
-macrostmt
-   macro definition is syntactically not equivalent to function
-   Category: macros
-   Mode Settings: -+++
-   Set locally
-      A macro is defined in a way that may cause syntactic problems. If the
-      macro returns a value, use commas to separate expressions;
-      otherwise, use do { <macro body> } while (FALSE) construct.
-      
-macrounrecog
-   unrecognized identifier in macro
-   Categories: macros, unrecognized
-   Mode Settings: -+++
-   Set locally
-      An unrecognized identifier appears in a macro. If the identifier is
-      defined before the macro is used, then this is okay.
-      
-macrovarprefix
-   set namespace prefix for variables declared in a macro body
-   Categories: names, prefixes
-   Default Setting: +
-   Set locally
-   String argument.  Default: m_
-      A variable declared in a macro body does not start with the
-      macrovarprefix.
-      
-macrovarprefixexclude
-   the macrovarprefix may not be used for non-macro variables
-   Categories: names, prefixes
-   Default Setting: +
-   Set locally
-      A variable declared outside a macro body starts with the macrovarprefix.
-      
-maintype
-   type of main does not match expected type
-   Categories: systemfunctions, 
-   Default Setting: +
-   Set locally
-      The function main does not match the expected type.
-      
-matchanyintegral
-   allow any intergral type to match an arbitrary integral type (e.g., dev_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To allow arbitrary integral types to match any integral type, use
-      +matchanyintegral.
-      
-matchfields
-   struct or enum type redefined with inconsistent fields or members
-   Categories: declarations, 
-   Mode Settings: -+++
-   Set locally
-      A struct, union or enum type is redefined with inconsistent fields or
-      members.
-      
-mayaliasunique
-   unique parameter may be aliased
-   Categories: aliasing, memory
-   Mode Settings: -+++
-   Set locally
-      A unique or only parameter may be aliased by some other parameter or
-      visible global.
-      
-memchecks
-   sets all dynamic memory checking flags (memimplicit, mustfree, mustdefine,
-   mustnotalias, null, memtrans)
-   Category: memory
-   Default Setting: -
-   Set locally
-   
-memimp
-   memory errors for unqualified storage
-   Categories: memory, implicit
-   Mode Settings: -+++
-   Set locally
-   
-memtrans
-   memory transfer errors (sets all *trans flags)
-   Category: memory
-   Default Setting: -
-   Set locally
-      Memory is transferred in a way that violates annotations.
-      
-misplacedsharequal
-   declaration of unsharable storage uses sharing annotation
-   Categories: declarations, 
-   Mode Settings: -+++
-   Set locally
-      A declaration of an unsharable object uses a sharing annotation.
-      
-misscase
-   switch on enum type missing case for some value
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      Not all values in an enumeration are present as cases in the switch.
-      
-modfilesys
-   report undocumented file system modifications (applies to unspecified
-   functions if modnomods is set)
-   Categories: modification, unconstrained
-   Mode Settings: ---+
-   Set locally
-   
-modglobs
-   undocumented modification of a checked global variable
-   Categories: globals, modification
-   Mode Settings: -+++
-   Set locally
-      A checked global variable is modified by the function, but not listed in
-      its modifies clause.
-      
-modglobsnomods
-   undocumented modification of a checked global variable in a function
-   declared with no modifies clause
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      A checked global variable is modified by the function, but not listed in
-      its modifies clause.
-      
-modglobsunchecked
-   undocumented modification of an unchecked checked global variable
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      An unchecked global variable is modified by the function, but not listed
-      in its modifies clause.
-      
-modinternalstrict
-   possible modification of internal storage through function call
-   Categories: modification, memory
-   Mode Settings: ---+
-   Set locally
-      A function that modifies internalState is called from a function that
-      does not list internalState in its modifies clause
-      
-modnomods
-   modification in a function with no modifies clause
-   Categories: modification, unconstrained
-   Mode Settings: ---+
-   Set locally
-      An externally-visible object is modified by a function with no
-      /*@modifies@*/ comment. The /*@modifies ... @*/ control comment can be
-      used to give a modifies list for an unspecified function.
-      
-modobserver
-   possible modification of observer storage
-   Categories: modification, memory
-   Default Setting: +
-   Set locally
-      Storage declared with observer is possibly modified. Observer storage may
-      not be modified.
-      
-modobserveruncon
-   possible modification of observer storage through unconstrained call
-   Categories: modification, memory
-   Mode Settings: ---+
-   Set locally
-      Storage declared with observer may be modified through a call to an
-      unconstrained function.
-      
-mods
-   unspecified modification of caller-visible state
-   Categories: modification, specifications
-   Default Setting: +
-   Set locally
-      An externally-visible object is modified by a function, but not listed in
-      its modifies clause.
-      
-modsimpnoglobs
-   functions declared with a modifies clause but no globals list are assumed to
-   use no globals
-   Categories: modification, globals
-   Mode Settings: ----
-   Set locally
-      An implicit empty globals list is assumed for a function declared with a
-      modifies clause but no globals list.
-      
-modstrictglobsnomods
-   undocumented modification of a strict checked global variable in a function
-   declared with no modifies clause
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      A checked global variable is modified by the function, but not listed in
-      its modifies clause.
-      
-moduncon
-   possible modification through a call to an unconstrained function
-   Categories: modification, unconstrained
-   Mode Settings: ---+
-   Set locally
-      An unconstrained function is called in a function body where
-      modifications are checked. Since the unconstrained function may modify
-      anything, there may be undetected modifications in the checked function.
-      
-modunconnomods
-   possible modification through a call to an unconstrained function in a
-   function with no modifies clause
-   Categories: modification, unconstrained
-   Mode Settings: ---+
-   Set locally
-      An unconstrained function is called in a function body where
-      modifications are checked. Since the unconstrained function may modify
-      anything, there may be undetected modifications in the checked function.
-      
-modunspec
-   modification in unspecified functions (sets modnomods, modglobunspec and
-   modstrictglobsunspec)
-   Categories: modification, unconstrained
-   Default Setting: -
-   Set locally
-   
-mts
-   load meta state declaration and corresponding xh file
-   Categories: extensible, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-   
-multithreaded
-   function is not reentrant
-   Categories: warnuse, security
-   Mode Settings: --++
-   Set locally
-      Non-reentrant function should not be used in multithreaded code.
-      
-mustdefine
-   out storage not defined before return or scope exit
-   Categories: memory, definition
-   Mode Settings: -+++
-   Set locally
-      An out parameter or global is not defined before control is transferred.
-      
-mustfree
-   fresh or only storage not released before return or scope exit (sets
-   mustfreefresh and mustfreeonly)
-   Categories: memory, leaks
-   Default Setting: -
-   Set locally
-      A memory leak has been detected.
-      
-mustfreefresh
-   freshly allocated storage not released before return or scope exit
-   Categories: memory, leaks
-   Mode Settings: -+++
-   Set locally
-      A memory leak has been detected. Storage allocated locally is not
-      released before the last reference to it is lost.
-      
-mustfreeonly
-   only storage not released before return or scope exit
-   Categories: memory, leaks
-   Mode Settings: -+++
-   Set locally
-      A memory leak has been detected. Only-qualified storage is not released
-      before the last reference to it is lost.
-      
-mustmod
-   specified modification is not detected
-   Categories: modification, specifications
-   Mode Settings: --++
-   Set locally
-      An object listed in the modifies clause is not modified by the
-      implementation of the function. The modification may not be detected if
-      it is done through a call to an unspecified function.
-      
-mustnotalias
-   temp storage aliased at return point or scope exit
-   Categories: aliasing, memory
-   Mode Settings: -+++
-   Set locally
-      An alias has been added to a temp-qualifier parameter or global that is
-      visible externally when the function returns. If the aliasing is needed,
-      use the /*@shared@*/ annotation to indicate that new aliases to the
-      parameter may be created.
-      
-mutrep
-   representation of mutable type has sharing semantics
-   Category: abstract
-   Mode Settings: -+++
-   Set locally
-      LCL semantics requires that a mutable type exhibits sharing semantics. In
-      order for objects to be shared a indirection is necessary in the
-      representation. A mutable type may be represented by a pointer or an
-      abstract mutable type. Handles into static data are fine, too, but will
-      generate this error message unless it is suppressed.
-      
-namechecks
-   controls name checking without changing other settings
-   Categories: names, abstract
-   Default Setting: +
-   Set locally
-   
-needspec
-   information in specifications is not also included in syntactic comments
-   Categories: initializations, specifications
-   Default Setting: -
-   Set locally
-      There is information in the specification that is not duplicated in
-      syntactic comments. Normally, this is not an error, but it may be useful
-      to detect it to make sure checking incomplete systems without the
-      specifications will still use this information.
-      
-nestcomment
-   comment begins inside comment
-   Categories: comments, 
-   Default Setting: +
-   Set locally
-      A comment open sequence (/*) appears within a comment.  This usually
-      means an earlier comment was not closed.
-      
-nestedextern
-   an extern declaration is inside a function scope
-   Category: declarations
-   Mode Settings: -+++
-   Set locally
-      An extern declaration is used inside a function scope.
-      
-neverinclude
-   optimize header inclusion to not include any header files
-   Categories: headers, performance
-   Default Setting: -
-   Set globally only
-      Ignore header includes. Only works if relevant information is loaded from
-      a library.
-      
-newdecl
-   report new global declarations in source files
-   Categories: declarations, libraries
-   Default Setting: -
-   Set locally
-      There is a new declaration that is not declared in a loaded library or
-      earlier file.  (Use this flag to check for consistency against a
-      library.)
-      
-newreftrans
-   new reference transfer to reference counted reference
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      A new reference is transferred to a reference counted reference.
-      
-nextlinemacros
-   the line after a constant or iter declaration must be a macro definition
-   Category: macros
-   Default Setting: +
-   Set locally
-      A constant or iter declaration is not immediately followed by a macro
-      definition.
-      
-noaccess
-   ignore access comments
-   Categories: syncomments, abstract
-   Default Setting: -
-   Set locally
-   
-nocomments
-   ignore all stylized comments
-   Categories: syncomments, suppress
-   Default Setting: -
-   Set locally
-   
-noeffect
-   statement with no effect
-   Categories: effect, controlflow
-   Mode Settings: -+++
-   Set locally
-      Statement has no visible effect --- no values are modified.
-      
-noeffectuncon
-   statement with no effect (except possibly through call to unconstrained
-   function)
-   Categories: effect, controlflow
-   Mode Settings: ---+
-   Set locally
-      Statement has no visible effect --- no values are modified. It may modify
-      something through a call to an unconstrained function.
-      
-nof
-   do not read options file
-   Categories: initializations, files
-   Default Setting: -
-   Set globally only
-      Do not read the default options file (~/.splintrc)
-      
-nolib
-   do not load standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-   
-noparams
-   function declaration has no parameter list
-   Categories: prototypes, ansi
-   Mode Settings: --++
-   Set locally
-      A function declaration does not have a parameter list.
-      
-nopp
-   do not pre-process input files
-   Category: debug
-   Default Setting: -
-   Set locally
-   
-noret
-   path with no return detected in non-void function
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      There is a path through a function declared to return a value on which
-      there is no return statement. This means the execution may fall through
-      without returning a meaningful result to the caller.
-      
-null
-   misuses of null pointer
-   Categories: null, memory
-   Default Setting: -
-   Set locally
-      A possibly null pointer is misused (sets nullderef, nullpass, nullref,
-      nullassign, and nullstate).
-      
-nullassign
-   inconsistent assignment or initialization involving null pointer
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      A reference with no null annotation is assigned or initialized to NULL. 
-      Use /*@null@*/ to declare the reference as a possibly null pointer.
-      
-nullderef
-   possible dereferencce of null pointer
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      A possibly null pointer is dereferenced.  Value is either the result of a
-      function which may return null (in which case, code should check it is
-      not null), or a global, parameter or structure field declared with the
-      null qualifier.
-      
-nullpass
-   possibly null pointer passed as formal with no null annotation
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      A possibly null pointer is passed as a parameter corresponding to a
-      formal parameter with no /*@null@*/ annotation.  If NULL may be used for
-      this parameter, add a /*@null@*/ annotation to the function parameter
-      declaration.
-      
-nullptrarith
-   arithmetic involving possibly null pointer and integer
-   Categories: operations, pointers
-   Mode Settings: --++
-   Set locally
-      Pointer arithmetic using a possibly null pointer and integer.
-      
-nullret
-   possibly null pointer returned as result with no null annotation
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      Function returns a possibly null pointer, but is not declared using
-      /*@null@*/ annotation of result.  If function may return NULL, add
-      /*@null@*/ annotation to the return value declaration.
-      
-nullstate
-   possibly null pointer reachable from a reference with no null annotation
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      A possibly null pointer is reachable from a parameter or global variable
-      that is not declared using a /*@null@*/ annotation.
-      
-nullterminated
-   misuse of nullterminated allocation
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      A possibly non-nullterminated string/memory is used/referenced as a
-      nullterminated one.
-      
-nullterminated
-   misuse of nullterminated allocation
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      A possibly non-nullterminated string/memory is used/referenced as a
-      nullterminated one.
-      
-numenummembers
-   set maximum number of members of an enum (ANSI89 minimum is 127;
-   ISO99 is 1023)
-   Categories: limits, ansi
-   Mode Settings: ---+
-   Set locally
-   Numeric Argument.  Default: 1023
-      Limit on maximum number of members of an enum is exceeded.
-      
-numliteral
-   int literals can be reals
-   Categories: typeequivalence, numbers
-   Mode Settings: ++--
-   Set locally
-      An int literal is used as any numeric type (including float and long
-      long). Use +numliteral to allow int literals to be used as any numeric
-      type.
-      
-numstructfields
-   set maximum number of fields in a struct or union (ANSI89 minimum is 127;
-   ISO99 is 1023)
-   Categories: limits, ansi
-   Mode Settings: ---+
-   Set locally
-   Numeric Argument.  Default: 1023
-      Maximum number of fields in a struct or union exceeded.
-      
-observertrans
-   observer transfer errors
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Observer storage is transferred to a non-observer reference.
-      
-obviousloopexec
-   assume loop that can be determined to always execute always does
-   Categories: controlflow, memory
-   Default Setting: +
-   Set locally
-   
-oldstyle
-   old style function definition
-   Categories: prototypes, ansi
-   Mode Settings: ---+
-   Set locally
-      Function definition is in old style syntax. Standard prototype syntax is
-      preferred.
-      
-onlytrans
-   only storage transferred to non-only reference (memory leak)
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      The only reference to this storage is transferred to another reference
-      (e.g., by returning it) that does not have the only annotation. This may
-      lead to a memory leak, since the new reference is not necessarily
-      released.
-      
-onlyunqglobaltrans
-   only storage transferred to an unqualified global or static reference
-   (memory leak)
-   Category: memory
-   Mode Settings: --++
-   Set locally
-      The only reference to this storage is transferred to another reference
-      that does not have an aliasing annotation. This may lead to a memory
-      leak, since the new reference is not necessarily released.
-      
-orconstraint
-   use limited OR expressions to resolve constraints
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-   
-overload
-   library function overloaded
-   Categories: declarations, libraries
-   Mode Settings: ----
-   Set locally
-      A function, variable or constant defined in the library is redefined with
-      a different type.
-      
-ownedtrans
-   owned storage transferred to non-owned reference (memory leak)
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      The owned reference to this storage is transferred to another reference
-      (e.g., by returning it) that does not have the owned annotation. This may
-      lead to a memory leak, since the new reference is not necessarily
-      released.
-      
-paramimptemp
-   assume unannotated parameter is temp
-   Categories: memory, implicit
-   Default Setting: +
-   Set locally
-   
-paramuse
-   function parameter not used 
-   Categories: alluse, parameters
-   Mode Settings: -+++
-   Set locally
-      A function parameter is not used in the body of the function. If the
-      argument is needed for type compatibility or future plans, use
-      /*@unused@*/ in the argument declaration.
-      
-parenfileformat
-   show column number where error is found
-   Categories: format, display
-   Default Setting: -
-   Set locally
-   
-partial
-   check as partial system (-specundef, -declundef, -exportlocal, don't check
-   macros in headers without corresponding .c files)
-   Categories: <No Category>, alluse
-   Default Setting: -
-   Set locally
-   
-passunknown
-   passing a value as an un-annotated parameter clears its annotation
-   Categories: memory, parameters
-   Mode Settings: ----
-   Set locally
-   
-portability
-   function may have undefined behavior
-   Categories: warnuse, security
-   Mode Settings: --++
-   Set locally
-      Use of function that may have implementation-dependent behavior.
-      
-posixlib
-   use POSIX standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      POSIX version of the standard library is used.
-      
-posixstrictlib
-   use strict POSIX standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      POSIX version of the strict standard library is used.
-      
-predassign
-   condition test (if, while or for) is an assignment
-   Categories: booleans, predicates
-   Default Setting: +
-   Set locally
-      The condition test is an assignment expression. Probably, you mean to use
-      == instead of =. If an assignment is intended, add an extra parentheses
-      nesting (e.g., if ((a = b)) ...) to suppress this message.
-      
-predbool
-   type of condition test (if, while or for) not bool (sets predboolint,
-   predboolptr and predboolothers)
-   Categories: booleans, predicates
-   Default Setting: -
-   Set locally
-      Test expression type is not boolean.
-      
-predboolint
-   type of condition test (if, while or for) is an integral type
-   Categories: predicates, booleans
-   Mode Settings: -+++
-   Set locally
-      Test expression type is not boolean or int.
-      
-predboolothers
-   type of condition test (if, while or for) not bool, int or pointer
-   Categories: booleans, predicates
-   Mode Settings: ++++
-   Set locally
-      Test expression type is not boolean.
-      
-predboolptr
-   type of condition test (if, while or for) is a pointer
-   Categories: booleans, predicates
-   Mode Settings: --++
-   Set locally
-      Test expression type is not boolean.
-      
-preproc
-   preprocessing error
-   Categories: , preproc
-   Default Setting: +
-   Set locally
-   
-protoparammatch
-   the name of a parameter in a function prototype and corresponding
-   declaration must match (after removing the protoparamprefix
-   Categories: names, prefixes
-   Mode Settings: --++
-   Set locally
-      A parameter in a function definition does not have the same name as the
-      corresponding in the declaration of the function after removing the
-      protoparamprefix
-      
-protoparamname
-   a parameter in a function prototype has a name
-   Categories: names, prefixes
-   Mode Settings: ---+
-   Set locally
-      A parameter in a function prototype has a name.  This is dangerous, since
-      a macro definition could be visible here.
-      
-protoparamprefix
-   set namespace prefix for parameters in function prototype declarations
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A parameter name in a function prototype declaration does not start with
-      the declaration parameter prefix
-      
-protoparamprefixexclude
-   the protoparamprefix may not be used for non-declaraction parameter
-   identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a parameter name in a function prototype starts
-      with the protoparamprefix.
-      
-ptrarith
-   arithmetic involving pointer and integer
-   Categories: operations, pointers
-   Mode Settings: ---+
-   Set locally
-      Pointer arithmetic using pointer and integer.
-      
-ptrcompare
-   comparison between pointer and number
-   Categories: operations, pointers
-   Mode Settings: -+++
-   Set locally
-      A pointer is compared to a number.
-      
-ptrnegate
-   allow ! to be used on pointer operand
-   Categories: booleans, pointers
-   Mode Settings: ++--
-   Set locally
-      The operand of ! operator is a pointer.
-      
-quiet
-   suppress herald and error count
-   Categories: display, errors
-   Default Setting: -
-   Set locally
-   
-readonlystrings
-   string literals are read-only (error if one is modified or released)
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      String literals are read-only. An error is reported if a string literal
-      may be modified or released.
-      
-readonlytrans
-   report memory transfer errors for initializations to read-only string
-   literals
-   Category: memory
-   Mode Settings: --++
-   Set locally
-      A read-only string literal is assigned to a non-observer reference.
-      
-realcompare
-   dangerous comparison between reals (dangerous because of inexact floating
-   point representations)
-   Category: operations
-   Mode Settings: -+++
-   Set locally
-      Two real (float, double, or long double) values are compared directly
-      using a C primitive. This may produce unexpected results since floating
-      point representations are inexact. Instead, compare the difference to
-      FLT_EPSILON or DBL_EPSILON.
-      
-redecl
-   function or variable redeclared
-   Category: declarations
-   Mode Settings: --++
-   Set locally
-      A function or variable is declared in more than one place. This is not
-      necessarily a problem, since the declarations are consistent.
-      
-redef
-   function or variable redefined
-   Category: declarations
-   Default Setting: +
-   Set locally
-      A function or variable is redefined. One of the declarations should use
-      extern.
-      
-redundantconstraints
-   display seemingly redundant constraints
-   Categories: memorybounds, display
-   Mode Settings: ----
-   Set locally
-      Display seemingly redundant constraints
-      
-redundantsharequal
-   declaration uses observer qualifier that is always true
-   Categories: declarations, 
-   Mode Settings: --++
-   Set locally
-      A declaration of an immutable object uses a redundant observer qualifier.
-      
-refcounttrans
-   reference counted storage is transferred in an inconsistent way
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Reference counted storage is transferred in a way that may not be
-      consistent with the reference count.
-      
-relaxquals
-   report qualifier mismatches only if dangerous
-   Categories: typeequivalence, numbers
-   Mode Settings: ++--
-   Set locally
-      To allow qualifier mismatches that are not dangerous, use +relaxquals.
-      
-relaxtypes
-   allow all numeric types to match
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To allow all numeric types to match, use +relaxtypes.
-      
-repeatunrecog
-   do not suppress repeated unrecognized identifier messages (instead of only
-   reporting the first error)
-   Categories: unrecognized, display
-   Default Setting: -
-   Set locally
-      Identifier used in code has not been declared. (Message repeated for
-      future uses in this file.)
-      
-repexpose
-   abstract representation is exposed (sets assignexpose, retexpose, and
-   castexpose)
-   Categories: exposure, abstract
-   Default Setting: -
-   Set locally
-      The internal representation of an abstract type is visible to the caller.
-      This means clients may have access to a pointer into the abstract
-      representation.
-      
-retalias
-   function returns alias to parameter or global
-   Category: aliasing
-   Mode Settings: --++
-   Set locally
-      The returned value shares storage with a parameter or global. If a
-      parameter is to be returned, use the returned qualifier. If the result is
-      not modified, use the observer qualifier on the result type. Otherwise,
-      exposed can be used, but limited checking is done.
-      
-retexpose
-   abstract representation is exposed (return values only)
-   Categories: exposure, abstract
-   Mode Settings: --++
-   Set locally
-      The return value shares storage with an instance of an abstract type.
-      This means clients may have access to a pointer into the abstract
-      representation. Use the observer qualifier to return exposed storage that
-      may not be modified by the client. Use the exposed qualifier to return
-      modifiable (but not deallocatable) exposed storage (dangerous).
-      
-retimponly
-   assume unannotated returned storage is only
-   Categories: memory, implicit
-   Default Setting: +
-   Set locally
-   
-retval
-   return value ignored (sets retvalint, retvalbool and retvalother)
-   Category: returnvals
-   Default Setting: -
-   Set locally
-      Result returned by function call is not used. If this is intended, cast
-      result to (void) to eliminate message.
-      
-retvalbool
-   return value of manifest type bool ignored
-   Categories: returnvals, booleans
-   Mode Settings: -+++
-   Set locally
-      Result returned by function call is not used. If this is intended, can
-      cast result to (void) to eliminate message.
-      
-retvalint
-   return value of type int ignored
-   Category: returnvals
-   Mode Settings: -+++
-   Set locally
-      Result returned by function call is not used. If this is intended, can
-      cast result to (void) to eliminate message.
-      
-retvalother
-   return value of type other than bool or int ignored
-   Categories: returnvals, booleans
-   Mode Settings: ++++
-   Set locally
-      Result returned by function call is not used. If this is intended, can
-      cast result to (void) to eliminate message.
-      
-sefparams
-   a parameter with side-effects is passed as a sef parameter
-   Categories: macros, parameters
-   Mode Settings: -+++
-   Set locally
-      An actual parameter corresponding to a sef parameter may have a
-      side-effect.
-      
-sefuncon
-   a parameter with unconstrained side-effects is passed as a sef parameter
-   Categories: macros, parameters
-   Mode Settings: --++
-   Set locally
-      An actual parameter corresponding to a sef parameter involves a call to a
-      procedure with no modifies clause that may have a side-effect.
-      
-shadow
-   declaration reuses name visible in outer scope
-   Category: declarations
-   Mode Settings: -+++
-   Set locally
-      An outer declaration is shadowed by the local declaration.
-      
-sharedtrans
-   shared storage transferred to non-shared reference
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Shared storage is transferred to a non-shared reference. The other
-      reference may release storage needed by this reference.
-      
-shiftimplementation
-   a shift left operand may be negative
-   Categories: operations, 
-   Mode Settings: -+++
-   Set locally
-      The left operand to a shift operator may be negative (behavior is
-      implementation-defined).
-      
-shiftnegative
-   a shift right operand may be negative
-   Categories: operations, 
-   Mode Settings: -+++
-   Set locally
-      The right operand to a shift operator may be negative (behavior
-      undefined).
-      
-showallconjs
-   show all possible types
-   Category: format
-   Default Setting: -
-   Set locally
-      When a library function is declared with multiple possible type, the
-      alternate types are shown only if +showallconjs.
-      
-showalluses
-   show sorted list of uses of all globals
-   Categories: display, alluse
-   Default Setting: -
-   Set globally only
-   
-showcolumn
-   show column number where error is found
-   Categories: format, display
-   Default Setting: +
-   Set locally
-   
-showconstraintlocation
-   display location for every constraint generated
-   Categories: memorybounds, display
-   Mode Settings: ----
-   Set locally
-   
-showconstraintparens
-   display parentheses around constraint terms
-   Categories: memorybounds, display
-   Mode Settings: ----
-   Set locally
-   
-showfunc
-   show name of function containing error
-   Category: format
-   Default Setting: +
-   Set locally
-   
-showscan
-   show file names are they are processed
-   Categories: display, files
-   Default Setting: -
-   Set locally
-   
-showsourceloc
-   display the source code location where a warning is produced
-   Category: debug
-   Default Setting: -
-   Set locally
-   
-showsummary
-   show summary of all errors reported and suppressed
-   Categories: display, errors
-   Default Setting: -
-   Set locally
-   
-singleinclude
-   optimize header inclusion to eliminate redundant includes
-   Categories: headers, performance
-   Default Setting: -
-   Set globally only
-      When checking multiple files, each header file is processed only once.
-      This may change the meaning of the code, if the same header file is
-      included in different contexts (e.g., the header file includes #if
-      directives and the values are different when it is included in different
-      places.)
-      
-sizeofformalarray
-   sizeof operator has an array formal parameter argument
-   Categories: operations, 
-   Default Setting: +
-   Set locally
-      Operand of a sizeof operator is a function parameter declared as an
-      array.  The value of sizeof will be the size of a pointer to the element
-      type, not the number of elements in the array.
-      
-sizeoftype
-   sizeof operator has a type argument
-   Categories: operations, 
-   Mode Settings: ---+
-   Set locally
-      Operand of sizeof operator is a type. (Safer to use expression, int *x =
-      sizeof (*x); instead of sizeof (int).)
-      
-skipansiheaders
-   prevent inclusion of header files in a system directory with names that
-   match standard ANSI headers. The symbolic information in the standard
-   library is used instead.  Flag in effect only if a library including the
-   ANSI library is loaded.  The ANSI headers are:
-   assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
-   stddef, stdio, stdlib, strings, string, time, and wchar.
-   Categories: directories, files
-   Default Setting: +
-   Set locally
-   
-skipposixheaders
-   prevent inclusion of header files in a system directory with names that
-   match standard POSIX headers. The symbolic information in the posix library
-   is used instead.  The POSIX headers are:
-   dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types,
-   sys/utsname, sys/wait, unistd, and utime.
-   Categories: directories, files
-   Default Setting: +
-   Set locally
-   
-skipsysheaders
-   do not include header files in system directories (set by -sysdirs)
-   Categories: headers, performance
-   Default Setting: -
-   Set globally only
-      Do not include header files in system directories (set by -sysdirs)
-      
-slashslashcomment
-   use of // comment
-   Categories: comments, 
-   Default Setting: -
-   Set locally
-      A // comment is used.  ISO C99 allows // comments, but earlier standards
-      did not.
-      
-slovak
-   slovak naming convention violated
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Name is not consistent with Slovak naming convention.
-      
-slovakconsts
-   slovak naming convention violated in a constant declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Constant name is not consistent with Slovak naming convention.
-      
-slovakfcns
-   slovak naming convention violated in a function or iterator declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Function or iterator name is not consistent with Slovak naming
-      convention.
-      
-slovakmacros
-   slovak naming convention violated in an expanded macro name
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Expanded macro name is not consistent with Slovak naming convention.
-      
-slovaktypes
-   slovak naming convention violated in a use-defined type definition
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Type name is not consistent with Slovak naming convention. Slovak type
-      names may not include uppercase letters.
-      
-slovakvars
-   slovak naming convention violated in a variable declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Variable name is not consistent with Slovak naming convention.
-      
-specglobimponly
-   assume unannotated global storage is only
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-specimponly
-   sets specglobimponly, specretimponly and specstructimponly
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-specmacros
-   check all macros corresponding to specified functions or constants
-   Category: macros
-   Default Setting: +
-   Set locally
-      Every macro declared a specification file is checked.
-      
-specretimponly
-   assume unannotated returned storage is only
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-specstructimponly
-   assume unannotated structure field is only
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-specundecl
-   function or variable specified but never declared in a source file
-   Categories: complete, specifications
-   Default Setting: -
-   Set locally
-      A function or variable is declared in an .lcl file, but not declared in
-      any source code file.
-      
-specundef
-   function or variable specified but never defined
-   Categories: complete, specifications
-   Mode Settings: -+++
-   Set locally
-      A function or variable is declared in an .lcl file, but not defined in
-      any source code file.
-      
-stackref
-   external reference to stack-allocated storage is created
-   Categories: memory, released
-   Mode Settings: ++++
-   Set locally
-      A stack reference is pointed to by an external reference when the
-      function returns. The stack-allocated storage is destroyed after the
-      call, leaving a dangling reference.
-      
-statemerge
-   control paths merge with storage in incompatible states
-   Categories: extensible, memory
-   Mode Settings: ++++
-   Set locally
-      Control path merge violates user-defined state merge rules.
-      
-statetransfer
-   storage has been transfered with invalid state
-   Categories: extensible, memory
-   Mode Settings: ++++
-   Set locally
-      Transfer violates user-defined state rules.
-      
-staticinittrans
-   static storage is used as an initial value in an inconsistent way
-   Category: memory
-   Mode Settings: --++
-   Set locally
-      Static storage is used as an initial value in an inconsistent way.
-      
-statictrans
-   static storage is transferred in an inconsistent way
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Static storage is transferred in an inconsistent way.
-      
-stats
-   display lines processed and time
-   Category: display
-   Default Setting: -
-   Set globally only
-   
-strictbranchstate
-   storage through array fetch has inconsistent states of alternate paths
-   through a branch
-   Category: memory
-   Mode Settings: ---+
-   Set locally
-      The state of a variable through an array fetch is different depending on
-      which branch is taken. This means no annotation can sensibly be applied
-      to the storage.
-      
-strictdestroy
-   report complete destruction errors for array elements that may have been
-   released
-   Categories: memory, leaks
-   Mode Settings: ---+
-   Set locally
-   
-strictlib
-   interpret standard library strictly
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      Stricter version of the standard library is used. (The default library is
-      standard.lcd;  strict library is strict.lcd.)
-      
-strictops
-   primitive operation does not type check strictly
-   Categories: operations, 
-   Mode Settings: ---+
-   Set locally
-      A primitive operation does not type check strictly.
-      
-strictusereleased
-   element used after it may have been released
-   Categories: memory, released
-   Mode Settings: ---+
-   Set locally
-      Memory (through fetch) is used after it may have been released (either by
-      passing as an only param or assigning to an only global).
-      
-stringliterallen
-   set maximum length of string literals (ANSI89 minimum is 509; ISO99 is 4095)
-   Categories: limits, ansi
-   Mode Settings: ---+
-   Set locally
-   Numeric Argument.  Default: 4095
-      Maximum length of string literal exceeded.
-      
-stringliteralnoroom
-   string literal leaves no room for null terminator
-   Mode Settings: -+++
-   Set locally
-      A string literal is assigned to a char array that is not big enough to
-      hold the null terminator.
-      
-stringliteralsmaller
-   string literal is smaller than the char array it is assigned to
-   Mode Settings: --++
-   Set locally
-      A string literal is assigned to a char array that smaller than the string
-      literal needs.
-      
-stringliteraltoolong
-   string literal too long for character array
-   Default Setting: +
-   Set locally
-      A string literal is assigned to a char array too small to hold it.
-      
-structimponly
-   assume unannotated structure field is only
-   Categories: memory, implicit
-   Default Setting: +
-   Set locally
-   
-supcounts
-   The number of errors detected does not match number in /*@i<n>@*/.
-   Categories: suppress, comments
-   Default Setting: +
-   Set globally only
-   
-superuser
-   function is restricted to superusers
-   Categories: warnuse, security
-   Mode Settings: --++
-   Set locally
-      Call to function restricted to superusers.
-      
-switchloopbreak
-   break in loop inside switch
-   Category: controlflow
-   Mode Settings: --++
-   Set locally
-      A break statement appears inside the body of a while or for statement
-      within a switch. This is perfectly reasonable code, but check that the
-      break is intended to break only the inner loop. The break statement may
-      be preceded by /*@loopbreak@*/ to suppress the message for this break
-      only.
-      
-switchswitchbreak
-   break in switch inside switch
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      A break statement appears inside a switch statement within another switch
-      statement. This is perfectly reasonable code, but check that the break is
-      intended to break only the inner switch. The break statement may be
-      preceded by /*@innerbreak@*/ to suppress the message for this break only.
-      
-syntax
-   syntax error in parsing
-   Default Setting: +
-   Set locally
-      Code cannot be parsed.  For help on parse errors, see splint -help
-      parseerrors.
-      
-sysdirerrors
-   report errors in files in system directories (set by -sysdirs)
-   Categories: directories, suppress
-   Mode Settings: ---+
-   Set locally
-   
-sysdirexpandmacros
-   expand macros in system directories regardless of other settings, except for
-   macros corresponding to names defined in a load library
-   Categories: directories, macros
-   Default Setting: +
-   Set locally
-   
-sysdirs
-   set directories for system files (default /usr/include). Separate
-   directories with path separator (colons in Unix, semi-colons in Windows).
-   Flag settings propagate to files in a system directory. If -sysdirerrors is
-   set, no errors are reported for files in system directories.
-   Categories: directories, files
-   Default Setting: -
-   Set globally only
-   Path argument.  Default: /usr/
-   
-sysunrecog
-   report unrecognized identifiers with system (__) prefix
-   Categories: unrecognized, display
-   Default Setting: +
-   Set locally
-      Identifier used in code has not been declared. (Message repeated for
-      future uses in this file.)  Use +gnuextensions to make Splint recognize
-      some keywords that are gnu extensions.
-      
-tagprefix
-   set namespace prefix for struct, union and enum tags
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A tag identifier does not start with the tagprefix.
-      
-tagprefixexclude
-   the tagprefix may not be used for non-tag identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a tag starts with the tagprefix.
-      
-temptrans
-   temp storage transferred to non-temporary reference
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Temp storage (associated with a formal parameter) is transferred to a
-      non-temporary reference. The storage may be released or new aliases
-      created.
-      
-timedist
-   display time distribution
-   Category: display
-   Default Setting: -
-   Set globally only
-   
-tmpcomments
-   interpret t comments (ignore errors in lines marked with /*@t<n>@*/
-   Categories: syncomments, suppress
-   Mode Settings: ----
-   Set locally
-   
-tmpdir
-   set directory for writing temp files
-   Categories: directories, files
-   Default Setting: -
-   Set globally only
-   Directory argument.  Default: /tmp/
-   
-toctou
-   possible time of check, time of use vulnerability
-   Categories: warnuse, security
-   Mode Settings: ---+
-   Set locally
-      Possible time of check, time of use vulnerability.
-      
-topuse
-   declaration at top level not used
-   Categories: alluse, complete
-   Mode Settings: ---+
-   Set locally
-      An external declaration not used in any source file.
-      
-trytorecover
-   try to recover from parse error
-   Default Setting: -
-   Set locally
-      Try to recover from parse error.  It really means try - this doesn't
-      usually work.
-      
-type
-   type mismatch
-   Default Setting: +
-   Set locally
-      Types are incompatible.
-      
-typeprefix
-   set namespace prefix for user-defined types
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A user-defined type does not start with the typeprefix
-      
-typeprefixexclude
-   the typeprefix may not be used for identifiers that are not type names
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a type name starts with the typeprefix.
-      
-typeuse
-   type declared but not used
-   Categories: alluse, 
-   Mode Settings: ++++
-   Set locally
-      A type is declared but not used. Use /*@unused@*/ in front of typedef to
-      suppress messages.
-      
-uncheckedglobalias
-   function returns with an unchecked global aliasing external state
-   Categories: aliasing, globals
-   Mode Settings: --++
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-uncheckedmacroprefix
-   set namespace prefix for unchecked macros
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      An unchecked macro name does not start with the uncheckedmacroprefix
-      
-uncheckedmacroprefixexclude
-   the uncheckmacroprefix may not be used for identifiers that are not
-   unchecked macros
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not the name of an unchecked macro starts with the
-      uncheckedmacroprefix.
-      
-uniondef
-   at least one field of a union must be defined
-   Categories: memory, definition
-   Mode Settings: -+++
-   Set locally
-      No field of a union is defined. Generally, one field of a union is
-      expected to be defined.
-      
-unixlib
-   use UNIX (sort-of) standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      UNIX version of the standard library is used.
-      
-unixstandard
-   function is not required in Standard UNIX Specification
-   Categories: warnuse, security
-   Mode Settings: ----
-   Set locally
-      Use of function that need not be provided by UNIX implementations
-      
-unixstrictlib
-   use strict version of UNIX (sort-of) library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      strict version of the UNIX library is used.
-      
-unqualifiedinittrans
-   unqualified storage is used as an initial value in an inconsistent way
-   Category: memory
-   Mode Settings: --++
-   Set locally
-      Unqualified storage is used as an initial value in an inconsistent way.
-      
-unqualifiedtrans
-   unqualified storage is transferred in an inconsistent way
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Unqualified storage is transferred in an inconsistent way.
-      
-unreachable
-   unreachable code detected
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      This code will never be reached on any possible execution.
-      
-unrecog
-   unrecognized identifier
-   Category: unrecognized
-   Default Setting: +
-   Set locally
-      Identifier used in code has not been declared.
-      
-unrecogcomments
-   stylized comment is unrecognized
-   Categories: syncomments, 
-   Default Setting: +
-   Set locally
-      Word after a stylized comment marker does not correspond to a stylized
-      comment.
-      
-unrecogdirective
-   unrecognized pre-processor directive
-   Categories: preproc, 
-   Default Setting: +
-   Set locally
-      Pre-processor directive is not recognized.
-      
-unrecogflagcomments
-   stylized flag comment uses an unrecognized flag
-   Categories: syncomments, 
-   Default Setting: +
-   Set locally
-      Semantic comment attempts to set a flag that is not recognized.
-      
-unsignedcompare
-   comparison using <, <=, >= between an unsigned integral and zero constant
-   Category: operations
-   Mode Settings: -+++
-   Set locally
-      An unsigned value is used in a comparison with zero in a way that is
-      either a bug or confusing.
-      
-unusedspecial
-   unused declaration in special file (corresponding to .l or .y file)
-   Categories: alluse, complete
-   Mode Settings: ---+
-   Set locally
-   
-usedef
-   use before definition
-   Category: definition
-   Mode Settings: -+++
-   Set locally
-      An rvalue is used that may not be initialized to a value on some
-      execution path.
-      
-usereleased
-   storage used after release
-   Categories: memory, released
-   Mode Settings: -+++
-   Set locally
-      Memory is used after it has been released (either by passing as an only
-      param or assigning to an only global).
-      
-usestderr
-   send error messages to standard error (instead of standard out)
-   Categories: display, errors
-   Default Setting: -
-   Set locally
-   
-usevarargs
-   non-standard <varargs.h> included
-   Categories: libraries, ansi
-   Default Setting: +
-   Set locally
-      Header <varargs.h> is not part of ANSI Standard. Should use <stdarg.h>
-      instead.
-      
-varuse
-   variable declared but not used
-   Category: alluse
-   Mode Settings: ++++
-   Set locally
-      A variable is declared but never used. Use /*@unused@*/ in front of
-      declaration to suppress message.
-      
-voidabstract
-   void * matches pointers to abstract types, casting ok (dangerous)
-   Categories: typeequivalence, abstract
-   Mode Settings: +---
-   Set locally
-      A pointer to void is cast to a pointer to an abstract type (or vice
-      versa).
-      
-warnflags
-   warn when command line sets flag in abnormal way
-   Category: help
-   Default Setting: +
-   Set locally
-      Command line sets flag in abnormal way
-      
-warnlintcomments
-   warn when a traditional lint comment is used
-   Categories: syncomments, suppress
-   Mode Settings: -+++
-   Set locally
-      A traditional lint comment is used. Some traditional lint comments are
-      interpreted by Splint to enable easier checking of legacy code. It is
-      preferable to replace these comments with the suggested Splint
-      alternative.
-      
-warnmissingglobs
-   global variable used in modifies clause is not listed in globals list
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      A global variable is used in the modifies clause, but it not listed in
-      the globals list.  The variable will be added to the globals list.
-      
-warnmissingglobsnoglobs
-   global variable used in modifies clause in a function with no globals list
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      A global variable is used in the modifies clause, but the function has no
-      globals list.  The variable will be added to the globals list.
-      
-warnposixheaders
-   a POSIX header is included, but the POSIX library is not used
-   Categories: libraries, ansi
-   Default Setting: +
-   Set locally
-      Header name matches a POSIX header, but the POSIX library is not
-      selected.
-      
-warnrc
-   warn when there are problems with reading the initialization files
-   Category: help
-   Default Setting: +
-   Set locally
-      There was a problem reading an initialization file
-      
-warnunixlib
-   warn when the unix library is used
-   Categories: libraries, ansi
-   Default Setting: +
-   Set locally
-      Unix library may not be compatible with all platforms
-      
-warnuse
-   warn when declaration marked with warn is used
-   Category: warnuse
-   Default Setting: +
-   Set locally
-      Declaration marked with warn clause is used (can be suppresed by more
-      specific flags).
-      
-whichlib
-   show standard library filename
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-   
-whileblock
-   the body of a while statement is not a block
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      While body is a single statement, not a compound block.
-      
-whileempty
-   a while statement has no body
-   Category: controlflow
-   Mode Settings: --++
-   Set locally
-      While statement has no body.
-      
-whileloopexec
-   assume all while loops execute at least once
-   Categories: controlflow, memory
-   Default Setting: -
-   Set locally
-   
-zerobool
-   treat 0 as a boolean
-   Categories: typeequivalence, booleans
-   Mode Settings: ++--
-   Set locally
-   
-zeroptr
-   tread 0 as a pointer
-   Categories: typeequivalence, pointers
-   Default Setting: +
-   Set locally
-   
-
-
-
-null
-===================================
-null: <S><P:->
-   A possibly null pointer is misused (sets nullderef, nullpass, nullref,
-   nullassign, and nullstate).
-nullderef: <M:-+++>
-   A possibly null pointer is dereferenced.  Value is either the result of a
-   function which may return null (in which case, code should check it is not
-   null), or a global, parameter or structure field declared with the null
-   qualifier.
-nullpass: <M:-+++>
-   A possibly null pointer is passed as a parameter corresponding to a formal
-   parameter with no /*@null@*/ annotation.  If NULL may be used for this
-   parameter, add a /*@null@*/ annotation to the function parameter
-   declaration.
-nullret: <M:-+++>
-   Function returns a possibly null pointer, but is not declared using
-   /*@null@*/ annotation of result.  If function may return NULL, add
-   /*@null@*/ annotation to the return value declaration.
-nullstate: <M:-+++>
-   A possibly null pointer is reachable from a parameter or global variable
-   that is not declared using a /*@null@*/ annotation.
-nullassign: <M:-+++>
-   A reference with no null annotation is assigned or initialized to NULL.  Use
-   /*@null@*/ to declare the reference as a possibly null pointer.
-
-definition
-===================================
-usedef: <M:-+++>
-   An rvalue is used that may not be initialized to a value on some execution
-   path.
-
-memory
-===================================
-mustdefine: <M:-+++>
-   An out parameter or global is not defined before control is transferred.
-uniondef: <M:-+++>
-   No field of a union is defined. Generally, one field of a union is expected
-   to be defined.
-compdef: <M:-+++>
-   Storage derivable from a parameter, return value or global is not defined.
-   Use /*@out@*/ to denote passed or returned storage which need not be
-   defined.
-
-definition
-===================================
-fullinitblock: <P:+>
-   Initializer does not set every field in the structure.
-initallelements: <P:+>
-   Initializer does not define all elements of a declared array.
-initsize: <P:+>
-   Initializer block contains more elements than the size of a declared array.
-impouts: <M:---->
-   Pointer parameters to unspecified functions may be implicit out parameters.
-
-declarations
-===================================
-incondefs: <M:-+++>
-   A function, variable or constant is redefined with a different type.
-matchfields: <M:-+++>
-   A struct, union or enum type is redefined with inconsistent fields or
-   members.
-
-
-===================================
-fcnderef: <M:--++>
-   A function type is dereferenced.  The ANSI standard allows this because of
-   implicit conversion of function designators, however the dereference is
-   unnecessary.
-
-operations
-===================================
-realcompare: <M:-+++>
-   Two real (float, double, or long double) values are compared directly using
-   a C primitive. This may produce unexpected results since floating point
-   representations are inexact. Instead, compare the difference to FLT_EPSILON
-   or DBL_EPSILON.
-unsignedcompare: <M:-+++>
-   An unsigned value is used in a comparison with zero in a way that is either
-   a bug or confusing.
-ptrarith: <M:---+>
-   Pointer arithmetic using pointer and integer.
-nullptrarith: <M:--++>
-   Pointer arithmetic using a possibly null pointer and integer.
-ptrcompare: <M:-+++>
-   A pointer is compared to a number.
-strictops: <M:---+>
-   A primitive operation does not type check strictly.
-bitwisesigned: <M:---+>
-   An operand to a bitwise operator is not an unsigned values.  This may have
-   unexpected results depending on the signed representations.
-shiftnegative: <M:-+++>
-   The right operand to a shift operator may be negative (behavior undefined).
-shiftimplementation: <M:-+++>
-   The left operand to a shift operator may be negative (behavior is
-   implementation-defined).
-sizeoftype: <M:---+>
-   Operand of sizeof operator is a type. (Safer to use expression, int *x =
-   sizeof (*x); instead of sizeof (int).)
-sizeofformalarray: <P:+>
-   Operand of a sizeof operator is a function parameter declared as an array. 
-   The value of sizeof will be the size of a pointer to the element type, not
-   the number of elements in the array.
-
-declarations
-===================================
-fixedformalarray: <P:+>
-   A formal parameter is declared as an array with size.  The size of the array
-   is ignored in this context, since the array formal parameter is treated as a
-   pointer.
-incompletetype: <P:+>
-   A formal parameter is declared with an incomplete type.
-formalarray: <P:->
-   A formal parameter is declared as an array.  This can be confusing, since a
-   formal array parameter is treated as a pointer.
-
-booleans
-===================================
-booltype <string> [lltX_bool]: <P:->
-   Set name of boolean type (default bool).
-boolfalse <string> [FALSE]: <P:->
-   Set name of boolean false (default FALSE).
-booltrue <string> [TRUE]: <P:->
-   Set name of boolean true (default TRUE).
-likelybool: <P:+>
-   Use the -booltype, -boolfalse and -booltrue flags to change the name of the
-   default boolean type.
-boolcompare: <M:-+++>
-   Two bool values are compared directly using a C primitive. This may produce
-   unexpected results since all non-zero values are considered TRUE, so
-   different TRUE values may not be equal. The file bool.h (included in
-   splint/lib) provides bool_equal for safe bool comparisons.
-boolops: <M:-+++>
-   The operand of a boolean operator is not a boolean. Use +ptrnegate to allow
-   ! to be used on pointers.
-ptrnegate: <M:++-->
-   The operand of ! operator is a pointer.
-predassign: <P:+>
-   The condition test is an assignment expression. Probably, you mean to use ==
-   instead of =. If an assignment is intended, add an extra parentheses nesting
-   (e.g., if ((a = b)) ...) to suppress this message.
-predbool: <S><P:->
-   Test expression type is not boolean.
-
-predicates
-===================================
-predboolint: <M:-+++>
-   Test expression type is not boolean or int.
-
-booleans
-===================================
-predboolptr: <M:--++>
-   Test expression type is not boolean.
-predboolothers: <M:++++>
-   Test expression type is not boolean.
-
-abstract
-===================================
-abstract: <P:+>
-   An abstraction barrier is broken. If necessary, use /*@access <type>@*/ to
-   allow access to an abstract type.
-impabstract: <P:->
-   Assume user type definitions are abstract (unless /*@concrete@*/ is used).
-accessmodule: <P:+>
-   The representation of an abstract type defined in <M>.<x> is accessible
-   anywhere in a file named <M>.<y>.
-accessfile: <P:+>
-   The representation of an abstract type named <t> is accessible anywhere in a
-   file named <t>.<x>.
-accessczech: <P:+>
-   The representation of an abstract type named <t> is accessible in the
-   definition of a function or constant named <t>_<name>
-accessslovak: <P:->
-   The representation of an abstract type named <t> is accessible in the
-   definition of a function or constant named <t><Name>
-accessczechoslovak: <P:->
-   The representation of an abstract type named <t> is accessible in the
-   definition of a function or constant named <t>_<name> or <t><Name>
-accessall: <S><P:->
-   Sets accessmodule, accessfile and accessczech
-mutrep: <M:-+++>
-   LCL semantics requires that a mutable type exhibits sharing semantics. In
-   order for objects to be shared a indirection is necessary in the
-   representation. A mutable type may be represented by a pointer or an
-   abstract mutable type. Handles into static data are fine, too, but will
-   generate this error message unless it is suppressed.
-
-memory
-===================================
-mustfreefresh: <M:-+++>
-   A memory leak has been detected. Storage allocated locally is not released
-   before the last reference to it is lost.
-mustfreeonly: <M:-+++>
-   A memory leak has been detected. Only-qualified storage is not released
-   before the last reference to it is lost.
-mustfree: <S><P:->
-   A memory leak has been detected.
-usereleased: <M:-+++>
-   Memory is used after it has been released (either by passing as an only
-   param or assigning to an only global).
-strictusereleased: <M:---+>
-   Memory (through fetch) is used after it may have been released (either by
-   passing as an only param or assigning to an only global).
-compdestroy: <M:-+++>
-   A storage leak due to incomplete deallocation of a structure or deep pointer
-   is suspected. Unshared storage that is reachable from a reference that is
-   being deallocated has not yet been deallocated. Splint assumes when an
-   object is passed as an out only void pointer that the outer object will be
-   deallocated, but the inner objects will not.
-strictdestroy: <M:---+>
-   Report complete destruction errors for array elements that may have been
-   released.
-deparrays: <M:--++>
-   When an element is fetched from an array, Splint analysis is not able to
-   determine if the same element is reused. If +deparrays, Splint will mark
-   local storage assigned from array fetches as dependent.
-branchstate: <M:-+++>
-   The state of a variable is different depending on which branch is taken.
-   This means no annotation can sensibly be applied to the storage.
-strictbranchstate: <M:---+>
-   The state of a variable through an array fetch is different depending on
-   which branch is taken. This means no annotation can sensibly be applied to
-   the storage.
-memchecks: <S><P:->
-   Sets all dynamic memory checking flags (memimplicit, mustfree, mustdefine,
-   mustnotalias, null, memtrans).
-compmempass: <M:-+++>
-   Storage derivable from a parameter does not match the alias kind expected
-   for the formal parameter.
-stackref: <M:++++>
-   A stack reference is pointed to by an external reference when the function
-   returns. The stack-allocated storage is destroyed after the call, leaving a
-   dangling reference.
-memtrans: <S><P:->
-   Memory is transferred in a way that violates annotations.
-dependenttrans: <M:-+++>
-   Dependent storage is transferred to a non-dependent reference.
-newreftrans: <M:-+++>
-   A new reference is transferred to a reference counted reference.
-onlytrans: <M:-+++>
-   The only reference to this storage is transferred to another reference
-   (e.g., by returning it) that does not have the only annotation. This may
-   lead to a memory leak, since the new reference is not necessarily released.
-onlyunqglobaltrans: <M:--++>
-   The only reference to this storage is transferred to another reference that
-   does not have an aliasing annotation. This may lead to a memory leak, since
-   the new reference is not necessarily released.
-ownedtrans: <M:-+++>
-   The owned reference to this storage is transferred to another reference
-   (e.g., by returning it) that does not have the owned annotation. This may
-   lead to a memory leak, since the new reference is not necessarily released.
-freshtrans: <M:-+++>
-   Fresh storage (newly allocated in this function) is transferred in a way
-   that the obligation to release storage is not propagated.  Use the
-   /*@only@*/ annotation to indicate the a return value is the only reference
-   to the returned storage.
-sharedtrans: <M:-+++>
-   Shared storage is transferred to a non-shared reference. The other reference
-   may release storage needed by this reference.
-temptrans: <M:-+++>
-   Temp storage (associated with a formal parameter) is transferred to a
-   non-temporary reference. The storage may be released or new aliases created.
-kepttrans: <M:-+++>
-   storage is transferred to a non-temporary reference after being passed as
-   keep parameter. The storage may be released or new aliases created.
-keeptrans: <M:-+++>
-   Keep storage is transferred inconsistently --- either in a way that may add
-   a new alias to it, or release it.
-immediatetrans: <M:-+++>
-   An immediate address (result of & operator) is transferred inconsistently.
-refcounttrans: <M:-+++>
-   Reference counted storage is transferred in a way that may not be consistent
-   with the reference count.
-statictrans: <M:-+++>
-   Static storage is transferred in an inconsistent way.
-unqualifiedtrans: <M:-+++>
-   Unqualified storage is transferred in an inconsistent way.
-staticinittrans: <M:--++>
-   Static storage is used as an initial value in an inconsistent way.
-unqualifiedinittrans: <M:--++>
-   Unqualified storage is used as an initial value in an inconsistent way.
-readonlytrans: <M:--++>
-   A read-only string literal is assigned to a non-observer reference.
-passunknown: <M:---->
-   Passing a value as an un-annotated parameter clears its annotation.
-readonlystrings: <M:-+++>
-   String literals are read-only. An error is reported if a string literal may
-   be modified or released.
-memimp: <M:-+++>
-   Memory errors for unqualified storage.
-paramimptemp: <P:+>
-   Assume unannotated parameter is temp.
-allimponly: <S><P:->
-   Sets globimponly, retimponly, structimponly, specglobimponly, specretimponly
-   and specstructimponly.
-codeimponly: <S><P:->
-   Sets globimponly, retimponly and structimponly.
-specimponly: <S><P:->
-   Sets specglobimponly, specretimponly and specstructimponly.
-globimponly: <P:+>
-   Assume unannotated global storage is only.
-retimponly: <P:+>
-   Assume unannotated returned storage is only.
-structimponly: <P:+>
-   Assume unannotated structure field is only.
-specglobimponly: <P:->
-   Assume unannotated global storage is only.
-specretimponly: <P:->
-   Assume unannotated returned storage is only.
-specstructimponly: <P:->
-   Assume unannotated structure field is only.
-
-aliasing
-===================================
-aliasunique: <M:-+++>
-   A unique or only parameter is aliased by some other parameter or visible
-   global.
-mayaliasunique: <M:-+++>
-   A unique or only parameter may be aliased by some other parameter or visible
-   global.
-mustnotalias: <M:-+++>
-   An alias has been added to a temp-qualifier parameter or global that is
-   visible externally when the function returns. If the aliasing is needed, use
-   the /*@shared@*/ annotation to indicate that new aliases to the parameter
-   may be created.
-retalias: <M:--++>
-   The returned value shares storage with a parameter or global. If a parameter
-   is to be returned, use the returned qualifier. If the result is not
-   modified, use the observer qualifier on the result type. Otherwise, exposed
-   can be used, but limited checking is done.
-globalias: <S><P:->
-   A global variable aliases externally-visible state when the function
-   returns.
-checkstrictglobalias: <M:-+++>
-   A global variable aliases externally-visible state when the function
-   returns.
-checkedglobalias: <M:-+++>
-   A global variable aliases externally-visible state when the function
-   returns.
-checkmodglobalias: <M:-+++>
-   A global variable aliases externally-visible state when the function
-   returns.
-uncheckedglobalias: <M:--++>
-   A global variable aliases externally-visible state when the function
-   returns.
-
-memory
-===================================
-exposetrans: <M:-+++>
-   Exposed storage is transferred to a non-exposed, non-observer reference.
-observertrans: <M:-+++>
-   Observer storage is transferred to a non-observer reference.
-
-exposure
-===================================
-repexpose: <S><P:->
-   The internal representation of an abstract type is visible to the caller.
-   This means clients may have access to a pointer into the abstract
-   representation.
-retexpose: <M:--++>
-   The return value shares storage with an instance of an abstract type. This
-   means clients may have access to a pointer into the abstract representation.
-   Use the observer qualifier to return exposed storage that may not be
-   modified by the client. Use the exposed qualifier to return modifiable (but
-   not deallocatable) exposed storage (dangerous).
-assignexpose: <M:--++>
-   Storage internal to the representation of an abstract type is assigned to an
-   external pointer. This means clients may have access to a pointer into the
-   abstract representation. If the external pointer is a parameter, the exposed
-   qualifier can be used to allow the assignment, however, this is considered
-   dangerous programming practice.
-castexpose: <M:--++>
-   Storage internal to the representation of an abstract type is exposed
-   through a type cast. This means clients may have access to a pointer into
-   the abstract representation.
-
-declarations
-===================================
-redundantsharequal: <M:--++>
-   A declaration of an immutable object uses a redundant observer qualifier.
-misplacedsharequal: <M:-+++>
-   A declaration of an unsharable object uses a sharing annotation.
-
-modification
-===================================
-mods: <P:+>
-   An externally-visible object is modified by a function, but not listed in
-   its modifies clause.
-mustmod: <M:--++>
-   An object listed in the modifies clause is not modified by the
-   implementation of the function. The modification may not be detected if it
-   is done through a call to an unspecified function.
-modobserver: <P:+>
-   Storage declared with observer is possibly modified. Observer storage may
-   not be modified.
-modobserveruncon: <M:---+>
-   Storage declared with observer may be modified through a call to an
-   unconstrained function.
-modinternalstrict: <M:---+>
-   A function that modifies internalState is called from a function that does
-   not list internalState in its modifies clause
-modfilesys: <M:---+>
-   Report undocumented file system modifications (applies to unspecified
-   functions if modnomods is set).
-modunspec: <S><P:->
-   Modification in unspecified functions (sets modnomods, modglobunspec and
-   modstrictglobsunspec).
-modnomods: <M:---+>
-   An externally-visible object is modified by a function with no
-   /*@modifies@*/ comment. The /*@modifies ... @*/ control comment can be used
-   to give a modifies list for an unspecified function.
-moduncon: <M:---+>
-   An unconstrained function is called in a function body where modifications
-   are checked. Since the unconstrained function may modify anything, there may
-   be undetected modifications in the checked function.
-modunconnomods: <M:---+>
-   An unconstrained function is called in a function body where modifications
-   are checked. Since the unconstrained function may modify anything, there may
-   be undetected modifications in the checked function.
-globsimpmodsnothing: <M:--++>
-   An implicit modifies nothing clause is assumed for a function declared with
-   a globals list but not modifies clause.
-modsimpnoglobs: <M:---->
-   An implicit empty globals list is assumed for a function declared with a
-   modifies clause but no globals list.
-
-globals
-===================================
-globstate: <M:-+++>
-   A global variable does not satisfy its annotations when control is
-   transferred.
-globs: <P:+>
-   A checked global variable is used in the function, but not listed in its
-   globals clause. By default, only globals specified in .lcl files are
-   checked. To check all globals, use +allglobals. To check globals selectively
-   use /*@checked@*/ in the global declaration.
-globuse: <M:++++>
-   A global variable listed in the function's globals list is not used in the
-   body of the function.
-internalglobs: <M:---+>
-   A called function uses internal state, but the globals list for the function
-   being checked does not include internalState
-internalglobsnoglobs: <M:---+>
-   A called function uses internal state, but the function being checked has no
-   globals list
-warnmissingglobs: <M:---+>
-   A global variable is used in the modifies clause, but it not listed in the
-   globals list.  The variable will be added to the globals list.
-warnmissingglobsnoglobs: <M:---+>
-   A global variable is used in the modifies clause, but the function has no
-   globals list.  The variable will be added to the globals list.
-globnoglobs: <M:---+>
-   A specified global variable is used in the function, but not listed in its
-   globals list. Without +globnoglobs, only globals declared with
-   /*@checkedstrict@*/ will produce use errors in functions without globals
-   lists. The /*@globals ... @*/ control comment can be used to give a globals
-   list for an unspecified function.
-allglobs: <M:--++>
-   Report use and modification errors for globals not annotated with unchecked.
-checkstrictglobs: <M:++++>
-   Report use and modification errors for checkedstrict globals.
-impcheckedspecglobs: <M:-+++>
-   Assume checked qualifier for unqualified global declarations in .lcl files.
-impcheckmodspecglobs: <M:---->
-   Assume checkmod qualifier for unqualified global declarations in .lcl files.
-impcheckedstrictspecglobs: <M:---+>
-   Assume checkmod qualifier for unqualified global declarations in .lcl files.
-impcheckedglobs: <M:---->
-   Assume checked qualifier for unqualified global declarations.
-impcheckmodglobs: <M:---->
-   Assume checkmod qualifier for unqualified global declarations.
-impcheckedstrictglobs: <M:---+>
-   Assume checkedstrict qualifier for unqualified global declarations.
-impcheckedstatics: <M:---->
-   Assume checked qualifier for unqualified file static declarations.
-impcheckmodstatics: <M:---->
-   Assume checkmod qualifier for unqualified file static declarations.
-impcheckmodinternals: <M:--++>
-   Assume checkmod qualifier for unqualified local static declarations (for
-   internal state modifications).
-impcheckedstrictstatics: <M:---+>
-   Assume checkedstrict qualifier for unqualified file static declarations.
-modglobs: <M:-+++>
-   A checked global variable is modified by the function, but not listed in its
-   modifies clause.
-modglobsnomods: <M:---+>
-   A checked global variable is modified by the function, but not listed in its
-   modifies clause.
-modstrictglobsnomods: <M:---+>
-   A checked global variable is modified by the function, but not listed in its
-   modifies clause.
-modglobsunchecked: <M:---+>
-   An unchecked global variable is modified by the function, but not listed in
-   its modifies clause.
-
-controlflow
-===================================
-noret: <M:-+++>
-   There is a path through a function declared to return a value on which there
-   is no return statement. This means the execution may fall through without
-   returning a meaningful result to the caller.
-emptyreturn: <P:+>
-   Empty return in function declared to return value.
-alwaysexits: <P:+>
-   Loop predicate always exits.
-loopexec: <S><P:->
-   Assume all loops execute at least once (sets forloopexec, whileloopexec and
-   iterloopexec).
-forloopexec: <P:->
-   Assume all for loops execute at least once.
-whileloopexec: <P:->
-   Assume all while loops execute at least once.
-iterloopexec: <P:->
-   Assume all iterator loops execute at least once.
-obviousloopexec: <P:+>
-   Assume loop that can be determined to always execute always does.
-
-undefined
-===================================
-evalorder: <M:-+++>
-   Code has unspecified behavior. Order of evaluation of function parameters or
-   subexpressions is not defined, so if a value is used and modified in
-   different places not separated by a sequence point constraining evaluation
-   order, then the result of the expression is unspecified.
-evalorderuncon: <M:---+>
-   Code involving a call to function with no modifies or globals clause may
-   have undefined or implementation-dependent behavior (Splint assumes the
-   unconstrained call may modify any reachable state or use any global). Add a
-   specification for the function.
-
-controlflow
-===================================
-infloops: <M:-+++>
-   This appears to be an infinite loop. Nothing in the body of the loop or the
-   loop test modifies the value of the loop test. Perhaps the specification of
-   a function called in the loop body is missing a modification.
-infloopsuncon: <M:--++>
-   This appears to be an infinite loop. Nothing in the body of the loop or the
-   loop test modifies the value of the loop test. There may be a modification
-   through a call to an unconstrained function, or an unconstrained function in
-   the loop test may use a global variable modified by the loop body.
-casebreak: <M:-+++>
-   Execution falls through from the previous case.
-misscase: <M:-+++>
-   Not all values in an enumeration are present as cases in the switch.
-firstcase: <M:-+++>
-   The first statement after a switch is not a case.
-duplicatecases: <P:+>
-   Duplicate cases in switch.
-deepbreak: <S><P:->
-   A break statement appears inside the body of a nested while, for or switch
-   statement. Sets looploopbreak, loopswitchbreak, switchloopbreak,
-   switchswitchbreak, and looploopcontinue.
-looploopbreak: <M:--++>
-   A break statement appears inside the body of a nested while or for
-   statement. This is perfectly reasonable code, but check that the break is
-   intended to break only the inner loop. The break statement may be preceded
-   by /*@innerbreak@*/ to suppress the message for this break only.
-switchloopbreak: <M:--++>
-   A break statement appears inside the body of a while or for statement within
-   a switch. This is perfectly reasonable code, but check that the break is
-   intended to break only the inner loop. The break statement may be preceded
-   by /*@loopbreak@*/ to suppress the message for this break only.
-loopswitchbreak: <M:---+>
-   A break statement appears inside a switch statement within a while or for
-   loop. This is perfectly reasonable code, but check that the break is
-   intended to break only the inner loop. The break statement may be preceded
-   by /*@switchbreak@*/ to suppress the message for this break only.
-switchswitchbreak: <M:---+>
-   A break statement appears inside a switch statement within another switch
-   statement. This is perfectly reasonable code, but check that the break is
-   intended to break only the inner switch. The break statement may be preceded
-   by /*@innerbreak@*/ to suppress the message for this break only.
-looploopcontinue: <M:---+>
-   A continue statement appears inside a loop within a loop. This is perfectly
-   reasonable code, but check that the continue is intended to continue only
-   the inner loop. The continue statement may be preceded by
-   /*@innercontinue@*/ to suppress the message for this continue only.
-whileempty: <M:--++>
-   While statement has no body.
-whileblock: <M:---+>
-   While body is a single statement, not a compound block.
-forempty: <M:---+>
-   For statement has no body.
-forblock: <M:---+>
-   Loop body is a single statement, not a compound block.
-ifempty: <M:++++>
-   If statement has no body.
-ifblock: <M:---+>
-   If body is a single statement, not a compound block.
-allempty: <S><P:->
-   An if, while or for statement has no body (sets ifempty, whileempty and
-   forempty.
-allblock: <S><P:->
-   Body is a single statement, not a compound block.
-elseifcomplete: <M:---+>
-   There is no final else following an else if construct.
-unreachable: <M:-+++>
-   This code will never be reached on any possible execution.
-
-effect
-===================================
-noeffect: <M:-+++>
-   Statement has no visible effect --- no values are modified.
-noeffectuncon: <M:---+>
-   Statement has no visible effect --- no values are modified. It may modify
-   something through a call to an unconstrained function.
-
-returnvals
-===================================
-retval: <S><P:->
-   Result returned by function call is not used. If this is intended, cast
-   result to (void) to eliminate message.
-retvalother: <M:++++>
-   Result returned by function call is not used. If this is intended, can cast
-   result to (void) to eliminate message.
-retvalbool: <M:-+++>
-   Result returned by function call is not used. If this is intended, can cast
-   result to (void) to eliminate message.
-retvalint: <M:-+++>
-   Result returned by function call is not used. If this is intended, can cast
-   result to (void) to eliminate message.
-
-memorybounds
-===================================
-nullterminated: <M:---->
-   A possibly non-nullterminated string/memory is used/referenced as a
-   nullterminated one.
-bounds: <S><P:->
-   Memory read or write may be out of bounds of allocated storage.
-boundsread: <M:---->
-   A memory read references memory beyond the allocated storage.
-boundswrite: <M:---->
-   A memory write may write to an address beyond the allocated buffer.
-fcnpost: <M:---->
-   Display function post conditions.
-redundantconstraints: <M:---->
-   Display seemingly redundant constraints
-checkpost: <M:---->
-   The function implementation may not satisfy a post condition given in an
-   ensures clause.
-implictconstraint: <M:---->
-   Generate implicit constraints for functions.
-orconstraint: <M:---->
-   Use limited OR expressions to resolve constraints.
-nullterminated: <M:---->
-   A user annotated non-nullterminated buffer is used/referenced as a
-   nullterminated one.
-showconstraintparens: <M:---->
-   Display parentheses around constraint terms.
-showconstraintlocation: <M:---->
-   Display location for every constraint generated.
-
-extensible
-===================================
-mts <filename>: <G><P:->
-   Load meta state declaration and corresponding xh file.
-statetransfer: <M:++++>
-   Transfer violates user-defined state rules.
-statemerge: <M:++++>
-   Control path merge violates user-defined state merge rules.
-
-macros
-===================================
-macroredef: <M:-+++>
-   A macro is defined in more than one place.
-macrounrecog: <M:-+++>
-   An unrecognized identifier appears in a macro. If the identifier is defined
-   before the macro is used, then this is okay.
-macroconstdecl: <M:-+++>
-   Macro constant has no declaration. Use /*@constant ...@*/ to declare the
-   macro.
-macrostmt: <M:-+++>
-   A macro is defined in a way that may cause syntactic problems. If the macro
-   returns a value, use commas to separate expressions;
-   otherwise, use do { <macro body> } while (FALSE) construct.
-macroempty: <M:---+>
-   A macro definition has no body.
-macroparams: <M:-+++>
-   A macro parameter is not used exactly once in all possible invocations of
-   the macro. To behave like a function, each macro parameter must be used
-   exactly once on all invocations of the macro so that parameters with
-   side-effects are evaluated exactly once. Use /*@sef@*/ to denote parameters
-   that must be side-effect free.
-macroreturn: <M:---->
-   The body of a macro declared as a function uses a return statement. This
-   exhibits behavior that could not be implemented by a function.
-macroassign: <M:-+++>
-   A macro parameter is used as the left side of an assignment expression. This
-   exhibits behavior that could not be implemented by a function.
-macroparens: <M:-+++>
-   A macro parameter is used without parentheses. This could be dangerous if
-   the macro is invoked with a complex expression and precedence rules will
-   change the evaluation inside the macro.
-macrodecl: <M:---->
-   Argument checking cannot be done well for macros without prototypes or
-   specifications, since the types of the arguments are unknown.
-macrofcndecl: <M:-+++>
-   Function macro has no declaration.
-sefparams: <M:-+++>
-   An actual parameter corresponding to a sef parameter may have a side-effect.
-sefuncon: <M:--++>
-   An actual parameter corresponding to a sef parameter involves a call to a
-   procedure with no modifies clause that may have a side-effect.
-constmacros: <P:->
-   Every non-parameterized macro (not preceded by /*@notfunction@*/) is checked
-   as a constant.
-fcnmacros: <P:->
-   Every parameterized macro (not preceded by /*@notfunction@*/) is checked as
-   a function.
-allmacros: <S><P:->
-   All macros (not preceded by /*@notfunction@*/) are checked as functions or
-   constants depending on whether or not they have parameter lists.
-libmacros: <P:->
-   Every macro declared in the load library is checked.
-specmacros: <P:+>
-   Every macro declared a specification file is checked.
-macromatchname: <M:++++>
-   A iter or constant macro is defined using a different name from the one used
-   in the previous syntactic comment
-nextlinemacros: <P:+>
-   A constant or iter declaration is not immediately followed by a macro
-   definition.
-
-iterators
-===================================
-iterbalance: <P:+>
-   Iter is not balanced with end_<iter>.
-iteryield: <P:+>
-   Iter yield parameter is inappropriate.
-hasyield: <P:->
-   An iterator has been declared with no parameters annotated with yield. This
-   may be what you want, if the iterator is meant to do something a fixed
-   number of times, but returns no information to the calling context.
-   Probably, a parameter is missing the yield annotation to indicate that it is
-   assigned a value in the calling context.
-
-names
-===================================
-namechecks: <P:+>
-   Controls name checking without changing other settings.
-czech: <S><P:->
-   Name is not consistent with Czech naming convention.
-czechfcns: <P:->
-   Function or iterator name is not consistent with Czech naming convention.
-czechvars: <P:->
-   Variable name is not consistent with Czech naming convention.
-czechmacros: <P:->
-   Expanded macro name is not consistent with Czech naming convention.
-czechconsts: <P:->
-   Constant name is not consistent with Czech naming convention.
-czechtypes: <P:->
-   Type name is not consistent with Czech naming convention. Czech type names
-   must not use the underscore character.
-slovak: <S><P:->
-   Name is not consistent with Slovak naming convention.
-slovakfcns: <P:->
-   Function or iterator name is not consistent with Slovak naming convention.
-slovakmacros: <P:->
-   Expanded macro name is not consistent with Slovak naming convention.
-slovakvars: <P:->
-   Variable name is not consistent with Slovak naming convention.
-slovakconsts: <P:->
-   Constant name is not consistent with Slovak naming convention.
-slovaktypes: <P:->
-   Type name is not consistent with Slovak naming convention. Slovak type names
-   may not include uppercase letters.
-czechoslovak: <S><P:->
-   Name is not consistent with either Czech or Slovak naming convention.
-czechoslovakfcns: <P:->
-   Function name is not consistent with Czechoslovak naming convention.
-czechoslovakmacros: <P:->
-   Expanded macro name is not consistent with Czechoslovak naming convention.
-czechoslovakvars: <P:->
-   Variable name is not consistent with Czechoslovak naming convention.
-czechoslovakconsts: <P:->
-   Constant name is not consistent with Czechoslovak naming convention.
-czechoslovaktypes: <P:->
-   Type name is not consistent with Czechoslovak naming convention.
-   Czechoslovak type names may not include uppercase letters or the underscore
-   character.
-macrovarprefix <string> [m_]: <-><P:+>
-   A variable declared in a macro body does not start with the macrovarprefix.
-macrovarprefixexclude: <P:+>
-   A variable declared outside a macro body starts with the macrovarprefix.
-tagprefix <string>: <-><P:->
-   A tag identifier does not start with the tagprefix.
-tagprefixexclude: <P:->
-   An identifier that is not a tag starts with the tagprefix.
-enumprefix <string>: <-><P:->
-   An enum member does not start with the enumprefix.
-enumprefixexclude: <P:->
-   An identifier that is not an enum member starts with the enumprefix.
-filestaticprefix <string>: <-><P:->
-   A file-static identifier does not start with the filestaticprefix.
-filestaticprefixexclude: <P:->
-   An identifier that is not file static starts with the filestaticprefix.
-globalprefix <string>: <-><P:->
-   A global variable does not start with the globalprefix
-globalprefixexclude: <P:->
-   An identifier that is not a global variable starts with the globalprefix.
-typeprefix <string>: <-><P:->
-   A user-defined type does not start with the typeprefix
-typeprefixexclude: <P:->
-   An identifier that is not a type name starts with the typeprefix.
-externalprefix <string>: <-><P:->
-   An external identifier does not start with the externalprefix
-externalprefixexclude: <P:->
-   An identifier that is not external starts with the externalprefix.
-localprefix <string>: <-><P:->
-   A local variable does not start with the localprefix
-localprefixexclude: <P:->
-   An identifier that is not a local variable starts with the localprefix.
-uncheckedmacroprefix <string>: <-><P:->
-   An unchecked macro name does not start with the uncheckedmacroprefix
-uncheckedmacroprefixexclude: <P:->
-   An identifier that is not the name of an unchecked macro starts with the
-   uncheckedmacroprefix.
-constprefix <string>: <-><P:->
-   A constant does not start with the constantprefix
-constprefixexclude: <P:->
-   An identifier that is not a constant starts with the constantprefix.
-iterprefix <string>: <-><P:->
-   An iter does not start with the iterator prefix
-iterprefixexclude: <P:->
-   An identifier that is not a iter starts with the iterprefix.
-protoparamprefix <string>: <-><P:->
-   A parameter name in a function prototype declaration does not start with the
-   declaration parameter prefix
-isoreserved: <M:--++>
-   External name is reserved for system use by ISO C99 standard.
-cppnames: <M:--++>
-   External name is a C++ keyword or reserved word. This could lead to problems
-   if the code is compiled with a C++ compiler.
-isoreservedinternal: <M:---+>
-   Internal name is reserved for system in ISO C99 standard (this should not be
-   necessary unless you are worried about C library implementations that
-   violate the standard and use macros).
-distinctexternalnames: <P:->
-   An external name is not distinguishable from another external name using the
-   number of significant characters. According to ANSI Standard (3.1), an
-   implementation may only consider the first 6 characters significant, and
-   ignore alphabetical case distinctions (ISO C99 requires 31). The
-   +externalnamelen <n> flag may be used to change the number of significant
-   characters, and -externalnamecaseinsensitive to make alphabetical case
-   significant in external names.
-externalnamelen <number> [31]: <S><P:->
-   Sets the number of significant characters in an external name (default is 6
-   for old ANSI89 limit, C99 requires 31). Sets +distinctexternalnames.
-externalnamecaseinsensitive: <S><P:+>
-   Make alphabetic case insignificant in external names. By ANSI89 standard,
-   case need not be significant in an external name. If +distinctexternalnames
-   is not set, sets +distinctexternalnames with unlimited external name length.
-distinctinternalnames: <P:->
-   An internal name is not distinguishable from another internal name using the
-   number of significant characters. According to ANSI89 Standard (3.1), an
-   implementation may only consider the first 31 characters significant (ISO
-   C99 specified 63). The +internalnamelen <n> flag changes the number of
-   significant characters, -internalnamecaseinsensitive to makes alphabetical
-   case significant, and +internalnamelookalike to make similar-looking
-   characters non-distinct.
-internalnamelen <number> [63]: <S><P:->
-   Sets the number of significant characters in an internal name (ANSI89
-   default is 31.)  Sets +distinctinternalnames.
-internalnamecaseinsensitive: <S><P:->
-   Set whether case is significant an internal names (-internalnamecaseinsensiti
-   ve means case is significant). By ANSI89 default, case is not significant. 
-   If +distinctinternalnames is not set, sets +distinctinternalnames with
-   unlimited internal name length.
-internalnamelookalike: <S><P:->
-   Set whether similar looking characters (e.g., "1" and "l") match in internal
-   names.
-protoparamname: <M:---+>
-   A parameter in a function prototype has a name.  This is dangerous, since a
-   macro definition could be visible here.
-protoparammatch: <M:--++>
-   A parameter in a function definition does not have the same name as the
-   corresponding in the declaration of the function after removing the
-   protoparamprefix
-protoparamprefixexclude: <P:->
-   An identifier that is not a parameter name in a function prototype starts
-   with the protoparamprefix.
-
-alluse
-===================================
-topuse: <M:---+>
-   An external declaration not used in any source file.
-exportlocal: <M:-+++>
-   A declaration is exported, but not used outside this module. Declaration can
-   use static qualifier.
-exportheader: <M:--++>
-   A declaration is exported, but does not appear in a header file.
-exportheadervar: <M:--++>
-   A variable declaration is exported, but does not appear in a header file.
-   (Used with exportheader.)
-fielduse: <M:-+++>
-   A field is present in a structure type but never used. Use /*@unused@*/ in
-   front of field declaration to suppress message.
-enummemuse: <M:-+++>
-   A member of an enum type is never used.
-constuse: <M:-+++>
-   A constant is declared but not used. Use unused in the constant declaration
-   to suppress message.
-fcnuse: <M:++++>
-   A function is declared but not used. Use /*@unused@*/ in front of function
-   header to suppress message.
-paramuse: <M:-+++>
-   A function parameter is not used in the body of the function. If the
-   argument is needed for type compatibility or future plans, use /*@unused@*/
-   in the argument declaration.
-typeuse: <M:++++>
-   A type is declared but not used. Use /*@unused@*/ in front of typedef to
-   suppress messages.
-varuse: <M:++++>
-   A variable is declared but never used. Use /*@unused@*/ in front of
-   declaration to suppress message.
-unusedspecial: <M:---+>
-   Unused declaration in special file (corresponding to .l or .y file).
-
-complete
-===================================
-declundef: <M:--++>
-   A function or variable is declared, but not defined in any source code file.
-specundef: <M:-+++>
-   A function or variable is declared in an .lcl file, but not defined in any
-   source code file.
-specundecl: <P:->
-   A function or variable is declared in an .lcl file, but not declared in any
-   source code file.
-
-declarations
-===================================
-newdecl: <P:->
-   There is a new declaration that is not declared in a loaded library or
-   earlier file.  (Use this flag to check for consistency against a library.)
-
-initializations
-===================================
-needspec: <P:->
-   There is information in the specification that is not duplicated in
-   syntactic comments. Normally, this is not an error, but it may be useful to
-   detect it to make sure checking incomplete systems without the
-   specifications will still use this information.
-
-libraries
-===================================
-nolib: <-><G><P:->
-   Do not load standard library.
-isolib: <G><P:->
-   Library based on the ISO standard library specification is used.
-strictlib: <G><P:->
-   Stricter version of the standard library is used. (The default library is
-   standard.lcd;  strict library is strict.lcd.)
-unixlib: <G><P:->
-   UNIX version of the standard library is used.
-unixstrictlib: <G><P:->
-   strict version of the UNIX library is used.
-posixlib: <G><P:->
-   POSIX version of the standard library is used.
-posixstrictlib: <G><P:->
-   POSIX version of the strict standard library is used.
-whichlib: <G><P:->
-   Show standard library filename.
-warnposixheaders: <P:+>
-   Header name matches a POSIX header, but the POSIX library is not selected.
-warnunixlib: <P:+>
-   Unix library may not be compatible with all platforms
-usevarargs: <P:+>
-   Header <varargs.h> is not part of ANSI Standard. Should use <stdarg.h>
-   instead.
-dump <filename>: <G><P:->
-   Save state for merging (default suffix .lcd).
-load <filename>: <G><P:->
-   Load state from dump file (default suffix .lcd).
-
-headers
-===================================
-singleinclude: <G><P:->
-   When checking multiple files, each header file is processed only once. This
-   may change the meaning of the code, if the same header file is included in
-   different contexts (e.g., the header file includes #if directives and the
-   values are different when it is included in different places.)
-neverinclude: <G><P:->
-   Ignore header includes. Only works if relevant information is loaded from a
-   library.
-skipsysheaders: <G><P:->
-   Do not include header files in system directories (set by -sysdirs)
-
-
-===================================
-gnuextensions: <P:+>
-   ANSI C does not allow some language features supported by gcc and other
-   compilers. Use +gnuextensions to allow some of these extensions.
-
-prototypes
-===================================
-noparams: <M:--++>
-   A function declaration does not have a parameter list.
-oldstyle: <M:---+>
-   Function definition is in old style syntax. Standard prototype syntax is
-   preferred.
-
-systemfunctions
-===================================
-maintype: <P:+>
-   The function main does not match the expected type.
-exitarg: <M:-+++>
-   The argument to exit should be 0, EXIT_SUCCESS or EXIT_FAILURE
-
-declarations
-===================================
-shadow: <M:-+++>
-   An outer declaration is shadowed by the local declaration.
-incondefslib: <M:-+++>
-   A function, variable or constant previously defined in a library is
-   redefined with a different type.
-overload: <M:---->
-   A function, variable or constant defined in the library is redefined with a
-   different type.
-nestedextern: <M:-+++>
-   An extern declaration is used inside a function scope.
-redecl: <M:--++>
-   A function or variable is declared in more than one place. This is not
-   necessarily a problem, since the declarations are consistent.
-redef: <P:+>
-   A function or variable is redefined. One of the declarations should use
-   extern.
-imptype: <M:-+++>
-   A variable declaration has no explicit type.  The type is implicitly int.
-
-directories
-===================================
-tmpdir <directory> [/tmp/]: <G><P:->
-   Set directory for writing temp files.
-larchpath <path> [.:/usr/local/share/splint/lib:/af9/drl7x/reTmp/LCLintDev/lib:]
-: <G><P:->
-   Set path for searching for library files (overrides LARCH_PATH environment
-   variable).
-lclimportdir <directory> [.:/usr/local/share/splint/imports:/af9/drl7x/reTmp/LCL
-intDev/imports]: <G><P:->
-   Set directory to search for LCL import files (overrides LCLIMPORTDIR).
-sysdirs <path> [/usr/]: <G><P:->
-   Set directories for system files (default /usr/include). Separate
-   directories with path separator (colons in Unix, semi-colons in Windows).
-   Flag settings propagate to files in a system directory. If -sysdirerrors is
-   set, no errors are reported for files in system directories..
-skipansiheaders: <P:+>
-   Prevent inclusion of header files in a system directory with names that
-   match standard ANSI headers. The symbolic information in the standard
-   library is used instead.  Flag in effect only if a library including the
-   ANSI library is loaded.  The ANSI headers are:
-   assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
-   stddef, stdio, stdlib, strings, string, time, and wchar..
-skipposixheaders: <P:+>
-   Prevent inclusion of header files in a system directory with names that
-   match standard POSIX headers. The symbolic information in the posix library
-   is used instead.  The POSIX headers are:
-   dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types,
-   sys/utsname, sys/wait, unistd, and utime..
-sysdirerrors: <M:---+>
-   Report errors in files in system directories (set by -sysdirs).
-sysdirexpandmacros: <P:+>
-   Expand macros in system directories regardless of other settings, except for
-   macros corresponding to names defined in a load library.
-I<directory>: <G><P:->
-   Add to C include path.
-S<directory>: <G><P:->
-   Add to spec path.
-
-export
-===================================
-exportany: <S><P:->
-   A variable, function or type is exported, but not specified.
-exportfcn: <M:---+>
-   A function is exported, but not specified.
-exportmacro: <M:---+>
-   A macro is exported, but not specified.
-exporttype: <M:---+>
-   A type is exported, but not specified.
-exportvar: <M:---+>
-   A variable is exported, but not specified.
-exportconst: <M:---+>
-   A constant is exported, but not specified.
-exportiter: <M:---+>
-   A constant is exported, but not specified.
-
-format
-===================================
-linelen <number> [80]: <P:->
-   Set length of messages (number of chars).
-indentspaces <number> [3]: <P:->
-   Set number of spaces to indent sub-messages.
-showcolumn: <P:+>
-   Show column number where error is found.
-parenfileformat: <P:->
-   Show column number where error is found.
-showfunc: <P:+>
-   Show name of function containing error.
-showallconjs: <P:->
-   When a library function is declared with multiple possible type, the
-   alternate types are shown only if +showallconjs.
-
-libraries
-===================================
-impconj: <P:->
-   Make all alternate types implicit (useful for making system libraries.
-
-<No Category>
-===================================
-expect <number> [0]: <G><P:->
-   Expect <int> code errors.
-lclexpect <number> [0]: <G><P:->
-   Expect <int> spec errors.
-partial: <-><S><P:->
-   Check as partial system (-specundef, -declundef, -exportlocal, don't check
-   macros in headers without corresponding .c files).
-
-headers
-===================================
-lh: <G><P:->
-   Generate .lh files.
-lcs: <G><P:+>
-   Generate .lcs files.
-
-help
-===================================
-warnflags: <P:+>
-   Command line sets flag in abnormal way
-warnrc: <P:+>
-   There was a problem reading an initialization file
-badflag: <P:+>
-   A flag is not recognized or used in an incorrect way
-fileextensions: <P:+>
-   Warn when command line file does not have a recognized extension.
-help: <G><P:->
-   Display help
-
-initializations
-===================================
-f <filename>: <G><P:->
-   Read an options file (instead of loading default ~/.splintc)
-i <filename>: <G><P:->
-   Set LCL initilization file.
-nof: <G><P:->
-   Do not read the default options file (~/.splintrc)
-commentchar <character> [@]: <P:->
-   Set the marker character for syntactic comments. Comments beginning with
-   /*<char> are interpreted by Splint, where <char> is the comment marker
-   character.
-
-limits
-===================================
-controlnestdepth <number> [63]: <M:---+>
-   Maximum number of control levels exceeded.
-stringliterallen <number> [4095]: <M:---+>
-   Maximum length of string literal exceeded.
-numstructfields <number> [1023]: <M:---+>
-   Maximum number of fields in a struct or union exceeded.
-numenummembers <number> [1023]: <M:---+>
-   Limit on maximum number of members of an enum is exceeded.
-includenest <number> [63]: <M:--++>
-   Maximum number of nested #include files exceeded.
-ansi89limits: <S><P:->
-   Check for violations of standard limits (controlnestdepth, stringliterallen,
-   includenest, numstructfields, numenummembers) based on ANSI89 standard.
-iso99limits: <S><P:->
-   Check for violations of standard limits (controlnestdepth, stringliterallen,
-   includenest, numstructfields, numenummembers) based on ISO99 standard.
-
-preproc
-===================================
-D<initializer>: <G><P:->
-   Passed to pre-processor.
-U<initializer>: <G><P:->
-   Passed to pre-processor.
-unrecogdirective: <P:+>
-   Pre-processor directive is not recognized.
-
-suppress
-===================================
-supcounts: <G><P:+>
-   The number of errors detected does not match number in /*@i<n>@*/..
-limit <number> [-1]: <P:->
-   Limit <int> consecutive repeated errors.
-
-
-===================================
-syntax: <P:+>
-   Code cannot be parsed.  For help on parse errors, see splint -help
-   parseerrors.
-trytorecover: <P:->
-   Try to recover from parse error.  It really means try - this doesn't usually
-   work.
-preproc: <P:+>
-   Preprocessing error.
-
-
-===================================
-type: <P:+>
-   Types are incompatible.
-stringliteraltoolong: <P:+>
-   A string literal is assigned to a char array too small to hold it.
-stringliteralnoroom: <M:-+++>
-   A string literal is assigned to a char array that is not big enough to hold
-   the null terminator.
-stringliteralsmaller: <M:--++>
-   A string literal is assigned to a char array that smaller than the string
-   literal needs.
-enummembers: <M:---->
-   Type of initial values for enum members must be int.
-formattype: <P:+>
-   Type of parameter is not consistent with corresponding code in format
-   string.
-formatconst: <M:-+++>
-   Format parameter is not known at compile-time.  This can lead to security
-   vulnerabilities because the arguments cannot be type checked.
-formatcode: <P:+>
-   Format code in a format string is not valid.
-
-typeequivalence
-===================================
-forwarddecl: <M:+--->
-   Forward declarations of pointers to abstract representation match abstract
-   type.
-voidabstract: <M:+--->
-   A pointer to void is cast to a pointer to an abstract type (or vice versa).
-castfcnptr: <P:+>
-   A pointer to a function is cast to (or used as) a pointer to void (or vice
-   versa).
-charindex: <M:+--->
-   To allow char types to index arrays, use +charindex.
-enumindex: <M:---->
-   To allow enum types to index arrays, use +enumindex.
-boolint: <M:+--->
-   To make bool and int types equivalent, use +boolint.
-charint: <M:+--->
-   To make char and int types equivalent, use +charint.
-enumint: <M:++-->
-   To make enum and int types equivalent, use +enumint.
-floatdouble: <M:+--->
-   To make float and double types equivalent, use +floatdouble.
-ignorequals: <M:---->
-   To ignore type qualifiers in type comparisons use +ignorequals.
-duplicatequals: <P:+>
-   Duplicate type qualifiers not supported by ISO standard.
-ignoresigns: <M:---->
-   To ignore signs in type comparisons use +ignoresigns
-numliteral: <M:++-->
-   An int literal is used as any numeric type (including float and long long).
-   Use +numliteral to allow int literals to be used as any numeric type.
-charintliteral: <M:+--->
-   A character constant is used as an int. Use +charintliteral to allow
-   character constants to be used as ints.  (This is safe since the actual type
-   of a char constant is int.)
-relaxquals: <M:++-->
-   To allow qualifier mismatches that are not dangerous, use +relaxquals.
-relaxtypes: <M:---->
-   To allow all numeric types to match, use +relaxtypes.
-charunsignedchar: <M:+--->
-   To allow char and unsigned char types to match use +charunsignedchar.
-matchanyintegral: <M:---->
-   To allow arbitrary integral types to match any integral type, use
-   +matchanyintegral.
-longunsignedintegral: <M:+--->
-   To allow arbitrary integral types to match long unsigned, use
-   +longunsignedintegral.
-longintegral: <M:---->
-   To allow arbitrary integral types to match long unsigned, use +longintegral.
-longunsignedunsignedintegral: <M:+--->
-   To allow arbitrary unsigned integral types to match long unsigned, use
-   +longunsignedunsignedintegral.
-longsignedintegral: <M:---->
-   To allow arbitrary signed integral types to match long unsigned, use
-   +longsignedintegral.
-zeroptr: <P:+>
-   Tread 0 as a pointer.
-zerobool: <M:++-->
-   Treat 0 as a boolean.
-
-unrecognized
-===================================
-repeatunrecog: <P:->
-   Identifier used in code has not been declared. (Message repeated for future
-   uses in this file.)
-sysunrecog: <P:+>
-   Identifier used in code has not been declared. (Message repeated for future
-   uses in this file.)  Use +gnuextensions to make Splint recognize some
-   keywords that are gnu extensions.
-unrecog: <P:+>
-   Identifier used in code has not been declared.
-
-declarations
-===================================
-annotationerror: <P:+>
-   A declaration uses an invalid annotation.
-commenterror: <P:+>
-   A syntactic comment is used inconsistently.
-
-warnuse
-===================================
-warnuse: <P:+>
-   Declaration marked with warn clause is used (can be suppresed by more
-   specific flags).
-bufferoverflow: <M:-+++>
-   Use of function that may lead to buffer overflow.
-bufferoverflowhigh: <M:++++>
-   Use of function that may lead to buffer overflow.
-implementationoptional: <M:--++>
-   Use of a declarator that is implementation optional, not required by ISO99.
-legacy: <M:---->
-   Use of a declarator that is marked as a legacy entry in the Unix Standard.
-multithreaded: <M:--++>
-   Non-reentrant function should not be used in multithreaded code.
-portability: <M:--++>
-   Use of function that may have implementation-dependent behavior.
-superuser: <M:--++>
-   Call to function restricted to superusers.
-toctou: <M:---+>
-   Possible time of check, time of use vulnerability.
-unixstandard: <M:---->
-   Use of function that need not be provided by UNIX implementations
-
-its4
-===================================
-its4mostrisky: <S><P:->
-   Security vulnerability classified as most risky in its4 database.
-its4veryrisky: <S><P:->
-   Security vulnerability classified as very risky in its4 database.
-its4risky: <S><P:->
-   Security vulnerability classified as risky in its4 database.
-its4moderate: <S><P:->
-   Security vulnerability classified as moderate risk in its4 database.
-its4low: <S><P:->
-   Security vulnerability classified as risky in its4 database.
-
-syncomments
-===================================
-nocomments: <P:->
-   Ignore all stylized comments.
-noaccess: <P:->
-   Ignore access comments.
-unrecogcomments: <P:+>
-   Word after a stylized comment marker does not correspond to a stylized
-   comment.
-unrecogflagcomments: <P:+>
-   Semantic comment attempts to set a flag that is not recognized.
-tmpcomments: <M:---->
-   Interpret t comments (ignore errors in lines marked with /*@t<n>@*/.
-lintcomments: <P:+>
-   Interpret traditional lint comments (/*FALLTHROUGH*/, /*NOTREACHED*/).
-warnlintcomments: <M:-+++>
-   A traditional lint comment is used. Some traditional lint comments are
-   interpreted by Splint to enable easier checking of legacy code. It is
-   preferable to replace these comments with the suggested Splint alternative.
-
-comments
-===================================
-continuecomment: <P:->
-   A line continuation marker (\) appears inside a comment on the same line as
-   the comment close. Preprocessors should handle this correctly, but it causes
-   problems for some preprocessors.
-slashslashcomment: <P:->
-   A // comment is used.  ISO C99 allows // comments, but earlier standards did
-   not.
-nestcomment: <P:+>
-   A comment open sequence (/*) appears within a comment.  This usually means
-   an earlier comment was not closed.
-
-display
-===================================
-quiet: <P:->
-   Suppress herald and error count.
-usestderr: <P:->
-   Send error messages to standard error (instead of standard out).
-showsummary: <P:->
-   Show summary of all errors reported and suppressed.
-showscan: <P:->
-   Show file names are they are processed.
-stats: <G><P:->
-   Display lines processed and time.
-timedist: <G><P:->
-   Display time distribution.
-showalluses: <G><P:->
-   Show sorted list of uses of all globals.
-
-hints
-===================================
-hints: <P:+>
-   Provide a hint the first time a particular warning appears
-forcehints: <P:->
-   Provide a hint for every warning
-
-debug
-===================================
-bugslimit <number> [3]: <P:->
-   Set maximum number of bugs detected before giving up.
-debugfcnconstraint: <M:---->
-   Perform buffer overflow checking even if the errors would be surpressed.
-grammar: <-><S><P:->
-   Debug parsing.
-keep: <-><P:->
-   Do not delete temporary files.
-nopp: <-><P:->
-   Do not pre-process input files.
-showsourceloc: <-><P:->
-   Display the source code location where a warning is produced.
-
This page took 0.22005 seconds and 4 git commands to generate.