From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3738 invoked by alias); 19 Mar 2003 12:36:01 -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 3677 invoked by uid 71); 19 Mar 2003 12:36:01 -0000 Date: Wed, 19 Mar 2003 12:36:00 -0000 Message-ID: <20030319123601.3676.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Richard Guenther Subject: Re: c++/10146: [3.4 regression] [new parser] template function lookup failure(s) Reply-To: Richard Guenther X-SW-Source: 2003-03/txt/msg01262.txt.bz2 List-Id: The following reply was made to PR c++/10146; it has been noted by GNATS. From: Richard Guenther To: Gabriel Dos Reis Cc: Giovanni Bajo , , Subject: Re: c++/10146: [3.4 regression] [new parser] template function lookup failure(s) Date: Wed, 19 Mar 2003 13:32:12 +0100 (CET) On 19 Mar 2003, Gabriel Dos Reis wrote: > Richard Guenther writes: > > | On Wed, 19 Mar 2003, Giovanni Bajo wrote: > | > | > > | > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p > | > r=10146 > | > > | > To sum it up: > | > > | > >Foo().template foo(u); // does not work > | > >Foo().template bar(u); // does not work > | > > | > These should compile. > | > > | > >Foo().foo(u); // does work ?? > | > >Foo::foo(u); // does work ?? > | > >Foo().bar(u); // does work ?? > | > > | > Yes, because the template parameter of the template member function is > | > deduced from the call. What's wrong with them? > | > | I think foo() and bar() needs to be qualified with the template keyword > | due to two-stage namelookup. But I may be wrong (dont have a standard > | to look at). > > Two-phase name lookup has nothing to do here. The Foo part is > -not- dependent, therefore there need not be any extra "template" > qualifier. Ah, ok - only for Foo:: it would be dependent, yes? So gcc should reject or at least warn about the extra "template" here? (gcc3.2 bails out with a parse error for Foo::template foo(u);) Richard. -- Richard Guenther WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/