This is the mail archive of the
gcc-prs@gcc.gnu.org
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 <gdr@integrable-solutions.net>
To: bangerth@dealii.org
Cc: gcc-bugs@gcc.gnu.org, patrick.rabau@gs.com, gcc-gnats@gcc.gnu.org
Subject: Re: c++/9621: const int typedef is rejected
Date: 08 Feb 2003 05:03:09 +0100
bangerth@dealii.org writes:
| 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
| State-Changed-Why:
| 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.
-- Gaby