Versions Compared

Key

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

...

Tool

Version

Checker

Description

Clang
Include Page
Clang_V
Clang_V
-WparenthesesCan detect some instances of this rule, but does not detect all
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
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 if or while statement

ECLAIR

Include Page
ECLAIR_V
ECLAIR_V

CC2.EXP18
CC2.EXP21

Fully implemented

GCC

Include Page
GCC_V
GCC_V

 

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

Klocwork

Include Page
Klocwork_V
Klocwork_V

ASSIGCOND.GEN
ASSIGCOND.CALL

 

LDRA tool suite

Include Page
LDRA_V
LDRA_V

114 S, 132 S

Enhanced Enforcement
Parasoft C/C++test9.5BD-PB-CC 
Polyspace Bug FinderR2016aInvalid use of = operatorAssignment in control statement
PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v
3314, 3326, 3344, 3416Partially implemented
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
AssignmentInSubExpression 

...