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