ia64.c (ia64_return_in_memory): True for variable sized types.

* config/ia64/ia64.c (ia64_return_in_memory): True for variable
        sized types.

From-SVN: r45073
This commit is contained in:
Richard Henderson 2001-08-21 01:50:36 -07:00 committed by Richard Henderson
parent 08b3bb93ec
commit 487b97e056
2 changed files with 13 additions and 4 deletions

View File

@ -1,3 +1,8 @@
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.

View File

@ -3206,11 +3206,16 @@ ia64_return_in_memory (valtype)
{
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. */
@ -3224,7 +3229,6 @@ ia64_return_in_memory (valtype)
else
return 0;
}
else if (byte_size > UNITS_PER_WORD * MAX_INT_RETURN_SLOTS)
return 1;
else