Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V
pointer-cast-alignmentFully checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-EXP36
Compass/ROSE

Can detect violations of this rule. However, it does not flag explicit casts to void * and then back to another pointer type

Coverity
Include Page
Coverity_V
Coverity_V

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

ECLAIR

Include Page
ECLAIR_V
ECLAIR_V

CC2.EXP36

Fully implemented
EDG


GCC
Include Page
GCC_V
GCC_V

Can detect some violations of this rule when the -Wcast-align flag is used

Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C0326, 3305C3305

C++3033, C++3038


Klocwork
 
Include Page
Klocwork_V
Klocwork_V

MISRA.CAST.PTR.UNRELATED
MISRA.CAST.PTR_TO_INT
PORTING.CAST.PTR.FLTPNT

PORTING.CAST.PTR
PORTING.CAST.PTR.SIZE
PORTING.CAST.SIZE


LDRA tool suite
Include Page
LDRA_V
LDRA_V

94 S, 606 S

Partially implemented
Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
CERT_C-EXP36-a

A cast should not be performed between a pointer to object type and a different pointer to object type

PC-lint Plus

Include Page
PC-lint Plus_V
PC-lint Plus_V

2445

Partially supported: reports casts directly from a pointer to a less strictly aligned type to a pointer to a more strictly aligned type

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C: Rule EXP36-C

Checks for wrong allocated object size for cast (rule fully covered)

PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v
0326, 3305Fully implemented
PRQA QA-C++
Include Page
cplusplus:PRQA QA-C++_V
cplusplus:PRQA QA-C++_V

3033, 3038


PVS-Studio

Include Page
PVS-Studio_V
PVS-Studio_V

V548, V641, V1032

RuleChecker

Include Page
RuleChecker_V
RuleChecker_V

pointer-cast-alignmentFully checked

...