![]() |
![]() |
0426 | ![]() |
||||
![]() | |||||||
| Constraint violations | REFERENCE - ISO:C90-6.3.2.2 Function calls | ||||||
This is a constraint error A function is being called which has previously been declared with a return type that is incomplete. A function cannot be defined with an incomplete return type but it can be declared with an incomplete return type - however unwise this may be. For example:
/*PRQA S 556,561,2213,2216,3227,3408,3447,3448,3617 ++*/
typedef struct S T1;
extern T1 s;
extern T1 foo1(int n);
void foo2(int n)
{
s = foo1(n); /* Message 0426 */
}
struct S {int a; int b;}; /* struct S is now a complete type */
void foo3(int n)
{
s = foo1(n); /* OK - return type is now complete */
}
MISRA-C:2004 Rules applicable to message 0426:
| 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 |