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 <jason@redhat.com> * pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Remove redundant walking of capture list.
This commit is contained in:
parent
08434b02e2
commit
f3f9cc41a1
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue