From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21771 invoked by alias); 11 Feb 2003 10:56: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 21757 invoked by uid 71); 11 Feb 2003 10:56:00 -0000 Date: Tue, 11 Feb 2003 10:56:00 -0000 Message-ID: <20030211105600.21756.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Gabriel Dos Reis Subject: Re: c++/9660: use of template keyword to specify templated method cause ICE Reply-To: Gabriel Dos Reis X-SW-Source: 2003-02/txt/msg00490.txt.bz2 List-Id: The following reply was made to PR c++/9660; it has been noted by GNATS. From: Gabriel Dos Reis To: maudouy@amadeus.net Cc: gcc-gnats@gcc.gnu.org Subject: Re: c++/9660: use of template keyword to specify templated method cause ICE Date: 11 Feb 2003 11:53:23 +0100 maudouy@amadeus.net writes: | >Number: 9660 | >Category: c++ | >Synopsis: use of template keyword to specify templated method cause ICE | >Confidential: no | >Severity: serious | >Priority: medium | >Responsible: unassigned | >State: open | >Class: ice-on-legal-code I believe your program is ill-formed, and I would suggest this PR be reclassified as ice-on-illegal-code. 14.2/5 If a name prefixed by the keyword template is not the name of a member template, the program is ill-formed. [...] | >Fix: | an easy workaround is not to use the template keyword, it works in this case. but when using other compilers (like aCC on HP-UX) it is necessary. Those compilers are in error, AFAICT. [...] | class B { | public: | A& getA(int a, int b) | { | A& anA = TOTO::template create(a,b); ^^^^^^^^^^^^^^ That is not valid; see 14.2/5 quoted above. -- Gaby