Main Content

AUTOSAR C++14 Rule M0-1-2

A project shall not contain infeasible paths

Description

Rule Definition

A project shall not contain infeasible paths.

Rationale

This rule flags situations where a group of statements is redundant because of nonsyntactic reasons. For instance, an if condition is always true or false. Code that is unreachable from syntactic reasons are flagged by rule 0-1-1.

Unreachable or redundant code involve unnecessary maintenance and can often indicate programming errors.

Polyspace Implementation

Polyspace® Bug Finder™ reports a violation of this if your code contains dead code and unnecessary if conditionals. See Dead code and Useless if checkers.

Troubleshooting

If you expect a rule violation but Polyspace does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.

Examples

expand all

void func (unsigned int arg) {
 if (arg >= 0U) //Noncompliant
     arg  = 1U;
 if (arg < 0U) //Noncompliant
     arg = 1U;
}

An unsigned int variable is nonnegative. Both if conditions involving the variable are always true or always false and are therefore redundant.

Check Information

Group: Language Independent Issues
Category: Required, Automated

Version History

Introduced in R2019a