This issue has been automatically converted from the original issue lists and some formatting may not have been preserved.
Authors: Sam Kendall, WG14
Date: 1992-12-10
Reference document: X3J11/90-047
Submitted against: C90
Status: Fixed
Fixed in: C90 TC1
Converted from: dr.htm, dr_013.html
When a structure is incomplete
Reference subclause 6.5.2.3, page 62, lines 25-28:
If a type specifier of the form
struct-or-union identifieroccurs prior to the declaration that defines the content, the structure or union is an incomplete type.
In the following example, neither the second nor the third occurrence of struct foo
seem adequately covered by this sentence:
struct foo {
struct foo *p;
} a[sizeof(struct foo)];
In the second occurrence foo
is incomplete, but since the occurrence is within
“the declaration that defines the content,” it cannot be said to be “prior” that
declaration. In the third occurrence foo
is complete, but again, the
occurrence is within the declaration.
To fix the problem, change the phrase “prior to the declaration” to “prior to
the end of the struct-declaration-list
or enumerator-list
.”
Comment from WG14 on 1997-09-23:
In subclause 6.5.2.3, page 62, line 27, change:
occurs prior to the declaration that defines the content
to:
occurs prior to the }
following the struct-declaration-li st
that defines
the content