...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| Supported, but no explicit checker | |||||||
Clang |
| -Wparentheses | Can detect some instances of this rule, but does not detect all | ||||||
CodeSonar |
| LANG.STRUCT.CONDASSIG LANG.STRUCT.SE.COND LANG.STRUCT.USEASSIGN | Assignment in conditional Condition contains side effects Assignment result in expression | ||||||
Compass/ROSE | Could detect violations of this recommendation by identifying any assignment expression as the top-level expression in an | ||||||||
| CC2.EXP18 | Fully implemented | |||||||
GCC |
| Can detect violations of this recommendation when the | |||||||
Klocwork |
| ||||||||
LDRA tool suite |
| 114 S, 132 S | Enhanced Enforcement | ||||||
Parasoft C/C++test |
| CERT_C-EXP45-a CERT_C-EXP45-b CERT_C-EXP45-c CERT_C-EXP45-d | Avoid conditions that always evaluate to the same value Assignment operators shall not be used in conditions without brackets A function identifier shall only be used with either a preceding '&', or with a parenthesised parameter list, which may be empty Assignment operators shall not be used in expressions that yield a Boolean value | ||||||
Polyspace Bug Finder |
| Invalid use of = operator | Assignment in conditional statement | ||||||
PRQA QA-C |
| 3314, 3326, 3344, 3416 | Partially implemented | ||||||
PRQA QA-C++ | 4.2 | 4071, 4074 | |||||||
PVS-Studio |
| V559, V633, V699 | |||||||
SonarQube C/C++ Plugin |
| AssignmentInSubExpression |
...