This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Zero-length arrays
- To: gcc at gcc dot gnu dot org
- Subject: Zero-length arrays
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Thu, 4 Jan 01 09:34:32 EST
What *precisely*, are the semantics of this feature. Consider the following:
struct foo {int a; int x[0]; int y;} xyz = {1, {2, 3, 4}, 5};
int
sub1 (struct foo *p)
{
return p->y;
}
This compiles with no errors with the current tree and XYZ contains in
memory the integers 1 through 5 as consecutive words.
But sub1 would return 2 when passsed &xyz, not the correct value of 5.
Of course there's no way to support returning the proper value here, so I
think the initializer should produce an error message.