![]() |
![]() |
3238 | ![]() |
||||
![]() | |||||||
| Constraint violations | REFERENCE - ISO:C99-6.7.4 Function specifiers - Constraints | ||||||
This is a constraint error An inline function with external linkage may not refer to an identifier with internal linkage. Defining an inline function with external linkage is always dangerous and it is recommended that inline should only be used on functions which are declared static. For example:
/*PRQA S 1055,2017,2213,3132,3218,3219,3227,3240,3602 ++*/
static const int a[5] = {10, 20, 30, 40, 50};
inline int f1(int n)
{
return a[n]; /* 3238 */
}
static inline int f2(int n)
{
return a[n]; /* OK */
}
MISRA-C:2004 Rules applicable to message 3238:
| Rule 1.1 (Required) | All code shall conform to ISO/IEC 9899:1990 C programming language, ISO 9899, amended and corrected by ISO/IEC 9899/COR1:1995, ISO/IEC 9899/AMD1:1995, and ISO/IEC 9899/COR2: 1996192 |
![]() | ||
| QA·C Source Code Analyser 8.1
MISRA-C:2004 Compliance Module 3.2 © 2012 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | MISRA-C:2004 Rule Index | Contents |