2 Source files are .c, .h and .lcl files. If there is no suffix,
3 LCLint will look for <file>.c and <file>.lcl.
5 Use lclint -help <topic or flag name> for more information
9 annotations (describes source-code annotations)
10 comments (describes control comments)
11 flags (describes flag categories)
12 flags <category> (describes flags in category)
13 flags all (short description of all flags)
14 flags alpha (list all flags alphabetically)
15 flags full (full description of all flags)
16 mail (information on mailing lists)
17 modes (show mode settings)
18 parseerrors (help on handling parser errors)
19 prefixcodes (character codes in namespace prefixes)
20 references (sources for more information)
21 vars (environment variables)
22 version (information on compilation, maintainer)
25 Cannot find standard library: ansi.lcd
26 Check LARCH_PATH environment variable.
27 Continuing without LCL init file: lclinit.lci
28 Continuing without LSL init file: lslinit.lsi
29 Unable to find CTrait.syms or CTrait.lsl. Check LARCH_PATH environment
32 Source files are .c, .h and .lcl files. If there is no suffix,
33 LCLint will look for <file>.c and <file>.lcl.
35 Use lclint -help <topic or flag name> for more information
39 annotations (describes source-code annotations)
40 comments (describes control comments)
41 flags (describes flag categories)
42 flags <category> (describes flags in category)
43 flags all (short description of all flags)
44 flags alpha (list all flags alphabetically)
45 flags full (full description of all flags)
46 mail (information on mailing lists)
47 modes (show mode settings)
48 parseerrors (help on handling parser errors)
49 prefixcodes (character codes in namespace prefixes)
50 references (sources for more information)
51 vars (environment variables)
52 version (information on compilation, maintainer)
55 Unrecognized option: asdf
58 Finished LCLint checking --- no code processed
60 Warning: setting +boolint redundant with current value
62 Finished LCLint checking --- no code processed
135 distinctexternalnames
136 distinctinternalnames
161 externalnamecaseinsensitive
164 externalprefixexclude
171 filestaticprefixexclude
207 impcheckedstrictglobs
208 impcheckedstrictspecglobs
209 impcheckedstrictstatics
225 internalnamecaseinsensitive
227 internalnamelookalike
248 longunsignedunsignedintegral
265 macrovarprefixexclude
342 protoparamprefixexclude
427 uncheckedmacroprefixexclude
446 warnmissingglobsnoglobs
454 bool --- boolean type is abstract
455 likelybool --- type name is probably a boolean type but does not match default
456 boolean type name, "bool", and alternate name is not set
457 impabstract --- assume user type definitions are abstract (unless
458 /*@concrete@*/ is used)
459 accessall --- set accessmodule, accessfile and accessczech
460 accessmodule --- allow access to abstract types in definition module
461 accessfile --- allow access to abstract types by file name convention
462 accessczech --- allow access to abstract types by czech naming convention
463 accessslovak --- allow access to abstract types by slovak naming convention
464 accessczechoslovak --- allow access to abstract types by czechoslovak naming
466 abstract --- data abstraction barriers
467 mutrep --- representation of mutable type has sharing semantics
468 globalias --- function returns with global aliasing external state (sets
469 checkstrictglobalias, checkedglobalias, checkmodglobalias and
471 checkstrictglobalias --- function returns with a checkstrict global aliasing
473 checkedglobalias --- function returns with a checked global aliasing external
475 checkmodglobalias --- function returns with a checkmod global aliasing external
477 uncheckedglobalias --- function returns with an unchecked global aliasing
479 aliasunique --- unique parameter is aliased
480 mayaliasunique --- unique parameter may be aliased
481 mustnotalias --- temp storage aliased at return point or scope exit
482 retalias --- function returns alias to parameter or global
483 noparams --- function declaration has no parameter list
484 oldstyle --- old style function definition
485 gnuextensions --- support some gnu (gcc) language extensions
486 usevarargs --- non-standard <varargs.h> included
487 warnposixheaders --- a POSIX header is included, but the POSIX library is not
489 exitarg --- argument to exit has implementation defined behavior
490 evalorder --- code has unspecified or implementation-dependent behavior because
491 of order of evaluation
492 evalorderuncon --- code involving call to unspecified function has undefined or
493 implementation-dependent behavior
494 boolfalse --- set name of boolean false (default FALSE)
495 booltype --- set name of boolean type (default bool)
496 booltrue --- set name of boolean true (default TRUE)
497 noaccess --- ignore access comments
498 nocomments --- ignore all stylized comments
499 unrecogcomments --- stylized comment is unrecognized
500 continuecomment --- line continuation marker (\) in comment before */ on same
502 nestcomment --- comment begins inside comment
503 tmpcomments --- interpret t comments (ignore errors in lines marked with
505 lintcomments --- interpret traditional lint comments (/*FALLTHROUGH*/,
507 warnlintcomments --- print a warning and suggest an alternative when a
508 traditional lint comment is used
509 declundef --- function or variable declared but never defined
510 specundef --- function or variable specified but never defined
511 specundecl --- function or variable specified but never declared in a source
513 loopexec --- assume all loops execute at least once
514 infloops --- likely infinite loop is detected
515 infloopsuncon --- likely infinite loop is detected (may result from
516 unconstrained function)
517 deepbreak --- break inside nested while or for or switch
518 looploopbreak --- break inside nested while or for
519 switchloopbreak --- break in loop inside switch
520 loopswitchbreak --- break in switch inside loop
521 switchswitchbreak --- break in switch inside switch
522 looploopcontinue --- continue inside nested loop
523 unreachable --- unreachable code detected
524 whileempty --- a while statement has no body
525 whileblock --- the body of a while statement is not a block
526 forempty --- a for statement has no body
527 forblock --- the body of a for statement is not a block
528 ifempty --- an if statement has no body
529 ifblock --- the body of an if statement is not a block
530 allempty --- an if, while or for statement has no body (sets ifempty,
531 whileempty and forempty
532 allblock --- the body of an if, while or for statement is not a block (sets
533 ifblock, whileblock and forblock)
534 elseifcomplete --- if ... else if chains must have final else
535 noret --- path with no return detected in non-void function
536 casebreak --- non-empty case in a switch without preceding break
537 misscase --- switch on enum type missing case for some value
538 firstcase --- first statement in switch is not a case
539 shadow --- declaration reuses name visible in outer scope
540 incondefslib --- function, variable or constant defined in a library is
541 redefined with inconsistent type
542 overload --- library function overloaded
543 nestedextern --- an extern declaration is inside a function scope
544 redecl --- function or variable redeclared
545 redef --- function or variable redefined
546 incondefs --- function, variable or constant redefined with inconsistent type
547 imptype --- variable declaration has unknown (implicitly int) type
548 matchfields --- struct or enum type redefined with inconsistent fields or
550 usedef --- use before definition
551 impouts --- pointer parameters to unspecified functions may be implicit out
553 tmpdir --- set directory for writing temp files
554 larchpath --- set path for searching for library files (overrides LARCH_PATH
555 environment variable)
556 lclimportdir --- set directory to search for LCL import files (overrides
558 sysdirs --- set directories for system files (default /usr/include). Separate
559 directories with colons (e.g., "/usr/include:/usr/local/lib"). Flag settings
560 propagate to files in a system directory. If -sysdirerrors is set, no errors
561 are reported for files in system directories.
562 skipansiheaders --- prevent inclusion of header files in a system directory
563 with names that match standard ANSI headers. The symbolic information in the
564 standard library is used instead. Flag in effect only if a library including
565 the ANSI library is loaded. The ANSI headers are:
566 assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
567 stddef, stdio, stdlib, strings, string, time, and wchar.
568 skipposixheaders --- prevent inclusion of header files in a system directory
569 with names that match standard POSIX headers. The symbolic information in the
570 posix library is used instead. The POSIX headers are:
571 dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types, sys/utsname,
572 sys/wait, unistd, and utime.
573 sysdirerrors --- report errors in files in system directories (set by -sysdirs)
574 sysdirexpandmacros --- expand macros in system directories regardless of other
575 settings, except for macros corresponding to names defined in a load library
576 I<directory> --- add to C include path
577 S<directory> --- add to spec path
578 quiet --- suppress herald and error count
579 usestderr --- send error messages to standard error (instead of standard out)
580 showsummary --- show summary of all errors reported and suppressed
581 showscan --- show file names are they are processed
582 stats --- display lines processed and time
583 timedist --- display time distribution
584 showalluses --- show sorted list of uses of all globals
585 noeffect --- statement with no effect
586 noeffectuncon --- statement with no effect (except possibly through call to
587 unconstrained function)
588 exportany --- variable, function or type exported but not specified
589 exportfcn --- function exported but not specified
590 exportmacro --- expanded macro exported but not specified
591 exporttype --- type definition exported but not specified
592 exportvar --- variable exported but not specified
593 exportconst --- constant exported but not specified
594 exportiter --- constant exported but not specified
595 repexpose --- abstract representation is exposed (sets assignexpose, retexpose,
597 retexpose --- abstract representation is exposed (return values only)
598 assignexpose --- abstract representation is exposed (assignments only)
599 castexpose --- abstract representation is exposed through a cast
600 linelen --- set length of messages (number of chars)
601 showcolumn --- show column number where error is found
602 parenfileformat --- show column number where error is found
603 showfunc --- show name of function containing error
604 showallconjs --- show all possible types
605 impconj --- make all alternate types implicit (useful for making system
607 expect --- expect <int> code errors
608 lclexpect --- expect <int> spec errors
609 partial --- check as partial system (-specundef, -declundef, -exportlocal,
610 don't check macros in headers without corresponding .c files)
611 globs --- undocumented use of a checked global variable
612 globuse --- global listed for a function not used
613 internalglobs --- use of internalState
614 internalglobsnoglobs --- use of internalState (in function with no globals
616 warnmissingglobs --- global variable used in modifies clause is not listed in
618 warnmissingglobsnoglobs --- global variable used in modifies clause in a
619 function with no globals list
620 globnoglobs --- use of checked global in a function with no globals list or
622 allglobs --- report use and modification errors for globals not annotated with
624 checkstrictglobs --- report use and modification errors for checkedstrict
626 impcheckedspecglobs --- assume checked qualifier for unqualified global
627 declarations in .lcl files
628 impcheckmodspecglobs --- assume checkmod qualifier for unqualified global
629 declarations in .lcl files
630 impcheckedstrictspecglobs --- assume checkmod qualifier for unqualified global
631 declarations in .lcl files
632 impcheckedglobs --- assume checked qualifier for unqualified global
634 impcheckmodglobs --- assume checkmod qualifier for unqualified global
636 impcheckedstrictglobs --- assume checkedstrict qualifier for unqualified global
638 impcheckedstatics --- assume checked qualifier for unqualified file static
640 impcheckmodstatics --- assume checkmod qualifier for unqualified file static
642 impcheckmodinternals --- assume checkmod qualifier for unqualified local static
643 declarations (for internal state modifications)
644 impcheckedstrictstatics --- assume checkedstrict qualifier for unqualified file
646 modglobs --- undocumented modification of a checked global variable
647 modglobsnomods --- undocumented modification of a checked global variable in a
648 function declared with no modifies clause
649 modstrictglobsnomods --- undocumented modification of a strict checked global
650 variable in a function declared with no modifies clause
651 modglobsunchecked --- undocumented modification of an unchecked checked global
653 lh --- generate .lh files
654 lcs --- generate .lcs files
655 singleinclude --- optimize header inclusion to eliminate redundant includes
656 neverinclude --- optimize header inclusion to not include any header files
657 skipsysheaders --- do not include header files in system directories (set by
659 warnflags --- warn when command line sets flag to default value in mode
660 warnunixlib --- warn when the unix library is used
661 badflag --- a flag is not recognized or used in an incorrect way
662 forcehints --- provide hints for all errors reported
663 help --- -help <flags> will describe flags
664 hints --- provide hints on using lclint (hint only reported for first related
666 retval --- return value ignored (sets retvalint, retvalbool and retvalother)
667 retvalother --- return value of type other than bool or int ignored
668 retvalbool --- return value of type bool ignored
669 retvalint --- return value of type int ignored
670 f --- load options file (default ~/.lclintrc not loaded)
671 i --- set LCL initilization file
672 nof --- do not read options file
673 needspec --- information in specifications is not also included in syntactic
675 newdecl --- report new global declarations in source files
676 hasyield --- iter declaration has no yield parameters
677 dump --- save state for merging (default suffix .lcd)
678 load --- load state from dump file (default suffix .lcd)
679 nolib --- do not load standard library
680 ansilib --- use ANSI (ISO) standard library
681 strictlib --- interpret standard library strictly
682 unixlib --- use UNIX (sort-of) standard library
683 unixstrictlib --- use strict version of UNIX (sort-of) library
684 posixlib --- use POSIX standard library
685 posixstrictlib --- use strict POSIX standard library
686 whichlib --- show standard library filename
687 commentchar --- set marker character for syntactic comments (default is '@')
688 allmacros --- sets fcnmacros and constmacros
689 libmacros --- check all macros with declarations in library as functions
690 specmacros --- check all macros corresponding to specified functions or
692 fcnmacros --- check all macros with parameter lists as functions
693 constmacros --- check all macros without parameter lists as constants
694 macromatchname --- macro definition does not match iter or constant declaration
695 nextlinemacros --- the line after a constant or iter declaration must be a
697 macrostmt --- macro definition is syntactically not equivalent to function
698 macroempty --- macro definition for is empty
699 macroparams --- macro parameter not used exactly once
700 macroassign --- assignment to a macro parameter
701 sefparams --- a parameter with side-effects is passed as a sef parameter
702 sefuncon --- a parameter with unconstrained side-effects is passed as a sef
704 macroparens --- macro parameter used without parentheses (in potentially
706 macrodecl --- macro without prototype or specification (sets macrofcndecl and
708 macrofcndecl --- parameterized macro without prototype or specification
709 macroconstdecl --- non-parameterized macro without prototype or specification
710 macroredef --- macro redefined
711 macrounrecog --- unrecognized identifier in macro
712 stackref --- external reference to stack-allocated storage is created
713 usereleased --- storage used after release
714 strictusereleased --- element used after it may have been released
715 compdef --- parameter, return value or global completely defined
716 compmempass --- actual parameter matches alias kind of formal parameter
718 mustdefine --- out storage not defined before return or scope exit
719 uniondef --- at least one field of a union must be defined
720 memimp --- memory errors for unqualified storage
721 paramimptemp --- assume unannotated parameter is temp
722 allimponly --- sets globimponly, retimponly, structimponly, specglobimponly,
723 specretimponly and specstructimponly
724 codeimponly --- sets globimponly, retimponly and structimponly
725 specimponly --- sets specglobimponly, specretimponly and specstructimponly
726 globimponly --- assume unannotated global storage is only
727 retimponly --- assume unannotated returned storage is only
728 structimponly --- assume unannotated structure field is only
729 specglobimponly --- assume unannotated global storage is only
730 specretimponly --- assume unannotated returned storage is only
731 specstructimponly --- assume unannotated structure field is only
732 deparrays --- array elements are dependent storage
733 compdestroy --- all only references derivable from void pointer out only
734 parameter are released
735 strictdestroy --- report complete destruction errors for array elements that
736 may have been released
737 mustfree --- only storage not released before return or scope exit
738 branchstate --- storage has inconsistent states of alternate paths through a
740 strictbranchstate --- storage through array fetch has inconsistent states of
741 alternate paths through a branch
742 memchecks --- sets all dynamic memory checking flags (memimplicit, mustfree,
743 mustdefine, mustnotalias, null, memtrans)
744 memtrans --- memory transfer errors (sets all *trans flags)
745 exposetrans --- exposure transfer errors
746 observertrans --- observer transfer errors
747 dependenttrans --- dependent transfer errors
748 newreftrans --- new reference transfer to reference counted reference
749 onlytrans --- only storage transferred to non-only reference (memory leak)
750 onlyunqglobaltrans --- only storage transferred to an unqualified global or
751 static reference (memory leak)
752 ownedtrans --- owned storage transferred to non-owned reference (memory leak)
753 freshtrans --- fresh storage transferred to non-only reference (memory leak)
754 sharedtrans --- shared storage transferred to non-shared reference
755 temptrans --- temp storage transferred to non-temporary reference
756 kepttrans --- kept storage transferred to non-temporary reference
757 keeptrans --- keep storage transferred inconsistently
758 immediatetrans --- an immediate address (result of &) is transferred
760 refcounttrans --- reference counted storage is transferred in an inconsistent
762 statictrans --- static storage is transferred in an inconsistent way
763 unqualifiedtrans --- unqualified storage is transferred in an inconsistent way
764 staticinittrans --- static storage is used as an initial value in an
766 unqualifiedinittrans --- unqualified storage is used as an initial value in an
768 readonlystrings --- string literals are read-only (error if one is modified or
770 readonlytrans --- report memory transfer errors for initializations to
771 read-only string literals
772 passunknown --- passing a value as an un-annotated parameter clears its
774 mods --- unspecified modification of caller-visible state
775 mustmod --- specified modification is not detected
776 modobserver --- possible modification of observer storage
777 modobserveruncon --- possible modification of observer storage through
779 modinternalstrict --- possible modification of internal storage through
781 modfilesys --- report undocumented file system modifications (applies to
782 unspecified functions if modnomods is set)
783 modunspec --- modification in unspecified functions (sets modnomods,
784 modglobunspec and modstrictglobsunspec)
785 modnomods --- modification in a function with no modifies clause
786 moduncon --- possible modification through a call to an unconstrained function
787 modunconnomods --- possible modification through a call to an unconstrained
788 function in a function with no modifies clause
789 globsimpmodsnothing --- functions declared with a globals list but no modifies
790 clause are assumed to modify nothing
791 modsimpnoglobs --- functions declared with a modifies clause but no globals
792 list are assumed to use no globals
793 namechecks --- controls name checking without changing other settings
794 czech --- czech naming convention (sets accessczech, czechfunctions, czechvars,
795 czechconstants, czechenums, and czechmacros)
796 czechfcns --- czech naming convention violated in a function or iterator
798 czechvars --- czech naming convention violated in a variable declaration
799 czechmacros --- czech naming convention violated in an expanded macro name
800 czechconsts --- czech naming convention violated in a constant declaration
801 czechtypes --- czech naming convention violated in a user-defined type
803 slovak --- slovak naming convention violated
804 slovakfcns --- slovak naming convention violated in a function or iterator
806 slovakmacros --- slovak naming convention violated in an expanded macro name
807 slovakvars --- slovak naming convention violated in a variable declaration
808 slovakconsts --- slovak naming convention violated in a constant declaration
809 slovaktypes --- slovak naming convention violated in a use-defined type
811 czechoslovak --- czech or slovak naming convention violated
812 czechoslovakfcns --- czechoslovak naming convention violated in a function or
814 czechoslovakmacros --- czechoslovak naming convention violated in an expanded
816 czechoslovakvars --- czechoslovak naming convention violated in a variable
818 czechoslovakconsts --- czechoslovak naming convention violated in a constant
820 czechoslovaktypes --- czechoslovak naming convention violated in a user-defined
822 ansireserved --- external name conflicts with name reserved for system or
824 cppnames --- external or internal name is a C++ keyword or reserved word
825 ansireservedinternal --- internal name conflicts with name reserved for system
827 distinctexternalnames --- external name is not distinguishable from another
828 external name using the number of significant characters
829 externalnamelen --- set the number of significant characters in an external
831 externalnamecaseinsensitive --- alphabetic comparisons for external names are
833 distinctinternalnames --- internal name is not distinguishable from another
834 internal name using the number of significant characters
835 internalnamelen --- set the number of significant characters in an internal
837 internalnamecaseinsensitive --- set whether case is significant an internal
838 names (-internalnamecaseinsensitive means case is significant)
839 internalnamelookalike --- lookalike characters match in internal names
840 macrovarprefix --- set namespace prefix for variables declared in a macro body
841 macrovarprefixexclude --- the macrovarprefix may not be used for non-macro
843 tagprefix --- set namespace prefix for struct, union and enum tags
844 tagprefixexclude --- the tagprefix may not be used for non-tag identifiers
845 enumprefix --- set namespace prefix for enum members
846 enumprefixexclude --- the enumprefix may not be used for non-enum member
848 filestaticprefix --- set namespace prefix for file static declarations
849 filestaticprefixexclude --- the filestaticprefix may not be used for
850 identifiers that are not file static
851 globalprefix --- set namespace prefix for global variables
852 globalprefixexclude --- the globalprefix may not be used for non-global
854 typeprefix --- set namespace prefix for user-defined types
855 typeprefixexclude --- the typeprefix may not be used for identifiers that are
857 externalprefix --- set namespace prefix for external identifiers
858 externalprefixexclude --- the externalprefix may not be used for non-external
860 localprefix --- set namespace prefix for local variables
861 localprefixexclude --- the localprefix may not be used for non-local
863 uncheckedmacroprefix --- set namespace prefix for unchecked macros
864 uncheckedmacroprefixexclude --- the uncheckmacroprefix may not be used for
865 identifiers that are not unchecked macros
866 constprefix --- set namespace prefix for constants
867 constprefixexclude --- the constprefix may not be used for non-constant
869 iterprefix --- set namespace prefix for iterators
870 iterprefixexclude --- the iterprefix may not be used for non-iter identifiers
871 protoparamprefix --- set namespace prefix for parameters in function prototype
873 protoparamname --- a parameter in a function prototype has a name
874 protoparammatch --- the name of a parameter in a function prototype and
875 corresponding declaration must match (after removing the protoparamprefix
876 protoparamprefixexclude --- the protoparamprefix may not be used for
877 non-declaraction parameter identifiers
878 controlnestdepth --- set maximum nesting depth of compound statements,
879 iteration control structures, and selection control structures (ANSI minimum is
881 stringliterallen --- set maximum length of string literals (ANSI minimum is
883 numstructfields --- set maximum number of fields in a struct or union (ANSI
885 numenummembers --- set maximum number of members of an enum (ANSI minimum is
887 includenest --- set maximum number of nested #include files
888 ansilimits --- check for violations of standard limits (controlnestdepth,
889 stringliterallen, includenest, numstructfields, numenummembers)
890 null --- misuses of null pointer
891 nullterminated --- misuse of nullterminated allocation
892 nullterminated --- misuse of nullterminated allocation
893 nullderef --- possible dereferencce of null pointer
894 fcnderef --- dereferencce of a function type
895 nullpass --- possibly null pointer passed as formal with no null annotation
896 nullret --- possibly null pointer returned as result with no null annotation
897 nullstate --- possibly null pointer reachable from a reference with no null
899 nullassign --- inconsistent assignment or initialization involving null pointer
900 boolcompare --- comparison between bools (dangerous because of multiple TRUE
902 realcompare --- dangerous comparison between reals (dangerous because of
903 inexact floating point representations)
904 ptrarith --- arithmetic involving pointer and integer
905 nullptrarith --- arithmetic involving possibly null pointer and integer
906 ptrcompare --- comparison between pointer and number
907 strictops --- primitive operation does not type check strictly
908 bitwisesigned --- a bitwise logical operator does not have unsigned operands
909 shiftsigned --- a shift operator does not have unsigned operands
910 boolops --- primitive operation (!, && or ||) does not has a boolean argument
911 ptrnegate --- allow ! to be used on pointer operand
912 sizeoftype --- sizeof operator has a type argument
913 sizeofformalarray --- sizeof operator has an array formal parameter argument
914 fixedformalarray --- formal parameter of type array is declared with size
915 incompletetype --- formal parameter has an incomplete type
916 formalarray --- formal parameter is an array
917 predassign --- condition test (if, while or for) is an assignment
918 predbool --- type of condition test (if, while or for) not bool (sets
919 predboolint, predboolptr and predboolothers)
920 predboolint --- type of condition test (if, while or for) is an integral type
921 predboolothers --- type of condition test (if, while or for) not bool, int or
923 predboolptr --- type of condition test (if, while or for) is a pointer
924 D<initializer> --- passed to pre-processor
925 U<initializer> --- passed to pre-processor
926 globstate --- returns with global in inconsistent state (null or undefined)
927 supcounts --- The number of errors detected does not match number in
929 limit --- limit <int> consecutive repeated errors
930 syntax --- syntax error in parsing
931 trytorecover --- try to recover from parse error
932 type --- type mismatch
933 fullinitblock --- initializer sets all fields
934 enummembers --- enum members must be int values
935 maintype --- type of main does not match expected type
936 formattype --- type-mismatch in parameter corresponding to format code in a
937 printf or scanf-like function
938 formatcode --- invalid format code in format string for printf or scanf-like
940 forwarddecl --- forward declarations of pointers to abstract representation
942 voidabstract --- void * matches pointers to abstract types, casting ok
944 castfcnptr --- a pointer to a function is cast to a pointer to void (or vice
946 charindex --- char can be used to index arrays
947 enumindex --- enum can be used to index arrays
948 boolint --- bool and int are equivalent
949 charint --- char and int are equivalent
950 enumint --- enum and int are equivalent
951 floatdouble --- float and double are equivalent
952 ignorequals --- ignore type qualifiers (long, short, unsigned)
953 duplicatequals --- report duplicate type qualifiers (e.g., long long)
954 ignoresigns --- ignore signs in type comparisons (unsigned matches signed)
955 numliteral --- int literals can be reals
956 charintliteral --- character constants (e.g., 'a') can be used as ints
957 relaxquals --- report qualifier mismatches only if dangerous
958 relaxtypes --- allow all numeric types to match
959 charunsignedchar --- allow char and unsigned char types to match
960 matchanyintegral --- allow any intergral type to match an arbitrary integral
962 longunsignedintegral --- allow long unsigned type to match an arbitrary
963 integral type (e.g., dev_t)
964 longintegral --- allow long type to match an arbitrary integral type (e.g.,
966 longunsignedunsignedintegral --- allow long unsigned type to match an arbitrary
967 unsigned integral type (e.g., size_t)
968 longsignedintegral --- allow long type to match an arbitrary signed integral
970 zeroptr --- 0 is treated as a pointer
971 repeatunrecog --- do not suppress repeated unrecognized identifier messages
972 (instead of only reporting the first error)
973 sysunrecog --- report unrecognized identifiers with system (__) prefix
974 unrecog --- unrecognized identifier
975 topuse --- declaration at top level not used
976 exportlocal --- a declaration is exported but not used outside this module
977 exportheader --- a declaration is exported but does not appear in a header file
978 exportheadervar --- a variable declaration is exported but does not appear in a
980 fielduse --- field of structure type not used
981 enummemuse --- member of an enum type not used
982 constuse --- constant declared but not used
983 fcnuse --- function declared but not used
984 paramuse --- function parameter not used
985 typeuse --- type declared but not used
986 varuse --- variable declared but not used
987 unusedspecial --- unused declaration in special file (corresponding to .l or .y