[previous] 3328 [next] An unsigned value is being compared with a negative constant - this is dangerous.
Arithmetic type - Operations

An operand of unsigned type is being compared with a constant expression of negative value. This is almost certainly a mistake. The result of such an operation is likely to be invariant or meaningless.

Message 3328 is now considered obsolete. It has been superseded by message 2890 which has a more comprehensive specification.

For example:


/*PRQA S 1-9999 ++*/
/*PRQA S 3328, 2890 --*/

extern void foo ( unsigned int c )
{
    if ( c < -5 ) { }                   /* Message 3328 + 2890 */
}

See also:

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