diff options
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 7d8b0db..f427793 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1657,7 +1657,7 @@ expand_call_inline (tree *tp, int *walk_subtrees, void *data) restoring of current_function_decl. */ save_decl = current_function_decl; current_function_decl = id->node->decl; - inline_result = voidify_wrapper_expr (expr); + inline_result = voidify_wrapper_expr (expr, NULL); current_function_decl = save_decl; /* If the inlined function returns a result that we care about, @@ -1906,7 +1906,7 @@ clone_body (tree clone, tree fn, void *arg_map) id.cloning_p = true; /* Actually copy the body. */ - TREE_CHAIN (DECL_SAVED_TREE (clone)) = copy_body (&id); + append_to_statement_list_force (copy_body (&id), &DECL_SAVED_TREE (clone)); } /* Save duplicate of body in FN. MAP is used to pass around splay tree @@ -2006,8 +2006,7 @@ walk_tree (tree *tp, walk_tree_fn func, void *data, void *htab_) interesting below this point in the tree. */ if (!walk_subtrees) { - if (code == TREE_LIST - || lang_hooks.tree_inlining.tree_chain_matters_p (*tp)) + if (code == TREE_LIST) /* But we still need to check our siblings. */ WALK_SUBTREE_TAIL (TREE_CHAIN (*tp)); else @@ -2052,10 +2051,6 @@ walk_tree (tree *tp, walk_tree_fn func, void *data, void *htab_) WALK_SUBTREE (TREE_OPERAND (*tp, len - 1)); } #endif - - if (lang_hooks.tree_inlining.tree_chain_matters_p (*tp)) - /* Check our siblings. */ - WALK_SUBTREE_TAIL (TREE_CHAIN (*tp)); } else if (TREE_CODE_CLASS (code) == 'd') { @@ -2226,8 +2221,7 @@ copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) || TREE_CODE_CLASS (code) == 'c' || code == TREE_LIST || code == TREE_VEC - || code == TYPE_DECL - || lang_hooks.tree_inlining.tree_chain_matters_p (*tp)) + || code == TYPE_DECL) { /* Because the chain gets clobbered when we make a copy, we save it here. */ @@ -2245,8 +2239,7 @@ copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) /* Now, restore the chain, if appropriate. That will cause walk_tree to walk into the chain as well. */ - if (code == PARM_DECL || code == TREE_LIST - || lang_hooks.tree_inlining.tree_chain_matters_p (*tp)) + if (code == PARM_DECL || code == TREE_LIST) TREE_CHAIN (*tp) = chain; /* For now, we don't update BLOCKs when we make copies. So, we |