diff options
Diffstat (limited to 'gcc/config/ip2k/ip2k.c')
| -rw-r--r-- | gcc/config/ip2k/ip2k.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/ip2k/ip2k.c b/gcc/config/ip2k/ip2k.c index 916fd10..13652e4 100644 --- a/gcc/config/ip2k/ip2k.c +++ b/gcc/config/ip2k/ip2k.c @@ -6201,7 +6201,13 @@ ip2k_unsigned_comparison_operator (rtx op, enum machine_mode mode) static bool ip2k_return_in_memory (tree type, tree fntype ATTRIBUTE_UNUSED) { - return (TYPE_MODE (type) == BLKmode) ? int_size_in_bytes (type) > 8 : 0; + if (TYPE_MODE (type) == BLKmode) + { + HOST_WIDE_INT size = int_size_in_bytes (type); + return (size == -1 || size > 8); + } + else + return false; } /* Worker function for TARGET_SETUP_INCOMING_VARARGS. */ |
