This is the mail archive of the
gcc-bugs@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: bangerth at dealii dot org
- Cc: gcc-bugs at gcc dot gnu dot org, patrick dot rabau at gs dot com, gcc-gnats at gcc dot gnu dot org
- Date: 08 Feb 2003 05:03:09 +0100
- Subject: Re: c++/9621: const int typedef is rejected
- Organization: Integrable Solutions
- References: <20030208002254.22240.qmail@sources.redhat.com>
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