 
                            ...
| Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Astrée | 
 | assignment-conditional | Fully checked | ||||||
| Axivion Bauhaus Suite | 
 | CertC-EXP45 | |||||||
| 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-b | Assignment operators shall not be used in conditions without brackets | ||||||
| PC-lint Plus | 
 | 720 | Partially supported: reports Boolean test of unparenthesized assignment | ||||||
| Polyspace Bug Finder | 
 | CERT C: Rule EXP45-C | Checks for invalid use of = (assignment) operator | ||||||
| PRQA QA-C | 
 | 3314, 3326, 3344, 3416 | Partially implemented | ||||||
| PRQA QA-C++ | 
 | 4071, 4074 | |||||||
| PVS-Studio | 
 | V559, V633, V699 | |||||||
| RuleChecker | 
 | assignment-conditional | Fully checked | ||||||
| SonarQube C/C++ Plugin | 
 | AssignmentInSubExpression | |||||||
| Helix QAC | 
 | C: 3314, 3326, 3344, 3416 C++: 4071, 4074 | 
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...