[previous] 0643 [next] [C] '%s' in 'struct' or 'union' type may not be a 'struct' or 'union' with unknown content.
Constraint violations REFERENCE - ISO:C90-6.5.2.1 Structure and Union Specifiers - Constraints

This is a constraint error

This struct/union member is a struct/union of incomplete type. A member must have complete type. Notice that it is possible for a struct/union to contain a member which is a pointer to itself.

For example:


/*PRQA S 553,2213,2216 ++*/

struct ST1 { int mode; struct STX sx; };   /* Message 0643 and also 3313 - if STX has not been declared */


struct ST2 { int mode; struct ST2 sx; };   /* Message 0643 */


struct ST3 { int mode; struct ST3 *ps; };  /* OK */


MISRA C:2012 Rules applicable to message 0643:

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


See also:

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