This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Sep 2007 12:12:47 -0000
- Subject: [Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
- References: <bug-32565-1771@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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