This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/19538] New: Missing diagnostic for typedef name in elaborated type specifier
- From: "austern at apple dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Jan 2005 01:51:49 -0000
- Subject: [Bug c++/19538] New: Missing diagnostic for typedef name in elaborated type specifier
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Consider the following code sample:
struct A { };
typedef struct A A;
struct A a; // [1]
struct wrapper {
struct B { };
typedef struct B B;
struct B b; // [2]
};
Mainline gives an error for line [2], but not for line [1]. My reading of the standard is that there
shouldn't be any difference. In both cases we're using an elaborated type specifier with a name that
resolves to a typedef-name. A program that does that is ill formed, so the compiler is required to
admit a diagnostic. We're doing that for line [2], but we're failing to do it for line [1].
Relevant passages in the standard: 3.4.4/2, 7.1.3/4, 7.1.5.3/2.
--
Summary: Missing diagnostic for typedef name in elaborated type
specifier
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: austern at apple dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: powerpc-apple-darwin7.7.0
GCC host triplet: powerpc-apple-darwin7.7.0
GCC target triplet: powerpc-apple-darwin7.7.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19538