+2001-11-15 Jim Blandy <jimb@redhat.com>
+
+ * s390-tdep.c (is_simple_arg): Structs and unions exactly eight
+ bytes long should be handled as DOUBLE_ARGs; don't recognize them
+ as SIMPLE_ARGs.
+
2001-11-12 Andrew Cagney <ac131313@redhat.com>
* remote.c (struct packet_reg): Declare.
enum type_code code = TYPE_CODE (type);
unsigned length = TYPE_LENGTH (type);
+ /* This is almost a direct translation of the ABI's language, except
+ that we have to exclude 8-byte structs; those are DOUBLE_ARGs. */
return ((is_integer_like (type) && length <= 4)
|| is_pointer_like (type)
- || code == TYPE_CODE_STRUCT
- || code == TYPE_CODE_UNION
+ || ((code == TYPE_CODE_STRUCT
+ || code == TYPE_CODE_UNION)
+ && length != 8)
|| (code == TYPE_CODE_FLT && length == 16));
}