diff options
author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-08-21 19:32:18 +0000 |
---|---|---|
committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-08-21 19:32:18 +0000 |
commit | d43c954b493b1f926ed55b6f2e9ae6c8db47b056 (patch) | |
tree | c12bdf0f4609c296372f1a9417a1f827c074303c /gcc/tree.def | |
parent | b50fb4a332ad909e6b274e6f57f1397fbf84a817 (diff) | |
download | gcc-d43c954b493b1f926ed55b6f2e9ae6c8db47b056.tar.gz |
�
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21896 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.def')
-rw-r--r-- | gcc/tree.def | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/tree.def b/gcc/tree.def index 2519574f955..c434dbbf38f 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 |