C/C++ Checker Reference Manual

  1. i. Introduction
  2. 1. Configuring the Checker
    1. 1.1. Individual command line checking options
    2. 1.2. Customising checking profiles
    3. 1.3. Scoping checking profiles
    4. 1.4. Other checks
  3. 2. Integral Types
    1. 2.1. Integer promotion rules
    2. 2.2. Arithmetic operations on integer types
    3. 2.3. Interaction with the integer conversion checks
    4. 2.4. Target dependent integral types
    5. 2.5. Integer overflow checks
    6. 2.6. Integer operator checks
    7. 2.7. Support for 64 bit integer types (long long)
  4. 3. Type Checking
    1. 3.1. Type specifications
    2. 3.2. Type conversions
    3. 3.3. Function type checking
    4. 3.4. Overriding type checking
  5. 4. Control Flow Analysis
    1. 4.1. Unreachable code analysis
    2. 4.2. Case fall through
    3. 4.3. Enumerations controlling switch statements
    4. 4.4. Empty if statements
    5. 4.5. Use of assignments as control expressions
    6. 4.6. Constant control expressions
    7. 4.7. Conditional and iteration statements
    8. 4.8. Exception analysis
  6. 5. Operator Analysis
    1. 5.1. Order of evaluation
    2. 5.2. Operator precedence
    3. 5.3. Floating point equality
    4. 5.4. Operand of sizeof
  7. 6. Variable Analysis
    1. 6.1. Variable lifetime analysis
    2. 6.2. 5.6.2 Modification between sequence points
    3. 6.3. Unused variables
    4. 6.4. Values set and not used
    5. 6.5. Variable which has not been set is used
    6. 6.6. Variable shadowing
    7. 6.7. Overriding the variable analysis
  8. 7. Discard Analysis
    1. 7.1. Discarded function returns
    2. 7.2. Discarded computed values
    3. 7.3. Unused static variables and procedures
    4. 7.4. Discarded expressions
    5. 7.5. Overriding the discard analysis
  9. 8. Preprocessing checks
    1. 8.1. Preprocessor directives
    2. 8.2. Indented Preprocessing Directives
    3. 8.3. Multiple macro definitions
    4. 8.4. Macro arguments
    5. 8.5. Unmatched quotes
    6. 8.6. Include depth
    7. 8.7. Text after #endif
    8. 8.8. Text after #
    9. 8.9. New line at end of file
    10. 8.10. Conditional Compilation
    11. 8.11. Target dependent conditional inclusion
    12. 8.12. Unused headers
  10. 9. API checking
    1. 9.1. Including headers
    2. 9.2. Specifying APIs to tcc
    3. 9.3. API Checking Examples
    4. 9.4. Redeclaring Objects in APIs
    5. 9.5. Defining Objects in APIs
    6. 9.6. Stepping Outside an API
    7. 9.7. Using the System Headers
    8. 9.8. API usage analysis
  11. 10. Intermodular analysis
    1. 10.1. Linking symbol table dump files
    2. 10.2. Linking C++ spec files
    3. 10.3. Template compilation