aboutsummaryrefslogtreecommitdiff
path: root/gdb/exceptions.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/exceptions.c')
-rw-r--r--gdb/exceptions.c81
1 files changed, 0 insertions, 81 deletions
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 97a56e6..0fc2de5 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -134,87 +134,6 @@ exception_fprintf (struct ui_file *file, struct gdb_exception e,
}
}
-/* 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.
-
- See exceptions.h for further usage details. */
-
-/* MAYBE: cagney/1999-11-05: catch_errors() in conjunction with
- error() et al. could maintain a set of flags that indicate the
- current state of each of the longjmp buffers. This would give the
- longjmp code the chance to detect a longjmp botch (before it gets
- to longjmperror()). Prior to 1999-11-05 this wasn't possible as
- code also randomly used a SET_TOP_LEVEL macro that directly
- initialized the longjmp buffers. */
-
-int
-catch_exceptions (struct ui_out *uiout,
- gdb::function_view<catch_exceptions_ftype> func,
- return_mask mask)
-{
- return catch_exceptions_with_msg (uiout, func, NULL, mask);
-}
-
-int
-catch_exceptions_with_msg (struct ui_out *func_uiout,
- gdb::function_view<catch_exceptions_ftype> func,
- char **gdberrmsg,
- return_mask mask)
-{
- struct gdb_exception exception = exception_none;
- volatile int val = 0;
- struct ui_out *saved_uiout;
-
- /* Save and override the global ``struct ui_out'' builder. */
- saved_uiout = current_uiout;
- current_uiout = func_uiout;
-
- TRY
- {
- val = func (current_uiout);
- }
- CATCH (ex, RETURN_MASK_ALL)
- {
- exception = ex;
- }
- END_CATCH
-
- /* Restore the global builder. */
- current_uiout = saved_uiout;
-
- if (exception.reason < 0 && (mask & RETURN_MASK (exception.reason)) == 0)
- {
- /* The caller didn't request that the event be caught.
- Rethrow. */
- throw_exception (exception);
- }
-
- exception_print (gdb_stderr, exception);
- gdb_assert (val >= 0);
- gdb_assert (exception.reason <= 0);
- if (exception.reason < 0)
- {
- /* If caller wants a copy of the low-level error message, make
- one. This is used in the case of a silent error whereby the
- caller may optionally want to issue the message. */
- if (gdberrmsg != NULL)
- {
- if (exception.message != NULL)
- *gdberrmsg = xstrdup (exception.message);
- else
- *gdberrmsg = NULL;
- }
- return exception.reason;
- }
- return val;
-}
-
/* See exceptions.h. */
int