[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
--- Comment #4 from dgregor at gcc dot gnu dot org 2007-12-18 22:15 --- Fixed on the trunk -- dgregor at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
--- Comment #3 from dgregor at gcc dot gnu dot org 2007-12-18 21:19 --- Subject: Bug 32565 Author: dgregor Date: Tue Dec 18 21:19:41 2007 New Revision: 131041 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131041 Log: 2007-12-18 Douglas Gregor <[EMAIL PROTECTED]> Jakub Jelinek <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> Jakub Jelinek <[EMAIL PROTECTED]> 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. Added: trunk/gcc/testsuite/g++.dg/cpp0x/variadic84.C trunk/gcc/testsuite/g++.dg/cpp0x/variadic85.C trunk/gcc/testsuite/g++.dg/cpp0x/variadic86.C trunk/gcc/testsuite/g++.dg/cpp0x/variadic87.C trunk/gcc/testsuite/g++.dg/template/ttp25.C Modified: trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
-- dgregor at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |dgregor at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2007-12-07 20:14:04 |2007-12-15 08:29:12 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
--- Comment #2 from rguenth at gcc dot gnu dot org 2007-12-07 20:14 --- Confirmed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-12-07 20:14:04 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
--- Comment #1 from jakub at gcc dot gnu dot org 2007-09-27 12:12 --- Created an attachment (id=14255) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14255&action=view) gcc43-pr32565.patch WIP patch to fix this. As shown in the testcase, I believe trying to handle ARGUMENT_PACK_P (parm) && !ARGUMENT_PACK_P (arg) in unify in unify is bad, as parm may need more than one argument. So IMHO this has to be handled one level higher where we have access to all the arguments. I don't know what exactly to do with argument packs which have PACK_EXPANSION_P at the end (can you come up with a testcase for that) and especially if such ARGUMENT_PACK_P is not the last template argument (that is only possible for function templates, right)? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
-- reichelt at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565