aboutsummaryrefslogtreecommitdiff
path: root/gdb/exceptions.c
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2010-05-14 18:35:11 +0000
committerMichael Snyder <msnyder@vmware.com>2010-05-14 18:35:11 +0000
commitd7f9d729727b2b85ae3228785762f4d2e6a8742f (patch)
tree9ea7ff6c431b2a80d33908b5cb436e6545ccbcff /gdb/exceptions.c
parent9a619af0d3152e742fbd290baeae96a32f0abf04 (diff)
downloadgdb-d7f9d729727b2b85ae3228785762f4d2e6a8742f.zip
gdb-d7f9d729727b2b85ae3228785762f4d2e6a8742f.tar.gz
gdb-d7f9d729727b2b85ae3228785762f4d2e6a8742f.tar.bz2
2010-05-14 Michael Snyder <msnyder@vmware.com>
* elfread.c: White space. * environ.c: White space. * eval.c: White space. * event-loop.c: White space. * event-top.c: White space. * exceptions.c: White space. * exec.c: White space. * expprint.c: White space.
Diffstat (limited to 'gdb/exceptions.c')
-rw-r--r--gdb/exceptions.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 444db50..ec9b9be 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -104,6 +104,7 @@ static void
catcher_pop (void)
{
struct catcher *old_catcher = current_catcher;
+
current_catcher = old_catcher->prev;
/* Restore the cleanup chain, the error/quit messages, and the uiout
@@ -174,6 +175,7 @@ exceptions_state_mc (enum catcher_action action)
case CATCH_ITER:
{
struct gdb_exception exception = *current_catcher->exception;
+
if (current_catcher->mask & RETURN_MASK (exception.reason))
{
/* Exit normally if this catcher can handle this
@@ -243,6 +245,7 @@ void
deprecated_throw_reason (enum return_reason reason)
{
struct gdb_exception exception;
+
memset (&exception, 0, sizeof exception);
exception.reason = reason;
@@ -299,6 +302,7 @@ print_exception (struct ui_file *file, struct gdb_exception e)
as that way the MI's behavior is preserved. */
const char *start;
const char *end;
+
for (start = e.message; start != NULL; start = end)
{
end = strchr (start, '\n');
@@ -412,6 +416,7 @@ void
throw_error (enum errors error, const char *fmt, ...)
{
va_list args;
+
va_start (args, fmt);
throw_it (RETURN_ERROR, error, fmt, args);
va_end (args);
@@ -457,6 +462,7 @@ catch_exception (struct ui_out *uiout,
return_mask mask)
{
volatile struct gdb_exception exception;
+
TRY_CATCH (exception, mask)
{
(*func) (uiout, func_args);
@@ -473,6 +479,7 @@ catch_exceptions_with_msg (struct ui_out *uiout,
{
volatile struct gdb_exception exception;
volatile int val = 0;
+
TRY_CATCH (exception, mask)
{
val = (*func) (uiout, func_args);
@@ -505,6 +512,7 @@ catch_errors (catch_errors_ftype *func, void *func_args, char *errstring,
{
volatile int val = 0;
volatile struct gdb_exception exception;
+
TRY_CATCH (exception, mask)
{
val = func (func_args);
@@ -520,6 +528,7 @@ catch_command_errors (catch_command_errors_ftype * command,
char *arg, int from_tty, return_mask mask)
{
volatile struct gdb_exception e;
+
TRY_CATCH (e, mask)
{
command (arg, from_tty);