This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/52182] New: unnamed structs/unions are supported by ISO C99
- From: "jan.kratochvil at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 09 Feb 2012 09:19:48 +0000
- Subject: [Bug c/52182] New: unnamed structs/unions are supported by ISO C99
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52182
Bug #: 52182
Summary: unnamed structs/unions are supported by ISO C99
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: jan.kratochvil@redhat.com
http://gcc.gnu.org/onlinedocs/gcc/Unnamed-Fields.html#Unnamed-Fields
says
"As permitted by ISO C11"
and also:
echo 'struct { int a; struct { int b; }; } s;'|gcc -c -x c - -Wall -std=c99
-pedantic
<stdin>:1:34: warning: ISO C99 doesnât support unnamed structs/unions
[-pedantic]
FAIL: gcc (GCC) 4.6.3 20120209 (prerelease)
FAIL: gcc (GCC) 4.7.0 20120209 (experimental)
plus
FAIL: gcc (GCC) 4.4.7 20120209 (prerelease)
FAIL: gcc (GCC) 4.5.4 20120209 (prerelease)
print
<stdin>:1:34: warning: declaration does not declare anything
But ISO C99 says:
A structure type describes a sequentially allocated nonempty set of member
objects (and, in certain circumstances, an incomplete array), each of which
has an optionally specified name and possibly distinct type.
^^^^^^^^^^^^^^^^^^^^^^^^^
A union type describes an overlapping nonempty set of member objects, each of
which has an optionally specified name and possibly distinct type.
^^^^^^^^^^^^^^^^^^^^^^^^^
(I agree ISO C90 spec still did not support unnamed fields.)