MISRA C:2012 Rule 8.10
An inline function shall be declared with the static storage class
Description
Note
Using Code Prover for checking coding rules is no longer supported. See Version History.
Rule Definition
An inline function shall be declared with the static storage class.
Rationale
If you call an inline function that is declared with external linkage but not defined in the same translation unit, the function might not be inlined. You might not see the reduction in execution time that you expect from inlining.
If you want to make an inline function available to several translation units, you
can still define it with the static
specifier. In this case,
place the definition in a header file. Include the header file in all the files
where you want the function inlined.
Polyspace Implementation
The rule checker flags definitions that contain the inline
specifier without an accompanying static
specifier.
Troubleshooting
If you expect a rule violation but do not see it, refer to Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Declarations and Definitions |
Category: Required |
AGC Category: Required |