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.
+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
int numargs = 0;
#define MAXARGS 4
CORE_ADDR args[MAXARGS];
+ int level;
if (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);
}
/* NOTREACHED */
case 1:
{
- int level = args[0];
struct frame_info *fid =
find_relative_frame (get_current_frame (), &level);
struct frame_info *tfid;