This page is automatically generated from the "Automated Detection" sections in the individual guidelines. Do not modify this page directly.
Version number: 1.1
C checkers
Guideline
araydecl
ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
STR36-C. Do not specify the bound of a character array initialized with a string literal
bitftype
INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
castexpr
EXP05-C. Do not cast away a const qualification
EXP36-C. Do not convert pointers into more strictly aligned pointer types
charcast
STR34-C. Cast characters to unsigned char before converting to larger integer sizes
charplan
INT07-C. Use only explicitly signed or unsigned char type for numeric values
charsgnd
STR04-C. Use plain char for characters in the basic character set
cmprexpr
EXP21-C. Place constants on the left of equality comparisons
cnstpnte
DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
cplxcall
FLP31-C. Do not call functions expecting real values with complex values
declgrup_srceline
DCL04-C. Do not declare more than one variable per declaration
declhidn
DCL01-C. Do not reuse variable names in subscopes
decltype
DCL07-C. Include the appropriate type information in function declarators
DCL31-C. Declare identifiers before using them
dtrigraf
PRE07-C. Avoid using repeated question marks
enuminit
INT09-C. Ensure enumeration constants map to unique values
exprctxt
EXP18-C. Do not perform assignments in selection statements
exprprns
EXP00-C. Use parentheses for precedence of operation
EXP13-C. Treat relational and equality operators as if they were nonassociative
forcntrl
FLP30-C. Do not use floating point variables as loop counters
funcalls
EXP09-C. Use sizeof to determine the size of a type or variable
MEM02-C. Immediately cast the result of a memory allocation function call into a pointer to the allocated type
MEM08-C. Use realloc() only to resize dynamically allocated arrays
hedrname
PRE04-C. Do not reuse a standard header file name
PRE08-C. Guarantee that header file names are unique
idntsiml
DCL02-C. Use visually distinct identifiers
ignrtrn
EXP12-C. Do not ignore values returned by functions
inclgard
PRE06-C. Enclose header files in an inclusion guard
ltrlsynt
DCL16-C. Use 'L', not 'l', to indicate a long value
macrbody
PRE01-C. Use parentheses within macros around parameter names
PRE02-C. Macro replacement lists should be parenthesized
macrcall
DCL03-C. Use a static assertion to test the value of a constant expression
PRE32-C. Do not use preprocessor directives inside macro arguments
minscope
DCL19-C. Minimize the scope of variables and functions
nomagicc
DCL06-C. Use meaningful symbolic constants to represent literal values
shiftrhs
INT34-C. Do not shift a negative number of bits or more bits than exist in the operand
stlibuse
ERR01-C. Use ferror() rather than errno to check for FILE stream errors
FIO07-C. Prefer fseek() to rewind()
FIO12-C. Prefer setvbuf() to setbuf()
MSC30-C. Do not use the rand() function for generating pseudorandom numbers
swchsynt
MSC17-C. Finish every set of statements associated with a case label with a break statement