2000-12-11 Fernando Nasser <fnasser@redhat.com>
[deliverable/binutils-gdb.git] / gdb / stack.c
index 3e81f628e44f29d816837127f55c1638a840fc43..e0f38e27cf9d6399710a05a066a73a54292bdb67 100644 (file)
@@ -1038,7 +1038,7 @@ static int backtrace_limit;
 static void
 set_backtrace_limit_command (char *count_exp, int from_tty)
 {
-  int count = parse_and_eval_address (count_exp);
+  int count = parse_and_eval_long (count_exp);
 
   if (count < 0)
     error ("Negative argument not meaningful as backtrace limit.");
@@ -1086,7 +1086,7 @@ backtrace_command_1 (char *count_exp, int show_locals, int from_tty)
   trailing_level = 0;
   if (count_exp)
     {
-      count = parse_and_eval_address (count_exp);
+      count = parse_and_eval_long (count_exp);
       if (count < 0)
        {
          struct frame_info *current;
@@ -1740,7 +1740,7 @@ up_silently_base (char *count_exp)
   register struct frame_info *fi;
   int count = 1, count1;
   if (count_exp)
-    count = parse_and_eval_address (count_exp);
+    count = parse_and_eval_long (count_exp);
   count1 = count;
 
   if (target_has_stack == 0 || selected_frame == 0)
@@ -1777,7 +1777,7 @@ down_silently_base (char *count_exp)
   register struct frame_info *frame;
   int count = -1, count1;
   if (count_exp)
-    count = -parse_and_eval_address (count_exp);
+    count = -parse_and_eval_long (count_exp);
   count1 = count;
 
   if (target_has_stack == 0 || selected_frame == 0)
@@ -1892,6 +1892,12 @@ return_command (char *retval_exp, int from_tty)
   if (retval_exp)
     set_return_value (return_value);
 
+  /* If we are at the end of a call dummy now, pop the dummy frame too.  */
+
+  if (CALL_DUMMY_HAS_COMPLETED (read_pc(), read_sp (),
+                               FRAME_FP (get_current_frame ())))
+    POP_FRAME;
+
   /* If interactive, print the frame that is now current.  */
 
   if (from_tty)
This page took 0.024256 seconds and 4 git commands to generate.