* infcmd.c (finish_command_continuation): Wrap print_return_value

in TRY_CATCH.
This commit is contained in:
Tom Tromey 2010-03-18 18:02:00 +00:00
parent b115cf96d3
commit 40c549d600
2 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2010-03-18 Tom Tromey <tromey@redhat.com>
* infcmd.c (finish_command_continuation): Wrap print_return_value
in TRY_CATCH.
2010-03-18 Ulrich Weigand <uweigand@de.ibm.com>
* mi/mi-main.c (mi_cmd_list_thread_groups): Use get_current_arch

View File

@ -1439,7 +1439,19 @@ finish_command_continuation (void *arg)
_("finish_command: function has no target type"));
if (TYPE_CODE (value_type) != TYPE_CODE_VOID)
print_return_value (SYMBOL_TYPE (a->function), value_type);
{
volatile struct gdb_exception ex;
TRY_CATCH (ex, RETURN_MASK_ALL)
{
/* print_return_value can throw an exception in some
circumstances. We need to catch this so that we still
delete the breakpoint. */
print_return_value (SYMBOL_TYPE (a->function), value_type);
}
if (ex.reason < 0)
exception_print (gdb_stdout, ex);
}
}
/* We suppress normal call of normal_stop observer and do it here so