Tool | Version | Checker | Description |
---|
CodeSonar | | DIAG.UNEX.* LANG.STRUCT.RC LANG.STRUCT.UC | Code not exercised by analysis Redundant condition Unreachable {Call, Computation, Conditional, Control Flow, Data Flow} |
Coverity | | DEADCODE
UNREACHABLE
| Can detect the specific instance where code can never be reached because of a logical contradiction or a dead "default" in switch statement Can detect the instances where code block is unreachable because of the syntactic structure of the code |
GCC | |
| Can detect violations of this recommendation when the -Wunreachable-code flag is used |
Klocwork | | LA_UNUSED UNREACH.GEN UNREACH.RETURN UNREACH.SIZEOF INVARIANT_CONDITION.UNREACH |
|
LDRA tool suite | | 1 J 139 S 140 S | Fully implemented |
Parasoft C/C++test | | CERT_C-MSC07-a CERT_C-MSC07-b CERT_C-MSC07-c CERT_C-MSC07-d CERT_C-MSC07-e CERT_C-MSC07-f CERT_C-MSC07-g CERT_C-MSC07-h | There shall be no unreachable code in "else" block There shall be no unreachable code after 'return', 'break', 'continue', and 'goto' statements There shall be no unreachable code in "if/else/while/for" block There shall be no unreachable code in switch statement There shall be no unreachable code in 'for' loop There shall be no unreachable code after 'if' or 'switch' statement There shall be no unreachable code after "if" or "switch" statement inside while/for/do...while loop Avoid switch with unreachable branches |
Polyspace Bug Finder | Include Page |
---|
| Polyspace Bug Finder_V |
---|
| Polyspace Bug Finder_V |
---|
|
| CERT C: Rule MSC07-C
| Checks for: - Code does not execute
- Default case is missing and may be reached
- Code following control-flow statements
|
PRQA QA-C | | 1501, 1503, 2008, 2877, 2880, 2881, 2882, 2883, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 3202, 3203, 3205, 3206, 3207, 3210, 3219, 3229, 3404, 3422, 3423, 3425, 3470, 1501, 1503 | Fully implemented |
SonarQube C/C++ Plugin | Include Page |
---|
| SonarQube C/C++ Plugin_V |
---|
| SonarQube C/C++ Plugin_V |
---|
|
| S1763, S1751 |
|
Splint | |
| Can detect violations of this recommendation when the -Wunreachable-code flag is used |