CertC-EXPΒΆ

Expressions

Nested Rules

CertC-EXP00

Use parentheses for precedence of operation

CertC-EXP02

Be aware of the short-circuit behavior of the logical AND and OR operators

CertC-EXP05

Do not cast away a const qualification

CertC-EXP07

Do not diminish the benefits of constants by assuming their values in expressions

CertC-EXP10

Do not depend on the order of evaluation of subexpressions or the order in which side effects take place

CertC-EXP12

Do not ignore values returned by functions

CertC-EXP14

Beware of integer promotion when performing bitwise operations on integer types smaller than int

CertC-EXP15

Do not place a semicolon on the same line as an if, for, or while statement

CertC-EXP19

Use braces for the body of an if, for, or while statement

CertC-EXP20

Perform explicit tests to determine success, true and false, and equality

CertC-EXP30

Do not depend on the order of evaluation for side effects

CertC-EXP32

Do not access a volatile object through a nonvolatile reference

CertC-EXP33

Do not read uninitialized memory

CertC-EXP34

Do not dereference null pointers

CertC-EXP35

Do not modify objects with temporary lifetime

CertC-EXP36

Do not cast pointers into more strictly aligned pointer types

CertC-EXP37

Call functions with the correct number and type of arguments

CertC-EXP39

Do not access a variable through a pointer of an incompatible type

CertC-EXP40

Do not modify constant objects

CertC-EXP42

Do not compare padding data

CertC-EXP43

Avoid undefined behavior when using restrict-qualified pointers

CertC-EXP44

Do not rely on side effects in operands to sizeof, _Alignof, or _Generic

CertC-EXP45

Do not perform assignments in selection statements

CertC-EXP46

Do not use a bitwise operator with a Boolean-like operand

CertC-EXP47

Do not call va_arg with an argument of the incorrect type

Options