[previous] 4102 [next] Both operands of | operator are 'Boolean' expressions.
Arithmetic type - Operands REFERENCE - ISO:C90-6.3.12 Bitwise Inclusive OR Operator

Both operands of this bitwise inclusive OR operator (|) are expressions which are effectively Boolean. This is probably a mistake; the logical OR operator (||) was probably intended.

For example:


/*PRQA S 2017,3204,3227,3408 ++*/

int foo(int a, int b, int c, int d)
{
    int x;

    x = (a > b) | (c > d);             /* Message 4102 */

    return x;
}

QA·C Source Code Analyser 8.1.2
© 2013 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index Contents