MISRA Discussion Forums

Full Version: Rule 19.10
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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
#ifndef EXAMPLE_H
#define EXAMPLE_H
or not? I assume that this may cause the errors above.

Best Regards
Tobias Gradl
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.