aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-08-05 19:23:52 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-08-05 19:23:52 -0400
commita638896014f4f99c3637d0834b14ff8916bd82d6 (patch)
tree723ebd6dd4a6518b2587d72ceb18e525df6e399b
parentd9cbc259b2a79de39051eaa62a884b5c9027b777 (diff)
downloadgcc-a638896014f4f99c3637d0834b14ff8916bd82d6.zip
gcc-a638896014f4f99c3637d0834b14ff8916bd82d6.tar.gz
gcc-a638896014f4f99c3637d0834b14ff8916bd82d6.tar.bz2
(layout_type): Put size-related nodes in same obstack as type.
From-SVN: r5079
-rw-r--r--gcc/stor-layout.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index 620c0bb..fb527a3 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -676,18 +676,11 @@ layout_type (type)
they must last past the current statement. */
old = suspend_momentary ();
- /* If we are processing a permanent type, make nodes permanent.
- If processing a temporary type, make it saveable, since the
- type node itself is. This is important if the function is inline,
- since its decls will get copied later. */
- push_obstacks_nochange ();
- if (allocation_temporary_p ())
- {
- if (TREE_PERMANENT (type))
- end_temporary_allocation ();
- else
- saveable_allocation ();
- }
+ /* Put all our nodes into the same obstack as the type. Also,
+ make expressions saveable (this is a no-op for permanent types). */
+
+ push_obstacks (TYPE_OBSTACK (type), TYPE_OBSTACK (type));
+ saveable_allocation ();
switch (TREE_CODE (type))
{