diff options
author | Alexandre Petit-Bianco <apbianco@cygnus.com> | 1998-08-21 12:32:16 -0700 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 1998-08-21 12:32:16 -0700 |
commit | 40edd0bd03d4fc52b7d13ccbfb7f3d8acc53fe7b (patch) | |
tree | 7da0f5863809fdd49459edd181711df94657a131 | |
parent | 8ee53a2191dc676b3cef7f59873ca82f7052b7d0 (diff) | |
download | gcc-40edd0bd03d4fc52b7d13ccbfb7f3d8acc53fe7b.zip gcc-40edd0bd03d4fc52b7d13ccbfb7f3d8acc53fe7b.tar.gz gcc-40edd0bd03d4fc52b7d13ccbfb7f3d8acc53fe7b.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: r21895
-rw-r--r-- | gcc/tree.h | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -688,6 +688,17 @@ struct tree_vec #define TREE_OPERAND(NODE, I) (EXPR_CHECK (NODE)->exp.operands[I]) #define TREE_COMPLEXITY(NODE) (EXPR_CHECK (NODE)->exp.complexity) +/* In a LABELED_BLOCK_EXPR node. */ +#define LABELED_BLOCK_LABEL(NODE) TREE_OPERAND (NODE, 0) +#define LABELED_BLOCK_BODY(NODE) TREE_OPERAND (NODE, 1) + +/* In a EXIT_BLOCK_EXPR node. */ +#define EXIT_BLOCK_LABELED_BLOCK(NODE) TREE_OPERAND (NODE, 0) +#define EXIT_BLOCK_RETURN(NODE) TREE_OPERAND (NODE, 1) + +/* In a LOOP_EXPR node. */ +#define LOOP_EXPR_BODY(NODE) TREE_OPERAND (NODE, 0) + /* In a EXPR_WITH_FILE_LOCATION node. */ #define EXPR_WFL_NODE(NODE) TREE_OPERAND((NODE), 0) #define EXPR_WFL_FILENAME(NODE) (IDENTIFIER_POINTER ((NODE)->common.chain)) |