2008-01-31 Andreas Krebbel <krebbel1@de.ibm.com>
authorUlrich Weigand <uweigand@de.ibm.com>
Thu, 31 Jan 2008 15:43:32 +0000 (15:43 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Thu, 31 Jan 2008 15:43:32 +0000 (15:43 +0000)
* 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.

gdb/ChangeLog
gdb/s390-tdep.c

index bdfef7f..e4f36b5 100644 (file)
@@ -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>
 
index f25a371..9cb639b 100644 (file)
@@ -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.  */