* config/ia64/ia64.c (ia64_return_in_memory): True for variable
sized types.
From-SVN: r45073
+2001-08-21 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_return_in_memory): True for variable
+ sized types.
+
2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
* cpphash.h (_cpp_push_next_buffer): New.
{
enum machine_mode mode;
enum machine_mode hfa_mode;
- int byte_size;
+ HOST_WIDE_INT byte_size;
mode = TYPE_MODE (valtype);
- byte_size = ((mode == BLKmode)
- ? int_size_in_bytes (valtype) : GET_MODE_SIZE (mode));
+ byte_size = GET_MODE_SIZE (mode);
+ if (mode == BLKmode)
+ {
+ byte_size = int_size_in_bytes (valtype);
+ if (byte_size < 0)
+ return 1;
+ }
/* Hfa's with up to 8 elements are returned in the FP argument registers. */
else
return 0;
}
-
else if (byte_size > UNITS_PER_WORD * MAX_INT_RETURN_SLOTS)
return 1;
else