This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 3/5] infrun.c:handle_inferior_event: Move process_event_stop_test goto label.
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Wed, 23 Oct 2013 21:06:58 +0100
- Subject: [PATCH 3/5] infrun.c:handle_inferior_event: Move process_event_stop_test goto label.
- Authentication-results: sourceware.org; auth=none
- References: <1382558820-28691-1-git-send-email-palves at redhat dot com>
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