aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-03-07 17:19:20 -0800
committerJim Wilson <wilson@gcc.gnu.org>1994-03-07 17:19:20 -0800
commit3b780899f94fda8fb6520c915fe57236bf8c9800 (patch)
tree546951a2b109349cbd2db8b703316dacceecdf7c
parent813fc11c296d5d42a7866c7d4720b249d0707054 (diff)
downloadgcc-3b780899f94fda8fb6520c915fe57236bf8c9800.zip
gcc-3b780899f94fda8fb6520c915fe57236bf8c9800.tar.gz
gcc-3b780899f94fda8fb6520c915fe57236bf8c9800.tar.bz2
(expand_call): For pcc_struct_value case, set
MEM_IN_STRUCT_P correctly on target. From-SVN: r6713
-rw-r--r--gcc/calls.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index fd32beb..d9cc9f6 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -1936,6 +1936,12 @@ expand_call (exp, target, ignore)
int_size_in_bytes (TREE_TYPE (exp)),
0);
+ MEM_IN_STRUCT_P (target)
+ = (TREE_CODE (TREE_TYPE (exp)) == ARRAY_TYPE
+ || TREE_CODE (TREE_TYPE (exp)) == RECORD_TYPE
+ || TREE_CODE (TREE_TYPE (exp)) == UNION_TYPE
+ || TREE_CODE (TREE_TYPE (exp)) == QUAL_UNION_TYPE);
+
/* Save this temp slot around the pop below. */
preserve_temp_slots (target);
}