...
Tool | Version | Checker | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| missing-else switch-default | Partially checked | ||||||||
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 |
| CERT_C-MSC01-a | All 'if...else-if' constructs shall be terminated with an 'else' clause The final clause of a switch statement shall be the default clause | ||||||||
Polyspace Bug Finder |
| Code does not execute Default case is missing and may be reached Code following control-flow statements | |||||||||
PRQA QA-C |
| 0597 2000 | Fully implemented | ||||||||
PVS-Studio |
| V517, V533, V534, V535, V547, V556, V560, V577, V590, V600, V612, V695, V696, V719, V722, V747, V785, V786 | |||||||||
RuleChecker |
| missing-else switch-default | Partially checked | ||||||||
SonarQube C/C++ Plugin |
|
...