MISRA Discussion Forums

Full Version: Rule 2.5 Does #undef count as a "use"
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Rule 2.5 Is #undef considered a “use” of a macro”?
For example
Code:
#define M1 This
   #define M2 That
   #undef M1
   use( M2 );
Is 'M1' unused and therefore violate rule 2.5, or does the #undef count as a use of M1?
Similarly:
Code:
#define M3 first
   #undef M3
   #define M3 second
   use( M3 );
Is the first #define of M3 unused?
#undef is considered to be a use of the macro. There are no violations of rule 2.5 in these examples
Rule 2.5 Is #undef considered a “use” of a macro”?
For example
CODE: SELECT ALL
#define M1 This
#define M2 That
#undef M1
use( M2 );

Is 'M1' unused and therefore violate rule 2.5, or does the #undef count as a use of M1?

using #undef is a violation for Rule 20.5. #undef used is not appreciated for MISRA C 2012. so, For me, #undef count can not be recognized as a use of M1? the above code should is a violation for rule 2.5.