From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29004 invoked by alias); 8 Feb 2003 00:46:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 28980 invoked by uid 71); 8 Feb 2003 00:46:00 -0000 Date: Sat, 08 Feb 2003 00:46:00 -0000 Message-ID: <20030208004600.28979.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Falk Hueffner Subject: Re: c++/9621: const int typedef is rejected Reply-To: Falk Hueffner X-SW-Source: 2003-02/txt/msg00386.txt.bz2 List-Id: The following reply was made to PR c++/9621; it has been noted by GNATS. From: Falk Hueffner To: bangerth@dealii.org Cc: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@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 01:42:45 +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? No, it isn't. typedef is a decl-specifier. They are only allowed as a sequence at the start of a simple-declaration: simple-declaration: decl-specifier-seq[opt] init-declarator-list[opt] ; IIRC, in C it is legal (typedef is a storage class specifier there; the use of a storage class specifier not at the start of a declaration is considered obsolecent, though). -- Falk