[previous] 0426 [next] [C] Called function has incomplete return type.
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:2012 Rules applicable to message 0426:

Rule-1.1  (Required) The program shall contain no violations of the standard C syntax and constraints, and shall not exceed the implementation's translation limits


QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents