diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-10-10 17:10:48 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-10-10 17:10:48 -0400 |
commit | 4da73fa0bab5a9c53eae9ccf476fcd291cf696d6 (patch) | |
tree | 3a6e0cf1a900abcde59d08c21380b9c71c70c40e /gcc | |
parent | 19e7d354741bd9ed28e851099f294cab0d0454d3 (diff) | |
download | gcc-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.c | 5 |
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); |