[previous] 2992 [next] The value of this 'if' controlling expression is always 'false'.
Invariant operations

The value of the controlling expression in this 'if' statement is always zero. The contained code is therefore unreachable.

For example:


/*PRQA S 2017,3120,3199,3201,3227,3356,3359,3408,3447 ++*/

void f1(int x)
{
    if (x > 10)
    {
        if (x < 5)                      /* 2992 2996 */
        { 
            x++;                        /* 2880      */
        }
    }
}


MISRA-C:2004 Rules applicable to message 2992:

Rule  13.7  (Required) Boolean operations whose results are invariant shall not be permitted.


See also:

QA·C Source Code Analyser 8.1
MISRA-C:2004 Compliance Module 3.2
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA-C:2004 Rule Index Contents