diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-15 13:52:45 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-15 13:52:45 -0400 |
commit | 822e3422fb522797881e6212ffe124690cf0b04a (patch) | |
tree | 91fc4b832a2e1f198b6895ce7702b472ef9e1ec0 /gcc/calls.c | |
parent | fd84ddafb074116ba7b0b428cfd38c839c64bf1c (diff) | |
download | gcc-822e3422fb522797881e6212ffe124690cf0b04a.tar.gz |
(expand_call): Call preserve_temp_slots on temps made for BLKmode args
returned in registers.
From-SVN: r9390
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index c0912cc952c..a8b6d3e47ec 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -2037,8 +2037,11 @@ expand_call (exp, target, ignore) enum machine_mode tmpmode; if (target == 0) - target = assign_stack_temp (BLKmode, bytes, 0); - MEM_IN_STRUCT_P (target) = AGGREGATE_TYPE_P (TREE_TYPE (exp)); + { + target = assign_stack_temp (BLKmode, bytes, 0); + MEM_IN_STRUCT_P (target) = AGGREGATE_TYPE_P (TREE_TYPE (exp)); + preserve_temp_slots (target); + } /* We could probably emit more efficient code for machines which do not use strict alignment, but it doesn't seem |