]> andersk Git - splint.git/blame - test/help.expect
splint now tried to define a symbol based on the current processor type.
[splint.git] / test / help.expect
CommitLineData
885824d3 1
2Source files are .c, .h and .lcl files. If there is no suffix,
11db3170 3 Splint will look for <file>.c and <file>.lcl.
885824d3 4
11db3170 5Use splint -help <topic or flag name> for more information
885824d3 6
7Topics:
8
9 annotations (describes source-code annotations)
10 comments (describes control comments)
11 flags (describes flag categories)
12 flags <category> (describes flags in category)
13 flags all (short description of all flags)
14 flags alpha (list all flags alphabetically)
15 flags full (full description of all flags)
16 mail (information on mailing lists)
17 modes (show mode settings)
18 parseerrors (help on handling parser errors)
19 prefixcodes (character codes in namespace prefixes)
20 references (sources for more information)
21 vars (environment variables)
22 version (information on compilation, maintainer)
23
24
11db3170 25Finished checking --- no code processed
885824d3 26
27Source files are .c, .h and .lcl files. If there is no suffix,
11db3170 28 Splint will look for <file>.c and <file>.lcl.
885824d3 29
11db3170 30Use splint -help <topic or flag name> for more information
885824d3 31
32Topics:
33
34 annotations (describes source-code annotations)
35 comments (describes control comments)
36 flags (describes flag categories)
37 flags <category> (describes flags in category)
38 flags all (short description of all flags)
39 flags alpha (list all flags alphabetically)
40 flags full (full description of all flags)
41 mail (information on mailing lists)
42 modes (show mode settings)
43 parseerrors (help on handling parser errors)
44 prefixcodes (character codes in namespace prefixes)
45 references (sources for more information)
46 vars (environment variables)
47 version (information on compilation, maintainer)
48
49
60868d40 50
15b3d2b2 51Command Line: Unrecognized option: asdf
2e127cb8 52 A flag is not recognized or used in an incorrect way (Use -badflag to inhibit
53 warning)
885824d3 54
11db3170 55Finished checking --- no code processed
885824d3 56
57Warning: setting +boolint redundant with current value
58
11db3170 59Finished checking --- no code processed
885824d3 60
61 D<initializer>
62 I<directory>
63 S<directory>
64 U<initializer>
65 abstract
66 accessall
67 accessczech
68 accessczechoslovak
69 accessfile
70 accessmodule
71 accessslovak
72 aliasunique
73 allblock
74 allempty
75 allglobs
76 allimponly
77 allmacros
bb7c2085 78 alwaysexits
15b3d2b2 79 annotationerror
27c9e640 80 ansi89limits
885824d3 81 assignexpose
82 badflag
83 bitwisesigned
885824d3 84 boolcompare
85 boolfalse
86 boolint
87 boolops
88 booltrue
89 booltype
bb7c2085 90 bounds
91 boundsread
92 boundswrite
885824d3 93 branchstate
8e349e11 94 bufferoverflow
15b3d2b2 95 bufferoverflowhigh
96 bugslimit
885824d3 97 casebreak
98 castexpose
99 castfcnptr
100 charindex
101 charint
102 charintliteral
103 charunsignedchar
104 checkedglobalias
105 checkmodglobalias
15b3d2b2 106 checkpost
885824d3 107 checkstrictglobalias
108 checkstrictglobs
109 codeimponly
110 commentchar
15b3d2b2 111 commenterror
885824d3 112 compdef
113 compdestroy
114 compmempass
115 constmacros
116 constprefix
117 constprefixexclude
118 constuse
119 continuecomment
120 controlnestdepth
121 cppnames
122 czech
123 czechconsts
124 czechfcns
125 czechmacros
126 czechoslovak
127 czechoslovakconsts
128 czechoslovakfcns
129 czechoslovakmacros
130 czechoslovaktypes
131 czechoslovakvars
132 czechtypes
133 czechvars
15b3d2b2 134 debugfcnconstraint
885824d3 135 declundef
136 deepbreak
137 deparrays
138 dependenttrans
139 distinctexternalnames
140 distinctinternalnames
141 dump
bb7c2085 142 duplicatecases
885824d3 143 duplicatequals
144 elseifcomplete
bb7c2085 145 emptyreturn
885824d3 146 enumindex
147 enumint
148 enummembers
149 enummemuse
150 enumprefix
151 enumprefixexclude
152 evalorder
153 evalorderuncon
154 exitarg
155 expect
156 exportany
157 exportconst
158 exportfcn
159 exportheader
160 exportheadervar
161 exportiter
162 exportlocal
163 exportmacro
164 exporttype
165 exportvar
166 exposetrans
167 externalnamecaseinsensitive
168 externalnamelen
169 externalprefix
170 externalprefixexclude
171 f
172 fcnderef
173 fcnmacros
8e349e11 174 fcnpost
885824d3 175 fcnuse
176 fielduse
15b3d2b2 177 fileextensions
885824d3 178 filestaticprefix
179 filestaticprefixexclude
180 firstcase
181 fixedformalarray
182 floatdouble
183 forblock
184 forcehints
185 forempty
3e3ec469 186 forloopexec
885824d3 187 formalarray
188 formatcode
15b3d2b2 189 formatconst
885824d3 190 formattype
191 forwarddecl
192 freshtrans
193 fullinitblock
194 globalias
195 globalprefix
196 globalprefixexclude
197 globimponly
198 globnoglobs
199 globs
200 globsimpmodsnothing
201 globstate
202 globuse
203 gnuextensions
bb7c2085 204 grammar
885824d3 205 hasyield
206 help
207 hints
208 i
209 ifblock
210 ifempty
211 ignorequals
212 ignoresigns
213 immediatetrans
214 impabstract
215 impcheckedglobs
216 impcheckedspecglobs
217 impcheckedstatics
218 impcheckedstrictglobs
219 impcheckedstrictspecglobs
220 impcheckedstrictstatics
221 impcheckmodglobs
222 impcheckmodinternals
223 impcheckmodspecglobs
224 impcheckmodstatics
225 impconj
15b3d2b2 226 implementationoptional
227 implictconstraint
885824d3 228 impouts
229 imptype
230 includenest
231 incompletetype
232 incondefs
233 incondefslib
15b3d2b2 234 indentspaces
885824d3 235 infloops
236 infloopsuncon
8fe44445 237 initallelements
238 initsize
885824d3 239 internalglobs
240 internalglobsnoglobs
241 internalnamecaseinsensitive
242 internalnamelen
243 internalnamelookalike
27c9e640 244 iso99limits
245 isolib
246 isoreserved
247 isoreservedinternal
bb7c2085 248 iterbalance
3e3ec469 249 iterloopexec
885824d3 250 iterprefix
251 iterprefixexclude
bb7c2085 252 iteryield
15b3d2b2 253 its4low
254 its4moderate
255 its4mostrisky
256 its4risky
257 its4veryrisky
bb7c2085 258 keep
885824d3 259 keeptrans
260 kepttrans
261 larchpath
262 lclexpect
263 lclimportdir
264 lcs
79127b5d 265 legacy
885824d3 266 lh
267 libmacros
268 likelybool
269 limit
270 linelen
271 lintcomments
272 load
273 localprefix
274 localprefixexclude
275 longintegral
276 longsignedintegral
277 longunsignedintegral
278 longunsignedunsignedintegral
279 loopexec
280 looploopbreak
281 looploopcontinue
282 loopswitchbreak
283 macroassign
284 macroconstdecl
285 macrodecl
286 macroempty
287 macrofcndecl
288 macromatchname
289 macroparams
290 macroparens
291 macroredef
bb7c2085 292 macroreturn
885824d3 293 macrostmt
294 macrounrecog
295 macrovarprefix
296 macrovarprefixexclude
297 maintype
298 matchanyintegral
299 matchfields
300 mayaliasunique
301 memchecks
302 memimp
303 memtrans
15b3d2b2 304 misplacedsharequal
885824d3 305 misscase
306 modfilesys
307 modglobs
308 modglobsnomods
309 modglobsunchecked
310 modinternalstrict
311 modnomods
312 modobserver
313 modobserveruncon
314 mods
315 modsimpnoglobs
316 modstrictglobsnomods
317 moduncon
318 modunconnomods
319 modunspec
15b3d2b2 320 mts
321 multithreaded
885824d3 322 mustdefine
323 mustfree
2e127cb8 324 mustfreefresh
325 mustfreeonly
885824d3 326 mustmod
327 mustnotalias
328 mutrep
329 namechecks
330 needspec
331 nestcomment
332 nestedextern
333 neverinclude
334 newdecl
335 newreftrans
336 nextlinemacros
337 noaccess
338 nocomments
339 noeffect
340 noeffectuncon
341 nof
342 nolib
343 noparams
bb7c2085 344 nopp
885824d3 345 noret
346 null
347 nullassign
348 nullderef
349 nullpass
350 nullptrarith
351 nullret
352 nullstate
8e349e11 353 nullterminated
354 nullterminated
885824d3 355 numenummembers
356 numliteral
357 numstructfields
358 observertrans
3e3ec469 359 obviousloopexec
885824d3 360 oldstyle
361 onlytrans
362 onlyunqglobaltrans
15b3d2b2 363 orconstraint
885824d3 364 overload
365 ownedtrans
366 paramimptemp
367 paramuse
368 parenfileformat
369 partial
370 passunknown
1d239d69 371 portability
885824d3 372 posixlib
373 posixstrictlib
374 predassign
375 predbool
376 predboolint
377 predboolothers
378 predboolptr
bb7c2085 379 preproc
885824d3 380 protoparammatch
381 protoparamname
382 protoparamprefix
383 protoparamprefixexclude
384 ptrarith
385 ptrcompare
386 ptrnegate
387 quiet
388 readonlystrings
389 readonlytrans
390 realcompare
391 redecl
392 redef
86d93ed3 393 redundantconstraints
15b3d2b2 394 redundantsharequal
885824d3 395 refcounttrans
396 relaxquals
397 relaxtypes
398 repeatunrecog
399 repexpose
400 retalias
401 retexpose
402 retimponly
403 retval
404 retvalbool
405 retvalint
406 retvalother
407 sefparams
408 sefuncon
409 shadow
410 sharedtrans
a956d444 411 shiftimplementation
412 shiftnegative
885824d3 413 showallconjs
414 showalluses
415 showcolumn
bb7c2085 416 showconstraintlocation
417 showconstraintparens
885824d3 418 showfunc
419 showscan
bb7c2085 420 showsourceloc
885824d3 421 showsummary
422 singleinclude
423 sizeofformalarray
424 sizeoftype
425 skipansiheaders
426 skipposixheaders
427 skipsysheaders
1f11dead 428 slashslashcomment
885824d3 429 slovak
430 slovakconsts
431 slovakfcns
432 slovakmacros
433 slovaktypes
434 slovakvars
435 specglobimponly
436 specimponly
437 specmacros
438 specretimponly
439 specstructimponly
440 specundecl
441 specundef
442 stackref
15b3d2b2 443 statemerge
444 statetransfer
885824d3 445 staticinittrans
446 statictrans
447 stats
448 strictbranchstate
449 strictdestroy
450 strictlib
451 strictops
452 strictusereleased
453 stringliterallen
8fe44445 454 stringliteralnoroom
455 stringliteralsmaller
456 stringliteraltoolong
885824d3 457 structimponly
458 supcounts
15b3d2b2 459 superuser
885824d3 460 switchloopbreak
461 switchswitchbreak
462 syntax
463 sysdirerrors
464 sysdirexpandmacros
465 sysdirs
466 sysunrecog
467 tagprefix
468 tagprefixexclude
469 temptrans
470 timedist
471 tmpcomments
472 tmpdir
15b3d2b2 473 toctou
885824d3 474 topuse
475 trytorecover
476 type
477 typeprefix
478 typeprefixexclude
479 typeuse
480 uncheckedglobalias
481 uncheckedmacroprefix
482 uncheckedmacroprefixexclude
483 uniondef
484 unixlib
1d239d69 485 unixstandard
885824d3 486 unixstrictlib
487 unqualifiedinittrans
488 unqualifiedtrans
489 unreachable
490 unrecog
491 unrecogcomments
4f43223c 492 unrecogdirective
15b3d2b2 493 unrecogflagcomments
1d239d69 494 unsignedcompare
885824d3 495 unusedspecial
496 usedef
497 usereleased
498 usestderr
499 usevarargs
500 varuse
501 voidabstract
502 warnflags
503 warnlintcomments
504 warnmissingglobs
505 warnmissingglobsnoglobs
506 warnposixheaders
60868d40 507 warnrc
885824d3 508 warnunixlib
15b3d2b2 509 warnuse
885824d3 510 whichlib
511 whileblock
512 whileempty
3e3ec469 513 whileloopexec
cc78dedd 514 zerobool
885824d3 515
516
bb7c2085 517null --- misuses of null pointer
518nullderef --- possible dereferencce of null pointer
519nullpass --- possibly null pointer passed as formal with no null annotation
520nullret --- possibly null pointer returned as result with no null annotation
521nullstate --- possibly null pointer reachable from a reference with no null
522annotation
523nullassign --- inconsistent assignment or initialization involving null pointer
524usedef --- use before definition
525mustdefine --- out storage not defined before return or scope exit
526uniondef --- at least one field of a union must be defined
527compdef --- parameter, return value or global completely defined
45569d72 528fullinitblock --- initializer sets all fields
529initallelements --- initializer defines all array elements
530initsize --- initializer defines extra array elements
bb7c2085 531impouts --- pointer parameters to unspecified functions may be implicit out
532parameters
533incondefs --- function, variable or constant redefined with inconsistent type
534matchfields --- struct or enum type redefined with inconsistent fields or
535members
536fcnderef --- dereferencce of a function type
537realcompare --- dangerous comparison between reals (dangerous because of
538inexact floating point representations)
539unsignedcompare --- comparison using <, <=, >= between an unsigned integral and
540zero constant
541ptrarith --- arithmetic involving pointer and integer
542nullptrarith --- arithmetic involving possibly null pointer and integer
543ptrcompare --- comparison between pointer and number
544strictops --- primitive operation does not type check strictly
545bitwisesigned --- a bitwise logical operator does not have unsigned operands
546shiftnegative --- a shift right operand may be negative
547shiftimplementation --- a shift left operand may be negative
548sizeoftype --- sizeof operator has a type argument
549sizeofformalarray --- sizeof operator has an array formal parameter argument
550fixedformalarray --- formal parameter of type array is declared with size
551incompletetype --- formal parameter has an incomplete type
552formalarray --- formal parameter is an array
553booltype --- set name of boolean type (default bool)
554boolfalse --- set name of boolean false (default FALSE)
555booltrue --- set name of boolean true (default TRUE)
885824d3 556likelybool --- type name is probably a boolean type but does not match default
557boolean type name, "bool", and alternate name is not set
bb7c2085 558boolcompare --- comparison between bools (dangerous because of multiple TRUE
559values)
560boolops --- primitive operation (!, && or ||) does not has a boolean argument
561ptrnegate --- allow ! to be used on pointer operand
562predassign --- condition test (if, while or for) is an assignment
563predbool --- type of condition test (if, while or for) not bool (sets
564predboolint, predboolptr and predboolothers)
565predboolint --- type of condition test (if, while or for) is an integral type
566predboolptr --- type of condition test (if, while or for) is a pointer
567predboolothers --- type of condition test (if, while or for) not bool, int or
568pointer
569abstract --- data abstraction barriers
885824d3 570impabstract --- assume user type definitions are abstract (unless
571/*@concrete@*/ is used)
885824d3 572accessmodule --- allow access to abstract types in definition module
573accessfile --- allow access to abstract types by file name convention
574accessczech --- allow access to abstract types by czech naming convention
575accessslovak --- allow access to abstract types by slovak naming convention
576accessczechoslovak --- allow access to abstract types by czechoslovak naming
577convention
bb7c2085 578accessall --- set accessmodule, accessfile and accessczech
885824d3 579mutrep --- representation of mutable type has sharing semantics
bb7c2085 580mustfreefresh --- freshly allocated storage not released before return or scope
581exit
582mustfreeonly --- only storage not released before return or scope exit
583mustfree --- fresh or only storage not released before return or scope exit
584(sets mustfreefresh and mustfreeonly)
585usereleased --- storage used after release
586strictusereleased --- element used after it may have been released
587compdestroy --- all only references derivable from void pointer out only
588parameter are released
589strictdestroy --- report complete destruction errors for array elements that
590may have been released
591deparrays --- array elements are dependent storage
592branchstate --- storage has inconsistent states of alternate paths through a
593branch
594strictbranchstate --- storage through array fetch has inconsistent states of
595alternate paths through a branch
596memchecks --- sets all dynamic memory checking flags (memimplicit, mustfree,
597mustdefine, mustnotalias, null, memtrans)
598compmempass --- actual parameter matches alias kind of formal parameter
599completely
600stackref --- external reference to stack-allocated storage is created
601memtrans --- memory transfer errors (sets all *trans flags)
602dependenttrans --- dependent transfer errors
603newreftrans --- new reference transfer to reference counted reference
604onlytrans --- only storage transferred to non-only reference (memory leak)
605onlyunqglobaltrans --- only storage transferred to an unqualified global or
606static reference (memory leak)
607ownedtrans --- owned storage transferred to non-owned reference (memory leak)
608freshtrans --- fresh storage transferred to non-only reference (memory leak)
609sharedtrans --- shared storage transferred to non-shared reference
610temptrans --- temp storage transferred to non-temporary reference
611kepttrans --- kept storage transferred to non-temporary reference
612keeptrans --- keep storage transferred inconsistently
613immediatetrans --- an immediate address (result of &) is transferred
614inconsistently
615refcounttrans --- reference counted storage is transferred in an inconsistent
616way
617statictrans --- static storage is transferred in an inconsistent way
618unqualifiedtrans --- unqualified storage is transferred in an inconsistent way
619staticinittrans --- static storage is used as an initial value in an
620inconsistent way
621unqualifiedinittrans --- unqualified storage is used as an initial value in an
622inconsistent way
623readonlytrans --- report memory transfer errors for initializations to
624read-only string literals
625passunknown --- passing a value as an un-annotated parameter clears its
626annotation
627readonlystrings --- string literals are read-only (error if one is modified or
628released)
629memimp --- memory errors for unqualified storage
630paramimptemp --- assume unannotated parameter is temp
631allimponly --- sets globimponly, retimponly, structimponly, specglobimponly,
632specretimponly and specstructimponly
633codeimponly --- sets globimponly, retimponly and structimponly
634specimponly --- sets specglobimponly, specretimponly and specstructimponly
635globimponly --- assume unannotated global storage is only
636retimponly --- assume unannotated returned storage is only
637structimponly --- assume unannotated structure field is only
638specglobimponly --- assume unannotated global storage is only
639specretimponly --- assume unannotated returned storage is only
640specstructimponly --- assume unannotated structure field is only
641aliasunique --- unique parameter is aliased
642mayaliasunique --- unique parameter may be aliased
643mustnotalias --- temp storage aliased at return point or scope exit
644retalias --- function returns alias to parameter or global
885824d3 645globalias --- function returns with global aliasing external state (sets
646checkstrictglobalias, checkedglobalias, checkmodglobalias and
647uncheckedglobalias)
648checkstrictglobalias --- function returns with a checkstrict global aliasing
649external state
650checkedglobalias --- function returns with a checked global aliasing external
651state
652checkmodglobalias --- function returns with a checkmod global aliasing external
653state
654uncheckedglobalias --- function returns with an unchecked global aliasing
655external state
bb7c2085 656exposetrans --- exposure transfer errors
657observertrans --- observer transfer errors
885824d3 658repexpose --- abstract representation is exposed (sets assignexpose, retexpose,
659and castexpose)
660retexpose --- abstract representation is exposed (return values only)
661assignexpose --- abstract representation is exposed (assignments only)
662castexpose --- abstract representation is exposed through a cast
bb7c2085 663redundantsharequal --- declaration uses observer qualifier that is always true
664misplacedsharequal --- declaration of unsharable storage uses sharing
665annotation
666mods --- unspecified modification of caller-visible state
667mustmod --- specified modification is not detected
668modobserver --- possible modification of observer storage
669modobserveruncon --- possible modification of observer storage through
670unconstrained call
671modinternalstrict --- possible modification of internal storage through
672function call
673modfilesys --- report undocumented file system modifications (applies to
674unspecified functions if modnomods is set)
675modunspec --- modification in unspecified functions (sets modnomods,
676modglobunspec and modstrictglobsunspec)
677modnomods --- modification in a function with no modifies clause
678moduncon --- possible modification through a call to an unconstrained function
679modunconnomods --- possible modification through a call to an unconstrained
680function in a function with no modifies clause
681globsimpmodsnothing --- functions declared with a globals list but no modifies
682clause are assumed to modify nothing
683modsimpnoglobs --- functions declared with a modifies clause but no globals
684list are assumed to use no globals
685globstate --- returns with global in inconsistent state (null or undefined)
885824d3 686globs --- undocumented use of a checked global variable
687globuse --- global listed for a function not used
688internalglobs --- use of internalState
689internalglobsnoglobs --- use of internalState (in function with no globals
690list)
691warnmissingglobs --- global variable used in modifies clause is not listed in
692globals list
693warnmissingglobsnoglobs --- global variable used in modifies clause in a
694function with no globals list
695globnoglobs --- use of checked global in a function with no globals list or
696specification
697allglobs --- report use and modification errors for globals not annotated with
698unchecked
699checkstrictglobs --- report use and modification errors for checkedstrict
700globals
701impcheckedspecglobs --- assume checked qualifier for unqualified global
702declarations in .lcl files
703impcheckmodspecglobs --- assume checkmod qualifier for unqualified global
704declarations in .lcl files
705impcheckedstrictspecglobs --- assume checkmod qualifier for unqualified global
706declarations in .lcl files
707impcheckedglobs --- assume checked qualifier for unqualified global
708declarations
709impcheckmodglobs --- assume checkmod qualifier for unqualified global
710declarations
711impcheckedstrictglobs --- assume checkedstrict qualifier for unqualified global
712declarations
713impcheckedstatics --- assume checked qualifier for unqualified file static
714declarations
715impcheckmodstatics --- assume checkmod qualifier for unqualified file static
716declarations
717impcheckmodinternals --- assume checkmod qualifier for unqualified local static
718declarations (for internal state modifications)
719impcheckedstrictstatics --- assume checkedstrict qualifier for unqualified file
720static declarations
721modglobs --- undocumented modification of a checked global variable
722modglobsnomods --- undocumented modification of a checked global variable in a
723function declared with no modifies clause
724modstrictglobsnomods --- undocumented modification of a strict checked global
725variable in a function declared with no modifies clause
726modglobsunchecked --- undocumented modification of an unchecked checked global
727variable
bb7c2085 728noret --- path with no return detected in non-void function
729emptyreturn --- empty return in function declared to return value
730alwaysexits --- loop predicate always exits
731loopexec --- assume all loops execute at least once (sets forloopexec,
732whileloopexec and iterloopexec)
733forloopexec --- assume all for loops execute at least once
734whileloopexec --- assume all while loops execute at least once
735iterloopexec --- assume all iterator loops execute at least once
736obviousloopexec --- assume loop that can be determined to always execute always
737does
738evalorder --- code has unspecified or implementation-dependent behavior because
739of order of evaluation
740evalorderuncon --- code involving call to unspecified function has undefined or
741implementation-dependent behavior
742infloops --- likely infinite loop is detected
743infloopsuncon --- likely infinite loop is detected (may result from
744unconstrained function)
745casebreak --- non-empty case in a switch without preceding break
746misscase --- switch on enum type missing case for some value
747firstcase --- first statement in switch is not a case
748duplicatecases --- duplicate cases in switch
749deepbreak --- break inside nested while or for or switch
750looploopbreak --- break inside nested while or for
751switchloopbreak --- break in loop inside switch
752loopswitchbreak --- break in switch inside loop
753switchswitchbreak --- break in switch inside switch
754looploopcontinue --- continue inside nested loop
755whileempty --- a while statement has no body
756whileblock --- the body of a while statement is not a block
757forempty --- a for statement has no body
758forblock --- the body of a for statement is not a block
759ifempty --- an if statement has no body
760ifblock --- the body of an if statement is not a block
761allempty --- an if, while or for statement has no body (sets ifempty,
762whileempty and forempty
763allblock --- the body of an if, while or for statement is not a block (sets
764ifblock, whileblock and forblock)
765elseifcomplete --- if ... else if chains must have final else
766unreachable --- unreachable code detected
767noeffect --- statement with no effect
768noeffectuncon --- statement with no effect (except possibly through call to
769unconstrained function)
885824d3 770retval --- return value ignored (sets retvalint, retvalbool and retvalother)
771retvalother --- return value of type other than bool or int ignored
cc78dedd 772retvalbool --- return value of manifest type bool ignored
885824d3 773retvalint --- return value of type int ignored
bb7c2085 774nullterminated --- misuse of nullterminated allocation
775bounds --- memory bounds checking (sets boundsread and boundswrite)
776boundsread --- possible out of bounds read
777boundswrite --- possible buffer overflow from an out of bounds write
778fcnpost --- display function post conditions
86d93ed3 779redundantconstraints --- display seemingly redundant constraints
bb7c2085 780checkpost --- unable to verify predicate in ensures clause
781implictconstraint --- generate implicit constraints for functions
782orconstraint --- use limited OR expressions to resolve constraints
783nullterminated --- misuse of nullterminated allocation
784showconstraintparens --- display parentheses around constraint terms
785showconstraintlocation --- display location for every constraint generated
15b3d2b2 786mts --- load meta state declaration and corresponding xh file
bb7c2085 787statetransfer --- storage has been transfered with invalid state
788statemerge --- control paths merge with storage in incompatible states
789macroredef --- macro redefined
790macrounrecog --- unrecognized identifier in macro
791macroconstdecl --- non-parameterized macro without prototype or specification
885824d3 792macrostmt --- macro definition is syntactically not equivalent to function
793macroempty --- macro definition for is empty
794macroparams --- macro parameter not used exactly once
bb7c2085 795macroreturn --- return statement in macro body
885824d3 796macroassign --- assignment to a macro parameter
885824d3 797macroparens --- macro parameter used without parentheses (in potentially
798dangerous context)
799macrodecl --- macro without prototype or specification (sets macrofcndecl and
800macroconstdecl)
801macrofcndecl --- parameterized macro without prototype or specification
bb7c2085 802sefparams --- a parameter with side-effects is passed as a sef parameter
803sefuncon --- a parameter with unconstrained side-effects is passed as a sef
804parameter
805constmacros --- check all macros without parameter lists as constants
806fcnmacros --- check all macros with parameter lists as functions
807allmacros --- sets fcnmacros and constmacros
808libmacros --- check all macros with declarations in library as functions
809specmacros --- check all macros corresponding to specified functions or
810constants
811macromatchname --- macro definition does not match iter or constant declaration
812nextlinemacros --- the line after a constant or iter declaration must be a
813macro definition
814iterbalance --- iter is not balanced with end_<iter>
815iteryield --- iter yield parameter is inappropriate
816hasyield --- iter declaration has no yield parameters
885824d3 817namechecks --- controls name checking without changing other settings
818czech --- czech naming convention (sets accessczech, czechfunctions, czechvars,
819czechconstants, czechenums, and czechmacros)
820czechfcns --- czech naming convention violated in a function or iterator
821declaration
822czechvars --- czech naming convention violated in a variable declaration
823czechmacros --- czech naming convention violated in an expanded macro name
824czechconsts --- czech naming convention violated in a constant declaration
825czechtypes --- czech naming convention violated in a user-defined type
826definition
827slovak --- slovak naming convention violated
828slovakfcns --- slovak naming convention violated in a function or iterator
829declaration
830slovakmacros --- slovak naming convention violated in an expanded macro name
831slovakvars --- slovak naming convention violated in a variable declaration
832slovakconsts --- slovak naming convention violated in a constant declaration
833slovaktypes --- slovak naming convention violated in a use-defined type
834definition
835czechoslovak --- czech or slovak naming convention violated
836czechoslovakfcns --- czechoslovak naming convention violated in a function or
837iterator declaration
838czechoslovakmacros --- czechoslovak naming convention violated in an expanded
839macro name
840czechoslovakvars --- czechoslovak naming convention violated in a variable
841declaration
842czechoslovakconsts --- czechoslovak naming convention violated in a constant
843declaration
844czechoslovaktypes --- czechoslovak naming convention violated in a user-defined
845type definition
885824d3 846macrovarprefix --- set namespace prefix for variables declared in a macro body
847macrovarprefixexclude --- the macrovarprefix may not be used for non-macro
848variables
849tagprefix --- set namespace prefix for struct, union and enum tags
850tagprefixexclude --- the tagprefix may not be used for non-tag identifiers
851enumprefix --- set namespace prefix for enum members
852enumprefixexclude --- the enumprefix may not be used for non-enum member
853identifiers
854filestaticprefix --- set namespace prefix for file static declarations
855filestaticprefixexclude --- the filestaticprefix may not be used for
856identifiers that are not file static
857globalprefix --- set namespace prefix for global variables
858globalprefixexclude --- the globalprefix may not be used for non-global
859identifiers
860typeprefix --- set namespace prefix for user-defined types
861typeprefixexclude --- the typeprefix may not be used for identifiers that are
862not type names
863externalprefix --- set namespace prefix for external identifiers
864externalprefixexclude --- the externalprefix may not be used for non-external
865identifiers
866localprefix --- set namespace prefix for local variables
867localprefixexclude --- the localprefix may not be used for non-local
868identifiers
869uncheckedmacroprefix --- set namespace prefix for unchecked macros
870uncheckedmacroprefixexclude --- the uncheckmacroprefix may not be used for
871identifiers that are not unchecked macros
872constprefix --- set namespace prefix for constants
873constprefixexclude --- the constprefix may not be used for non-constant
874identifiers
875iterprefix --- set namespace prefix for iterators
876iterprefixexclude --- the iterprefix may not be used for non-iter identifiers
877protoparamprefix --- set namespace prefix for parameters in function prototype
878declarations
bb7c2085 879isoreserved --- external name conflicts with name reserved for system or
880standard library
881cppnames --- external or internal name is a C++ keyword or reserved word
882isoreservedinternal --- internal name conflicts with name reserved for system
883or standard library
884distinctexternalnames --- external name is not distinguishable from another
885external name using the number of significant characters
886externalnamelen --- set the number of significant characters in an external
887name
888externalnamecaseinsensitive --- alphabetic comparisons for external names are
889case-insensitive
890distinctinternalnames --- internal name is not distinguishable from another
891internal name using the number of significant characters
892internalnamelen --- set the number of significant characters in an internal
893name
894internalnamecaseinsensitive --- set whether case is significant an internal
895names (-internalnamecaseinsensitive means case is significant)
896internalnamelookalike --- lookalike characters match in internal names
885824d3 897protoparamname --- a parameter in a function prototype has a name
898protoparammatch --- the name of a parameter in a function prototype and
899corresponding declaration must match (after removing the protoparamprefix
900protoparamprefixexclude --- the protoparamprefix may not be used for
901non-declaraction parameter identifiers
bb7c2085 902topuse --- declaration at top level not used
903exportlocal --- a declaration is exported but not used outside this module
904exportheader --- a declaration is exported but does not appear in a header file
905exportheadervar --- a variable declaration is exported but does not appear in a
906header file
907fielduse --- field of structure type not used
908enummemuse --- member of an enum type not used
909constuse --- constant declared but not used
910fcnuse --- function declared but not used
911paramuse --- function parameter not used
912typeuse --- type declared but not used
913varuse --- variable declared but not used
914unusedspecial --- unused declaration in special file (corresponding to .l or .y
915file)
916declundef --- function or variable declared but never defined
917specundef --- function or variable specified but never defined
918specundecl --- function or variable specified but never declared in a source
919file
920newdecl --- report new global declarations in source files
921needspec --- information in specifications is not also included in syntactic
922comments
923nolib --- do not load standard library
924isolib --- use normal standard library
925strictlib --- interpret standard library strictly
926unixlib --- use UNIX (sort-of) standard library
927unixstrictlib --- use strict version of UNIX (sort-of) library
928posixlib --- use POSIX standard library
929posixstrictlib --- use strict POSIX standard library
930whichlib --- show standard library filename
931warnposixheaders --- a POSIX header is included, but the POSIX library is not
932used
933warnunixlib --- warn when the unix library is used
934usevarargs --- non-standard <varargs.h> included
935dump --- save state for merging (default suffix .lcd)
936load --- load state from dump file (default suffix .lcd)
937singleinclude --- optimize header inclusion to eliminate redundant includes
938neverinclude --- optimize header inclusion to not include any header files
939skipsysheaders --- do not include header files in system directories (set by
940-sysdirs)
941gnuextensions --- support some gnu (gcc) language extensions
942noparams --- function declaration has no parameter list
943oldstyle --- old style function definition
944maintype --- type of main does not match expected type
945exitarg --- argument to exit has implementation defined behavior
946shadow --- declaration reuses name visible in outer scope
947incondefslib --- function, variable or constant defined in a library is
948redefined with inconsistent type
949overload --- library function overloaded
950nestedextern --- an extern declaration is inside a function scope
951redecl --- function or variable redeclared
952redef --- function or variable redefined
953imptype --- variable declaration has unknown (implicitly int) type
954tmpdir --- set directory for writing temp files
955larchpath --- set path for searching for library files (overrides LARCH_PATH
956environment variable)
957lclimportdir --- set directory to search for LCL import files (overrides
958LCLIMPORTDIR)
959sysdirs --- set directories for system files (default /usr/include). Separate
960directories with path separator (colons in Unix, semi-colons in Windows). Flag
961settings propagate to files in a system directory. If -sysdirerrors is set, no
962errors are reported for files in system directories.
963skipansiheaders --- prevent inclusion of header files in a system directory
964with names that match standard ANSI headers. The symbolic information in the
965standard library is used instead. Flag in effect only if a library including
966the ANSI library is loaded. The ANSI headers are:
967assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
968stddef, stdio, stdlib, strings, string, time, and wchar.
969skipposixheaders --- prevent inclusion of header files in a system directory
970with names that match standard POSIX headers. The symbolic information in the
971posix library is used instead. The POSIX headers are:
972dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types, sys/utsname,
973sys/wait, unistd, and utime.
974sysdirerrors --- report errors in files in system directories (set by -sysdirs)
975sysdirexpandmacros --- expand macros in system directories regardless of other
976settings, except for macros corresponding to names defined in a load library
977I<directory> --- add to C include path
978S<directory> --- add to spec path
979exportany --- variable, function or type exported but not specified
980exportfcn --- function exported but not specified
981exportmacro --- expanded macro exported but not specified
982exporttype --- type definition exported but not specified
983exportvar --- variable exported but not specified
984exportconst --- constant exported but not specified
985exportiter --- constant exported but not specified
986linelen --- set length of messages (number of chars)
987indentspaces --- set number of spaces to indent sub-messages
988showcolumn --- show column number where error is found
989parenfileformat --- show column number where error is found
990showfunc --- show name of function containing error
991showallconjs --- show all possible types
992impconj --- make all alternate types implicit (useful for making system
993libraries
994expect --- expect <int> code errors
995lclexpect --- expect <int> spec errors
996partial --- check as partial system (-specundef, -declundef, -exportlocal,
997don't check macros in headers without corresponding .c files)
998lh --- generate .lh files
999lcs --- generate .lcs files
1000warnflags --- warn when command line sets flag in abnormal way
1001warnrc --- warn when there are problems with reading the initialization files
1002badflag --- warn about bad command line flags
1003fileextensions --- warn when command line file does not have a recognized
1004extension
1005help --- -help <flags> will describe flags
1006f --- read an options file (default ~/.splintrc not loaded)
1007i --- set LCL initilization file
1008nof --- do not read options file
1009commentchar --- set marker character for syntactic comments (default is '@')
885824d3 1010controlnestdepth --- set maximum nesting depth of compound statements,
27c9e640 1011iteration control structures, and selection control structures (ANSI89 minimum
1012is 15; ISO99 is 63)
1013stringliterallen --- set maximum length of string literals (ANSI89 minimum is
1014509; ISO99 is 4095)
1015numstructfields --- set maximum number of fields in a struct or union (ANSI89
1016minimum is 127; ISO99 is 1023)
1017numenummembers --- set maximum number of members of an enum (ANSI89 minimum is
1018127; ISO99 is 1023)
45569d72 1019includenest --- set maximum number of nested #include files (ANSI89 minimum is
10208; ISO99 is 63)
27c9e640 1021ansi89limits --- check for violations of standard limits (controlnestdepth,
1022stringliterallen, includenest, numstructfields, numenummembers) based on ANSI89
1023standard
1024iso99limits --- check for violations of standard limits (controlnestdepth,
1025stringliterallen, includenest, numstructfields, numenummembers) based on ISO99
1026standard
885824d3 1027D<initializer> --- passed to pre-processor
1028U<initializer> --- passed to pre-processor
4f43223c 1029unrecogdirective --- unrecognized pre-processor directive
885824d3 1030supcounts --- The number of errors detected does not match number in
1031/*@i<n>@*/.
1032limit --- limit <int> consecutive repeated errors
1033syntax --- syntax error in parsing
1034trytorecover --- try to recover from parse error
bb7c2085 1035preproc --- preprocessing error
885824d3 1036type --- type mismatch
8fe44445 1037stringliteraltoolong --- string literal too long for character array
1038stringliteralnoroom --- string literal leaves no room for null terminator
1039stringliteralsmaller --- string literal is smaller than the char array it is
1040assigned to
885824d3 1041enummembers --- enum members must be int values
885824d3 1042formattype --- type-mismatch in parameter corresponding to format code in a
1043printf or scanf-like function
15b3d2b2 1044formatconst --- format parameter is not a string constant (hence variable
1045arguments cannot be typechecked)
885824d3 1046formatcode --- invalid format code in format string for printf or scanf-like
1047function
1048forwarddecl --- forward declarations of pointers to abstract representation
1049match abstract type
1050voidabstract --- void * matches pointers to abstract types, casting ok
1051(dangerous)
1052castfcnptr --- a pointer to a function is cast to a pointer to void (or vice
1053versa)
1054charindex --- char can be used to index arrays
1055enumindex --- enum can be used to index arrays
1056boolint --- bool and int are equivalent
1057charint --- char and int are equivalent
1058enumint --- enum and int are equivalent
1059floatdouble --- float and double are equivalent
1060ignorequals --- ignore type qualifiers (long, short, unsigned)
45569d72 1061duplicatequals --- report duplicate type qualifiers (e.g., unsigned unsigned)
885824d3 1062ignoresigns --- ignore signs in type comparisons (unsigned matches signed)
1063numliteral --- int literals can be reals
1064charintliteral --- character constants (e.g., 'a') can be used as ints
1065relaxquals --- report qualifier mismatches only if dangerous
1066relaxtypes --- allow all numeric types to match
1067charunsignedchar --- allow char and unsigned char types to match
1068matchanyintegral --- allow any intergral type to match an arbitrary integral
1069type (e.g., dev_t)
1070longunsignedintegral --- allow long unsigned type to match an arbitrary
1071integral type (e.g., dev_t)
1072longintegral --- allow long type to match an arbitrary integral type (e.g.,
1073dev_t)
1074longunsignedunsignedintegral --- allow long unsigned type to match an arbitrary
1075unsigned integral type (e.g., size_t)
1076longsignedintegral --- allow long type to match an arbitrary signed integral
1077type (e.g., ssize_t)
bb7c2085 1078zeroptr --- tread 0 as a pointer
1079zerobool --- treat 0 as a boolean
885824d3 1080repeatunrecog --- do not suppress repeated unrecognized identifier messages
1081(instead of only reporting the first error)
1082sysunrecog --- report unrecognized identifiers with system (__) prefix
1083unrecog --- unrecognized identifier
15b3d2b2 1084annotationerror --- annotation is used in inconsistent location
1085commenterror --- inconsistent syntactic comment
15b3d2b2 1086warnuse --- warn when declaration marked with warn is used
bb7c2085 1087bufferoverflow --- possible buffer overflow vulnerability
1088bufferoverflowhigh --- likely buffer overflow vulnerability
1089implementationoptional --- declarator is implementation optional (ISO99 does
1090not require an implementation to provide it)
1091legacy --- legacy declaration in Unix Standard
1092multithreaded --- function is not reentrant
1093portability --- function may have undefined behavior
1094superuser --- function is restricted to superusers
1095toctou --- possible time of check, time of use vulnerability
1096unixstandard --- function is not required in Standard UNIX Specification
15b3d2b2 1097its4mostrisky --- most risky security vulnerabilities (from its4 database)
1098its4veryrisky --- very risky security vulnerabilities (from its4 database)
1099its4risky --- risky security vulnerabilities (from its4 database)
1100its4moderate --- moderately risky security vulnerabilities (from its4 database)
1101its4low --- risky security vulnerabilities (from its4 database)
bb7c2085 1102nocomments --- ignore all stylized comments
1103noaccess --- ignore access comments
1104unrecogcomments --- stylized comment is unrecognized
1105unrecogflagcomments --- stylized flag comment uses an unrecognized flag
1106tmpcomments --- interpret t comments (ignore errors in lines marked with
1107/*@t<n>@*/
1108lintcomments --- interpret traditional lint comments (/*FALLTHROUGH*/,
1109/*NOTREACHED*/)
1110warnlintcomments --- warn when a traditional lint comment is used
1111continuecomment --- line continuation marker (\) in comment before */ on same
1112line
1113slashslashcomment --- use of // comment
1114nestcomment --- comment begins inside comment
1115quiet --- suppress herald and error count
1116usestderr --- send error messages to standard error (instead of standard out)
1117showsummary --- show summary of all errors reported and suppressed
1118showscan --- show file names are they are processed
1119stats --- display lines processed and time
1120timedist --- display time distribution
1121showalluses --- show sorted list of uses of all globals
1122hints --- provide a hint the first time a particular warning appears
1123forcehints --- provide a hint for every warnings
bb7c2085 1124bugslimit --- set maximum number of bugs detected before giving up
1125debugfcnconstraint --- debug function constraints
1126grammar --- debug parsing
bb7c2085 1127keep --- do not delete temporary files
45569d72 1128nopp --- do not pre-process input files
1129showsourceloc --- display the source code location where a warning is produced
885824d3 1130
This page took 6.03973 seconds and 5 git commands to generate.