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: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
- Cc: bangerth at dealii dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody 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:04:39 +0100
- Subject: Re: c++/9621: const int typedef is rejected
- Organization: Integrable Solutions
- References: <20030208002254.22240.qmail@sources.redhat.com><874r7fd2m2.fsf@student.uni-tuebingen.de>
Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> writes:
| 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?
|
| No, it isn't. typedef is a decl-specifier. They are only allowed as a
| sequence at the start of a simple-declaration:
That is untrue. Firstly, the syntax is valid. Secondly "typedef" is
a decl-specifier and as such can appear in anywhere in the
decl-specifier-seq. See 7.
-- Gaby