Sat Apr 15 14:05:09 1995 Jim Kingdon (kingdon@lioth.cygnus.com)
authorJim Kingdon <jkingdon@engr.sgi.com>
Sat, 15 Apr 1995 21:13:08 +0000 (21:13 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Sat, 15 Apr 1995 21:13:08 +0000 (21:13 +0000)
* alpha-tdep.c (alpha_push_arguments): Fix typo (TYPE_VALUE ->
VALUE_TYPE).  Do the cast for TYPE_CODE_BOOL, TYPE_CODE_CHAR,
TYPE_CODE_ENUM, and TYPE_CODE_RANGE as well as TYPE_CODE_INT.

Sat Apr 15 14:04:32 1995  Per Bothner  <bothner@cygnus.com>

* alpha-tdep.c (alpha_push_arguments): Only cast to long for
TYPE_CODE_INT.

gdb/ChangeLog
gdb/alpha-tdep.c

index 36b347194d5e0c60df5587a0b8bed3bb16b5ac68..750591a5dd613ab9c0fe1b04ee32e5fa5dc7d57d 100644 (file)
@@ -1,3 +1,14 @@
+Sat Apr 15 14:05:09 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * alpha-tdep.c (alpha_push_arguments): Fix typo (TYPE_VALUE ->
+       VALUE_TYPE).  Do the cast for TYPE_CODE_BOOL, TYPE_CODE_CHAR,
+       TYPE_CODE_ENUM, and TYPE_CODE_RANGE as well as TYPE_CODE_INT.
+
+Sat Apr 15 14:04:32 1995  Per Bothner  <bothner@cygnus.com>
+
+       * alpha-tdep.c (alpha_push_arguments): Only cast to long for
+       TYPE_CODE_INT.
+
 start-sanitize-gdbtk
 Sat Apr 15 13:52:24 1995  Stan Shebs  <shebs@andros.cygnus.com>
 
index b75155a690434fab8392817efd770a38053a4e67..10a8d53cfd824a33195586866a4c27b602d61b05 100644 (file)
@@ -691,8 +691,19 @@ alpha_push_arguments (nargs, args, sp, struct_return, struct_addr)
     {
       value_ptr arg = args[i];
       /* Cast argument to long if necessary as the compiler does it too.  */
-      if (TYPE_LENGTH (VALUE_TYPE (arg)) < TYPE_LENGTH (builtin_type_long))
-        arg = value_cast (builtin_type_long, arg);
+      switch (TYPE_CODE (VALUE_TYPE (arg)))
+       {
+       case TYPE_CODE_INT:
+       case TYPE_CODE_BOOL:
+       case TYPE_CODE_CHAR:
+       case TYPE_CODE_RANGE:
+       case TYPE_CODE_ENUM:
+         if (TYPE_LENGTH (VALUE_TYPE (arg)) < TYPE_LENGTH (builtin_type_long))
+           arg = value_cast (builtin_type_long, arg);
+         break;
+       default:
+         break;
+       }
       m_arg->len = TYPE_LENGTH (VALUE_TYPE (arg));
       m_arg->offset = accumulate_size;
       accumulate_size = (accumulate_size + m_arg->len + 7) & ~7;