aboutsummaryrefslogtreecommitdiff
path: root/gdb/stack.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-06-09 17:35:59 +0000
committerAndrew Cagney <cagney@redhat.com>2003-06-09 17:35:59 +0000
commit983a287a6f078fd4b5eeff0083fd557db71883b7 (patch)
treec84dc068ec87521645cf53d59299fab764dd19db /gdb/stack.c
parent8d3b0994cd3d164c1fa5bce161ba26cb8e079ac2 (diff)
downloadgdb-983a287a6f078fd4b5eeff0083fd557db71883b7.zip
gdb-983a287a6f078fd4b5eeff0083fd557db71883b7.tar.gz
gdb-983a287a6f078fd4b5eeff0083fd557db71883b7.tar.bz2
2003-06-09 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (FRAME_NUM_ARGS): Change to function with predicate. * gdbarch.h, gdbarch.c: Re-generate. * arch-utils.h (frame_num_args_unknown): Delete both declarations. * arch-utils.c (frame_num_args_unknown): Delete function. * stack.c (print_args_stub): Use FRAME_NUM_ARGS_P. (frame_info): Use FRAME_NUM_ARGS_P. * arm-tdep.c (arm_frame_num_args): Delete function. (arm_gdbarch_init): Do not set frame_num_args. * config/pa/tm-hppa64.h (FRAME_NUM_ARGS): Delete. * hppa-tdep.c (hppa_frame_num_args): Delete function. (hppa_gdbarch_init): Do not set frame_num_args. * config/sparc/tm-sparc.h (FRAME_NUM_ARGS): Delete. * xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set frame_num_args to default frame_num_args_unknown. * v850-tdep.c (v850_gdbarch_init): Ditto. * sparc-tdep.c (sparc_gdbarch_init): Ditto. * sh-tdep.c (sh_gdbarch_init): Ditto. * s390-tdep.c (s390_gdbarch_init): Ditto. * rs6000-tdep.c (rs6000_gdbarch_init): Ditto. * mn10300-tdep.c (mn10300_gdbarch_init): Ditto. * mips-tdep.c (mips_gdbarch_init): Ditto. * mcore-tdep.c (mcore_gdbarch_init): Ditto. * m68k-tdep.c (m68k_gdbarch_init): Ditto. * m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto. * ia64-tdep.c (ia64_gdbarch_init): Ditto. * i386-tdep.c (i386_gdbarch_init): Ditto. * h8300-tdep.c (h8300_gdbarch_init): Ditto. * frv-tdep.c (frv_gdbarch_init): Ditto. * d10v-tdep.c (d10v_gdbarch_init): Ditto. * cris-tdep.c (cris_gdbarch_init): Ditto. * avr-tdep.c (avr_gdbarch_init): Ditto. * alpha-tdep.c (alpha_gdbarch_init): Ditto.
Diffstat (limited to 'gdb/stack.c')
-rw-r--r--gdb/stack.c31
1 files changed, 22 insertions, 9 deletions
diff --git a/gdb/stack.c b/gdb/stack.c
index 1f874e6..a1a786b 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -398,7 +398,13 @@ print_args_stub (void *args)
int numargs;
struct print_args_args *p = (struct print_args_args *) args;
- numargs = FRAME_NUM_ARGS (p->fi);
+ if (FRAME_NUM_ARGS_P ())
+ {
+ numargs = FRAME_NUM_ARGS (p->fi);
+ gdb_assert (numargs >= 0);
+ }
+ else
+ numargs = -1;
print_frame_args (p->func, p->fi, numargs, p->stream);
return 0;
}
@@ -982,15 +988,22 @@ frame_info (char *addr_exp, int from_tty)
print_address_numeric (arg_list, 1, gdb_stdout);
printf_filtered (",");
- numargs = FRAME_NUM_ARGS (fi);
- if (numargs < 0)
- puts_filtered (" args: ");
- else if (numargs == 0)
- puts_filtered (" no args.");
- else if (numargs == 1)
- puts_filtered (" 1 arg: ");
+ if (!FRAME_NUM_ARGS_P ())
+ {
+ numargs = -1;
+ puts_filtered (" args: ");
+ }
else
- printf_filtered (" %d args: ", numargs);
+ {
+ numargs = FRAME_NUM_ARGS (fi);
+ gdb_assert (numargs >= 0);
+ if (numargs == 0)
+ puts_filtered (" no args.");
+ else if (numargs == 1)
+ puts_filtered (" 1 arg: ");
+ else
+ printf_filtered (" %d args: ", numargs);
+ }
print_frame_args (func, fi, numargs, gdb_stdout);
puts_filtered ("\n");
}