04-05-2018, 11:43 AM
Rule 20.2 refers to the declaration of non-preprocessor names. i.e. objects, function names, typedefs. This code is not a violation of rule 20.2, but does violate rule 20.1 which does not permit standard library functions to be used in a #define.
Posted by and on behalf of the MISRA C Working Group