From 16df8078b8ea2cf3ce37f47e62cdc66c69fe6c70 Mon Sep 17 00:00:00 2001
From: Steven Bosscher <steven@gcc.gnu.org>
Date: Wed, 24 Nov 2004 11:41:38 +0000
Subject: 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
---
 gcc/tree.def | 10 ----------
 1 file changed, 10 deletions(-)

(limited to 'gcc/tree.def')

diff --git a/gcc/tree.def b/gcc/tree.def
index 11469b1..bf38d24 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -499,11 +499,6 @@ DEFTREECODE (VEC_COND_EXPR, "vec_cond_expr", tcc_expression, 3)
    nodes for the function.  */
 DEFTREECODE (BIND_EXPR, "bind_expr", tcc_expression, 3)
 
-/* A labeled block. Operand 0 is the label that will be generated to
-   mark the end of the block.
-   Operand 1 is the labeled block body.  */
-DEFTREECODE (LABELED_BLOCK_EXPR, "labeled_block_expr", tcc_expression, 2)
-
 /* Function call.  Operand 0 is the function.
    Operand 1 is the argument list, a list of expressions
    made out of a chain of TREE_LIST nodes.
@@ -806,11 +801,6 @@ DEFTREECODE (EXIT_EXPR, "exit_expr", tcc_statement, 1)
    The type should be void and the value should be ignored.  */
 DEFTREECODE (LOOP_EXPR, "loop_expr", tcc_statement, 1)
 
-/* Exit a labeled block, possibly returning a value.  Operand 0 is a
-   LABELED_BLOCK_EXPR to exit.  Operand 1 is the value to return. It
-   may be left null.  */
-DEFTREECODE (EXIT_BLOCK_EXPR, "exit_block_expr", tcc_statement, 2)
-
 /* Switch expression.
 
    TREE_TYPE is the original type of the condition, before any
-- 
cgit v1.1

