diff options
author | Pedro Alves <palves@redhat.com> | 2017-10-10 16:45:51 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2017-10-10 17:01:25 +0100 |
commit | 65630365f7d073430e62b4fe65f34dcdc0a4b05e (patch) | |
tree | a719688b221a7f234a045feb5a7fcee83ed93d95 /gdb/exceptions.h | |
parent | bf4692711232eb96cd840f96d88897a2746d8190 (diff) | |
download | binutils-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.h | 42 |
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); |