Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Example for Rule8.10 (inline function)
#1
Hello,

I have a question regarding the Rule 8.10.
Usually in our code we implement inline functions in header files.
Therefore these inline functions are already visible in many modules.
How can these inline function be made static?
Is it necessary to implement these inline functions as static in header files?
example:

header_file.h
inline void function1(int a, int b)
{
...
return;
}

c_file1.c
include
void function3(void)
{
function1(a_param, b_param);
...
return;
}

Can somebody give me a solution?

Regards
Wolfgang
<t></t>
#2
Hello Wolfgang

To comply with MISRA C:2012 Rule 8.10, the function should be declared with the static storage class, within the header file:

Code:
inline [i][b]static[/b][/i] void function1(int a, int b)
{
...
return;
}

Following inclusion of the header file in a source module, this declaration is visible, but only to the module(s) that have included the header file.
Posted by and on behalf of the MISRA C Working Group


Forum Jump:


Users browsing this thread: 2 Guest(s)