![]() |
![]() |
0540 | ![]() |
||||
![]() | |||||||
| Constraint violations | REFERENCE - ISO:C90-6.3.15 Conditional Operator - Constraints | ||||||
This is a constraint error Check the type of the 2nd and 3rd operands of this conditional operator. A conditional operator can only be used when:
/*PRQA S 2211,2213,2216,3198,3199,3203,3205,3210,3227,3408,3447,3617,3625 ++*/
struct ST1 {int a; int b;};
extern struct ST1 stx;
extern struct ST1 sty;
extern int g;
extern int *pi;
extern char *pc;
void foo(int n)
{
int r;
int *p;
p = (n > 0) ? pi : g; /* Message 0540 */
p = (n > 0) ? pi : pc; /* Message 0540 */
r = (n > 0) ? n : g; /* OK */
stx = (n > 0) ? stx : sty; /* OK */
}
MISRA-C:2004 Rules applicable to message 0540:
| Rule 1.1 (Required) | All code shall conform to ISO/IEC 9899:1990 C programming language, ISO 9899, amended and corrected by ISO/IEC 9899/COR1:1995, ISO/IEC 9899/AMD1:1995, and ISO/IEC 9899/COR2: 1996192 |
![]() | ||
| 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 |