diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2004-02-06 05:55:07 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-02-06 05:55:07 +0000 |
commit | 78bc94a2a8a20a2c3443d42b04cd4d8486f2ed41 (patch) | |
tree | 747192e9ce04e2e116aa37e5fc0323f98c4339f1 /gcc/config/arc | |
parent | d8c2bed3d823707b2b725344b272ae02011b89ed (diff) | |
download | gcc-78bc94a2a8a20a2c3443d42b04cd4d8486f2ed41.zip gcc-78bc94a2a8a20a2c3443d42b04cd4d8486f2ed41.tar.gz gcc-78bc94a2a8a20a2c3443d42b04cd4d8486f2ed41.tar.bz2 |
arc.c (arc_return_in_memory): Check the return value of int_size_in_bytes against -1.
* 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.
From-SVN: r77377
Diffstat (limited to 'gcc/config/arc')
-rw-r--r-- | gcc/config/arc/arc.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index c838f32..f0c1bf2 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -2396,7 +2396,11 @@ arc_external_libcall (rtx fun ATTRIBUTE_UNUSED) static bool arc_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED) { - return (AGGREGATE_TYPE_P (type) - || int_size_in_bytes (type) > 8 - || TREE_ADDRESSABLE (type)); + if (AGGREGATE_TYPE_P (type)) + return true; + else + { + HOST_WIDE_INT size = int_size_in_bytes (type); + return (size == -1 || size > 8); + } } |