diff options
author | Richard Henderson <rth@redhat.com> | 2004-06-16 11:21:20 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-06-16 11:21:20 -0700 |
commit | 9e14e18fd124e651f079728315e40a16288863b6 (patch) | |
tree | e52131b3bd23ac10dfbc97741cf058791e88679f /gcc/tree-inline.c | |
parent | 2f52c5316a90890e8185408429aca0dd331f9728 (diff) | |
download | gcc-9e14e18fd124e651f079728315e40a16288863b6.zip gcc-9e14e18fd124e651f079728315e40a16288863b6.tar.gz gcc-9e14e18fd124e651f079728315e40a16288863b6.tar.bz2 |
c-common.def (GOTO_STMT, LABEL_STMT): Remove.
* c-common.def (GOTO_STMT, LABEL_STMT): Remove.
* c-common.c (c_add_case_label): Use LABEL_EXPR.
* c-common.h (GOTO_FAKE_P, LABEL_STMT_LABEL): Remove.
(c_common_stmt_codes): Remove GOTO_STMT, LABEL_STMT.
* c-dump.c (c_dump_tree): Likewise.
* c-gimplify.c (c_gimplify_stmt): Likewise.
* c-pretty-print.c (pp_c_statement): Likewise.
* c-parse.in (stmt): Use GOTO_EXPR.
(label): Use LABEL_EXPR.
* c-semantics.c (build_stmt): Set TREE_TYPE to void.
* tree-inline.c (copy_body_r): Don't build empty BLOCKs.
cp/
* decl.c (finish_destructor_body): Use LABEL_EXPR.
* parser.c (cp_parser_statement): Update commentary.
* pt.c (tsubst_expr): Use LABEL_EXPR, GOTO_EXPR.
* semantics.c (finish_goto_stmt, finish_label_stmt): Likewise.
* tree.c (mark_local_for_remap_r): Likewise.
From-SVN: r83255
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index f427793..0ed3621 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)); } |