![]() |
![]() |
4107 | ![]() |
||||
![]() | |||||||
| Arithmetic type - Operands | REFERENCE - ISO:C90-6.3.14 Logical OR Operator | ||||||
The two operands of this logical OR operator (||) are derived from bitwise or arithmetic operators. This is probably a mistake; perhaps the bitwise inclusive OR operator (|) was intended ? For example:
/*PRQA S 2017,3198,3199,3203,3227,3408 ++*/
extern void foo(unsigned int a, unsigned int b, unsigned int c, unsigned int d)
{
int r;
r = (a < b) || (c < d); /* OK */
r = (a == b) || (c == d); /* OK */
r = (a + b) || (c + d); /* Message 4107 */
r = (a ^ b) || (c ^ d); /* Message 4107 */
r = (a + b) || (c < d); /* Message 4108 */
r = (a > b) || (c * d); /* Message 4109 */
}
![]() | ||
| QA·C Source Code Analyser 8.1.2
© 2013 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | Contents |