This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 3/5] infrun.c:handle_inferior_event: Move process_event_stop_test goto label.


We only ever call "goto process_event_stop_test;" right after checking
that ecs->random_signal is clear.  The code at the
process_event_stop_test label looks like:

  /* For the program's own signals, act according to
     the signal handling tables.  */

  if (ecs->random_signal)
    {
     ... random signal handling ...
     return;
    }
  else
    {
     ... the stop tests that actually matter for the goto callers.
    }

So this moves the label into the else branch.  It'll make converting
process_event_stop_test into a function a bit clearer.

gdb/
2013-10-23  Pedro Alves  <palves@redhat.com>

	* infrun.c (handle_inferior_event): Move process_event_stop_test
	goto label to the else branch of the ecs->random_signal check,
	along with FRAME and GDBARCH re-fetching.
---
 gdb/infrun.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gdb/infrun.c b/gdb/infrun.c
index 0da90ec..4f22456 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -4288,13 +4288,6 @@ Cannot fill $_exitsignal with the correct signal number.\n"));
 	ecs->event_thread->suspend.stop_signal = GDB_SIGNAL_TRAP;
     }
 
-process_event_stop_test:
-
-  /* Re-fetch current thread's frame in case we did a
-     "goto process_event_stop_test" above.  */
-  frame = get_current_frame ();
-  gdbarch = get_frame_arch (frame);
-
   /* For the program's own signals, act according to
      the signal handling tables.  */
 
@@ -4417,6 +4410,13 @@ process_event_stop_test:
       CORE_ADDR jmp_buf_pc;
       struct bpstat_what what;
 
+process_event_stop_test:
+
+      /* Re-fetch current thread's frame in case we did a
+	 "goto process_event_stop_test" above.  */
+      frame = get_current_frame ();
+      gdbarch = get_frame_arch (frame);
+
       what = bpstat_what (ecs->event_thread->control.stop_bpstat);
 
       if (what.call_dummy)
-- 
1.7.11.7


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]