summaryrefslogtreecommitdiff
path: root/gdb/exceptions.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2017-10-10 16:45:51 +0100
committerPedro Alves <palves@redhat.com>2017-10-10 17:01:25 +0100
commit65630365f7d073430e62b4fe65f34dcdc0a4b05e (patch)
treea719688b221a7f234a045feb5a7fcee83ed93d95 /gdb/exceptions.h
parentbf4692711232eb96cd840f96d88897a2746d8190 (diff)
downloadbinutils-gdb-65630365f7d073430e62b4fe65f34dcdc0a4b05e.tar.gz
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 <palves@redhat.com> Tom Tromey <tom@tromey.com> * 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 <palves@redhat.com> * gdb.mi/mi-pthreads.exp (check_mi_thread_command_set): Don't expect CLI output.
Diffstat (limited to 'gdb/exceptions.h')
-rw-r--r--gdb/exceptions.h42
1 files changed, 0 insertions, 42 deletions
diff --git a/gdb/exceptions.h b/gdb/exceptions.h
index 37b8a19a3a9..703d0efccaf 100644
--- a/gdb/exceptions.h
+++ b/gdb/exceptions.h
@@ -29,48 +29,6 @@ extern void exception_fprintf (struct ui_file *file, struct gdb_exception e,
const char *prefix,
...) ATTRIBUTE_PRINTF (3, 4);
-/* Call FUNC(UIOUT, FUNC_ARGS) but wrapped within an exception
- handler. If an exception (enum return_reason) is thrown using
- throw_exception() than all cleanups installed since
- catch_exceptions() was entered are invoked, the (-ve) exception
- value is then returned by catch_exceptions. If FUNC() returns
- normally (with a positive or zero return value) then that value is
- returned by catch_exceptions(). It is an internal_error() for
- FUNC() to return a negative value.
-
- For the period of the FUNC() call: UIOUT is installed as the output
- builder; ERRSTRING is installed as the error/quit message; and a
- new cleanup_chain is established. The old values are restored
- before catch_exceptions() returns.
-
- The variant catch_exceptions_with_msg() is the same as
- catch_exceptions() but adds the ability to return an allocated
- copy of the gdb error message. This is used when a silent error is
- issued and the caller wants to manually issue the error message.
-
- MASK specifies what to catch; it is normally set to RETURN_MASK_ALL
- if the code which calls catch_exceptions is not set up to deal with
- a quit which isn't caught. But if the code can deal with it, it
- generally should be RETURN_MASK_ERROR, unless for some reason it is
- more useful to abort only the portion of the operation inside the
- catch_exceptions. Note that quit should return to the command line
- fairly quickly, even if some further processing is being done.
-
- FIXME; cagney/2001-08-13: The need to override the global UIOUT
- builder variable should just go away. */
-
-struct ui_out;
-typedef int (catch_exceptions_ftype) (struct ui_out *ui_out, void *args);
-extern int catch_exceptions (struct ui_out *uiout,
- catch_exceptions_ftype *func, void *func_args,
- return_mask mask);
-typedef void (catch_exception_ftype) (struct ui_out *ui_out, void *args);
-extern int catch_exceptions_with_msg (struct ui_out *uiout,
- catch_exceptions_ftype *func,
- void *func_args,
- char **gdberrmsg,
- return_mask mask);
-
/* Compare two exception objects for print equality. */
extern int exception_print_same (struct gdb_exception e1,
struct gdb_exception e2);