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>
|
2020-05-11 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
* cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Remove.
|
* 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:
|
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. */
|
/* Since we defer implicit capture, look in the parms and body. */
|
||||||
tree fn = lambda_function (t);
|
tree fn = lambda_function (t);
|
||||||
cp_walk_tree (&TREE_TYPE (fn), &find_parameter_packs_r, ppd,
|
cp_walk_tree (&TREE_TYPE (fn), &find_parameter_packs_r, ppd,
|
||||||
ppd->visited);
|
ppd->visited);
|
||||||
cp_walk_tree (&DECL_SAVED_TREE (fn), &find_parameter_packs_r, ppd,
|
cp_walk_tree (&DECL_SAVED_TREE (fn), &find_parameter_packs_r, ppd,
|
||||||
ppd->visited);
|
ppd->visited);
|
||||||
*walk_subtrees = 0;
|
|
||||||
return NULL_TREE;
|
return NULL_TREE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue