This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++ PATCH for c++/13950 (DR 176)
- From: Andrew Pinski <pinskia at gmail dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 16 Nov 2009 17:37:53 -0800
- Subject: Re: C++ PATCH for c++/13950 (DR 176)
- References: <4B01FD26.1010003@redhat.com>
On Mon, Nov 16, 2009 at 5:32 PM, Jason Merrill <jason@redhat.com> wrote:
> DR 176 says that the injected-class-name from a template base is a template
> name if it is followed by template arguments, or a type name otherwise;
> until now G++ has just ignored it so that name lookup finds the template in
> the enclosing scope.
>
> As a result of this, some code that previously worked needs to be adjusted
> by adding an explicit scope. ÂSpecifically, code that uses the name of a
> base class template as a template template argument (ttp2[23].C) or in a
> context which does not have access to the injected-class-name of that base
> (crash56.C). ÂIt seems unfortunate that we don't just treat it as a template
> if it's being used as a template template argument, but that's what the
> standard says.
Does this also fix PR 9937 which was marked as being DR 176 (before
bugzilla was around)?
Thanks,
Andrew Pinski