diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/score-tdep.c | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f6260c4..3cbfc67 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2007-01-09 Jim Blandy <jimb@codesourcery.com> + + * score-tdep.c (score_push_dummy_call): Don't mix declarations and + statements. + 2007-01-09 Daniel Jacobowitz <dan@codesourcery.com> * alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Use diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c index a7bea04..300e775 100644 --- a/gdb/score-tdep.c +++ b/gdb/score-tdep.c @@ -434,14 +434,15 @@ score_push_dummy_call (struct gdbarch *gdbarch, struct value *function, { struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); - arglen = TYPE_LENGTH (arg_type); enum type_code typecode = TYPE_CODE (arg_type); const gdb_byte *val = value_contents (arg); int downward_offset = 0; + int odd_sized_struct_p; + int arg_last_part_p = 0; - int odd_sized_struct_p = (arglen > SCORE_REGSIZE + arglen = TYPE_LENGTH (arg_type); + odd_sized_struct_p = (arglen > SCORE_REGSIZE && arglen % SCORE_REGSIZE != 0); - int arg_last_part_p = 0; /* If a arg should be aligned to 8 bytes (long long or double), the value should be put to even register numbers. */ |