* stack.c (parse_frame_specification): For one argument case,

handle the situation where the argument is an integer, not an
 	address -- arguably the most common case.  This matters on
	targets where pointers and addresses are different.
This commit is contained in:
David Taylor 2001-03-08 20:45:22 +00:00
parent a50c34dcb9
commit ec9a34493d
2 changed files with 16 additions and 2 deletions

View file

@ -1,3 +1,10 @@
Thu Mar 8 15:43:40 2001 David Taylor <taylor@redhat.com>
* stack.c (parse_frame_specification): For one argument case,
handle the situation where the argument is an integer, not an
address -- arguably the most common case. This matters on
targets where pointers and addresses are different.
2001-03-08 Andrew Cagney <ac131313@redhat.com>
* TODO: Revise 5.1 list. Delete PARAMS task. Add coding standard

View file

@ -704,6 +704,7 @@ parse_frame_specification (char *frame_exp)
int numargs = 0;
#define MAXARGS 4
CORE_ADDR args[MAXARGS];
int level;
if (frame_exp)
{
@ -723,8 +724,15 @@ parse_frame_specification (char *frame_exp)
addr_string = savestring (frame_exp, p - frame_exp);
{
value_ptr vp;
tmp_cleanup = make_cleanup (xfree, addr_string);
args[numargs++] = parse_and_eval_address (addr_string);
vp = parse_and_eval (addr_string);
if (numargs == 0)
level = value_as_long (vp);
args[numargs++] = value_as_pointer (vp);
do_cleanups (tmp_cleanup);
}
@ -744,7 +752,6 @@ parse_frame_specification (char *frame_exp)
/* NOTREACHED */
case 1:
{
int level = args[0];
struct frame_info *fid =
find_relative_frame (get_current_frame (), &level);
struct frame_info *tfid;