From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gabriel Dos Reis To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org Subject: Re: c++/3033: 'using typename' construct doesn't work Date: Fri, 01 Jun 2001 18:46:00 -0000 Message-id: <20010602014603.31191.qmail@sourceware.cygnus.com> X-SW-Source: 2001-06/msg00035.html List-Id: The following reply was made to PR c++/3033; it has been noted by GNATS. From: Gabriel Dos Reis To: sethml@ofb.net Cc: Gabriel Dos Reis , gcc-gnats@gcc.gnu.org, debian-gcc@lists.debian.org Subject: Re: c++/3033: 'using typename' construct doesn't work Date: 02 Jun 2001 03:44:10 +0200 sethml@ofb.net writes: | > sethml@ofb.net writes: | > | > | C++ allows the word 'typename' after a 'using' directive. _The C++ Pro | > gramming Language_ (third edition) [Stroustrup], section A.7 (Grammar/Declara | > tions) defines the using directive: | > | using-declaration: | > | "using" "typename"(opt) "::"(opt) nested-name-specifier | > | unqualified-id ";" | > | > The C++ grammar is not context-free, you cannot deduce construct | > validity just from pure grammar productions. | | OK, fine. The question remains: is this a legal construct, or not? The constructs you sent were all ill-formed. See 14.6/5 of the C++ definition text. -- Gaby