diff options
author | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-06 05:55:07 +0000 |
---|---|---|
committer | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-02-06 05:55:07 +0000 |
commit | 39cc9599f82417be8a7b53a76aeaa649a08b1814 (patch) | |
tree | 747192e9ce04e2e116aa37e5fc0323f98c4339f1 /gcc/config/m68hc11 | |
parent | c1ab9f722fc7021de8c8850e41fe159f6366c59e (diff) | |
download | gcc-39cc9599f82417be8a7b53a76aeaa649a08b1814.tar.gz |
* config/arc/arc.c (arc_return_in_memory): Check the return
value of int_size_in_bytes against -1. Don't check
TREE_ADDRESSABLE.
* config/avr/avr.c (avr_return_in_memory): Check the return
value of int_size_in_bytes against -1.
* config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
* config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
Likewise.
* config/mcore/mcore.c (mcore_return_in_memory): Likewise.
* config/stormy16/stormy16.c (xstormy16_return_in_memory):
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77377 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68hc11')
-rw-r--r-- | gcc/config/m68hc11/m68hc11.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index c4304211512..e5bca2ed56b 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -5550,9 +5550,13 @@ m68hc11_struct_value_rtx (tree fntype ATTRIBUTE_UNUSED, static bool m68hc11_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED) { - return ((TYPE_MODE (type) == BLKmode) - ? (int_size_in_bytes (type) > 4) - : (GET_MODE_SIZE (TYPE_MODE (type)) > 4)); + if (TYPE_MODE (type) == BLKmode) + { + HOST_WIDE_INT size = int_size_in_bytes (type); + return (size == -1 || size > 4); + } + else + return GET_MODE_SIZE (TYPE_MODE (type)) > 4; } #include "gt-m68hc11.h" |