tree.def (LABELED_BLOCK_EXPR, [...]): New tree nodes.
authorAlexandre Petit-Bianco <apbianco@cygnus.com>
Fri, 21 Aug 1998 19:32:18 +0000 (12:32 -0700)
committerPer Bothner <bothner@gcc.gnu.org>
Fri, 21 Aug 1998 19:32:18 +0000 (12:32 -0700)

* 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

gcc/tree.def

index 2519574f9552f565b9f8cd22021533748245f6fa..c434dbbf38f0000a24469662e64a9bd7a76894ad 100644 (file)
@@ -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