![]() |
![]() |
1831 | ![]() |
||||
![]() | |||||||
| Arithmetic type - Balancing | |||||||
This message is issued whenever a constant expression of essentially signed type with a negative value has been used as an operand of either
&, | or ^ operators,
and undergoes a usual arithmetic conversion to an unsigned integer type (the type of the other operand).
This will result in a large positive value.
For example:
/*PRQA S 1-9999 ++*/
/*PRQA S 1831 --*/
unsigned f1831 (unsigned b)
{
b = b & (-1); /* 1831 */
return ((1 - 2) | b); /* 1831 */
}
![]() | ||
| QA·C Source Code Analyser 8.1.2
© 2013 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | Contents |