Versions Compared

Key

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

...

Tool

Version

Checker

Description

CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

DIAG.UNEX.*
LANG.STRUCT.RC
LANG.STRUCT.UC

Code not exercised by analysis
Redundant condition
Unreachable {Call, Computation, Conditional, Control Flow, Data Flow}

Coverity

Include Page
Coverity_V
Coverity_V

DEADCODE


UNREACHABLE

Can detect the specific instance where code can never be reached because of a logical contradiction or a dead "default" in switch statement

Can detect the instances where code block is unreachable because of the syntactic structure of the code

GCC
Include Page
GCC_V
GCC_V


Can detect violations of this recommendation when the -Wunreachable-code flag is used

Klocwork
Include Page
Klocwork_V
Klocwork_V

LVLA_UNUSED
UNREACH.GEN
UNREACH.RETURN
UNREACH.SIZEOF
INVARIANT_CONDITION.UNREACH


LDRA tool suite
Include Page
LDRA_V
LDRA_V

1 J
139 S
140 S

Fully implemented

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
MISRA2004-14_1_a, MISRA2004-14_1_b, MISRA2004-14_1_c, MISRA2004-14_1_d, MISRA2004-14_1_e, MISRA2004-14_1_f, MISRA2004-14_1_g, BD-PB-SWITCH
Fully implemented
Polyspace Bug FinderR2016a

Dead code

Missing case for switch condition

Unreachable code

Code does not execute

Default case is missing and may be reached

Code following control-flow statements

PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v

1501,1503,2008,2880,2881,2882,2883,2877,3196,

3202,3203,3205,3206,3207,3210,3219,3229,3404,

3422,3423,3425,3470,2980,2981,2982,2983,2984,2985,2986

Fully implemented
SonarQube C/C++ Plugin
 
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V

S1763, S1751


Splint
Include Page
Splint_V
Splint_V


Can detect violations of this recommendation when the -Wunreachable-code flag is used

...