aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-10-10 17:10:48 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-10-10 17:10:48 -0400
commit4da73fa0bab5a9c53eae9ccf476fcd291cf696d6 (patch)
tree3a6e0cf1a900abcde59d08c21380b9c71c70c40e /gcc
parent19e7d354741bd9ed28e851099f294cab0d0454d3 (diff)
downloadgcc-4da73fa0bab5a9c53eae9ccf476fcd291cf696d6.zip
gcc-4da73fa0bab5a9c53eae9ccf476fcd291cf696d6.tar.gz
gcc-4da73fa0bab5a9c53eae9ccf476fcd291cf696d6.tar.bz2
(put_reg_into_stack): Allocate fixup structure in saveable obstack.
From-SVN: r5714
Diffstat (limited to 'gcc')
-rw-r--r--gcc/function.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 824855d..e1c6a9e 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1074,8 +1074,11 @@ put_reg_into_stack (function, reg, type, promoted_mode, decl_mode)
/* Variable is inherited; fix it up when we get back to its function. */
push_obstacks (function->function_obstack,
function->function_maybepermanent_obstack);
+
+ /* See comment in restore_tree_status in tree.c for why this needs to be
+ on saveable obstack. */
temp
- = (struct var_refs_queue *) oballoc (sizeof (struct var_refs_queue));
+ = (struct var_refs_queue *) savealloc (sizeof (struct var_refs_queue));
temp->modified = reg;
temp->promoted_mode = promoted_mode;
temp->unsignedp = TREE_UNSIGNED (type);