[ ] Rule 2.7 Advisory
There should be no unused parameters in functions
[ ] Rule 3.1 Required
The character sequences /* and // shall not be used within a comment
[x] Rule 7.2 Required
A “u” or “U” suffix shall be applied to all integer constants that are
represented in an unsigned type
[x] Rule 7.4 Required
A string literal shall not be assigned to an object unless the object’s type
is “pointer to const-qualified char”
[ ] Rule 8.2 Required
Function types shall be in prototype form with named parameters
[x] Rule 8.4 Required
A compatible declaration shall be visible when an object or function
with external linkage is defined
[ ] Rule 8.9 Advisory
An object should be defined at block scope if its identifier only appears
in a single function
[x] Rule 8.14 Required
The restrict type qualifier shall not be used
[x] Rule 9.2 Required
The initializer for an aggregate or union shall be enclosed in braces
[x] Rule 10.1 Required
Operands shall not be of an inappropriate essential type
[x] Rule 10.3 Required
The value of an expression shall not be assigned to an object with a
narrower essential type or of a different essential type category
[x] Rule 10.4 Required
Both operands of an operator in which the usual arithmetic conversions
are performed shall have the same essential type category
[x] Rule 10.5 Advisory
The value of an expression should not be cast to an inappropriate
essential type
[x] Rule 10.6 Required
The value of a composite expression shall not be assigned to an object
with wider essential type
[x] Rule 11.1 Required
Conversions shall not be performed between a pointer to a function
and any other type
[ ] Rule 11.3 Required
A cast shall not be performed between a pointer to object type and a
pointer to a different object type
[x] Rule 11.5 Advisory
A conversion should not be performed from pointer to void into pointer
to object
[x] Rule 11.8 Required
A cast shall not remove any const or volatile qualification from the type
pointed to by a pointer
[x] Rule 12.1 Advisory
The precedence of operators within expressions should be made
explicit
[x] Rule 13.3 Advisory
A full expression containing an increment (++) or decrement (--)
operator should have no other potential side effects other than that
caused by the increment or decrement operator
[x] Rule 13.4 Advisory
The result of an assignment operator should not be used
[x] Rule 14.2 Required
A for loop shall be well-formed
[x] Rule 14.4 Required
The controlling expression of an if statement and the controlling
expression of an iteration-statement shall have essentially Boolean type
[ ] Rule 15.5 Advisory
A function should have a single point of exit at the end
[ ] Rule 16.3 Required
An unconditional break statement shall terminate every switch-clause
[x] Rule 16.4 Required
Every switch statement shall have a default label
[x] Rule 16.5 Required
A default label shall appear as either the first or the last switch label of a
switch statement
[x] Rule 16.6 Required
Every switch statement shall have at least two switch-clauses
[ ] Rule 17.7 Required
The value returned by a function having non-void return type shall be
used
[x] Rule 17.8 Advisory
A function parameter should not be modified
[ ] Rule 18.4 Advisory
The +, -, += and -= operators should not be applied to an expression of
pointer type
[ ] Rule 18.8 Required
Variable-length array types shall not be used
[ ] Rule 19.2 Advisory
The union keyword should not be used
[x] Rule 20.5 Advisory
undef should not be used
[ ] Rule 20.7 Required
Expressions resulting from the expansion of macro parameters shall be
enclosed in parentheses
[x] Rule 21.15 Required
The pointer arguments to the Standard Library functions memcpy,
memmove and memcmp shall be pointers to qualified or unqualified
versions of compatible types
[x] Rule 21.16 Required
The pointer arguments to the Standard Library function memcmp shall
point to either a pointer type, an essentially signed type, an
essentially unsigned type, an essentially Boolean type or an
essentially enum type
[ ] Rule 2.7 Advisory There should be no unused parameters in functions
[ ] Rule 3.1 Required The character sequences /* and // shall not be used within a comment
[x] Rule 7.2 Required A “u” or “U” suffix shall be applied to all integer constants that are represented in an unsigned type
[x] Rule 7.4 Required A string literal shall not be assigned to an object unless the object’s type is “pointer to const-qualified char”
[ ] Rule 8.2 Required Function types shall be in prototype form with named parameters
[x] Rule 8.4 Required A compatible declaration shall be visible when an object or function with external linkage is defined
[ ] Rule 8.9 Advisory An object should be defined at block scope if its identifier only appears in a single function
[x] Rule 8.14 Required The restrict type qualifier shall not be used
[x] Rule 9.2 Required The initializer for an aggregate or union shall be enclosed in braces
[x] Rule 10.1 Required Operands shall not be of an inappropriate essential type
[x] Rule 10.3 Required The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category
[x] Rule 10.4 Required Both operands of an operator in which the usual arithmetic conversions are performed shall have the same essential type category
[x] Rule 10.5 Advisory The value of an expression should not be cast to an inappropriate essential type
[x] Rule 10.6 Required The value of a composite expression shall not be assigned to an object with wider essential type
[x] Rule 11.1 Required Conversions shall not be performed between a pointer to a function and any other type
[ ] Rule 11.3 Required A cast shall not be performed between a pointer to object type and a pointer to a different object type
[x] Rule 11.5 Advisory A conversion should not be performed from pointer to void into pointer to object
[x] Rule 11.8 Required A cast shall not remove any const or volatile qualification from the type pointed to by a pointer
[x] Rule 12.1 Advisory The precedence of operators within expressions should be made explicit
[x] Rule 13.3 Advisory A full expression containing an increment (++) or decrement (--) operator should have no other potential side effects other than that caused by the increment or decrement operator
[x] Rule 13.4 Advisory The result of an assignment operator should not be used
[x] Rule 14.2 Required A for loop shall be well-formed
[x] Rule 14.4 Required The controlling expression of an if statement and the controlling expression of an iteration-statement shall have essentially Boolean type
[ ] Rule 15.5 Advisory A function should have a single point of exit at the end
[ ] Rule 16.3 Required An unconditional break statement shall terminate every switch-clause
[x] Rule 16.4 Required Every switch statement shall have a default label
[x] Rule 16.5 Required A default label shall appear as either the first or the last switch label of a switch statement
[x] Rule 16.6 Required Every switch statement shall have at least two switch-clauses
[ ] Rule 17.7 Required The value returned by a function having non-void return type shall be used
[x] Rule 17.8 Advisory A function parameter should not be modified
[ ] Rule 18.4 Advisory The +, -, += and -= operators should not be applied to an expression of pointer type
[ ] Rule 18.8 Required Variable-length array types shall not be used
[ ] Rule 19.2 Advisory The union keyword should not be used
[x] Rule 20.5 Advisory
undef should not be used
[ ] Rule 20.7 Required Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses
[x] Rule 21.15 Required The pointer arguments to the Standard Library functions memcpy, memmove and memcmp shall be pointers to qualified or unqualified versions of compatible types
[x] Rule 21.16 Required The pointer arguments to the Standard Library function memcmp shall point to either a pointer type, an essentially signed type, an essentially unsigned type, an essentially Boolean type or an essentially enum type