aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-11-05 14:22:12 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-11-05 14:22:12 -0500
commitdb907e7b328c592615f5d553467938d120bba9c6 (patch)
tree4c8b940149e1471e6ec3a850575576dca983b02e
parentdde866c662315500447d20c880547b30a2f961b9 (diff)
downloadgcc-db907e7b328c592615f5d553467938d120bba9c6.zip
gcc-db907e7b328c592615f5d553467938d120bba9c6.tar.gz
gcc-db907e7b328c592615f5d553467938d120bba9c6.tar.bz2
(store_one_arg): Preserve any temp slots whose address may have been
taken. From-SVN: r8394
-rw-r--r--gcc/calls.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 2002322..2d58770 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -3065,7 +3065,10 @@ store_one_arg (arg, argblock, may_be_alloca, variable_size, fndecl,
but PCC has one, so this will avoid some problems. */
emit_queue ();
- /* Free any temporary slots made in processing this argument. */
+ /* Free any temporary slots made in processing this argument. Show
+ that we might have taken the address of something and pushed that
+ as an operand. */
+ preserve_temp_slots (NULL_RTX);
free_temp_slots ();
pop_temp_slots ();