aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.def
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>1998-08-21 12:32:18 -0700
committerPer Bothner <bothner@gcc.gnu.org>1998-08-21 12:32:18 -0700
commit0044c65c7804dd29b4779883dfcda536d847eb3b (patch)
treec12bdf0f4609c296372f1a9417a1f827c074303c /gcc/tree.def
parent40edd0bd03d4fc52b7d13ccbfb7f3d8acc53fe7b (diff)
downloadgcc-0044c65c7804dd29b4779883dfcda536d847eb3b.zip
gcc-0044c65c7804dd29b4779883dfcda536d847eb3b.tar.gz
gcc-0044c65c7804dd29b4779883dfcda536d847eb3b.tar.bz2
tree.def (LABELED_BLOCK_EXPR, [...]): New tree nodes.
� * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes. * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New macros. * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and EXIT_BLOCK_EXPR. From-SVN: r21896
Diffstat (limited to 'gcc/tree.def')
-rw-r--r--gcc/tree.def10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/tree.def b/gcc/tree.def
index 2519574..c434dbb 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -742,6 +742,16 @@ DEFTREECODE (EXIT_EXPR, "exit_expr", 's', 1)
The type should be void and the value should be ignored. */
DEFTREECODE (LOOP_EXPR, "loop_expr", 's', 1)
+/* 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", 'e', 2)
+
+/* 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", 'e', 2)
+
/* Annotates a tree node (usually an expression) with source location
information: a file name (EXPR_WFL_FILENAME); a line number
(EXPR_WFL_LINENO); and column number (EXPR_WFL_COLNO). It is