Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Checker

Guideline

array-size-global ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
bitfield-type INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
bitop-type INT13-C. Use bitwise operators only on unsigned operands
compound-ifelse EXP19-C. Use braces for the body of an if, for, or while statement
compound-loop EXP19-C. Use braces for the body of an if, for, or while statement
empty-parameter-list DCL20-C. Explicitly specify void when a function accepts no arguments
enum-implicit-value INT09-C. Ensure enumeration constants map to unique values
error-information-unused EXP12-C. Do not ignore values returned by functions
evaluation-order EXP30-C. Do not depend on the order of evaluation for side effects
evaluation-order EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
file-dereference FIO38-C. Do not copy a FILE object
float-comparison FLP02-C. Avoid using floating-point numbers when precise computation is needed
for-loop-float FLP30-C. Do not use floating-point variables as loop counters
function-pointer-integer-cast INT36-C. Converting a pointer to integer or integer to pointer
function-pointer-integer-cast-implicit INT36-C. Converting a pointer to integer or integer to pointer
function-prototype DCL07-C. Include the appropriate type information in function declarators
function-return-type DCL31-C. Declare identifiers before using them
future-library-use DCL37-C. Do not declare or define a reserved identifier
global-object-scope DCL15-C. Declare file-scope objects or functions that do not need external linkage as static
global-object-scope DCL19-C. Minimize the scope of variables and functions
implicit-function-declaration DCL31-C. Declare identifiers before using them
implicit-function-declaration DCL07-C. Include the appropriate type information in function declarators
integer-overflow INT30-C. Ensure that unsigned integer operations do not wrap
integer-overflow INT32-C. Ensure that operations on signed integers do not result in overflow
language-override DCL37-C. Do not declare or define a reserved identifier
language-override-c99 DCL37-C. Do not declare or define a reserved identifier
local-object-scope DCL19-C. Minimize the scope of variables and functions
logop-side-effect EXP02-C. Be aware of the short-circuit behavior of the logical AND and OR operators
long-suffix DCL16-C. Use "L," not "l," to indicate a long value
macro-argument-hash PRE32-C. Do not use preprocessor directives in invocations of function-like macros
macro-function-like PRE00-C. Prefer inline or static functions to function-like macros
macro-parameter-parentheses PRE01-C. Use parentheses within macros around parameter names
missing-else MSC01-C. Strive for logical completeness
mline-comment MSC04-C. Use comments consistently and in a readable fashion
multiple-include PRE06-C. Enclose header files in an inclusion include guard
octal-constant DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
parameter-missing-const DCL00-C. Const-qualify immutable objects
parameter-missing-const DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
pointer-integral-cast INT36-C. Converting a pointer to integer or integer to pointer
pointer-integral-cast-implicit INT36-C. Converting a pointer to integer or integer to pointer
reserved-declaration DCL37-C. Do not declare or define a reserved identifier
reserved-declaration-c99 DCL37-C. Do not declare or define a reserved identifier
reserved-identifier DCL37-C. Do not declare or define a reserved identifier
return-implicit MSC37-C. Ensure that control never reaches the end of a non-void function
sizeof EXP44-C. Do not rely on side effects in operands to sizeof, _Alignof, or _Generic
sline-comment MSC04-C. Use comments consistently and in a readable fashion
sline-splicing MSC04-C. Use comments consistently and in a readable fashion
statement-sideeffect MSC12-C. Detect and remove code that has no effect or is never executed
static-declaration DCL36-C. Do not declare an identifier with conflicting linkage classifications
stdlib-macro-ato MSC24-C. Do not use deprecated or obsolescent functions
stdlib-macro-atoll MSC24-C. Do not use deprecated or obsolescent functions
stdlib-use-ato MSC24-C. Do not use deprecated or obsolescent functions
stdlib-use-atoll MSC24-C. Do not use deprecated or obsolescent functions
Supported, but no explicit checker ENV33-C. Do not call system()
Supported, but no explicit checker SIG34-C. Do not call signal() from within interruptible signal handlers
Supported, but no explicit checker CON37-C. Do not call signal() in a multithreaded program
Supported, but no explicit checker MSC33-C. Do not pass invalid data to the asctime() function
Supported, but no explicit checker MSC38-C. Do not treat a predefined identifier as an object if it might only be implemented as a macro
Supported, but no explicit checker STR00-C. Represent characters using an appropriate type
Supported, but no explicit checker STR04-C. Use plain char for characters in the basic character set
switch-clause-break MSC17-C. Finish every set of statements associated with a case label with a break statement
switch-default MSC01-C. Strive for logical completeness
switch-label MSC20-C. Do not use a switch statement to transfer control into a complex block
switch-skipped-code DCL41-C. Do not declare variables inside a switch statement before the first case label
trigraph PRE07-C. Avoid using repeated question marks
type-compatibility DCL40-C. Do not create incompatible declarations of the same function or object
type-specifier DCL31-C. Declare identifiers before using them
uninitialized-local-read EXP33-C. Do not read uninitialized memory
uninitialized-variable-use EXP33-C. Do not read uninitialized memory