aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2008-01-31 15:43:32 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2008-01-31 15:43:32 +0000
commita16b8bcdf9ea8a6b5d7653d0a3e9a356c91b2c6a (patch)
tree7efc19565156adf25ede201257cd7e868de49cf0
parent2d8fd90a9cfdf639d4f41ba798446893c6a217b8 (diff)
downloadgdb-a16b8bcdf9ea8a6b5d7653d0a3e9a356c91b2c6a.zip
gdb-a16b8bcdf9ea8a6b5d7653d0a3e9a356c91b2c6a.tar.gz
gdb-a16b8bcdf9ea8a6b5d7653d0a3e9a356c91b2c6a.tar.bz2
2008-01-31 Andreas Krebbel <krebbel1@de.ibm.com>
* 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.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/s390-tdep.c11
2 files changed, 14 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bdfef7f..e4f36b5 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-31 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * 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 <luisgpm@br.ibm.com>
Thiago Jung Bauermann <bauerman@br.ibm.com>
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
index f25a371..9cb639b 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. */