summaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index f4277931778..0ed3621e869 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -467,8 +467,8 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data)
abort ();
#endif
- /* If this is a RETURN_STMT, change it into an EXPR_STMT and a
- GOTO_STMT with the RET_LABEL as its target. */
+ /* If this is a RETURN_EXPR, change it into a MODIFY_EXPR and a
+ GOTO_EXPR with the RET_LABEL as its target. */
if (TREE_CODE (*tp) == RETURN_EXPR && id->ret_label)
{
tree return_stmt = *tp;
@@ -489,8 +489,7 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data)
if (TREE_CODE (assignment) == RESULT_DECL)
gimplify_stmt (&assignment);
- *tp = build (BIND_EXPR, void_type_node, NULL_TREE, NULL_TREE,
- make_node (BLOCK));
+ *tp = build (BIND_EXPR, void_type_node, NULL, NULL, NULL);
append_to_statement_list (assignment, &BIND_EXPR_BODY (*tp));
append_to_statement_list (goto_stmt, &BIND_EXPR_BODY (*tp));
}