* infrun.c (wait_for_inferior): Allow user to single step within
authorStu Grossman <grossman@cygnus>
Thu, 16 Sep 1993 20:18:26 +0000 (20:18 +0000)
committerStu Grossman <grossman@cygnus>
Thu, 16 Sep 1993 20:18:26 +0000 (20:18 +0000)
a stack dummy.

gdb/ChangeLog
gdb/infrun.c

index 8d227c682162e7fdb9c63213755b4b55d5879c2b..c0e0d693f60fb4261d27fddbfbfdf7816a02173f 100644 (file)
@@ -1,3 +1,8 @@
+Thu Sep 16 13:16:22 1993  Stu Grossman  (grossman at cygnus.com)
+
+       * infrun.c (wait_for_inferior):  Allow user to single step within
+       a stack dummy.
+
 Thu Sep 16 12:34:01 1993  Jim Kingdon  (kingdon@cirdan.cygnus.com)
 
        * dbxread.c (copy_pending): Deal with END NULL.
index 020ef5b47d0167f2a30fd11f34e8803a1891f6ba..a9d8a64cd472ccb280efded82ac6ee49823c7042 100644 (file)
@@ -888,16 +888,19 @@ wait_for_inferior ()
         do not stop.  */
 
       /* If this is the breakpoint at the end of a stack dummy,
-        just stop silently.  */
-      if (PC_IN_CALL_DUMMY (stop_pc, stop_sp, stop_frame_address))
-         {
-           stop_print_frame = 0;
-           stop_stack_dummy = 1;
+        just stop silently, unless the user was doing an si/ni, in which
+        case she'd better know what she's doing.  */
+
+      if (PC_IN_CALL_DUMMY (stop_pc, stop_sp, stop_frame_address)
+         && !step_range_end)
+       {
+         stop_print_frame = 0;
+         stop_stack_dummy = 1;
 #ifdef HP_OS_BUG
-           trap_expected_after_continue = 1;
+         trap_expected_after_continue = 1;
 #endif
-           break;
-         }
+         break;
+       }
       
       if (step_resume_breakpoint)
        /* Having a step-resume breakpoint overrides anything