![]() |
![]() |
0850 | ![]() |
||||
![]() | |||||||
| ISO C99 Language features | REFERENCE - ISO:C90-6.8.3 Macro Replacement - Semantics; ISO:C99 6.10.3 | ||||||
The argument supplied in this macro invocation is empty, i.e. it consists of no tokens. This is permitted in the ISO:C99 standard but is undefined in the ISO:C90 standard. For example:
/*PRQA S 2017,3122,3205,3408,3429,3602,3625 ++*/
#define STR(text) #text
extern void func(void)
{
const char * msg = STR(); /* Message 0850 - the macro expands to "" in C99 */
}
MISRA-C:2004 Rules applicable to message 0850:
| 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 |
| Rule 19.8 (Required) | A function-like macro shall not be invoked without all of its arguments. |
![]() | ||
| 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 |