![]() |
![]() |
0811 | ![]() |
||||
![]() | |||||||
| Constraint violations | REFERENCE - ISO:C90-6.1.5 Operators - Constraints | ||||||
This is a constraint error The glue operator, ##, can only be used in a #define directive. Its function is to join the 2 tokens on either side of it. For example:
/*PRQA S 752,2017,3122,3408,3429,3447,3625 ++*/
#define GLUE(A,B) A##B
extern void foo(int p);
extern int abcdef;
void ft(void)
{
foo( GLUE( abc, def ) ); /* OK */
foo( abc ## def ); /* Message 0811 and others */
}
MISRA-C:2004 Rules applicable to message 0811:
| 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 |