[previous] 2985 [next] This operation is redundant. The value of the result is always that of the left-hand operand.
Redundancy

This operation appears to be redundant because the left-hand operand can always be used instead.

For example:


/*PRQA S 2017,2983,3198,3203,3408,3447 ++*/

void foo(unsigned int i, unsigned int j)
{
    if (j > i)
    {
        i % j;         /* 2985 */
    }

    i << 0;            /* 2985 */

    j | 0;             /* 2985 */

    j & 0xFFFFFFFFu;   /* 2985 */
}


MISRA-C:2004 Rules applicable to message 2985:

Rule  21.1  (Required) Minimisation of run-time failures shall be ensured by the use of at least one of (a) static analysis tools/techniques; (b) dynamic analysis tools/techniques; (c) explicit coding of checks to handle run-time faults


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