aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-12-07 16:42:35 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-12-07 16:42:35 -0500
commit9e8730a444d8213d5c19a5a7723278acc725bc90 (patch)
treea3c90aa2028826350a5b34c468e81ff2a64c61f9 /gcc
parentd4b0a7a049724e029148cc11e71e4bf51a10b092 (diff)
downloadgcc-9e8730a444d8213d5c19a5a7723278acc725bc90.zip
gcc-9e8730a444d8213d5c19a5a7723278acc725bc90.tar.gz
gcc-9e8730a444d8213d5c19a5a7723278acc725bc90.tar.bz2
(preserve_momentary): New function.
From-SVN: r8623
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 24a815a..f7982ac 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -752,6 +752,15 @@ push_momentary ()
expression_obstack = &momentary_obstack;
}
+/* Set things up so the next clear_momentary will only clear memory
+ past our present position in momentary_obstack. */
+
+void
+preserve_momentary ()
+{
+ momentary_stack->base = (char *) obstack_base (&momentary_obstack);
+}
+
/* Free all the storage in the current momentary-allocation level.
In C, this happens at the end of each statement. */