diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bdfef7fe52..e4f36b5585 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2008-01-31 Andreas Krebbel + + * s390-tdep.c (is_float_singleton, is_float_like, + alignment_of, s390_return_value): Make checks for + TYPE_CODE_FLT to match TYPE_CODE_DECFLOAT as well. + 2008-01-31 Luis Machado Thiago Jung Bauermann diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index f25a371eb4..9cb639b147 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1816,6 +1816,7 @@ is_float_singleton (struct type *type) CHECK_TYPEDEF (singleton_type); return (TYPE_CODE (singleton_type) == TYPE_CODE_FLT + || TYPE_CODE (singleton_type) == TYPE_CODE_DECFLOAT || is_float_singleton (singleton_type)); } @@ -1854,6 +1855,7 @@ static int is_float_like (struct type *type) { return (TYPE_CODE (type) == TYPE_CODE_FLT + || TYPE_CODE (type) == TYPE_CODE_DECFLOAT || is_float_singleton (type)); } @@ -1930,7 +1932,8 @@ alignment_of (struct type *type) if (is_integer_like (type) || is_pointer_like (type) - || TYPE_CODE (type) == TYPE_CODE_FLT) + || TYPE_CODE (type) == TYPE_CODE_FLT + || TYPE_CODE (type) == TYPE_CODE_DECFLOAT) alignment = TYPE_LENGTH (type); else if (TYPE_CODE (type) == TYPE_CODE_STRUCT || TYPE_CODE (type) == TYPE_CODE_UNION) @@ -2185,7 +2188,8 @@ s390_return_value (struct gdbarch *gdbarch, struct type *type, switch (rvc) { case RETURN_VALUE_REGISTER_CONVENTION: - if (TYPE_CODE (type) == TYPE_CODE_FLT) + if (TYPE_CODE (type) == TYPE_CODE_FLT + || TYPE_CODE (type) == TYPE_CODE_DECFLOAT) { /* When we store a single-precision value in an FP register, it occupies the leftmost bits. */ @@ -2221,7 +2225,8 @@ s390_return_value (struct gdbarch *gdbarch, struct type *type, switch (rvc) { case RETURN_VALUE_REGISTER_CONVENTION: - if (TYPE_CODE (type) == TYPE_CODE_FLT) + if (TYPE_CODE (type) == TYPE_CODE_FLT + || TYPE_CODE (type) == TYPE_CODE_DECFLOAT) { /* When we store a single-precision value in an FP register, it occupies the leftmost bits. */