Versions Compared

Key

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

...

C checkers

Guideline

and

MSC12-C. Detect and remove code that has no effect

 

DCL07-C. Include the appropriate type information in function declarators

 

DCL11-C. Understand the type issues associated with variadic functions

 

DCL31-C. Declare identifiers before using them

 

DCL35-C. Do not invoke a function using a type that does not match the function definitionCall functions with the correct number and type of arguments

 

DCL36-C. Do not declare an identifier with conflicting linkage classifications

 

EXP05-C. Do not cast away a const qualification

 

EXP13-C. Treat relational and equality operators as if they were nonassociative

 

EXP16-C. Do not compare function pointers to constant values

 

EXP18-C. Do not perform assignments in selection statements

 

EXP30-C. Do not depend on order of evaluation between sequence points

 

EXP32-C. Do not access a volatile object through a non-volatile reference

 

EXP33-C. Do not reference uninitialized memory

 

EXP35-C. Do not modify objects with temporary lifetime

 

EXP36-C. Do not convert pointers into more strictly aligned pointer types

 

EXP37-C. Call functions with the arguments intended by the API

 

EXP38-C. Do not call offsetof() on bit-field members or invalid types

 

FIO00-C. Take care when creating format strings

 

FIO30-C. Exclude user input from format strings

 

MSC01-C. Strive for logical completeness

 

MSC02-C. Avoid errors of omission

 

MSC04-C. Use comments consistently and in a readable fashion

 

MSC07-C. Detect and remove dead code

 

PRE07-C. Avoid using repeated question marks

-Wchar-subscripts

STR34-C. Cast characters to unsigned char before converting to larger integer sizes

-Wunused-parameter

MSC12-C. Detect and remove code that has no effect

-Wunused-value

MSC12-C. Detect and remove code that has no effect