From f3f9cc41a1a793375a9fff09bfb7a103ce259e07 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Mon, 11 May 2020 14:05:46 -0400 Subject: [PATCH] c++: Remove redundant code. 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 * pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Remove redundant walking of capture list. --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/pt.c | 6 ------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index f92c6416ee6..adbe287c5dc 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2020-05-11 Jason Merrill + + * pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Remove redundant + walking of capture list. + 2020-05-11 Jason Merrill * cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Remove. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index c6091127225..112426af72a 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -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; } -- 2.30.2