...
Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Compass/ROSE | Can detect some violations of this recommendation. In particular, it flags switch statements that do not have a default clause. ROSE should detect "fake switches" as well (that is, a chain of if (x > 0) {
/* ... */
} else if (x < 0) {
/* ... */
} else if (x == 0) {
/* ... */
}
| ||||||||
| GCC |
| Can detect some violations of this recommendation when the | |||||||
| Klocwork |
| CWARN.EMPTY.LABEL LA_UNUSED MISRA.IF.NO_ELSE MISRA.SWITCH.WELL_FORMED.DEFAULT.2012 INFINITE_LOOP.GLOBAL INFINITE_LOOP.LOCAL INFINITE_LOOP.MACRO | |||||||
| LDRA tool suite |
| 48 S, 59 S | Fully implemented | ||||||
| Parasoft C/C++test | 9.5 | MISRA2012-RULE-15_7, MISRA2004-15_3 | |||||||
| Polyspace Bug Finder | R2016a | Code does not execute Default case is missing and may be reached Code following control-flow statements | |||||||
| PRQA QA-C |
| 0597 2000 | Fully implemented | ||||||
| SonarQube C/C++ Plugin |
| ElseIfWithoutElse SwitchWithoutDefault | Fully implemented |
...