[previous] 0623 [next] [U] '%s' has incomplete type and no linkage - this is undefined.
Explicitly undefined REFERENCE - ISO:C90-6.5 Declarations - Semantics

An object with no linkage is being defined with an incomplete type. This is meaningless. An object can never be defined if its size is unknown.

For example:


/*PRQA S 2017,3205,3408,3684 ++*/

extern void foo(void)
{
    int buf[];                        /* Message 0623 */
}


MISRA-C:2004 Rules applicable to message 0623:

Rule  1.2  (Required) No reliance shall be placed on undefined or unspecified behaviour.
Rule  18.1  (Required) All structure and union types shall be complete at the end of a translation unit.


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