...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| pointer-cast-alignment | Fully checked | ||||||
Axivion Bauhaus Suite |
| CertC-EXP36 | |||||||
Compass/ROSE | Can detect violations of this rule. However, it does not flag explicit casts to | ||||||||
Coverity |
| MISRA C 2004 Rule 11.4 MISRA C 2012 Rule 11.1 MISRA C 2012 Rule 11.2 MISRA C 2012 Rule 11.5 MISRA C 2012 Rule 11.7 | Implemented | ||||||
| CC2.EXP36 | Fully implemented | |||||||
EDG | |||||||||
GCC |
| Can detect some violations of this rule when the | |||||||
Klocwork |
| MISRA.CAST.PTR.UNRELATED | |||||||
LDRA tool suite |
| 94 S, 606 S | Partially implemented | ||||||
Parasoft C/C++test |
| CERT_C-EXP36-a | A cast should not be performed between a pointer to object type and a different pointer to object type | ||||||
Polyspace Bug Finder |
| Wrong allocated object size for cast MISRA CERT C: 2012 Rule 11.1 | Checks for wrong allocated object size for cast (rule fully covered) Pointer implicitly cast to different data type Allocated memory does not match destination pointer Conversions shall not be performed between a pointer to a function and any other type Conversions shall not be performed between a pointer to an incomplete type and any other type A cast shall not be performed between a pointer to object type and a pointer to a different object type A conversion should not be performed from pointer to void into pointer to object A cast shall not be performed between pointer to object and a non-integer arithmetic type | ||||||
PRQA QA-C |
| 0326, 3305 | Fully implemented | ||||||
PRQA QA-C++ |
| 3033, 3038 | |||||||
PVS-Studio |
| V548, V641 | |||||||
RuleChecker |
| pointer-cast-alignment | Fully checked |
...