Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
MISRA 20.2
#1
Hello,

Why the following code is the violation of MISRA 20.2 ?

Code:
#define abs(a)   (((a) < (0)) ? -(a) : (a))

As far as I understand from the topics , 20.2 does not concern with preprocessor identifier then why I get an violation for the same.
<t></t>
Reply
#2
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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)