This is the mail archive of the
mailing list for the GCC project.
Re: c++/9621: const int typedef is rejected
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 8 Feb 2003 04:06:01 -0000
- Subject: Re: c++/9621: const int typedef is rejected
- Reply-to: Gabriel Dos Reis <gdr at integrable-solutions dot net>
The following reply was made to PR c++/9621; it has been noted by GNATS.
From: Gabriel Dos Reis <firstname.lastname@example.org>
Cc: email@example.com, firstname.lastname@example.org, email@example.com
Subject: Re: c++/9621: const int typedef is rejected
Date: 08 Feb 2003 05:03:09 +0100
| Synopsis: const int typedef is rejected
| State-Changed-From-To: open->feedback
| State-Changed-By: bangerth
| State-Changed-When: Sat Feb 8 00:22:54 2003
| Fixed in 3.4: it accepts both typedefs.
| I'm surprised that this is legal at all. The standard says
| that typedef expressions need to "contain" the typedef
| keyword, but the examples only show it as in the form
| typedef type1 type2;
| Can some language lawyer comment on whether and why
| type1 typedef type2;
| is legal syntax?
It is. See a recent discussion on comp.std.c++ where I gave detailed
references. Basically it boils down to the clause 7; section 7.1.
decl-specifiers can appear in *any* order -- that is one of the reasons
why grokdeclarator() is so weird.