[Bug c++/33955] internal compiler error: in dependent_type_p, at cp/pt.c:15245 (vararg template problem)
dgregor at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Oct 31 12:23:00 GMT 2007
------- Comment #3 from dgregor at gcc dot gnu dot org 2007-10-31 12:23 -------
This tiny patch should fix the problem. We weren't digging into TYPENAME_TYPEs
deep enough to find all of the parameter packs. The patch fixes both the
original test case and the reduced one. However, I can't test it in isolation
at the moment.
Index: pt.c
===================================================================
--- pt.c (revision 129773)
+++ pt.c (working copy)
@@ -2505,6 +2505,12 @@ find_parameter_packs_r (tree *tp, int *w
*walk_subtrees = 0;
return NULL_TREE;
+ case TYPENAME_TYPE:
+ cp_walk_tree (&TYPENAME_TYPE_FULLNAME (t), &find_parameter_packs_r,
+ ppd, ppd->visited);
+ *walk_subtrees = 0;
+ return NULL_TREE;
+
case TYPE_PACK_EXPANSION:
case EXPR_PACK_EXPANSION:
*walk_subtrees = 0;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33955
More information about the Gcc-bugs
mailing list