c++: Remove redundant code.
authorJason Merrill <jason@redhat.com>
Mon, 11 May 2020 18:05:46 +0000 (14:05 -0400)
committerJason Merrill <jason@redhat.com>
Mon, 11 May 2020 19:09:24 +0000 (15:09 -0400)
We walk the lambda captures in cp_walk_subtrees, so we don't also need to
walk them here.

gcc/cp/ChangeLog
2020-05-11  Jason Merrill  <jason@redhat.com>

* pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Remove redundant
walking of capture list.

gcc/cp/ChangeLog
gcc/cp/pt.c

index f92c6416ee6dfba7f51828513d955d073ac637e9..adbe287c5dcdcb784a7be3be736472f68c41494e 100644 (file)
@@ -1,3 +1,8 @@
+2020-05-11  Jason Merrill  <jason@redhat.com>
+
+       * pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Remove redundant
+       walking of capture list.
+
 2020-05-11  Jason Merrill  <jason@redhat.com>
 
        * cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Remove.
index c609112722512171892550483dc9f99e913bc029..112426af72a3ef4b7b5a9c5f3a81568d430e4f79 100644 (file)
@@ -3988,18 +3988,12 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data)
 
     case LAMBDA_EXPR:
       {
-       /* Look at explicit captures.  */
-       for (tree cap = LAMBDA_EXPR_CAPTURE_LIST (t);
-            cap; cap = TREE_CHAIN (cap))
-         cp_walk_tree (&TREE_VALUE (cap), &find_parameter_packs_r, ppd,
-                       ppd->visited);
        /* Since we defer implicit capture, look in the parms and body.  */
        tree fn = lambda_function (t);
        cp_walk_tree (&TREE_TYPE (fn), &find_parameter_packs_r, ppd,
                      ppd->visited);
        cp_walk_tree (&DECL_SAVED_TREE (fn), &find_parameter_packs_r, ppd,
                      ppd->visited);
-       *walk_subtrees = 0;
        return NULL_TREE;
       }