Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
A question for Rule8.13
#1
I have a question for the Rule8.13.

The rule8.13 is
A pointer should point to a const-qualified type whenever possible

A pointer parameter in a function prototype should be declared as pointer to const if the pointer is not used to modify the addressed object


However,
target of the rule16.7 on MISRAC-2004 is "pointer parameter in a fuction".

Why do you delete "pointer parameter in a function"?

Please tell me the reason.


Best Regards,
Kumiko Itoh
<t></t>
#2
Rule 8.13 covers all pointers, which includes the "pointer parameter to function" that was covered by rule 16.7 in MISRA-C:2004.

It was felt that programmers should be encouraged to use const where possible and not just on function parameters.
Code:
int32_t fn ( int32_t *ptr )  /* not compliant */
{
   int32_t *myptr = ptr;     /* not compliant */
   return *myptr;
}

int32_t fn2 ( const int32_t *ptr2 )  /* compliant */
{
   const int32_t *myptr2 = ptr2;     /* compliant */
   return *myptr2;
}
Posted by and on behalf of the MISRA C Working Group


Forum Jump:


Users browsing this thread: 5 Guest(s)