This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ PATCH] Fix unification of template template parameters (PRs 32565, 33943, 33965)


On Dec 17, 2007 11:21 PM, Jason Merrill <jason@redhat.com> wrote:
> Doug Gregor wrote:
> > Aside from combining ttp25-27.C into a single test case, extending
> > that test-case with some non-deduced contexts, and fixing the comment
> > you referred to... is the patch okay for mainline?
>
> The substantive change I was asking for was changing the unify call
> below that comment to pass argtmplvec instead of argvec.

We decided to leave the call here (to coerce_template_parms) alone for
now, and are going to look into using unify() to deduce types based on
matching the template template parameter's template parameter list
with the template argument's template parameter list. The final,
committed patch is attached.

  - Doug

2007-12-18  Douglas Gregor  <doug.gregor@gmail.com>
            Jakub Jelinek  <jakub@redhat.com>
	
	PR c++/32565
	PR c++/33943
	PR c++/33965
	* pt.c (template_template_parm_bindings_ok_p): New; verifies
	bindings of template template parameters after all template
	arguments have been deduced.
	(coerce_template_parms): Don't complain when COMPLAIN doesn't
	include tf_error.
	(fn_type_unification): Use template_template_parm_bindings_ok_p.
	(unify): Deal with variadic, bound template template parameters.
	(get_class_bindings): Use template_template_parm_bindings_ok_p.
	
	
2007-12-18  Douglas Gregor  <doug.gregor@gmail.com>
	    Jakub Jelinek  <jakub@redhat.com>
	
	PR c++/32565
	PR c++/33943
	PR c++/33965
	* g++.dg/cpp0x/variadic86.C: New.
	* g++.dg/cpp0x/variadic87.C: New.
	* g++.dg/cpp0x/variadic84.C: New.
	* g++.dg/cpp0x/variadic85.C: New.
	* g++.dg/template/ttp25.C: New.

Attachment: variadic-ttp.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]