Rule 19.10

6.19 Preprocessing Directives

Moderators: misra-c, david ward

Post Reply
Tobias Gradl
Posts: 1
Joined: Mon Mar 11, 2013 3:17 pm
Company: siemens

Rule 19.10

Post by Tobias Gradl » Tue Mar 12, 2013 12:45 pm

I have a violation in MISRA 2004 rule 19.10:
unparenthesized macro parameter in definition of macro: '__identifier'
and a violation in MISRA 2004 rule 19.4:
disallowed definition for macro '__identifier'

but i don't have a macro '__identifier' in my sourcecode.

Does MISRA 2004 allow include-blockers like

Code: Select all

#ifndef EXAMPLE_H
#define EXAMPLE_H
...
#endif
or not? I assume that this may cause the errors above.

Best Regards
Tobias Gradl

misra-c
Posts: 572
Joined: Thu Jan 05, 2006 1:11 pm

Re: Rule 19.10

Post by misra-c » Wed Mar 13, 2013 4:01 pm

Although your source code doesn't contain a macro '__identifier', perhaps there is a definition of this macro in one of the header files that is included by your code?

It is also possible that the checking tool that you are using has made a mistake or is using '__identifier' as a generic term for an identifier that begins '__' but t is difficult to comment fully without seeing the source code.

Yes, MISRA C:2004 does permit "include-blockers." See Rule 19.15 for an example.
---
Posted by and on behalf of
the MISRA C Working Group

Post Reply

Return to “6.19 Preprocessing Directives”