aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>1998-08-21 12:32:16 -0700
committerPer Bothner <bothner@gcc.gnu.org>1998-08-21 12:32:16 -0700
commit40edd0bd03d4fc52b7d13ccbfb7f3d8acc53fe7b (patch)
tree7da0f5863809fdd49459edd181711df94657a131 /gcc
parent8ee53a2191dc676b3cef7f59873ca82f7052b7d0 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 948787a..08bda488 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -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))