From b3636ee55ec939d470bd1af69f047d1bf1613066 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Sat, 15 Apr 1995 21:13:08 +0000 Subject: [PATCH] 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 * alpha-tdep.c (alpha_push_arguments): Only cast to long for TYPE_CODE_INT. --- gdb/ChangeLog | 11 +++++++++++ gdb/alpha-tdep.c | 15 +++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 36b347194d..750591a5dd 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 + + * 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 diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index b75155a690..10a8d53cfd 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;