From 65630365f7d073430e62b4fe65f34dcdc0a4b05e Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 10 Oct 2017 16:45:51 +0100 Subject: Eliminate catch_exceptions/catch_exceptions_with_msg This patch gets rid of catch_exceptions / catch_exceptions_with_msg. The latter is done mostly by getting rid of the three remaining vestigial libgdb wrapper functions, which are really pointless nowadays. This results in a good number of simplifications. (I checked that Insight doesn't use those functions.) The gdb.mi/mi-pthreads.exp change is necessary because this actually fixes a bug, IMO -- the patch stops MI's -thread-select causing output on the CLI stream. I.e., before: -thread-select 123456789 &"Thread ID 123456789 not known.\n" ^error,msg="Thread ID 123456789 not known." (gdb) After: -thread-select 123456789 ^error,msg="Thread ID 123456789 not known." (gdb) gdb/ChangeLog 2017-10-10 Pedro Alves Tom Tromey * breakpoint.c (struct captured_breakpoint_query_args) (do_captured_breakpoint_query, gdb_breakpoint_query): Delete. (print_breakpoint): New. * breakpoint.h (print_breakpoint): Declare. * common/common-exceptions.h (enum return_reason): Remove references to catch_exceptions. * exceptions.c (catch_exceptions, catch_exceptions_with_msg): Delete. * exceptions.h (catch_exceptions_ftype, catch_exceptions) (catch_exception_ftype, catch_exceptions_with_msg): Delete. * gdb.h: Delete. * gdbthread.h (thread_select): Declare. * mi/mi-cmd-break.c: Don't include gdb.h. (breakpoint_notify): Use print_breakpoint. * mi/mi-cmd-catch.c: Don't include gdb.h. * mi/mi-interp.c: Don't include gdb.h. (mi_print_breakpoint_for_event): New. (mi_breakpoint_created, mi_breakpoint_modified): Use mi_print_breakpoint_for_event. * mi/mi-main.c: Don't include gdb.h. (mi_cmd_thread_select): Parse the global thread ID here. Use thread_select instead of gdb_thread_select. (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead of using gdb_list_thread_ids. * remote-fileio.c (do_remote_fileio_request): Change type. Reply FILEIO_ENOSYS here. (remote_fileio_request): Use TRY/CATCH instead of catch_exceptions. * symfile-mem.c (struct symbol_file_add_from_memory_args) (symbol_file_add_from_memory_wrapper): Delete. (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions. * thread.c: Don't include gdb.h. (do_captured_list_thread_ids, gdb_list_thread_ids): Delete. (thread_alive): Use thread_select. (do_captured_thread_select): Delete, parts salvaged as ... (thread_select): ... this new function. (gdb_thread_select): Delete. gdb/testsuite/ChangeLog 2017-10-10 Pedro Alves * gdb.mi/mi-pthreads.exp (check_mi_thread_command_set): Don't expect CLI output. --- gdb/breakpoint.c | 40 ++++------------------------------------ 1 file changed, 4 insertions(+), 36 deletions(-) (limited to 'gdb/breakpoint.c') diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 22d1df7..9997d3f 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -44,7 +44,6 @@ #include "source.h" #include "linespec.h" #include "completer.h" -#include "gdb.h" #include "ui-out.h" #include "cli/cli-script.h" #include "block.h" @@ -6599,44 +6598,13 @@ breakpoint_address_bits (struct breakpoint *b) return print_address_bits; } -struct captured_breakpoint_query_args - { - int bnum; - }; +/* See breakpoint.h. */ -static int -do_captured_breakpoint_query (struct ui_out *uiout, void *data) +void +print_breakpoint (breakpoint *b) { - struct captured_breakpoint_query_args *args - = (struct captured_breakpoint_query_args *) data; - struct breakpoint *b; struct bp_location *dummy_loc = NULL; - - ALL_BREAKPOINTS (b) - { - if (args->bnum == b->number) - { - print_one_breakpoint (b, &dummy_loc, 0); - return GDB_RC_OK; - } - } - return GDB_RC_NONE; -} - -enum gdb_rc -gdb_breakpoint_query (struct ui_out *uiout, int bnum, - char **error_message) -{ - struct captured_breakpoint_query_args args; - - args.bnum = bnum; - /* For the moment we don't trust print_one_breakpoint() to not throw - an error. */ - if (catch_exceptions_with_msg (uiout, do_captured_breakpoint_query, &args, - error_message, RETURN_MASK_ALL) < 0) - return GDB_RC_FAIL; - else - return GDB_RC_OK; + print_one_breakpoint (b, &dummy_loc, 0); } /* Return true if this breakpoint was set by the user, false if it is -- cgit v1.1