summaryrefslogtreecommitdiffstats
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1993-04-13 10:47:33 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1993-04-13 10:47:33 +0000
commit7f8a347aada9d77203ffb0fcedd0fb032d9fde1e (patch)
tree5ad42eb845fd1c1c368c84f41be43d6d958f7941 /gcc/calls.c
parent227bf826be6dee064e8d9671fb2fa5d29a6711d9 (diff)
downloadppe42-gcc-7f8a347aada9d77203ffb0fcedd0fb032d9fde1e.tar.gz
ppe42-gcc-7f8a347aada9d77203ffb0fcedd0fb032d9fde1e.zip
Treat QUAL_UNION_TYPE like UNION_TYPE when seeing if aggregate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4118 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index b2b52b1337d..3dc52c61484 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -588,6 +588,7 @@ expand_call (exp, target, ignore)
if (warn_aggregate_return
&& (TREE_CODE (TREE_TYPE (exp)) == RECORD_TYPE
|| TREE_CODE (TREE_TYPE (exp)) == UNION_TYPE
+ || TREE_CODE (TREE_TYPE (exp)) == QUAL_UNION_TYPE
|| TREE_CODE (TREE_TYPE (exp)) == ARRAY_TYPE))
warning ("function call has aggregate value");
@@ -1798,7 +1799,8 @@ expand_call (exp, target, ignore)
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)) == UNION_TYPE
+ || TREE_CODE (TREE_TYPE (exp)) == QUAL_UNION_TYPE);
}
}
else if (pcc_struct_value)
@@ -1810,7 +1812,8 @@ expand_call (exp, target, ignore)
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)) == UNION_TYPE
+ || TREE_CODE (TREE_TYPE (exp)) == QUAL_UNION_TYPE);
}
else if (TYPE_MODE (TREE_TYPE (exp)) != BLKmode)
emit_move_insn (target, gen_rtx (MEM, TYPE_MODE (TREE_TYPE (exp)),
OpenPOWER on IntegriCloud