aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1995-04-15 21:13:08 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1995-04-15 21:13:08 +0000
commitb3636ee55ec939d470bd1af69f047d1bf1613066 (patch)
treee9d49956c9009e62e9684ba1890bf1ea0d424930
parentd7c4766c8c31727516167ca02ab45eb267f052c6 (diff)
downloadgdb-b3636ee55ec939d470bd1af69f047d1bf1613066.zip
gdb-b3636ee55ec939d470bd1af69f047d1bf1613066.tar.gz
gdb-b3636ee55ec939d470bd1af69f047d1bf1613066.tar.bz2
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.
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/alpha-tdep.c15
2 files changed, 24 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 36b3471..750591a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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>
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index b75155a..10a8d53 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -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;