aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorMike Stump <mrs@gcc.gnu.org>1996-05-17 20:13:01 +0000
committerMike Stump <mrs@gcc.gnu.org>1996-05-17 20:13:01 +0000
commit679163cf4d5b714dde664c4124be0e0ececf86e0 (patch)
tree984e0626a1a5e2e8f7ff306f11134448208ba86c /gcc/tree.h
parent520e7ff5c74212d49b6b88b6808565300082691c (diff)
downloadgcc-679163cf4d5b714dde664c4124be0e0ececf86e0.zip
gcc-679163cf4d5b714dde664c4124be0e0ececf86e0.tar.gz
gcc-679163cf4d5b714dde664c4124be0e0ececf86e0.tar.bz2
expr.c (expand_expr, [...]): Move from the C++ frontend to the backend where it belongs.
* expr.c (expand_expr, cond UNSAVE_EXPR): Move from the C++ frontend to the backend where it belongs. * tree.c (unsave_expr): Ditto. (unsave_expr_now): Ditto. * tree.def (UNSAVE_EXPR): Ditto. * tree.h (unsave_expr): Ditto. (unsave_expr_now): Ditto. From-SVN: r12015
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index dea5d77..ab2df45 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1436,6 +1436,17 @@ extern int lvalue_or_else PROTO((tree, char *));
extern tree save_expr PROTO((tree));
+/* unsave_expr (EXP) returns an expression equivalent to EXP but it
+ can be used multiple times and will evaluate EXP, in it's entirety
+ each time. */
+
+extern tree unsave_expr PROTO((tree));
+
+/* unsave_expr_now (EXP) resets EXP in place, so that it can be
+ expanded again. */
+
+extern tree unsave_expr_now PROTO((tree));
+
/* Return 1 if EXP contains a PLACEHOLDER_EXPR; i.e., if it represents a size
or offset that depends on a field within a record.