diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2004-11-24 11:41:38 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2004-11-24 11:41:38 +0000 |
commit | 16df8078b8ea2cf3ce37f47e62cdc66c69fe6c70 (patch) | |
tree | b1c2513f30d70b29ff11a260b5524e5f0785c12c /gcc/gimplify.c | |
parent | f39e46bac1fa7fa916b9d415d323fa7353c5e91a (diff) | |
download | gcc-16df8078b8ea2cf3ce37f47e62cdc66c69fe6c70.tar.gz |
expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
gcc/
* expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
and LABELED_BLOCK_EXPR.
* gimplify.c (gimplify_labeled_block_expr): Remove.
(gimplify_exit_block_expr): Remove.
(gimplify_expr): Don't call them.
* tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
and LABELED_BLOCK_EXPR.
(estimate_num_insns_1): Likewise.
(walk_tree): Likewise.
* tree-pretty-print.c (dump_generic_node): Don't handle
EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
* tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
(LABELED_BLOCK_EXPR): Likewise.
* tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
(LABELED_BLOCK_BODY): Likewise.
(EXIT_BLOCK_LABELED_BLOCK): Likewise.
(EXIT_BLOCK_RETURN): Removed.
java/
* java-gimplify.c (java_gimplify_labeled_block_expr): New function.
(java_gimplify_exit_block_expr): New function.
(java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
LABELED_BLOCK_EXPR.
* java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
(EXIT_BLOCK_EXPR): Likewise.
* java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
(LABELED_BLOCK_BODY): Likewise.
(EXIT_BLOCK_LABELED_BLOCK): Likewise.
* jcf-write.c (generate_bytecode_insns): Don't handle the unused
EXIT_BLOCK_RETURN operand. Use EXIT_BLOCK_LABELED_BLOCK instead of
TREE_OPERAND.
* lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
(java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND. Don't handle the
second operand of EXIT_BLOCK_EXPR.
* parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
TREE_OPERAND.
(build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
From-SVN: r91149
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r-- | gcc/gimplify.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 669ec9f127d..e26868f9d19 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -1210,43 +1210,6 @@ gimplify_case_label_expr (tree *expr_p) return GS_ALL_DONE; } -/* Gimplify a LABELED_BLOCK_EXPR into a LABEL_EXPR following - a (possibly empty) body. */ - -static enum gimplify_status -gimplify_labeled_block_expr (tree *expr_p) -{ - tree body = LABELED_BLOCK_BODY (*expr_p); - tree label = LABELED_BLOCK_LABEL (*expr_p); - tree t; - - DECL_CONTEXT (label) = current_function_decl; - t = build (LABEL_EXPR, void_type_node, label); - if (body != NULL_TREE) - t = build (COMPOUND_EXPR, void_type_node, body, t); - *expr_p = t; - - return GS_OK; -} - -/* Gimplify a EXIT_BLOCK_EXPR into a GOTO_EXPR. */ - -static enum gimplify_status -gimplify_exit_block_expr (tree *expr_p) -{ - tree labeled_block = TREE_OPERAND (*expr_p, 0); - tree label; - - /* First operand must be a LABELED_BLOCK_EXPR, which should - already be lowered (or partially lowered) when we get here. */ - gcc_assert (TREE_CODE (labeled_block) == LABELED_BLOCK_EXPR); - - label = LABELED_BLOCK_LABEL (labeled_block); - *expr_p = build1 (GOTO_EXPR, void_type_node, label); - - return GS_OK; -} - /* Build a GOTO to the LABEL_DECL pointed to by LABEL_P, building it first if necessary. */ @@ -3703,14 +3666,6 @@ gimplify_expr (tree *expr_p, tree *pre_p, tree *post_p, ret = gimplify_switch_expr (expr_p, pre_p); break; - case LABELED_BLOCK_EXPR: - ret = gimplify_labeled_block_expr (expr_p); - break; - - case EXIT_BLOCK_EXPR: - ret = gimplify_exit_block_expr (expr_p); - break; - case EXIT_EXPR: ret = gimplify_exit_expr (expr_p); break; |