On 11/28/2011 11:54 AM, Dodji Seketeli wrote:
@@ -3028,10 +3028,12 @@ find_parameter_packs_r (tree*tp, int *walk_subtrees, 
void*  data)

      case BOUND_TEMPLATE_TEMPLATE_PARM:
        /* Check the template itself.  */
-      cp_walk_tree (&TREE_TYPE (TYPE_TI_TEMPLATE (t)),
+      cp_walk_tree (&TREE_TYPE (TI_TEMPLATE
+                               (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO (t))),
                &find_parameter_packs_r, ppd, ppd->visited);
        /* Check the template arguments.  */
-      cp_walk_tree (&TYPE_TI_ARGS (t),&find_parameter_packs_r, ppd,
+      cp_walk_tree (&TI_ARGS (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO (t)),
+               &find_parameter_packs_r, ppd,
                    ppd->visited);
        *walk_subtrees = 0;
        return NULL_TREE;

Instead of this change, I think we should handle typedefs/aliases at the top of the function. We shouldn't need to look into the underlying type for packs.

Jason

Reply via email to