@@ -1767,11 +1767,10 @@ aarch64_linux_report_signal_info (struct gdbarch *gdbarch,
fault_addr
= parse_and_eval_long ("$_siginfo._sifields._sigfault.si_addr");
}
- catch (const gdb_exception_error &exception)
- {
+ CATCH_ERROR (exception, {
exception_print (gdb_stderr, exception);
return;
- }
+ })
/* If this is not a memory tag violation, just return. */
if (si_code != SEGV_MTEAERR && si_code != SEGV_MTESERR)
@@ -1031,11 +1031,10 @@ aarch64_make_prologue_cache (frame_info_ptr this_frame, void **this_cache)
{
aarch64_make_prologue_cache_1 (this_frame, cache);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
return cache;
}
@@ -1168,11 +1167,10 @@ aarch64_make_stub_cache (frame_info_ptr this_frame, void **this_cache)
cache->prev_pc = get_frame_pc (this_frame);
cache->available_p = 1;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
return cache;
}
@@ -6482,10 +6482,9 @@ ada_tag_value_at_base_address (struct value *obj)
offset_to_top = value_as_long (value_ind (value_ptradd (val, -2)));
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
return obj;
- }
+ })
/* If offset is null, nothing to do. */
@@ -6650,9 +6649,7 @@ ada_tag_name (struct value *tag)
if (tsd != NULL)
name = ada_tag_name_from_tsd (tsd);
}
- catch (const gdb_exception_error &e)
- {
- }
+ CATCH_ERROR (e, {})
return name;
}
@@ -8622,8 +8619,7 @@ ada_to_fixed_type_1 (struct type *type, const gdb_byte *valaddr,
{
xvz_found = get_int_var_value (xvz_name, size);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
/* We found the variable, but somehow failed to read
its value. Rethrow the same error, but with a little
bit more information, to help the user understand
@@ -8632,7 +8628,7 @@ ada_to_fixed_type_1 (struct type *type, const gdb_byte *valaddr,
throw_error (except.error,
_("unable to read value of %s (%s)"),
xvz_name, except.what ());
- }
+ })
if (xvz_found && fixed_record_type->length () != size)
{
@@ -12065,10 +12061,9 @@ ada_exception_message (void)
{
e_msg = ada_exception_message_1 ();
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
e_msg.reset (nullptr);
- }
+ })
return e_msg;
}
@@ -12088,11 +12083,10 @@ ada_exception_name_addr (enum ada_exception_catchpoint_kind ex)
result = ada_exception_name_addr_1 (ex);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
warning (_("failed to get exception name: %s"), e.what ());
return 0;
- }
+ })
return result;
}
@@ -12230,12 +12224,11 @@ create_excep_cond_exprs (struct ada_catchpoint *c,
block_for_pc (bl->address),
0);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
warning (_("failed to reevaluate internal exception condition "
"for catchpoint %d: %s"),
c->number, e.what ());
- }
+ })
}
ada_loc->excep_cond_expr = std::move (exp);
@@ -12296,10 +12289,9 @@ should_stop_exception (const struct bp_location *bl)
struct value *exc = parse_and_eval (expr);
set_internalvar (var, exc);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
clear_internalvar (var);
- }
+ })
}
/* With no specific exception, should always stop. */
@@ -12319,11 +12311,10 @@ should_stop_exception (const struct bp_location *bl)
scoped_value_mark mark;
stop = value_true (evaluate_expression (ada_loc->excep_cond_expr.get ()));
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_fprintf (gdb_stderr, ex,
_("Error in testing exception condition:\n"));
- }
+ })
return stop;
}
@@ -159,8 +159,7 @@ print_range (struct type *type, struct ui_file *stream,
lo = ada_discrete_type_low_bound (type);
hi = ada_discrete_type_high_bound (type);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* This can happen when the range is dynamic. Sometimes,
resolving dynamic property values requires us to have
access to an actual object, which is not available
@@ -168,7 +167,7 @@ print_range (struct type *type, struct ui_file *stream,
Print the range as an unbounded range. */
gdb_printf (stream, "<>");
got_error = 1;
- }
+ })
if (!got_error)
{
@@ -2643,11 +2643,10 @@ amd64_frame_cache (frame_info_ptr this_frame, void **this_cache)
{
amd64_frame_cache_1 (this_frame, cache);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
return cache;
}
@@ -2771,11 +2770,10 @@ amd64_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache)
cache->base_p = 1;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
*this_cache = cache;
return cache;
@@ -2953,11 +2951,10 @@ amd64_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache)
cache->base_p = 1;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
return cache;
}
@@ -1044,8 +1044,7 @@ gdbarch_skip_prologue_noexcept (gdbarch *gdbarch, CORE_ADDR pc) noexcept
{
new_pc = gdbarch_skip_prologue (gdbarch, pc);
}
- catch (const gdb_exception &ex)
- {}
+ CATCH_ERROR_QUIT (ex, {})
return new_pc;
}
@@ -192,10 +192,9 @@ exception_catchpoint::check_status (struct bpstat *bs)
? canon.get ()
: type_name.c_str ());
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
exception_print (gdb_stderr, e);
- }
+ })
if (name != nullptr)
{
@@ -219,8 +218,7 @@ exception_catchpoint::re_set ()
= new_probe_location_spec (exception_functions[kind].probe);
sals = parse_probes (locspec.get (), filter_pspace, NULL);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* Using the probe interface failed. Let's fallback to the normal
catchpoint mode. */
try
@@ -230,14 +228,13 @@ exception_catchpoint::re_set ()
(exception_functions[kind].function));
sals = this->decode_location_spec (locspec.get (), filter_pspace);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* NOT_FOUND_ERROR just means the breakpoint will be
pending, so let it through. */
if (ex.error != NOT_FOUND_ERROR)
throw;
- }
- }
+ })
+ })
update_breakpoint_locations (this, filter_pspace, sals, {});
}
@@ -965,8 +965,7 @@ set_breakpoint_location_condition (const char *cond_string, bp_location *loc,
loc->disabled_by_cond = false;
}
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
if (loc->enabled)
{
/* Warn if a user-enabled location is now becoming disabled-by-cond.
@@ -982,7 +981,7 @@ set_breakpoint_location_condition (const char *cond_string, bp_location *loc,
}
loc->disabled_by_cond = true;
- }
+ })
if (has_junk)
error (_("Garbage '%s' follows condition"), cond_string);
@@ -1054,14 +1053,13 @@ set_breakpoint_condition (struct breakpoint *b, const char *exp,
error (_("Junk at end of expression"));
break;
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* Condition string is invalid. If this happens to
be the last loc, abandon (if not forced) or continue
(if forced). */
if (loc->next == nullptr && !force)
throw;
- }
+ })
}
/* If we reach here, the condition is valid at some locations. */
@@ -2328,12 +2326,11 @@ parse_cond_to_aexpr (CORE_ADDR scope, struct expression *cond)
aexpr = gen_eval_for_expr (scope, cond);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* If we got here, it means the condition could not be parsed to a valid
bytecode expression and thus can't be evaluated on the target's side.
It's no use iterating through the conditions. */
- }
+ })
/* We have a valid agent expression. */
return aexpr;
@@ -2507,12 +2504,11 @@ parse_cmd_to_aexpr (CORE_ADDR scope, char *cmd)
format_start, format_end - format_start,
argvec.size (), argvec.data ());
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* If we got here, it means the command could not be parsed to a valid
bytecode expression and thus can't be evaluated on the target's side.
It's no use iterating through the other commands. */
- }
+ })
/* We have a valid agent expression, return it. */
return aexpr;
@@ -5170,8 +5166,7 @@ bpstat_check_watchpoint (bpstat *bs)
{
e = watchpoint_check (bs);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_fprintf (gdb_stderr, ex,
"Error evaluating expression "
"for watchpoint %d\n",
@@ -5184,7 +5179,7 @@ bpstat_check_watchpoint (bpstat *bs)
}
watchpoint_del_at_next_stop (b);
e = WP_DELETED;
- }
+ })
switch (e)
{
@@ -5414,11 +5409,10 @@ bpstat_check_breakpoint_conditions (bpstat *bs, thread_info *thread)
{
condition_result = breakpoint_cond_eval (cond);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_fprintf (gdb_stderr, ex,
"Error in testing breakpoint condition:\n");
- }
+ })
}
else
{
@@ -8734,13 +8728,12 @@ find_condition_and_thread_for_sals (const std::vector<symtab_and_line> &sals,
*rest = std::move (remaining);
break;
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
num_failures++;
/* If no sal remains, do not continue. */
if (num_failures == sals.size ())
throw;
- }
+ })
}
}
@@ -8843,8 +8836,7 @@ create_breakpoint (struct gdbarch *gdbarch,
{
ops->create_sals_from_location_spec (locspec, &canonical);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* If caller is interested in rc value from parse, set
value. */
if (e.error == NOT_FOUND_ERROR)
@@ -8872,7 +8864,7 @@ create_breakpoint (struct gdbarch *gdbarch,
}
else
throw;
- }
+ })
if (!pending && canonical.lsals.empty ())
return 0;
@@ -11339,9 +11331,7 @@ update_global_location_list_nothrow (enum ugll_insert_mode insert_mode)
{
update_global_location_list (insert_mode);
}
- catch (const gdb_exception_error &e)
- {
- }
+ CATCH_ERROR (e, {})
}
/* Clear BKP from a BPS. */
@@ -12580,10 +12570,9 @@ update_breakpoint_locations (code_breakpoint *b,
block_for_pc (sal.pc),
0);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
new_loc->disabled_by_cond = true;
- }
+ })
}
if (!sals_end.empty ())
@@ -12818,12 +12807,11 @@ breakpoint_re_set (void)
{
breakpoint_re_set_one (b);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_fprintf (gdb_stderr, ex,
"Error in re-setting breakpoint %d: ",
b->number);
- }
+ })
}
jit_breakpoint_re_set ();
@@ -13345,13 +13333,12 @@ enable_breakpoint_disp (struct breakpoint *bpt, enum bpdisp disposition,
bpt->enable_state = bp_enabled;
update_watchpoint (w, true /* reparse */);
}
- catch (const gdb_exception &e)
- {
+ CATCH_ERROR_QUIT (e, {
bpt->enable_state = orig_enable_state;
exception_fprintf (gdb_stderr, e, _("Cannot enable watchpoint %d: "),
bpt->number);
return;
- }
+ })
}
bpt->enable_state = bp_enabled;
@@ -688,9 +688,7 @@ ftrace_classify_insn (struct gdbarch *gdbarch, CORE_ADDR pc)
else if (gdbarch_insn_is_jump (gdbarch, pc))
iclass = BTRACE_INSN_JUMP;
}
- catch (const gdb_exception_error &error)
- {
- }
+ CATCH_ERROR (error, {})
return iclass;
}
@@ -1112,9 +1110,7 @@ btrace_compute_ftrace_bts (struct thread_info *tp,
{
size = gdb_insn_length (gdbarch, pc);
}
- catch (const gdb_exception_error &error)
- {
- }
+ CATCH_ERROR (error, {})
insn.pc = pc;
insn.size = size;
@@ -1383,10 +1379,9 @@ btrace_pt_readmem_callback (gdb_byte *buffer, size_t size,
if (errcode != 0)
result = -pte_nomap;
}
- catch (const gdb_exception_error &error)
- {
+ CATCH_ERROR (error, {
result = -pte_nomap;
- }
+ })
return result;
}
@@ -1491,8 +1486,7 @@ btrace_compute_ftrace_pt (struct thread_info *tp,
ftrace_add_pt (btinfo, decoder, &level, gaps);
}
- catch (const gdb_exception &error)
- {
+ CATCH_ERROR_QUIT (error, {
/* Indicate a gap in the trace if we quit trace processing. */
if (error.reason == RETURN_QUIT && !btinfo->functions.empty ())
ftrace_new_gap (btinfo, BDE_PT_USER_QUIT, gaps);
@@ -1500,7 +1494,7 @@ btrace_compute_ftrace_pt (struct thread_info *tp,
btrace_finalize_ftrace_pt (decoder, tp, level);
throw;
- }
+ })
btrace_finalize_ftrace_pt (decoder, tp, level);
}
@@ -1571,12 +1565,11 @@ btrace_compute_ftrace (struct thread_info *tp, struct btrace_data *btrace,
{
btrace_compute_ftrace_1 (tp, btrace, cpu, gaps);
}
- catch (const gdb_exception &error)
- {
+ CATCH_ERROR_QUIT (error, {
btrace_finalize_ftrace (tp, gaps);
throw;
- }
+ })
btrace_finalize_ftrace (tp, gaps);
}
@@ -1640,12 +1633,11 @@ btrace_enable (struct thread_info *tp, const struct btrace_config *conf)
&& can_access_registers_thread (tp))
btrace_add_pc (tp);
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
btrace_disable (tp);
throw;
- }
+ })
}
/* See btrace.h. */
@@ -3071,13 +3063,12 @@ btrace_maint_update_pt_packets (struct btrace_thread_info *btinfo)
{
btrace_maint_decode_pt (&btinfo->maint, decoder);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
pt_pkt_free_decoder (decoder);
if (except.reason < 0)
throw;
- }
+ })
pt_pkt_free_decoder (decoder);
}
@@ -97,10 +97,9 @@ adjust_value_for_child_access (struct value **value,
*value = value_ind (*value);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
*value = NULL;
- }
+ })
}
*type = target_type;
if (was_ptr)
@@ -259,10 +258,9 @@ value_struct_element_index (struct value *value, int type_index)
else
result = value_primitive_field (value, 0, type_index, type);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
return NULL;
- }
+ })
return result;
}
@@ -318,9 +316,7 @@ c_describe_child (const struct varobj *parent, int index,
{
*cvalue = value_subscript (value, real_index);
}
- catch (const gdb_exception_error &except)
- {
- }
+ CATCH_ERROR (except, {})
}
if (ctype)
@@ -393,10 +389,9 @@ c_describe_child (const struct varobj *parent, int index,
*cvalue = value_ind (value);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
*cvalue = NULL;
- }
+ })
}
/* Don't use get_target_type because it calls
@@ -263,8 +263,7 @@ with_command_1 (const char *set_cmd_prefix,
/* Execute the nested command. */
execute_command (nested_cmd, from_tty);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* Restore the setting and rethrow. If restoring the setting
throws, swallow the new exception and warn. There's nothing
else we can reasonably do. */
@@ -272,13 +271,12 @@ with_command_1 (const char *set_cmd_prefix,
{
do_set_command (org_value.c_str (), from_tty, set_cmd);
}
- catch (const gdb_exception &ex2)
- {
+ CATCH_ERROR_QUIT (ex2, {
warning (_("Couldn't restore setting: %s"), ex2.what ());
- }
+ })
throw;
- }
+ })
/* Restore the setting. */
do_set_command (org_value.c_str (), from_tty, set_cmd);
@@ -1635,15 +1635,14 @@ script_from_file (FILE *stream, const char *file)
{
read_command_file (stream);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* Re-throw the error, but with the file name information
prepended. */
throw_error (e.error,
_("%s:%d: Error in sourced command file:\n%s"),
source_file_name.c_str (), source_line_number,
e.what ());
- }
+ })
}
/* Print the definition of user command C to STREAM. Or, if C is a
@@ -367,10 +367,9 @@ gcc_convert_symbol (void *datum,
}
}
- catch (const gdb_exception &e)
- {
+ CATCH_ERROR_QUIT (e, {
context->plugin ().error (e.what ());
- }
+ })
if (compile_debug && !found)
gdb_printf (gdb_stdlog,
@@ -429,10 +428,9 @@ gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context,
}
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
context->plugin ().error (e.what ());
- }
+ })
if (compile_debug && !found)
gdb_printf (gdb_stdlog,
@@ -598,10 +596,9 @@ generate_c_for_for_one_variable (compile_instance *compiler,
}
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
compiler->insert_symbol_error (sym, e.what ());
- }
+ })
}
/* See compile-c.h. */
@@ -388,12 +388,11 @@ gcc_cplus_convert_symbol (void *datum,
}
}
}
- catch (const gdb_exception &e)
- {
+ CATCH_ERROR_QUIT (e, {
/* We can't allow exceptions to escape out of this callback. Safest
is to simply emit a gcc error. */
instance->plugin ().error (e.what ());
- }
+ })
if (compile_debug && !found)
gdb_printf (gdb_stdlog,
@@ -466,10 +465,9 @@ gcc_cplus_symbol_address (void *datum, struct gcc_cp_context *gcc_context,
}
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
instance->plugin ().error (e.what ());
- }
+ })
if (compile_debug && !found)
gdb_printf (gdb_stdlog,
@@ -54,11 +54,10 @@ munmap_list::~munmap_list ()
{
gdbarch_infcall_munmap (target_gdbarch (), item.addr, item.size);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* There's not much the user can do, so just ignore
this. */
- }
+ })
}
}
@@ -165,8 +165,7 @@ compile_object_run (compile_module_up &&module)
call_function_by_hand_dummy (func_val, NULL, args,
do_module_cleanup, data);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* In the case of DTOR_FOUND or in the case of EXECUTED nothing
needs to be done. */
dtor_found = find_dummy_frame_dtor (do_module_cleanup, data);
@@ -176,7 +175,7 @@ compile_object_run (compile_module_up &&module)
if (!dtor_found && !executed)
do_module_cleanup (data, 0);
throw;
- }
+ })
dtor_found = find_dummy_frame_dtor (do_module_cleanup, data);
gdb_assert (!dtor_found && executed);
@@ -1070,10 +1070,9 @@ complete_expression (completion_tracker &tracker,
{
exp = parse_expression_for_completion (text, &expr_completer);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
return;
- }
+ })
/* Part of the parse_expression_for_completion contract. */
gdb_assert ((exp == nullptr) == (expr_completer == nullptr));
@@ -1456,11 +1455,10 @@ complete_line_internal (completion_tracker &tracker,
{
complete_line_internal_1 (tracker, text, line_buffer, point, reason);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (except.error != MAX_COMPLETIONS_REACHED_ERROR)
throw;
- }
+ })
}
/* See completer.h. */
@@ -1697,10 +1695,9 @@ complete (const char *line, char const **word, int *quote_char)
tracker = &tracker_handle_completions;
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
return {};
- }
+ })
return tracker->build_completion_result (*word, *word - line, strlen (line));
}
@@ -1944,12 +1941,11 @@ gdb_completion_word_break_characters ()
{
return gdb_completion_word_break_characters_throw ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* Set this to that gdb_rl_attempted_completion_function knows
to abort early. */
current_completion.aborted = true;
- }
+ })
return NULL;
}
@@ -2346,9 +2342,7 @@ gdb_rl_attempted_completion_function (const char *text, int start, int end)
{
return gdb_rl_attempted_completion_function_throw (text, start, end);
}
- catch (const gdb_exception &ex)
- {
- }
+ CATCH_ERROR_QUIT (ex, {})
return NULL;
}
@@ -581,10 +581,9 @@ core_target_open (const char *arg, int from_tty)
target_update_thread_list ();
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
exception_print (gdb_stderr, except);
- }
+ })
p = bfd_core_file_failing_command (core_bfd);
if (p)
@@ -638,10 +637,9 @@ core_target_open (const char *arg, int from_tty)
{
thread_command (NULL, from_tty);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
exception_print (gdb_stderr, except);
- }
+ })
}
}
@@ -79,15 +79,14 @@ baseclass_offset (struct type *type, int index, const gdb_byte *valaddr,
embedded_offset,
address, val);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
throw_error (NOT_AVAILABLE_ERROR,
_("Cannot determine virtual baseclass offset "
"of incomplete object"));
- }
+ })
return res;
}
@@ -116,10 +115,9 @@ value_rtti_type (struct value *v, int *full,
{
ret = (*current_cp_abi.rtti_type) (v, full, top, using_enc);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
return NULL;
- }
+ })
return ret;
}
@@ -151,10 +151,9 @@ inspect_type (struct demangle_parse_info *info,
{
sym = lookup_symbol (name, 0, VAR_DOMAIN, 0).symbol;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
return 0;
- }
+ })
if (sym != NULL)
{
@@ -241,10 +240,9 @@ inspect_type (struct demangle_parse_info *info,
}
/* If type_print threw an exception, there is little point
in continuing, so just bow out gracefully. */
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
return 0;
- }
+ })
len = buf.size ();
name = obstack_strdup (&info->obstack, buf.string ());
@@ -505,9 +503,7 @@ replace_typedefs (struct demangle_parse_info *info,
sym = lookup_symbol (local_name.get (), 0,
VAR_DOMAIN, 0).symbol;
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
if (sym != NULL)
{
@@ -305,12 +305,11 @@ cp_print_value_fields (struct value *val, struct ui_file *stream,
v, stream, recurse + 1,
opts);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
fprintf_styled (stream, metadata_style.style (),
_("<error reading variable: %s>"),
ex.what ());
- }
+ })
}
else if (i == vptr_fieldno && type == vptr_basetype)
{
@@ -435,13 +434,12 @@ cp_print_value (struct value *val, struct ui_file *stream,
value_embedded_offset (val),
address, val);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == NOT_AVAILABLE_ERROR)
skip = -1;
else
skip = 1;
- }
+ })
if (skip == 0)
{
@@ -1668,13 +1668,12 @@ darwin_attach_pid (struct inferior *inf)
darwin_setup_exceptions (inf);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exit_inferior (inf);
switch_to_no_thread ();
throw;
- }
+ })
target_ops *darwin_ops = get_native_target ();
if (!inf->target_is_pushed (darwin_ops))
@@ -1932,8 +1931,7 @@ The error was: %s"),
{
copy_shell_to_cache (shell, new_name);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
warning (_("This version of macOS has System Integrity Protection.\n\
Because `startup-with-shell' is enabled, gdb tried to work around SIP by\n\
caching a copy of your shell. However, this failed:\n\
@@ -1943,7 +1941,7 @@ you \"run\". To prevent these attempts, you can use:\n\
set startup-with-shell off"),
ex.what ());
return false;
- }
+ })
gdb_printf (_("Note: this version of macOS has System Integrity Protection.\n\
Because `startup-with-shell' is enabled, gdb has worked around this by\n\
@@ -320,11 +320,10 @@ memory_error_test (struct gdbarch *gdbarch)
{
di.print_insn (0);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == MEMORY_ERROR)
saw_memory_error = true;
- }
+ })
/* Expect MEMORY_ERROR. */
SELF_CHECK (saw_memory_error);
@@ -489,9 +489,7 @@ dtrace_process_dof_probe (struct objfile *objfile,
expr = parse_expression_with_language (type_str.c_str (),
language_c);
}
- catch (const gdb_exception_error &ex)
- {
- }
+ CATCH_ERROR (ex, {})
if (expr != NULL && expr->first_opcode () == OP_TYPE)
type = value_type (evaluate_type (expr.get ()));
@@ -402,8 +402,7 @@ dwarf2_tailcall_sniffer_first (frame_info_ptr this_frame,
}
}
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (entry_values_debug)
exception_print (gdb_stdout, except);
@@ -422,7 +421,7 @@ dwarf2_tailcall_sniffer_first (frame_info_ptr this_frame,
/* Let unexpected errors propagate. */
throw;
- }
+ })
/* Ambiguous unwind or unambiguous unwind verified as matching. */
if (chain == NULL || chain->length == 0)
@@ -976,8 +976,7 @@ dwarf2_frame_cache (frame_info_ptr this_frame, void **this_cache)
internal_error (_("Unknown CFA rule."));
}
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == NOT_AVAILABLE_ERROR)
{
cache->unavailable_retaddr = 1;
@@ -985,7 +984,7 @@ dwarf2_frame_cache (frame_info_ptr this_frame, void **this_cache)
}
throw;
- }
+ })
/* Initialize the register state. */
{
@@ -2092,14 +2091,13 @@ dwarf2_build_frame_info (struct objfile *objfile)
EH_CIE_OR_FDE_TYPE_ID);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
warning (_("skipping .eh_frame info of %s: %s"),
objfile_name (objfile), e.what ());
fde_table.clear ();
/* The cie_table is discarded below. */
- }
+ })
cie_table.clear ();
}
@@ -2121,13 +2119,12 @@ dwarf2_build_frame_info (struct objfile *objfile)
cie_table, &fde_table,
EH_CIE_OR_FDE_TYPE_ID);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
warning (_("skipping .debug_frame info of %s: %s"),
objfile_name (objfile), e.what ());
fde_table.resize (num_old_fde_entries);
- }
+ })
}
struct dwarf2_fde *fde_prev = NULL;
@@ -156,11 +156,10 @@ index_cache::store (dwarf2_per_objfile *per_objfile)
build_id_str.c_str (), dwz_build_id_ptr,
dw_index_kind::GDB_INDEX);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
index_cache_debug ("couldn't store index cache for objfile %s: %s",
objfile_name (obj), except.what ());
- }
+ })
}
#if HAVE_SYS_MMAN_H
@@ -213,11 +212,10 @@ index_cache::lookup_gdb_index (const bfd_build_id *build_id,
((const gdb_byte *) mmap_resource->mapping.get (),
mmap_resource->mapping.size ());
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
index_cache_debug ("couldn't read %s: %s",
filename.c_str (), except.what ());
- }
+ })
return {};
}
@@ -1548,12 +1548,11 @@ save_gdb_index_command (const char *arg, int from_tty)
write_dwarf_index (per_objfile, arg, basename, dwz_basename,
index_kind);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
exception_fprintf (gdb_stderr, except,
_("Error while writing index for `%s': "),
objfile_name (objfile));
- }
+ })
}
}
@@ -1085,8 +1085,7 @@ call_site_find_chain (struct gdbarch *gdbarch, CORE_ADDR caller_pc,
{
retval = call_site_find_chain_1 (gdbarch, caller_pc, callee_pc);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
if (e.error == NO_ENTRY_VALUE_ERROR)
{
if (entry_values_debug)
@@ -1096,7 +1095,7 @@ call_site_find_chain (struct gdbarch *gdbarch, CORE_ADDR caller_pc,
}
else
throw;
- }
+ })
return retval;
}
@@ -1519,8 +1518,7 @@ dwarf2_evaluate_loc_desc_full (struct type *type, frame_info_ptr frame,
retval = ctx.evaluate (data, size, as_lval, per_cu, frame, nullptr,
type, subobj_type, subobj_byte_offset);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == NOT_AVAILABLE_ERROR)
{
free_values.free_to_mark ();
@@ -1538,7 +1536,7 @@ dwarf2_evaluate_loc_desc_full (struct type *type, frame_info_ptr frame,
}
else
throw;
- }
+ })
/* We need to clean up all the values that are not needed any more.
The problem with a value_ref_ptr class is that it disconnects the
@@ -1603,8 +1601,7 @@ dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
result = ctx.evaluate (dlbaton->data, dlbaton->size,
true, per_cu, frame, addr_stack);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == NOT_AVAILABLE_ERROR)
{
return 0;
@@ -1617,7 +1614,7 @@ dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
}
else
throw;
- }
+ })
if (value_optimized_out (result))
return 0;
@@ -5436,10 +5436,9 @@ dwarf2_build_psymtabs (struct objfile *objfile)
/* (maybe) store an index in the cache. */
global_index_cache.store (per_objfile);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
exception_print (gdb_stderr, except);
- }
+ })
}
/* Find the base address of the compilation unit for range lists and
@@ -79,10 +79,9 @@ elf_none_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd,
{
update_thread_list ();
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
exception_print (gdb_stderr, e);
- }
+ })
/* Like the Linux kernel, prefer dumping the signalled thread first.
"First thread" is what tools use to infer the signalled thread. */
@@ -169,8 +169,7 @@ fetch_subexp_value (struct expression *exp,
{
result = op->evaluate (nullptr, exp, EVAL_NORMAL);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* Ignore memory errors if we want watchpoints pointing at
inaccessible memory to still be created; otherwise, throw the
error to some higher catcher. */
@@ -184,7 +183,7 @@ fetch_subexp_value (struct expression *exp,
throw;
break;
}
- }
+ })
new_mark = value_mark ();
if (mark == new_mark)
@@ -206,9 +205,7 @@ fetch_subexp_value (struct expression *exp,
value_fetch_lazy (result);
*valp = result;
}
- catch (const gdb_exception_error &except)
- {
- }
+ CATCH_ERROR (except, {})
}
}
@@ -559,13 +556,12 @@ evaluate_var_value (enum noside noside, const block *blk, symbol *var)
ret = value_of_variable (var, blk);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (noside != EVAL_AVOID_SIDE_EFFECTS)
throw;
ret = value_zero (var->type (), not_lval);
- }
+ })
return ret;
}
@@ -908,13 +904,12 @@ structop_base_operation::evaluate_funcall
{
value = value_x_unop (vals[0], op, noside);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (except.error == NOT_FOUND_ERROR)
break;
else
throw;
- }
+ })
vals[0] = value;
}
@@ -1236,13 +1231,12 @@ eval_op_structop_ptr (struct type *expect_type, struct expression *exp,
value = value_x_unop (arg1, STRUCTOP_PTR, noside);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (except.error == NOT_FOUND_ERROR)
break;
else
throw;
- }
+ })
arg1 = value;
}
@@ -1284,12 +1284,11 @@ async_disconnect (gdb_client_data arg)
quit_cover ();
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
gdb_puts ("Could not kill the program being debugged",
gdb_stderr);
exception_print (gdb_stderr, exception);
- }
+ })
for (inferior *inf : all_inferiors ())
{
@@ -1298,9 +1297,7 @@ async_disconnect (gdb_client_data arg)
{
pop_all_targets ();
}
- catch (const gdb_exception &exception)
- {
- }
+ CATCH_ERROR_QUIT (exception, {})
}
signal (SIGHUP, SIG_DFL); /*FIXME: ??????????? */
@@ -199,11 +199,10 @@ try_open_exec_file (const char *exec_file_host, struct inferior *inf,
{
symbol_file_add_main (exec_file_host, add_flags);
}
- catch (const gdb_exception_error &err)
- {
+ CATCH_ERROR (err, {
if (prev_err != err)
warning ("%s", err.what ());
- }
+ })
}
}
@@ -641,12 +641,11 @@ info_common_command_for_block (const struct block *block, const char *comname,
value_print (val, gdb_stdout, &opts);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
fprintf_styled (gdb_stdout, metadata_style.style (),
"<error reading variable: %s>",
except.what ());
- }
+ })
gdb_putc ('\n');
}
@@ -702,10 +702,9 @@ fbsd_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
{
update_thread_list ();
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
exception_print (gdb_stderr, e);
- }
+ })
/* Like the kernel, prefer dumping the signalled thread first.
"First thread" is what tools use to infer the signalled thread.
@@ -1965,10 +1964,9 @@ fbsd_fetch_rtld_offsets (struct gdbarch *gdbarch, struct fbsd_pspace_data *data)
data->rtld_offsets_valid = true;
return;
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
data->off_linkmap = -1;
- }
+ })
try
{
@@ -1982,10 +1980,9 @@ fbsd_fetch_rtld_offsets (struct gdbarch *gdbarch, struct fbsd_pspace_data *data)
data->rtld_offsets_valid = true;
return;
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
data->off_linkmap = -1;
- }
+ })
}
/* Helper function to read the TLS index of an object file associated
@@ -2214,10 +2211,9 @@ fbsd_report_signal_info (struct gdbarch *gdbarch, struct ui_out *uiout,
timerid = parse_and_eval_long ("$_siginfo._reason._timer.si_timerid");
mqd = parse_and_eval_long ("$_siginfo._reason._mesgq.si_mqd");
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
return;
- }
+ })
const char *meaning = fbsd_signal_cause (siggnal, code);
if (meaning == nullptr)
@@ -135,8 +135,7 @@ frame_unwind_try_unwinder (frame_info_ptr this_frame, void **this_cache,
frame_debug_printf ("trying unwinder \"%s\"", unwinder->name);
res = unwinder->sniffer (unwinder, this_frame, this_cache);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
frame_debug_printf ("caught exception: %s", ex.message->c_str ());
/* Catch all exceptions, caused by either interrupt or error.
@@ -158,7 +157,7 @@ frame_unwind_try_unwinder (frame_info_ptr this_frame, void **this_cache,
return 0;
}
throw;
- }
+ })
if (res)
{
@@ -590,8 +590,7 @@ compute_frame_id (frame_info_ptr fi)
frame_debug_printf (" -> %s", fi->this_id.value.to_string ().c_str ());
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* On error, revert the frame id status to not computed. If the frame
cache generation changed, the frame object doesn't exist anymore, so
don't touch it. */
@@ -599,7 +598,7 @@ compute_frame_id (frame_info_ptr fi)
fi->this_id.p = frame_id_status::NOT_COMPUTED;
throw;
- }
+ })
}
/* Return a frame uniq ID that can be used to, later, re-find the
@@ -950,8 +949,7 @@ frame_unwind_pc (frame_info_ptr this_frame)
pc = gdbarch_unwind_pc (prev_gdbarch, this_frame);
pc_p = true;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == NOT_AVAILABLE_ERROR)
{
this_frame->prev_pc.status = CC_UNAVAILABLE;
@@ -968,7 +966,7 @@ frame_unwind_pc (frame_info_ptr this_frame)
}
else
throw;
- }
+ })
if (pc_p)
{
@@ -2132,8 +2130,7 @@ get_prev_frame_maybe_check_cycle (frame_info_ptr this_frame)
prev_frame = NULL;
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
if (get_frame_cache_generation () == entry_generation)
{
prev_frame->next = NULL;
@@ -2141,7 +2138,7 @@ get_prev_frame_maybe_check_cycle (frame_info_ptr this_frame)
}
throw;
- }
+ })
return prev_frame;
}
@@ -2315,8 +2312,7 @@ get_prev_frame_always (frame_info_ptr this_frame)
{
prev_frame = get_prev_frame_always_1 (this_frame);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == MEMORY_ERROR)
{
this_frame->stop_reason = UNWIND_MEMORY_ERROR;
@@ -2338,7 +2334,7 @@ get_prev_frame_always (frame_info_ptr this_frame)
}
else
throw;
- }
+ })
return prev_frame;
}
@@ -2586,13 +2582,12 @@ get_frame_pc_if_available (frame_info_ptr frame, CORE_ADDR *pc)
{
*pc = frame_unwind_pc (frame_info_ptr (frame->next));
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == NOT_AVAILABLE_ERROR)
return false;
else
throw;
- }
+ })
return true;
}
@@ -2668,12 +2663,11 @@ get_frame_address_in_block_if_available (frame_info_ptr this_frame,
{
*pc = get_frame_address_in_block (this_frame);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == NOT_AVAILABLE_ERROR)
return false;
throw;
- }
+ })
return true;
}
@@ -2953,11 +2947,10 @@ get_frame_language (frame_info_ptr frame)
pc = get_frame_address_in_block (frame);
pc_p = true;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
if (pc_p)
{
@@ -430,12 +430,11 @@ gdb_bfd_iovec_fileio_close (struct bfd *abfd, void *stream)
{
target_fileio_close (fd, &target_errno);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* Also avoid crossing exceptions over bfd. */
gdb_bfd_close_warning (bfd_get_filename (abfd),
ex.message->c_str ());
- }
+ })
/* Zero means success. */
return 0;
@@ -3182,10 +3182,9 @@ safe_parse_type (struct gdbarch *gdbarch, const char *p, int length)
{
type = parse_and_eval_type (p, length);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
type = builtin_type (gdbarch)->builtin_void;
- }
+ })
return type;
}
@@ -937,12 +937,11 @@ print_one_vtable (struct gdbarch *gdbarch, struct value *value,
{
addr = value_as_address (vfn);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
fprintf_styled (gdb_stdout, metadata_style.style (),
_("<error: %s>"), ex.what ());
got_error = 1;
- }
+ })
if (!got_error)
print_function_pointer_address (opts, gdbarch, addr, gdb_stdout);
@@ -704,10 +704,9 @@ gdbscm_wrap (Function &&func, Args &&... args)
{
result = func (std::forward<Args> (args)...);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
@@ -687,10 +687,9 @@ gdbscm_lookup_block (SCM pc_scm)
if (cust != NULL && cust->objfile () != NULL)
block = block_for_pc (pc);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (cust == NULL || cust->objfile () == NULL)
@@ -492,10 +492,9 @@ gdbscm_register_breakpoint_x (SCM self)
gdb_assert_not_reached ("invalid breakpoint type");
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
except = unpack (ex);
- }
+ })
/* Ensure this gets reset, even if there's an error. */
pending_breakpoint_scm = SCM_BOOL_F;
@@ -521,10 +520,9 @@ gdbscm_delete_breakpoint_x (SCM self)
{
delete_breakpoint (bp_smob->bp);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return SCM_UNSPECIFIED;
@@ -617,10 +615,9 @@ gdbscm_set_breakpoint_enabled_x (SCM self, SCM newvalue)
else
disable_breakpoint (bp_smob->bp);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return SCM_UNSPECIFIED;
@@ -653,10 +650,9 @@ gdbscm_set_breakpoint_silent_x (SCM self, SCM newvalue)
{
breakpoint_set_silent (bp_smob->bp, gdbscm_is_true (newvalue));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return SCM_UNSPECIFIED;
@@ -695,10 +691,9 @@ gdbscm_set_breakpoint_ignore_count_x (SCM self, SCM newvalue)
{
set_ignore_count (bp_smob->number, (int) value, 0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return SCM_UNSPECIFIED;
@@ -817,10 +812,9 @@ gdbscm_set_breakpoint_task_x (SCM self, SCM newvalue)
{
valid_id = valid_task_id (id);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (! valid_id)
@@ -839,10 +833,9 @@ gdbscm_set_breakpoint_task_x (SCM self, SCM newvalue)
{
breakpoint_set_task (bp_smob->bp, id);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return SCM_UNSPECIFIED;
@@ -1005,10 +998,9 @@ gdbscm_breakpoint_commands (SCM self)
ui_out_redirect_pop redir (current_uiout, &buf);
print_command_lines (current_uiout, breakpoint_commands (bp), 0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
result = gdbscm_scm_from_c_string (buf.c_str ());
@@ -768,10 +768,9 @@ gdbscm_register_command_x (SCM self)
c_smob->doc, cmd_list);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
/* Note: At this point the command exists in gdb.
@@ -258,10 +258,9 @@ gdbscm_arch_disassemble (SCM self, SCM start_scm, SCM rest)
else
insn_len = gdb_print_insn (gdbarch, pc, &buf, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
result = scm_cons (dascm_make_insn (pc, buf.c_str (), insn_len),
@@ -272,10 +272,9 @@ frscm_scm_from_frame (struct frame_info *frame, struct inferior *inferior)
}
gdbarch = get_frame_arch (frame_ptr);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
return gdbscm_scm_from_gdb_exception (unpack (except));
- }
+ })
f_scm = frscm_make_frame_smob ();
f_smob = (frame_smob *) SCM_SMOB_DATA (f_scm);
@@ -395,10 +394,9 @@ gdbscm_frame_valid_p (SCM self)
frame_info_ptr frame = frscm_frame_smob_to_frame (f_smob);
result = frame != nullptr;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return scm_from_bool (result);
@@ -429,10 +427,9 @@ gdbscm_frame_name (SCM self)
name = find_frame_funname (frame, &lang, NULL);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -471,10 +468,9 @@ gdbscm_frame_type (SCM self)
type = get_frame_type (frame);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -503,10 +499,9 @@ gdbscm_frame_arch (SCM self)
frame_info_ptr frame = frscm_frame_smob_to_frame (f_smob);
found = frame != nullptr;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -540,10 +535,9 @@ gdbscm_frame_unwind_stop_reason (SCM self)
stop_reason = get_frame_unwind_stop_reason (frame);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -577,10 +571,9 @@ gdbscm_frame_pc (SCM self)
found = true;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -614,10 +607,9 @@ gdbscm_frame_block (SCM self)
block = get_frame_block (frame, NULL);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -669,10 +661,9 @@ gdbscm_frame_function (SCM self)
sym = find_pc_function (get_frame_address_in_block (frame));
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -710,10 +701,9 @@ gdbscm_frame_older (SCM self)
prev = get_prev_frame (frame).get ();
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -751,10 +741,9 @@ gdbscm_frame_newer (SCM self)
next = get_next_frame (frame).get ();
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -791,10 +780,9 @@ gdbscm_frame_sal (SCM self)
sal = find_frame_sal (frame);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -838,10 +826,9 @@ gdbscm_frame_read_register (SCM self, SCM register_scm)
value = value_of_register (regnum, frame);
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
except = unpack (ex);
- }
+ })
xfree (register_str);
GDBSCM_HANDLE_GDB_EXCEPTION (except);
@@ -888,10 +875,9 @@ gdbscm_frame_read_var (SCM self, SCM symbol_scm, SCM rest)
{
frame = frscm_frame_smob_to_frame (f_smob).get ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (frame == NULL)
@@ -941,10 +927,9 @@ gdbscm_frame_read_var (SCM self, SCM symbol_scm, SCM rest)
var = lookup_sym.symbol;
block = lookup_sym.block;
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
except = unpack (ex);
- }
+ })
}
GDBSCM_HANDLE_GDB_EXCEPTION (except);
@@ -964,10 +949,9 @@ gdbscm_frame_read_var (SCM self, SCM symbol_scm, SCM rest)
{
value = read_var_value (var, block, frame_info_ptr (frame));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return vlscm_scm_from_value (value);
@@ -994,10 +978,9 @@ gdbscm_frame_select (SCM self)
select_frame (frame);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (!found)
@@ -1022,10 +1005,9 @@ gdbscm_newest_frame (void)
{
frame = get_current_frame ().get ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return frscm_scm_from_frame_unsafe (frame, current_inferior ());
@@ -1044,10 +1026,9 @@ gdbscm_selected_frame (void)
{
frame = get_selected_frame (_("No frame is currently selected")).get ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return frscm_scm_from_frame_unsafe (frame, current_inferior ());
@@ -336,11 +336,10 @@ lsscm_safe_lazy_string_to_value (SCM string, int arg_pos,
break;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
*except_scmp = gdbscm_scm_from_gdb_exception (unpack (except));
return NULL;
- }
+ })
return value;
}
@@ -833,10 +833,9 @@ vlscm_convert_typed_value_from_scheme (const char *func_name,
value = NULL;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
except_scm = gdbscm_scm_from_gdb_exception (unpack (except));
- }
+ })
if (gdbscm_is_true (except_scm))
{
@@ -1037,10 +1037,9 @@ gdbscm_register_parameter_x (SCM self)
(gdbscm_is_procedure (p_smob->show_func) ? pascm_show_func : NULL),
set_list, show_list);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
/* Note: At this point the parameter exists in gdb.
@@ -1086,10 +1085,9 @@ gdbscm_parameter_value (SCM self)
{
found = lookup_cmd_composition (newarg, &alias, &prefix, &cmd);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
except = unpack (ex);
- }
+ })
xfree (newarg);
GDBSCM_HANDLE_GDB_EXCEPTION (except);
@@ -320,10 +320,9 @@ ioscm_write (SCM port, const void *data, size_t size)
else
fputsn_filtered ((const char *) data, size, gdb_stdout);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
}
@@ -387,10 +386,9 @@ ioscm_write (SCM port, SCM src, size_t start, size_t count)
else
fputsn_filtered ((const char *) data, count, gdb_stdout);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return count;
@@ -558,9 +558,7 @@ ppscm_pretty_print_one_value (SCM printer, struct value **out_value,
(_("invalid result from pretty-printer to-string"), result);
}
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
return result;
}
@@ -485,10 +485,9 @@ gdbscm_symbol_needs_frame_p (SCM self)
{
result = symbol_read_needs_frame (symbol);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return scm_from_bool (result);
@@ -554,10 +553,9 @@ gdbscm_symbol_value (SCM self, SCM rest)
can happen with nested functions). */
value = read_var_value (symbol, NULL, frame_info);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return vlscm_scm_from_value (value);
@@ -606,11 +604,10 @@ gdbscm_lookup_symbol (SCM name_scm, SCM rest)
= get_selected_frame (_("no frame selected"));
block = get_frame_block (selected_frame, NULL);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
xfree (name);
exc = unpack (ex);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
}
@@ -620,10 +617,9 @@ gdbscm_lookup_symbol (SCM name_scm, SCM rest)
symbol = lookup_symbol (name, block, (domain_enum) domain,
&is_a_field_of_this).symbol;
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
except = unpack (ex);
- }
+ })
xfree (name);
GDBSCM_HANDLE_GDB_EXCEPTION (except);
@@ -656,10 +652,9 @@ gdbscm_lookup_global_symbol (SCM name_scm, SCM rest)
{
symbol = lookup_global_symbol (name, NULL, (domain_enum) domain).symbol;
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
except = unpack (ex);
- }
+ })
xfree (name);
GDBSCM_HANDLE_GDB_EXCEPTION (except);
@@ -595,10 +595,9 @@ gdbscm_find_pc_line (SCM pc_scm)
sal = find_pc_line (pc, 0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return stscm_scm_from_sal (sal);
@@ -132,10 +132,9 @@ tyscm_type_name (struct type *type)
&type_print_raw_options);
return stb.release ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
excp = gdbscm_scm_from_gdb_exception (unpack (except));
- }
+ })
gdbscm_throw (excp);
}
@@ -258,10 +257,9 @@ tyscm_equal_p_type_smob (SCM type1_scm, SCM type2_scm)
{
result = types_deeply_equal (type1, type2);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return scm_from_bool (result);
@@ -627,9 +625,7 @@ gdbscm_type_sizeof (SCM self)
{
check_typedef (type);
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
/* Ignore exceptions. */
@@ -651,10 +647,9 @@ gdbscm_type_strip_typedefs (SCM self)
{
type = check_typedef (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return tyscm_scm_from_type (type);
@@ -674,10 +669,9 @@ tyscm_get_composite (struct type *type)
{
type = check_typedef (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (type->code () != TYPE_CODE_PTR
@@ -732,10 +726,9 @@ tyscm_array_1 (SCM self, SCM n1_scm, SCM n2_scm, int is_vector,
if (is_vector)
make_vector_type (array);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return tyscm_scm_from_type (array);
@@ -788,10 +781,9 @@ gdbscm_type_pointer (SCM self)
{
type = lookup_pointer_type (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return tyscm_scm_from_type (type);
@@ -855,10 +847,9 @@ gdbscm_type_reference (SCM self)
{
type = lookup_lvalue_reference_type (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return tyscm_scm_from_type (type);
@@ -894,10 +885,9 @@ gdbscm_type_const (SCM self)
{
type = make_cv_type (1, 0, type, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return tyscm_scm_from_type (type);
@@ -918,10 +908,9 @@ gdbscm_type_volatile (SCM self)
{
type = make_cv_type (0, 1, type, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return tyscm_scm_from_type (type);
@@ -942,10 +931,9 @@ gdbscm_type_unqualified (SCM self)
{
type = make_cv_type (0, 0, type, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return tyscm_scm_from_type (type);
@@ -1247,10 +1235,9 @@ tyscm_lookup_typename (const char *type_name, const struct block *block)
type = lookup_typename (current_language,
type_name, block, 0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
return NULL;
- }
+ })
return type;
}
@@ -164,10 +164,9 @@ vlscm_print_value_smob (SCM self, SCM port, scm_print_state *pstate)
common_val_print (v_smob->value, &stb, 0, &opts, current_language);
scm_puts (stb.c_str (), port);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (pstate->writingp)
@@ -193,10 +192,9 @@ vlscm_equal_p_value_smob (SCM v1, SCM v2)
{
result = value_equal (v1_smob->value, v2_smob->value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return scm_from_bool (result);
@@ -416,9 +414,7 @@ gdbscm_value_address (SCM self)
{
address = vlscm_scm_from_value (value_addr (value));
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
if (gdbscm_is_exception (address))
return address;
@@ -603,10 +599,9 @@ gdbscm_value_dynamic_type (SCM self)
type = NULL;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (type == NULL)
@@ -760,10 +755,9 @@ gdbscm_value_call (SCM self, SCM args)
{
ftype = check_typedef (value_type (function));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
SCM_ASSERT_TYPE (ftype->code () == TYPE_CODE_FUNC, self,
@@ -830,10 +824,9 @@ gdbscm_value_to_bytevector (SCM self)
length = type->length ();
contents = value_contents (value).data ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
bv = scm_c_make_bytevector (length);
@@ -873,10 +866,9 @@ gdbscm_value_to_bool (SCM self)
{
type = check_typedef (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
SCM_ASSERT_TYPE (is_intlike (type, 1), self, SCM_ARG1, FUNC_NAME,
@@ -889,10 +881,9 @@ gdbscm_value_to_bool (SCM self)
else
l = value_as_long (value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
return scm_from_bool (l != 0);
@@ -917,10 +908,9 @@ gdbscm_value_to_integer (SCM self)
{
type = check_typedef (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
SCM_ASSERT_TYPE (is_intlike (type, 1), self, SCM_ARG1, FUNC_NAME,
@@ -933,10 +923,9 @@ gdbscm_value_to_integer (SCM self)
else
l = value_as_long (value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
if (type->is_unsigned ())
@@ -965,10 +954,9 @@ gdbscm_value_to_real (SCM self)
{
type = check_typedef (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
SCM_ASSERT_TYPE (is_intlike (type, 0) || type->code () == TYPE_CODE_FLT,
@@ -993,10 +981,9 @@ gdbscm_value_to_real (SCM self)
check = value_from_longest (type, (LONGEST) d);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
/* TODO: Is there a better way to check if the value fits? */
@@ -1088,11 +1075,10 @@ gdbscm_value_to_string (SCM self, SCM rest)
c_get_string (value, &buffer, &length, &char_type, &la_encoding);
buffer_contents = buffer.release ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
xfree (encoding);
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
/* If errors is "error", scm_from_stringn may throw a Scheme exception.
@@ -1210,10 +1196,9 @@ gdbscm_value_to_lazy_string (SCM self, SCM rest)
result = lsscm_make_lazy_string (addr, length, encoding, type);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
except = unpack (ex);
- }
+ })
xfree (encoding);
GDBSCM_HANDLE_GDB_EXCEPTION (except);
@@ -1273,10 +1258,9 @@ gdbscm_value_print (SCM self)
{
common_val_print (value, &stb, 0, &opts, current_language);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
exc = unpack (except);
- }
+ })
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
/* Use SCM_FAILED_CONVERSION_QUESTION_MARK to ensure this doesn't
@@ -415,10 +415,9 @@ i386_linux_report_signal_info (struct gdbarch *gdbarch, struct ui_out *uiout,
access
= parse_and_eval_long ("$_siginfo._sifields._sigfault.si_addr");
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
return;
- }
+ })
/* If this is not a boundary violation just return. */
if (sig_code != SIG_CODE_BONDARY_FAULT)
@@ -2092,11 +2092,10 @@ i386_frame_cache (frame_info_ptr this_frame, void **this_cache)
{
i386_frame_cache_1 (this_frame, cache);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
return cache;
}
@@ -2272,11 +2271,10 @@ i386_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache)
cache->base_p = 1;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
return cache;
}
@@ -2469,11 +2467,10 @@ i386_sigtramp_frame_cache (frame_info_ptr this_frame, void **this_cache)
cache->base_p = 1;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
*this_cache = cache;
return cache;
@@ -69,8 +69,7 @@ inferior_event_handler (enum inferior_event_type event_type)
{
bpstat_do_actions ();
}
- catch (const gdb_exception &e)
- {
+ CATCH_ERROR_QUIT (e, {
/* If the user was running a foreground execution
command, then propagate the error so that the prompt
can be reenabled. Otherwise, the user already has
@@ -80,7 +79,7 @@ inferior_event_handler (enum inferior_event_type event_type)
throw;
else
exception_print (gdb_stderr, e);
- }
+ })
}
break;
@@ -263,11 +263,10 @@ post_create_inferior (int from_tty)
regcache *rc = get_thread_regcache (thr);
thr->set_stop_pc (regcache_read_pc (rc));
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
if (current_program_space->exec_bfd ())
{
@@ -1577,10 +1576,9 @@ print_return_value (struct ui_out *uiout, struct return_value_info *rv)
delete the breakpoint. */
print_return_value_1 (uiout, rv);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stdout, ex);
- }
+ })
}
/* Data for the FSM that manages the finish command. */
@@ -81,8 +81,7 @@ struct infcall_suspend_state_deleter
{
restore_infcall_suspend_state (state);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* If we are restoring the inferior state due to an exception,
some error message will be printed. So, only warn the user
when we cannot restore during normal execution. */
@@ -94,7 +93,7 @@ struct infcall_suspend_state_deleter
#endif
if (!unwinding)
warning (_("Failed to restore inferior state: %s"), e.what ());
- }
+ })
}
};
@@ -1791,8 +1791,7 @@ displaced_step_prepare (thread_info *thread)
{
status = displaced_step_prepare_throw (thread);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != MEMORY_ERROR
&& ex.error != NOT_SUPPORTED_ERROR)
throw;
@@ -1810,7 +1809,7 @@ displaced_step_prepare (thread_info *thread)
/* Disable further displaced stepping attempts. */
thread->inf->displaced_step_state.failed_before = 1;
- }
+ })
return status;
}
@@ -2680,8 +2679,7 @@ resume (gdb_signal sig)
{
resume_1 (sig);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* If resuming is being aborted for any reason, delete any
single-step breakpoint resume_1 may have created, to avoid
confusing the following resumption, and to avoid leaving
@@ -2690,7 +2688,7 @@ resume (gdb_signal sig)
if (inferior_ptid != null_ptid)
delete_single_step_breakpoints (inferior_thread ());
throw;
- }
+ })
}
@@ -8041,10 +8039,9 @@ insert_exception_resume_breakpoint (struct thread_info *tp,
inferior_thread ()->control.exception_resume_breakpoint = bp;
}
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* We want to ignore errors here. */
- }
+ })
}
/* A helper for check_exception_resume that sets an
@@ -8137,9 +8134,7 @@ check_exception_resume (struct execution_control_state *ecs,
}
}
}
- catch (const gdb_exception_error &e)
- {
- }
+ CATCH_ERROR (e, {})
}
static void
@@ -8255,13 +8250,12 @@ keep_going_pass_signal (struct execution_control_state *ecs)
{
insert_breakpoints ();
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
exception_print (gdb_stderr, e);
stop_waiting (ecs);
clear_step_over_info ();
return;
- }
+ })
ecs->event_thread->control.trap_expected = (remove_bp || remove_wps);
@@ -8761,11 +8755,10 @@ normal_stop (void)
{
execute_cmd_pre_hook (stop_command);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_fprintf (gdb_stderr, ex,
"Error while running hook_stop:\n");
- }
+ })
/* If the stop hook resumes the target, then there's no point in
trying to notify about the previous stop; its context is
@@ -715,10 +715,9 @@ jit_reader_try_read_symtab (gdbarch *gdbarch, jit_code_entry *code_entry,
code_entry->symfile_size))
status = 0;
}
- catch (const gdb_exception &e)
- {
+ CATCH_ERROR_QUIT (e, {
status = 0;
- }
+ })
if (status)
{
@@ -165,10 +165,9 @@ set_language_command (const char *ignore,
frame = get_selected_frame (NULL);
flang = get_frame_language (frame);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
flang = language_unknown;
- }
+ })
if (flang != language_unknown)
set_language (flang);
@@ -2328,10 +2328,9 @@ convert_explicit_location_spec_to_linespec
result->file_symtabs
= symtabs_from_filename (source_filename, self->search_pspace);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
source_file_not_found_error (source_filename);
- }
+ })
result->explicit_loc.source_filename = xstrdup (source_filename);
}
else
@@ -2857,10 +2856,9 @@ linespec_complete_label (completion_tracker &tracker,
func_name_match_type,
NULL, unknown_offset);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
return;
- }
+ })
complete_label (tracker, &parser, label_name);
}
@@ -2887,9 +2885,7 @@ linespec_complete (completion_tracker &tracker, const char *text,
{
parse_linespec (&parser, text, match_type);
}
- catch (const gdb_exception_error &except)
- {
- }
+ CATCH_ERROR (except, {})
if (parser.completion_quote_char != '\0'
&& parser.completion_quote_end != NULL
@@ -3873,11 +3869,10 @@ find_linespec_symbols (struct linespec_state *state,
/* If successful, we're done. If NOT_FOUND_ERROR
was not thrown, rethrow the exception that we did get. */
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (except.error != NOT_FOUND_ERROR)
throw;
- }
+ })
}
}
}
@@ -430,12 +430,11 @@ class scoped_switch_fork_info
fork_load_infrun_state (m_oldfp);
insert_breakpoints ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
warning (_("Couldn't restore checkpoint state in %s: %s"),
target_pid_to_str (m_oldfp->ptid).c_str (),
ex.what ());
- }
+ })
}
}
@@ -1066,8 +1066,7 @@ linux_nat_target::attach (const char *args, int from_tty)
{
inf_ptrace_target::attach (args, from_tty);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
pid_t pid = parse_pid_to_attach (args);
std::string reason = linux_ptrace_attach_fail_reason (pid);
@@ -1076,7 +1075,7 @@ linux_nat_target::attach (const char *args, int from_tty)
ex.what ());
else
throw_error (ex.error, "%s", ex.what ());
- }
+ })
/* The ptrace base target adds the main thread with (pid,0,0)
format. Decorate it with lwp info. */
@@ -1357,11 +1356,10 @@ detach_one_lwp (struct lwp_info *lp, int *signo_p)
{
linux_target->low_prepare_to_resume (lp);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (!check_ptrace_stopped_lwp_gone (lp))
throw;
- }
+ })
detach_one_pid (lwpid, signo);
@@ -1508,11 +1506,10 @@ linux_resume_one_lwp (struct lwp_info *lp, int step, enum gdb_signal signo)
{
linux_resume_one_lwp_throw (lp, step, signo);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (!check_ptrace_stopped_lwp_gone (lp))
throw;
- }
+ })
}
/* Resume LP. */
@@ -3377,11 +3374,10 @@ resume_stopped_resumed_lwps (struct lwp_info *lp, const ptid_t wait_ptid)
linux_resume_one_lwp_throw (lp, lp->step, GDB_SIGNAL_0);
}
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (!check_ptrace_stopped_lwp_gone (lp))
throw;
- }
+ })
}
return 0;
@@ -2064,10 +2064,9 @@ linux_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
{
update_thread_list ();
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
exception_print (gdb_stderr, e);
- }
+ })
/* Like the kernel, prefer dumping the signalled thread first.
"First thread" is what tools use to infer the signalled
@@ -505,8 +505,7 @@ thread_db_find_new_threads_silently (thread_info *stopped)
thread_db_find_new_threads_2 (stopped, true);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (libthread_db_debug)
exception_fprintf (gdb_stdlog, except,
"Warning: thread_db_find_new_threads_silently: ");
@@ -534,7 +533,7 @@ thread_db_find_new_threads_silently (thread_info *stopped)
"using libthread_db: "));
return 1;
}
- }
+ })
return 0;
}
@@ -775,8 +774,7 @@ check_thread_db (struct thread_db_info *info, bool log_progress)
if (!tdb_testinfo->threads_seen)
error (_("no threads seen"));
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (warning_pre_print)
gdb_puts (warning_pre_print, gdb_stderr);
@@ -784,7 +782,7 @@ check_thread_db (struct thread_db_info *info, bool log_progress)
_("libthread_db integrity checks failed: "));
test_passed = false;
- }
+ })
if (test_passed && log_progress)
debug_printf (_("libthread_db integrity checks passed.\n"));
@@ -1024,12 +1022,11 @@ try_thread_db_load (const char *library, bool check_auto_load_safe)
if (try_thread_db_load_1 (info))
return true;
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (libthread_db_debug)
exception_fprintf (gdb_stdlog, except,
"Warning: While trying to load libthread_db: ");
- }
+ })
/* This library "refused" to work on current inferior. */
delete_thread_db_info (current_inferior ()->process_target (),
@@ -1545,14 +1542,13 @@ find_new_threads_once (struct thread_db_info *info, int iteration,
TD_SIGNO_MASK,
TD_THR_ANY_USER_FLAGS);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (libthread_db_debug)
{
exception_fprintf (gdb_stdlog, except,
"Warning: find_new_threads_once: ");
}
- }
+ })
if (libthread_db_debug)
{
@@ -410,8 +410,7 @@ start_event_loop ()
{
result = gdb_do_one_event ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
/* If any exception escaped to here, we better enable
@@ -436,7 +435,7 @@ start_event_loop ()
(*after_char_processing_hook) ();
/* Maybe better to set a flag to be checked somewhere as to
whether display the prompt or not. */
- }
+ })
if (result < 0)
break;
@@ -518,10 +517,9 @@ catch_command_errors (catch_command_errors_const_ftype command,
if (do_bp_actions)
bpstat_do_actions ();
}
- catch (const gdb_exception &e)
- {
+ CATCH_ERROR_QUIT (e, {
return handle_command_errors (e);
- }
+ })
return 1;
}
@@ -1329,10 +1327,9 @@ captured_main (void *data)
{
captured_command_loop ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
}
/* No exit -- exit is through quit_command. */
}
@@ -1344,10 +1341,9 @@ gdb_main (struct captured_main_args *args)
{
captured_main (args);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
/* The only way to end up here is by an error (normal exit is
handled by quit_force()), hence always return an error status. */
@@ -324,11 +324,10 @@ maintenance_test_options_completer_mode (completion_tracker &tracker,
save_completion_result (opts, res, text);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
save_completion_result (opts, true, text);
throw;
- }
+ })
}
/* Implementation of the "maintenance test-options require-delimiter"
@@ -58,10 +58,9 @@ breakpoint_notify (struct breakpoint *b)
{
print_breakpoint (b);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
}
}
@@ -549,11 +549,10 @@ list_arg_or_local (const struct frame_arg *arg, enum what_to_list what,
common_val_print (arg->val, &stb, 0, &opts,
language_def (arg->sym->language ()));
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
stb.printf (_("<error reading variable: %s>"),
except.what ());
- }
+ })
}
uiout->field_stream ("value", stb);
}
@@ -847,10 +847,9 @@ mi_print_breakpoint_for_event (struct mi_interp *mi, breakpoint *bp)
print_breakpoint (bp);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
}
/* Emit notification about a created breakpoint. */
@@ -1920,11 +1920,10 @@ mi_execute_command (const char *cmd, int from_tty)
{
command = mi_parse (cmd, &token);
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
mi_print_exception (token, exception);
xfree (token);
- }
+ })
if (command != NULL)
{
@@ -1940,8 +1939,7 @@ mi_execute_command (const char *cmd, int from_tty)
{
captured_mi_execute_command (current_uiout, command.get ());
}
- catch (const gdb_exception &result)
- {
+ CATCH_ERROR_QUIT (result, {
/* Like in start_event_loop, enable input and force display
of the prompt. Otherwise, any command that calls
async_disable_stdin, and then throws, will leave input
@@ -1953,7 +1951,7 @@ mi_execute_command (const char *cmd, int from_tty)
somewhere. */
mi_print_exception (command->token, result);
mi_out_rewind (current_uiout);
- }
+ })
bpstat_do_actions ();
@@ -1279,12 +1279,11 @@ find_objc_msgcall_submethod (int (*f) (CORE_ADDR, CORE_ADDR *),
if (f (pc, new_pc) == 0)
return 1;
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_fprintf (gdb_stderr, ex,
"Unable to determine target of "
"Objective-C method call (ignoring):\n");
- }
+ })
return 0;
}
@@ -728,14 +728,13 @@ pascal_object_print_value (struct value *val, struct ui_file *stream,
{
base_value = value_primitive_field (val, 0, i, type);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
base_value = nullptr;
if (ex.error == NOT_AVAILABLE_ERROR)
skip = -1;
else
skip = 1;
- }
+ })
if (skip == 0)
{
@@ -514,14 +514,13 @@ parse_exp_in_context (const char **stringptr, CORE_ADDR pc,
{
lang->parser (&ps);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
/* If parsing for completion, allow this to succeed; but if no
expression elements have been written, then there's nothing
to do, so fail. */
if (! ps.parse_completion || ps.expout->op == nullptr)
throw;
- }
+ })
expression_up result = ps.release ();
result->op->set_outermost ();
@@ -585,10 +584,9 @@ parse_expression_for_completion
{
exp = parse_exp_in_context (&string, 0, 0, 0, false, nullptr, completer);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
/* Nothing, EXP remains NULL. */
- }
+ })
/* If we didn't get a completion result, be sure to also not return
an expression to our caller. */
@@ -2109,14 +2109,13 @@ do_one_display (struct display *d)
d->exp = parse_expression (d->exp_string.c_str (), &tracker);
d->block = tracker.block ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* Can't re-parse the expression. Disable this display item. */
d->enabled_p = false;
warning (_("Unable to display \"%s\": %s"),
d->exp_string.c_str (), ex.what ());
return;
- }
+ })
}
if (d->block)
@@ -2175,12 +2174,11 @@ do_one_display (struct display *d)
addr = gdbarch_addr_bits_remove (d->exp->gdbarch, addr);
do_examine (d->format, d->exp->gdbarch, addr);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
gdb_printf (_("%p[<error: %s>%p]\n"),
metadata_style.style ().ptr (), ex.what (),
nullptr);
- }
+ })
}
else
{
@@ -2210,11 +2208,10 @@ do_one_display (struct display *d)
val = evaluate_expression (d->exp.get ());
print_formatted (val, d->format.size, &opts, gdb_stdout);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
fprintf_styled (gdb_stdout, metadata_style.style (),
_("<error: %s>"), ex.what ());
- }
+ })
gdb_printf ("\n");
}
@@ -2407,12 +2404,11 @@ print_variable_and_value (const char *name, struct symbol *var,
function. */
frame = NULL;
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
fprintf_styled (stream, metadata_style.style (),
"<error reading variable %s (%s)>", name,
except.what ());
- }
+ })
gdb_printf (stream, "\n");
}
@@ -198,11 +198,10 @@ archpy_disassemble (PyObject *self, PyObject *args, PyObject *kw)
{
insn_len = gdb_print_insn (gdbarch, pc, &stb, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return NULL;
- }
+ })
gdbpy_ref<> pc_obj = gdb_py_object_from_ulongest (pc);
if (pc_obj == nullptr)
@@ -205,10 +205,9 @@ bppy_set_enabled (PyObject *self, PyObject *newvalue, void *closure)
else
disable_breakpoint (self_bp->bp);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_SET_HANDLE_EXCEPTION (except);
- }
+ })
return 0;
}
@@ -310,10 +309,9 @@ bppy_set_task (PyObject *self, PyObject *newvalue, void *closure)
{
valid_id = valid_task_id (id);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_SET_HANDLE_EXCEPTION (except);
- }
+ })
if (! valid_id)
{
@@ -352,10 +350,9 @@ bppy_delete_breakpoint (PyObject *self, PyObject *args)
{
delete_breakpoint (self_bp->bp);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -393,10 +390,9 @@ bppy_set_ignore_count (PyObject *self, PyObject *newvalue, void *closure)
{
set_ignore_count (self_bp->number, (int) value, 0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_SET_HANDLE_EXCEPTION (except);
- }
+ })
return 0;
}
@@ -553,11 +549,10 @@ bppy_get_commands (PyObject *self, void *closure)
ui_out_redirect_pop redir (current_uiout, &stb);
print_command_lines (current_uiout, breakpoint_commands (bp), 0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return NULL;
- }
+ })
return host_string_to_python_string (stb.c_str ()).release ();
}
@@ -958,12 +953,11 @@ bppy_init (PyObject *self, PyObject *args, PyObject *kwargs)
error(_("Do not understand breakpoint type to set."));
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
bppy_pending_object = NULL;
gdbpy_convert_exception (except);
return -1;
- }
+ })
BPPY_SET_REQUIRE_VALID ((gdbpy_breakpoint_object *) self);
return 0;
@@ -1465,10 +1459,9 @@ bplocpy_set_enabled (PyObject *py_self, PyObject *newvalue, void *closure)
{
enable_disable_bp_location (self->bp_loc, cmp == 1);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_SET_HANDLE_EXCEPTION (except);
- }
+ })
return 0;
}
@@ -538,11 +538,10 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
set_cmd_completer_handle_brkchars (cmd,
cmdpy_completer_handle_brkchars);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return -1;
- }
+ })
return 0;
}
@@ -430,11 +430,10 @@ connpy_send_packet (PyObject *self, PyObject *args, PyObject *kw)
gdb_assert ((result == nullptr) == (PyErr_Occurred () != nullptr));
return result;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return nullptr;
- }
+ })
}
/* Global initialization for this file. */
@@ -127,11 +127,10 @@ bpfinishpy_pre_stop_hook (struct gdbpy_breakpoint_object *bp_obj)
self_finishbp->return_value = Py_None;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
gdbpy_print_stack ();
- }
+ })
}
/* Triggered when gdbpy_should_stop has triggered the `stop' callback
@@ -147,11 +146,10 @@ bpfinishpy_post_stop_hook (struct gdbpy_breakpoint_object *bp_obj)
disable_breakpoint (bp_obj->bp);
gdb_assert (bp_obj->bp->disposition == disp_del);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
gdbpy_print_stack ();
- }
+ })
}
/* Python function to create a new breakpoint. */
@@ -208,11 +206,10 @@ bpfinishpy_init (PyObject *self, PyObject *args, PyObject *kwargs)
frame_id = get_frame_id (prev_frame);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return -1;
- }
+ })
if (PyErr_Occurred ())
return -1;
@@ -267,11 +264,10 @@ bpfinishpy_init (PyObject *self, PyObject *args, PyObject *kwargs)
}
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
/* Just swallow. Either the return type or the function value
remain NULL. */
- }
+ })
if (self_bpfinish->func_symbol == nullptr
|| self_bpfinish->function_value == nullptr)
@@ -303,10 +299,9 @@ bpfinishpy_init (PyObject *self, PyObject *args, PyObject *kwargs)
&code_breakpoint_ops,
0, 1, internal_bp, 0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_SET_HANDLE_EXCEPTION (except);
- }
+ })
self_bpfinish->py_bp.bp->frame_id = frame_id;
self_bpfinish->py_bp.is_finish_bp = 1;
@@ -365,11 +360,10 @@ bpfinishpy_detect_out_scope_cb (struct breakpoint *b,
|| frame_find_by_id (b->frame_id) == NULL))
bpfinishpy_out_of_scope (finish_bp);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
gdbpy_print_stack ();
- }
+ })
}
}
}
@@ -96,10 +96,9 @@ frapy_is_valid (PyObject *self, PyObject *args)
{
frame = frame_object_to_frame_info (self);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (frame == NULL)
Py_RETURN_FALSE;
@@ -124,10 +123,9 @@ frapy_name (PyObject *self, PyObject *args)
name = find_frame_funname (frame, &lang, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (name)
{
@@ -158,10 +156,9 @@ frapy_type (PyObject *self, PyObject *args)
type = get_frame_type (frame);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return gdb_py_object_from_longest (type).release ();
}
@@ -179,10 +176,9 @@ frapy_arch (PyObject *self, PyObject *args)
{
FRAPY_REQUIRE_VALID (self, frame);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return gdbarch_to_arch_object (obj->gdbarch);
}
@@ -200,10 +196,9 @@ frapy_unwind_stop_reason (PyObject *self, PyObject *args)
{
FRAPY_REQUIRE_VALID (self, frame);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
stop_reason = get_frame_unwind_stop_reason (frame);
@@ -225,10 +220,9 @@ frapy_pc (PyObject *self, PyObject *args)
pc = get_frame_pc (frame);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return gdb_py_object_from_ulongest (pc).release ();
}
@@ -261,10 +255,9 @@ frapy_read_register (PyObject *self, PyObject *args)
if (val == NULL)
PyErr_SetString (PyExc_ValueError, _("Can't read register."));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return val == NULL ? NULL : value_to_value_object (val);
}
@@ -283,10 +276,9 @@ frapy_block (PyObject *self, PyObject *args)
FRAPY_REQUIRE_VALID (self, frame);
block = get_frame_block (frame, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
for (fn_block = block;
fn_block != NULL && fn_block->function () == NULL;
@@ -328,10 +320,9 @@ frapy_function (PyObject *self, PyObject *args)
gdb::unique_xmalloc_ptr<char> funname
= find_frame_funname (frame, &funlang, &sym);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (sym)
return symbol_to_symbol_object (sym);
@@ -370,11 +361,10 @@ frame_info_to_frame_object (frame_info_ptr frame)
}
frame_obj->gdbarch = get_frame_arch (frame);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return NULL;
- }
+ })
return (PyObject *) frame_obj.release ();
}
@@ -395,10 +385,9 @@ frapy_older (PyObject *self, PyObject *args)
prev = get_prev_frame (frame);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (prev)
prev_obj = frame_info_to_frame_object (prev);
@@ -427,10 +416,9 @@ frapy_newer (PyObject *self, PyObject *args)
next = get_next_frame (frame);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (next)
next_obj = frame_info_to_frame_object (next);
@@ -459,10 +447,9 @@ frapy_find_sal (PyObject *self, PyObject *args)
symtab_and_line sal = find_frame_sal (frame);
sal_obj = symtab_and_line_to_sal_object (sal);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return sal_obj;
}
@@ -518,11 +505,10 @@ frapy_read_var (PyObject *self, PyObject *args)
var = lookup_sym.symbol;
block = lookup_sym.block;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return NULL;
- }
+ })
if (!var)
{
@@ -545,10 +531,9 @@ frapy_read_var (PyObject *self, PyObject *args)
val = read_var_value (var, block, frame);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return value_to_value_object (val);
}
@@ -566,10 +551,9 @@ frapy_select (PyObject *self, PyObject *args)
select_frame (fi);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -587,10 +571,9 @@ frapy_level (PyObject *self, PyObject *args)
return gdb_py_object_from_longest (frame_relative_level (fi)).release ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -610,10 +593,9 @@ frapy_language (PyObject *self, PyObject *args)
return host_string_to_python_string (lang_def->name ()).release ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -630,10 +612,9 @@ gdbpy_newest_frame (PyObject *self, PyObject *args)
{
frame = get_current_frame ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return frame_info_to_frame_object (frame);
}
@@ -650,10 +631,9 @@ gdbpy_selected_frame (PyObject *self, PyObject *args)
{
frame = get_selected_frame ("No frame is currently selected.");
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return frame_info_to_frame_object (frame);
}
@@ -1147,11 +1147,10 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
{
gdbarch = get_frame_arch (frame);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
/* Let gdb try to print the stack trace. */
return EXT_LANG_BT_NO_FILTERS;
- }
+ })
gdbpy_enter enter_py (gdbarch);
@@ -1232,11 +1231,10 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
success = py_print_frame (item.get (), flags, args_type, out, 0,
levels_printed.get ());
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
gdbpy_convert_exception (except);
success = EXT_LANG_BT_ERROR;
- }
+ })
/* Do not exit on error printing a single frame. Print the
error and continue with other frames. */
@@ -45,8 +45,7 @@ gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout,
p = command_line_input (prompt, "python");
}
/* Handle errors by raising Python exceptions. */
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
/* Detect user interrupt (Ctrl-C). */
if (except.reason == RETURN_QUIT)
return NULL;
@@ -59,7 +58,7 @@ gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout,
gdbpy_convert_exception (except);
PyEval_SaveThread ();
return NULL;
- }
+ })
/* Detect EOF (Ctrl-D). */
if (p == NULL)
@@ -427,10 +427,9 @@ infpy_threads (PyObject *self, PyObject *args)
{
update_thread_list ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
tuple = PyTuple_New (inf_obj->nthreads);
if (!tuple)
@@ -575,10 +574,9 @@ infpy_read_memory (PyObject *self, PyObject *args, PyObject *kw)
read_memory (addr, buffer.get (), length);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return gdbpy_buffer_to_membuf (std::move (buffer), addr, length);
@@ -766,10 +764,9 @@ infpy_thread_from_thread_handle (PyObject *self, PyObject *args, PyObject *kw)
if (thread_info != NULL)
return thread_to_thread_object (thread_info).release ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -94,10 +94,9 @@ thpy_get_details (PyObject *self, void *ignore)
{
extra_info = target_extra_thread_info (thread_obj->thread);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (extra_info == nullptr)
Py_RETURN_NONE;
@@ -212,10 +211,9 @@ thpy_switch (PyObject *self, PyObject *args)
{
switch_to_thread (thread_obj->thread);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -297,10 +295,9 @@ thpy_thread_handle (PyObject *self, PyObject *args)
{
hv = target_thread_info_to_thread_handle (thread_obj->thread);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (hv.size () == 0)
{
@@ -142,10 +142,9 @@ stpy_convert_to_value (PyObject *self, PyObject *args)
break;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return value_to_value_object (val);
}
@@ -168,10 +168,9 @@ ltpy_get_pcs_for_line (PyObject *self, PyObject *args)
{
pcs = find_pcs_for_symtab_line (symtab, py_line, &best_entry);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return build_line_table_tuple_from_pcs (py_line, pcs);
}
@@ -160,10 +160,9 @@ objfpy_get_build_id (PyObject *self, void *closure)
{
build_id = build_id_bfd_get (objfile->obfd.get ());
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (build_id != NULL)
{
@@ -451,10 +450,9 @@ objfpy_add_separate_debug_file (PyObject *self, PyObject *args, PyObject *kw)
symbol_file_add_separate (abfd, file_name, 0, obj->objfile);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -485,10 +483,9 @@ objfpy_lookup_global_symbol (PyObject *self, PyObject *args, PyObject *kw)
return symbol_to_symbol_object (sym);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -519,10 +516,9 @@ objfpy_lookup_static_symbol (PyObject *self, PyObject *args, PyObject *kw)
return symbol_to_symbol_object (sym);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -810,12 +810,11 @@ parmpy_init (PyObject *self, PyObject *args, PyObject *kwds)
set_doc.get (), show_doc.get (),
doc.get (), set_list, show_list);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
Py_DECREF (self);
gdbpy_convert_exception (except);
return -1;
- }
+ })
return 0;
}
@@ -217,9 +217,7 @@ pretty_print_one_value (PyObject *printer, struct value **out_value)
}
}
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
return result;
}
@@ -665,10 +663,9 @@ gdbpy_get_varobj_pretty_printer (struct value *value)
{
value = value_copy (value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
gdbpy_ref<> val_obj (value_to_value_object (value));
if (val_obj == NULL)
@@ -420,10 +420,9 @@ pspy_block_for_pc (PyObject *o, PyObject *args)
if (cust != NULL && cust->objfile () != NULL)
block = block_for_pc (pc);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (cust == NULL || cust->objfile () == NULL)
Py_RETURN_NONE;
@@ -462,10 +461,9 @@ pspy_find_pc_line (PyObject *o, PyObject *args)
sal = find_pc_line (pc, 0);
result = symtab_and_line_to_sal_object (sal);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -203,10 +203,9 @@ recpy_bt_insn_sal (PyObject *self, void *closure)
{
result = symtab_and_line_to_sal_object (find_pc_line (insn->pc, 0));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -274,10 +273,9 @@ recpy_bt_insn_data (PyObject *self, void *closure)
buffer.resize (insn->size);
read_memory (insn->pc, buffer.data (), insn->size);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
object = PyBytes_FromStringAndSize ((const char *) buffer.data (),
insn->size);
@@ -304,11 +302,10 @@ recpy_bt_insn_decoded (PyObject *self, void *closure)
{
gdb_print_insn (target_gdbarch (), insn->pc, &strfile, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return NULL;
- }
+ })
return PyBytes_FromString (strfile.string ().c_str ());
@@ -783,10 +780,9 @@ recpy_bt_goto (PyObject *self, PyObject *args)
else
target_goto_record (obj->number);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -607,10 +607,9 @@ gdbpy_start_recording (PyObject *self, PyObject *args)
record_start (method, format, 0);
ret = gdbpy_current_recording (self, args);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
- }
+ })
return ret;
}
@@ -641,10 +640,9 @@ gdbpy_stop_recording (PyObject *self, PyObject *args)
{
record_stop (0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -220,10 +220,9 @@ sympy_needs_frame (PyObject *self, void *closure)
{
result = symbol_read_needs_frame (symbol);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (result)
Py_RETURN_TRUE;
@@ -303,10 +302,9 @@ sympy_value (PyObject *self, PyObject *args)
can happen with nested functions). */
value = read_var_value (symbol, NULL, frame_info);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return value_to_value_object (value);
}
@@ -408,10 +406,9 @@ gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw)
selected_frame = get_selected_frame (_("No frame selected."));
block = get_frame_block (selected_frame, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
}
try
@@ -419,10 +416,9 @@ gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw)
symbol = lookup_symbol (name, block, (domain_enum) domain,
&is_a_field_of_this).symbol;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
gdbpy_ref<> ret_tuple (PyTuple_New (2));
if (ret_tuple == NULL)
@@ -467,10 +463,9 @@ gdbpy_lookup_global_symbol (PyObject *self, PyObject *args, PyObject *kw)
{
symbol = lookup_global_symbol (name, NULL, (domain_enum) domain).symbol;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (symbol)
{
@@ -515,10 +510,9 @@ gdbpy_lookup_static_symbol (PyObject *self, PyObject *args, PyObject *kw)
= get_selected_frame (_("No frame selected."));
block = get_frame_block (selected_frame, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
/* Nothing. */
- }
+ })
try
{
@@ -530,10 +524,9 @@ gdbpy_lookup_static_symbol (PyObject *self, PyObject *args, PyObject *kw)
if (symbol == nullptr)
symbol = lookup_static_symbol (name, (domain_enum) domain).symbol;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (symbol)
{
@@ -603,10 +596,9 @@ gdbpy_lookup_static_symbols (PyObject *self, PyObject *args, PyObject *kw)
}
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return return_list.release ();
}
@@ -366,11 +366,10 @@ gdbpy_register_tui_window (PyObject *self, PyObject *args, PyObject *kw)
gdbpy_tui_window_maker constr (gdbpy_ref<>::new_reference (cons_obj));
tui_register_window (name, constr);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return nullptr;
- }
+ })
Py_RETURN_NONE;
}
@@ -314,10 +314,9 @@ typy_fields_items (PyObject *self, enum gdbpy_iter_kind kind)
{
checked_type = check_typedef (checked_type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
gdbpy_ref<> type_holder;
if (checked_type != type)
@@ -475,10 +474,9 @@ typy_strip_typedefs (PyObject *self, PyObject *args)
{
type = check_typedef (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return type_to_type_object (type);
}
@@ -496,10 +494,9 @@ typy_get_composite (struct type *type)
{
type = check_typedef (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (!type->is_pointer_or_reference ())
break;
@@ -566,10 +563,9 @@ typy_array_1 (PyObject *self, PyObject *args, int is_vector)
if (is_vector)
make_vector_type (array);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return type_to_type_object (array);
}
@@ -600,10 +596,9 @@ typy_pointer (PyObject *self, PyObject *args)
{
type = lookup_pointer_type (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return type_to_type_object (type);
}
@@ -672,10 +667,9 @@ typy_reference (PyObject *self, PyObject *args)
{
type = lookup_lvalue_reference_type (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return type_to_type_object (type);
}
@@ -706,10 +700,9 @@ typy_const (PyObject *self, PyObject *args)
{
type = make_cv_type (1, 0, type, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return type_to_type_object (type);
}
@@ -724,10 +717,9 @@ typy_volatile (PyObject *self, PyObject *args)
{
type = make_cv_type (0, 1, type, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return type_to_type_object (type);
}
@@ -742,10 +734,9 @@ typy_unqualified (PyObject *self, PyObject *args)
{
type = make_cv_type (0, 0, type, NULL);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return type_to_type_object (type);
}
@@ -763,9 +754,7 @@ typy_get_sizeof (PyObject *self, void *closure)
size_varies = TYPE_HAS_DYNAMIC_LENGTH (type);
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
/* Ignore exceptions. */
@@ -785,10 +774,9 @@ typy_get_alignof (PyObject *self, void *closure)
{
align = type_align (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
align = 0;
- }
+ })
/* Ignore exceptions. */
@@ -806,10 +794,9 @@ typy_get_dynamic (PyObject *self, void *closure)
{
result = is_dynamic_type (type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
/* Ignore exceptions. */
- }
+ })
if (result)
Py_RETURN_TRUE;
@@ -833,10 +820,9 @@ typy_lookup_typename (const char *type_name, const struct block *block)
type = lookup_typename (current_language,
type_name, block, 0);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return type;
}
@@ -887,10 +873,9 @@ typy_lookup_type (struct demangle_component *demangled,
break;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
}
/* If we have a type from the switch statement above, just return
@@ -929,10 +914,9 @@ typy_legacy_template_argument (struct type *type, const struct block *block,
/* Note -- this is not thread-safe. */
info = cp_demangled_name_to_comp (type->name (), &err);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (! info)
{
@@ -1009,10 +993,9 @@ typy_template_argument (PyObject *self, PyObject *args)
if (TYPE_IS_REFERENCE (type))
type = check_typedef (type->target_type ());
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
/* We might not have DW_TAG_template_*, so try to parse the type's
name. This is inefficient if we do not have a template type --
@@ -1041,10 +1024,9 @@ typy_template_argument (PyObject *self, PyObject *args)
{
val = value_of_variable (sym, block);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return value_to_value_object (val);
}
@@ -1060,10 +1042,9 @@ typy_str (PyObject *self)
&thetype, -1, 0,
&type_print_raw_options);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return PyUnicode_Decode (thetype.c_str (), thetype.size (),
host_charset (), NULL);
@@ -1094,12 +1075,11 @@ typy_richcompare (PyObject *self, PyObject *other, int op)
{
result = types_deeply_equal (type1, type2);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
/* If there is a GDB exception, a comparison is not capable
(or trusted), so exit. */
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
}
if (op == (result ? Py_EQ : Py_NE))
@@ -135,10 +135,9 @@ pyuw_value_obj_to_pointer (PyObject *pyo_value, CORE_ADDR *addr)
rc = 1;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
- }
+ })
return rc;
}
@@ -199,10 +198,9 @@ unwind_infopy_str (PyObject *self)
value_print (value, &stb, &opts);
stb.puts (")");
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
}
else
stb.puts ("<BAD>)");
@@ -350,10 +348,9 @@ pending_framepy_str (PyObject *self)
sp_str = core_addr_to_string_nz (get_frame_sp (frame));
pc_str = core_addr_to_string_nz (get_frame_pc (frame));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return PyUnicode_FromFormat ("SP=%s,PC=%s", sp_str, pc_str);
}
@@ -393,10 +390,9 @@ pending_framepy_read_register (PyObject *self, PyObject *args)
"Cannot read register %d from frame.",
regnum);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return val == NULL ? NULL : value_to_value_object (val);
}
@@ -242,10 +242,9 @@ get_addr_from_python (PyObject *obj, CORE_ADDR *addr)
{
*addr = value_as_address (value_object_to_value (obj));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_SET_HANDLE_EXCEPTION (except);
- }
+ })
}
else
{
@@ -245,10 +245,9 @@ valpy_dereference (PyObject *self, PyObject *args)
res_val = value_ind (((value_object *) self)->value);
result = value_to_value_object (res_val);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -288,10 +287,9 @@ valpy_referenced_value (PyObject *self, PyObject *args)
result = value_to_value_object (res_val);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -311,10 +309,9 @@ valpy_reference_value (PyObject *self, PyObject *args, enum type_code refcode)
self_val = ((value_object *) self)->value;
result = value_to_value_object (value_ref (self_val, refcode));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -347,10 +344,9 @@ valpy_const_value (PyObject *self, PyObject *args)
res_val = make_cv_value (1, 0, self_val);
result = value_to_value_object (res_val);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -371,11 +367,10 @@ valpy_get_address (PyObject *self, void *closure)
res_val = value_addr (val_obj->value);
val_obj->address = value_to_value_object (res_val);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
val_obj->address = Py_None;
Py_INCREF (Py_None);
- }
+ })
}
Py_XINCREF (val_obj->address);
@@ -449,10 +444,9 @@ valpy_get_dynamic_type (PyObject *self, void *closure)
type = NULL;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (type == NULL)
obj->dynamic_type = valpy_get_type (self, NULL);
@@ -555,10 +549,9 @@ valpy_lazy_string (PyObject *self, PyObject *args, PyObject *kw)
str_obj = gdbpy_create_lazy_string_object (addr, length, user_encoding,
type);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return str_obj;
}
@@ -590,10 +583,9 @@ valpy_string (PyObject *self, PyObject *args, PyObject *kw)
{
c_get_string (value, &buffer, &length, &char_type, &la_encoding);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
encoding = (user_encoding && *user_encoding) ? user_encoding : la_encoding;
return PyUnicode_Decode ((const char *) buffer.get (),
@@ -772,10 +764,9 @@ valpy_format_string (PyObject *self, PyObject *args, PyObject *kw)
common_val_print (((value_object *) self)->value, &stb, 0,
&opts, current_language);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return PyUnicode_Decode (stb.c_str (), stb.size (), host_charset (), NULL);
}
@@ -817,10 +808,9 @@ valpy_do_cast (PyObject *self, PyObject *args, enum exp_opcode op)
result = value_to_value_object (res_val);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -895,10 +885,9 @@ value_has_field (struct value *v, PyObject *field)
else
has_field = 0;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_SET_HANDLE_EXCEPTION (except);
- }
+ })
return has_field;
}
@@ -1106,10 +1095,9 @@ valpy_call (PyObject *self, PyObject *args, PyObject *keywords)
{
ftype = check_typedef (value_type (function));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (ftype->code () != TYPE_CODE_FUNC)
{
@@ -1153,10 +1141,9 @@ valpy_call (PyObject *self, PyObject *args, PyObject *keywords)
gdb::make_array_view (vargs, args_count));
result = value_to_value_object (return_value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -1178,10 +1165,9 @@ valpy_str (PyObject *self)
common_val_print (((value_object *) self)->value, &stb, 0,
&opts, current_language);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return PyUnicode_Decode (stb.c_str (), stb.size (), host_charset (), NULL);
}
@@ -1197,10 +1183,9 @@ valpy_get_is_optimized_out (PyObject *self, void *closure)
{
opt = value_optimized_out (value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (opt)
Py_RETURN_TRUE;
@@ -1219,10 +1204,9 @@ valpy_get_is_lazy (PyObject *self, void *closure)
{
opt = value_lazy (value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (opt)
Py_RETURN_TRUE;
@@ -1241,10 +1225,9 @@ valpy_fetch_lazy (PyObject *self, PyObject *args)
if (value_lazy (value))
value_fetch_lazy (value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -1412,10 +1395,9 @@ valpy_binop (enum valpy_opcode opcode, PyObject *self, PyObject *other)
{
result = valpy_binop_throw (opcode, self, other);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -1480,10 +1462,9 @@ valpy_negative (PyObject *self)
val = value_neg (((value_object *) self)->value);
result = value_to_value_object (val);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return result;
}
@@ -1507,10 +1488,9 @@ valpy_absolute (PyObject *self)
if (value_less (value, value_zero (value_type (value), not_lval)))
isabs = 0;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (isabs)
return valpy_positive (self);
@@ -1563,10 +1543,9 @@ valpy_invert (PyObject *self)
{
val = value_complement (((value_object *) self)->value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return value_to_value_object (val);
}
@@ -1690,10 +1669,9 @@ valpy_richcompare (PyObject *self, PyObject *other, int op)
{
result = valpy_richcompare_throw (self, other, op);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
/* In this case, the Python exception has already been set. */
if (result < 0)
@@ -1729,10 +1707,9 @@ valpy_long (PyObject *self)
l = value_as_long (value);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (type->is_unsigned ())
return gdb_py_object_from_ulongest (l).release ();
@@ -1764,10 +1741,9 @@ valpy_float (PyObject *self)
else
error (_("Cannot convert value to float."));
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return PyFloat_FromDouble (d);
}
@@ -1910,11 +1886,10 @@ convert_value_from_python (PyObject *obj)
PyErr_Format (PyExc_TypeError,
_("Could not convert Python object: %S."), obj);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
gdbpy_convert_exception (except);
return NULL;
- }
+ })
return value;
}
@@ -1933,10 +1908,9 @@ gdbpy_history (PyObject *self, PyObject *args)
{
res_val = access_value_history (i);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return value_to_value_object (res_val);
}
@@ -1960,10 +1934,9 @@ gdbpy_add_history (PyObject *self, PyObject *args)
int idx = record_latest_value (value);
return gdb_py_object_from_longest (idx).release ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return nullptr;
}
@@ -1997,10 +1970,9 @@ gdbpy_convenience_variable (PyObject *self, PyObject *args)
res_val = NULL;
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (res_val == NULL)
Py_RETURN_NONE;
@@ -2043,10 +2015,9 @@ gdbpy_set_convenience_variable (PyObject *self, PyObject *args)
set_internalvar (var, value);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -551,10 +551,9 @@ gdbpy_parameter (PyObject *self, PyObject *args)
{
found = lookup_cmd_composition (newarg.c_str (), &alias, &prefix, &cmd);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
GDB_PY_HANDLE_EXCEPTION (ex);
- }
+ })
if (!found)
return PyErr_Format (PyExc_RuntimeError,
@@ -675,8 +674,7 @@ execute_gdb_command (PyObject *self, PyObject *args, PyObject *kw)
/* Do any commands attached to breakpoint we stopped at. */
bpstat_do_actions ();
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
/* If an exception occurred then we won't hit normal_stop (), or have
an exception reach the top level of the event loop, which are the
two usual places in which stdin would be re-enabled. So, before we
@@ -684,7 +682,7 @@ execute_gdb_command (PyObject *self, PyObject *args, PyObject *kw)
re-enable stdin here. */
async_enable_stdin ();
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
if (to_string)
return PyUnicode_FromString (to_string_res.c_str ());
@@ -903,12 +901,11 @@ gdbpy_decode_line (PyObject *self, PyObject *args)
sals = def_sal;
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* We know this will always throw. */
gdbpy_convert_exception (ex);
return NULL;
- }
+ })
if (!sals.empty ())
{
@@ -961,10 +958,9 @@ gdbpy_parse_and_eval (PyObject *self, PyObject *args)
gdbpy_allow_threads allow_threads;
result = parse_and_eval (expr_str);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
return value_to_value_object (result);
}
@@ -1427,10 +1423,9 @@ gdbpy_write (PyObject *self, PyObject *args, PyObject *kw)
gdb_printf (gdb_stdout, "%s", arg);
}
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
GDB_PY_HANDLE_EXCEPTION (except);
- }
+ })
Py_RETURN_NONE;
}
@@ -1500,9 +1495,7 @@ gdbpy_print_stack (void)
{
begin_line ();
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
}
/* Print "message", just error print message. */
else
@@ -1531,9 +1524,7 @@ gdbpy_print_stack (void)
gdb_printf (gdb_stderr, "Python Exception %s: %s\n",
type.get (), msg.get ());
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
}
}
@@ -2217,13 +2208,12 @@ test_python ()
{
CMD (output);
}
- catch (const gdb_exception &e)
- {
+ CATCH_ERROR_QUIT (e, {
saw_exception = true;
SELF_CHECK (e.reason == RETURN_ERROR);
SELF_CHECK (e.error == GENERIC_ERROR);
SELF_CHECK (*e.message == "Python not initialized");
- }
+ })
SELF_CHECK (saw_exception);
SELF_CHECK (output.empty ());
}
@@ -2237,13 +2227,12 @@ test_python ()
{
CMD (output);
}
- catch (const gdb_exception &e)
- {
+ CATCH_ERROR_QUIT (e, {
saw_exception = true;
SELF_CHECK (e.reason == RETURN_ERROR);
SELF_CHECK (e.error == GENERIC_ERROR);
SELF_CHECK (*e.message == "Error while executing Python code.");
- }
+ })
SELF_CHECK (saw_exception);
std::string ref_output_0 ("Traceback (most recent call last):\n"
" File \"<string>\", line 0, in <module>\n"
@@ -293,10 +293,9 @@ record_btrace_on_new_thread (struct thread_info *tp)
{
btrace_enable (tp, &record_btrace_conf);
}
- catch (const gdb_exception_error &error)
- {
+ CATCH_ERROR (error, {
warning ("%s", error.what ());
- }
+ })
}
/* Enable automatic tracing of new threads. */
@@ -1493,11 +1492,10 @@ record_btrace_target::insert_breakpoint (struct gdbarch *gdbarch,
{
ret = this->beneath ()->insert_breakpoint (gdbarch, bp_tgt);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
replay_memory_access = old;
throw;
- }
+ })
replay_memory_access = old;
return ret;
@@ -1523,11 +1521,10 @@ record_btrace_target::remove_breakpoint (struct gdbarch *gdbarch,
{
ret = this->beneath ()->remove_breakpoint (gdbarch, bp_tgt, reason);
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
replay_memory_access = old;
throw;
- }
+ })
replay_memory_access = old;
return ret;
@@ -2067,15 +2064,14 @@ record_btrace_start_replaying (struct thread_info *tp)
if (upd_step_stack_frame_id)
tp->control.step_stack_frame_id = frame_id;
}
- catch (const gdb_exception &except)
- {
+ CATCH_ERROR_QUIT (except, {
xfree (btinfo->replay);
btinfo->replay = NULL;
registers_changed_thread (tp);
throw;
- }
+ })
return replay;
}
@@ -2890,11 +2886,10 @@ cmd_record_btrace_bts_start (const char *args, int from_tty)
{
execute_command ("target record-btrace", from_tty);
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
record_btrace_conf.format = BTRACE_FORMAT_NONE;
throw;
- }
+ })
}
/* Start recording in Intel Processor Trace format. */
@@ -2911,11 +2906,10 @@ cmd_record_btrace_pt_start (const char *args, int from_tty)
{
execute_command ("target record-btrace", from_tty);
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
record_btrace_conf.format = BTRACE_FORMAT_NONE;
throw;
- }
+ })
}
/* Alias for "target record". */
@@ -2932,20 +2926,18 @@ cmd_record_btrace_start (const char *args, int from_tty)
{
execute_command ("target record-btrace", from_tty);
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
record_btrace_conf.format = BTRACE_FORMAT_BTS;
try
{
execute_command ("target record-btrace", from_tty);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
record_btrace_conf.format = BTRACE_FORMAT_NONE;
throw;
- }
- }
+ })
+ })
}
/* The "show record btrace replay-memory-access" command. */
@@ -760,11 +760,10 @@ record_full_message (struct regcache *regcache, enum gdb_signal signal)
if (ret < 0)
error (_("Process record: failed to record execution log."));
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
record_full_list_release (record_full_arch_list_tail);
throw;
- }
+ })
record_full_list->next = record_full_arch_list_head;
record_full_arch_list_head->prev = record_full_list;
@@ -784,11 +783,10 @@ record_full_message_wrapper_safe (struct regcache *regcache,
{
record_full_message (regcache, signal);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
return false;
- }
+ })
return true;
}
@@ -1429,8 +1427,7 @@ record_full_wait_1 (struct target_ops *ops,
status->set_stopped (GDB_SIGNAL_TRAP);
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
if (execution_direction == EXEC_REVERSE)
{
if (record_full_list->next)
@@ -1440,7 +1437,7 @@ record_full_wait_1 (struct target_ops *ops,
record_full_list = record_full_list->prev;
throw;
- }
+ })
}
signal (SIGINT, handle_sigint);
@@ -2456,11 +2453,10 @@ record_full_restore (void)
record_full_arch_list_add (rec);
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
record_full_list_release (record_full_arch_list_tail);
throw;
- }
+ })
/* Add record_full_arch_list_head to the end of record list. */
record_full_first.next = record_full_arch_list_head;
@@ -1349,10 +1349,9 @@ regcache_read_pc_protected (regcache *regcache)
{
pc = regcache_read_pc (regcache);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
pc = 0;
- }
+ })
return pc;
}
@@ -1191,13 +1191,12 @@ remote_fileio_request (remote_target *remote, char *buf, int ctrlc_pending_p)
{
do_remote_fileio_request (remote, buf);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
if (ex.reason == RETURN_QUIT)
remote_fileio_reply (remote, -1, FILEIO_EINTR);
else
remote_fileio_reply (remote, -1, FILEIO_EIO);
- }
+ })
}
quit_handler = remote_fileio_o_quit_handler;
@@ -1280,8 +1280,7 @@ remote_target::remote_get_noisy_reply ()
gdbarch_relocate_instruction (target_gdbarch (), &to, from);
relocated = 1;
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
if (ex.error == MEMORY_ERROR)
{
/* Propagate memory errors silently back to the
@@ -1298,7 +1297,7 @@ remote_target::remote_get_noisy_reply ()
_("warning: relocating instruction: "));
}
putpkt ("E01");
- }
+ })
if (relocated)
{
@@ -5868,14 +5867,13 @@ remote_target::open_1 (const char *name, int from_tty, int extended_p)
{
remote->start_remote (from_tty, extended_p);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* Pop the partially set up target - unless something else did
already before throwing the exception. */
if (ex.error != TARGET_CLOSE_ERROR)
remote_unpush_target (remote);
throw;
- }
+ })
}
remote_btrace_reset (rs);
@@ -10178,8 +10176,7 @@ remote_target::remote_kill_k ()
{
putpkt ("k");
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error == TARGET_CLOSE_ERROR)
{
/* If we got an (EOF) error that caused the target
@@ -10195,7 +10192,7 @@ remote_target::remote_kill_k ()
the target. Just propagate the exception, and let the
user or higher layers decide what to do. */
throw;
- }
+ })
}
void
@@ -13508,15 +13505,14 @@ remote_target::get_trace_status (struct trace_status *ts)
{
p = remote_get_noisy_reply ();
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != TARGET_CLOSE_ERROR)
{
exception_fprintf (gdb_stderr, ex, "qTStatus: ");
return -1;
}
throw;
- }
+ })
result = packet_ok (p, &remote_protocol_packets[PACKET_qTStatus]);
@@ -14169,11 +14165,10 @@ remote_target::enable_btrace (thread_info *tp,
{
btrace_read_config (tp, &tinfo->conf);
}
- catch (const gdb_exception_error &err)
- {
+ CATCH_ERROR (err, {
if (err.message != NULL)
warning ("%s", err.what ());
- }
+ })
return tinfo;
}
@@ -1119,13 +1119,12 @@ riscv_print_one_register_info (struct gdbarch *gdbarch,
val = value_of_register (regnum, frame);
regtype = value_type (val);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* Handle failure to read a register without interrupting the entire
'info registers' flow. */
gdb_printf (file, "%s\n", ex.what ());
return;
- }
+ })
print_raw_format = (value_entirely_available (val)
&& !value_optimized_out (val));
@@ -3506,11 +3505,10 @@ riscv_frame_this_id (frame_info_ptr this_frame,
cache = riscv_frame_cache (this_frame, prologue_cache);
*this_id = cache->this_id;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* Ignore errors, this leaves the frame id as the predefined outer
frame id which terminates the backtrace at this point. */
- }
+ })
}
/* Implement the prev_register callback for RiscV frame unwinder. */
@@ -679,13 +679,12 @@ rs6000_convert_from_func_ptr_addr (struct gdbarch *gdbarch,
{
pc = read_memory_unsigned_integer (addr, tdep->wordsize, byte_order);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* An error occured during reading. Probably a memory error
due to the section not being loaded yet. This address
cannot be a function descriptor. */
return addr;
- }
+ })
pc_section = find_pc_section (pc);
@@ -3587,12 +3587,11 @@ rs6000_frame_cache (frame_info_ptr this_frame, void **this_cache)
cache->base = get_frame_register_unsigned
(this_frame, gdbarch_sp_regnum (gdbarch));
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
return (struct rs6000_frame_cache *) (*this_cache);
- }
+ })
/* If the function appears to be frameless, check a couple of likely
indicators that we have simply failed to find the frame setup.
@@ -3816,11 +3815,10 @@ rs6000_epilogue_frame_cache (frame_info_ptr this_frame, void **this_cache)
cache->saved_regs[gdbarch_pc_regnum (gdbarch)].set_value (lr);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
return cache;
}
@@ -1460,12 +1460,11 @@ rust_structop::evaluate (struct type *expect_type,
result = value_struct_elt (&lhs, {}, field_name,
NULL, "structure");
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
error (_("Could not find field %s of struct variant %s::%s"),
field_name, outer_type->name (),
rust_last_path_segment (type->name ()));
- }
+ })
}
else
result = value_struct_elt (&lhs, {}, field_name, NULL, "structure");
@@ -2123,8 +2123,7 @@ rust_language::parser (struct parser_state *state) const
{
result = parser.parse_entry_point ();
}
- catch (const gdb_exception &exc)
- {
+ CATCH_ERROR_QUIT (exc, {
if (state->parse_completion)
{
result = std::move (parser.completion_op);
@@ -2133,7 +2132,7 @@ rust_language::parser (struct parser_state *state) const
}
else
throw;
- }
+ })
state->set_operation (std::move (result));
@@ -2185,10 +2184,9 @@ rust_lex_exception_test (rust_parser *parser, const char *input,
rust_lex_test_one (parser, input, DECIMAL_INTEGER);
SELF_CHECK (0);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
SELF_CHECK (strcmp (except.what (), err) == 0);
- }
+ })
}
/* Test that INPUT lexes as the identifier, string, or byte-string
@@ -2594,11 +2594,10 @@ s390_frame_unwind_cache (frame_info_ptr this_frame,
if (!s390_prologue_frame_unwind_cache (this_frame, info))
s390_backchain_frame_unwind_cache (this_frame, info);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (ex.error != NOT_AVAILABLE_ERROR)
throw;
- }
+ })
return info;
}
@@ -725,9 +725,7 @@ enable_break (void)
{
tmp_bfd = solib_bfd_open (buf);
}
- catch (const gdb_exception &ex)
- {
- }
+ CATCH_ERROR_QUIT (ex, {})
if (tmp_bfd == NULL)
{
@@ -563,9 +563,7 @@ enable_break2 (void)
{
tmp_bfd = solib_bfd_open (buf);
}
- catch (const gdb_exception &ex)
- {
- }
+ CATCH_ERROR_QUIT (ex, {})
if (tmp_bfd == NULL)
{
@@ -776,10 +776,9 @@ solib_svr4_r_map (CORE_ADDR debug_base)
addr = read_memory_typed_address (debug_base + lmo->r_map_offset,
ptr_type);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
return addr;
}
@@ -815,10 +814,9 @@ solib_svr4_r_ldsomap (struct svr4_info *info)
= read_memory_unsigned_integer (info->debug_base + lmo->r_version_offset,
lmo->r_version_size, byte_order);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
if (version < 2 || lmo->r_ldsomap_offset == -1)
return 0;
@@ -843,10 +841,9 @@ solib_svr4_r_next (CORE_ADDR debug_base)
= read_memory_unsigned_integer (debug_base + lmo->r_version_offset,
lmo->r_version_size, byte_order);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
/* The r_next field is added with r_version == 2. */
if (version < 2 || lmo->r_next_offset == -1)
@@ -1809,11 +1806,10 @@ solib_event_probe_action (struct probe_and_action *pa)
{
probe_argc = pa->prob->get_argument_count (get_frame_arch (frame));
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
exception_print (gdb_stderr, ex);
probe_argc = 0;
- }
+ })
/* If get_argument_count throws an exception, probe_argc will be set
to zero. However, if pa->prob does not have arguments, then
@@ -2017,11 +2013,10 @@ svr4_handle_solib_event (void)
{
val = pa->prob->evaluate_argument (1, frame);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
exception_print (gdb_stderr, ex);
val = NULL;
- }
+ })
if (val == NULL)
return;
@@ -2069,11 +2064,10 @@ svr4_handle_solib_event (void)
{
val = pa->prob->evaluate_argument (2, frame);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
exception_print (gdb_stderr, ex);
return;
- }
+ })
if (val != NULL)
lm = value_as_address (val);
@@ -2226,13 +2220,12 @@ svr4_find_and_create_probe_breakpoints (svr4_info *info,
{
p->get_argument_count (gdbarch);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
exception_print (gdb_stderr, ex);
warning (_("Initializing probes-based dynamic linker interface "
"failed.\nReverting to original interface."));
return false;
- }
+ })
}
}
@@ -2415,9 +2408,7 @@ enable_break (struct svr4_info *info, int from_tty)
{
tmp_bfd = solib_bfd_open (interp_name);
}
- catch (const gdb_exception &ex)
- {
- }
+ CATCH_ERROR_QUIT (ex, {})
if (tmp_bfd == NULL)
goto bkpt_at_symbol;
@@ -739,12 +739,11 @@ solib_read_symbols (struct so_list *so, symfile_add_flags flags)
so->symbols_loaded = 1;
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
exception_fprintf (gdb_stderr, e, _("Error while reading shared"
" library symbols for %s:\n"),
so->so_name);
- }
+ })
return true;
}
@@ -789,12 +788,11 @@ update_solib_list (int from_tty)
{
ops->open_symbol_file_object (from_tty);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_fprintf (gdb_stderr, ex,
"Error reading attached "
"process's symbol file.\n");
- }
+ })
}
}
@@ -915,12 +913,11 @@ update_solib_list (int from_tty)
}
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
exception_fprintf (gdb_stderr, e,
_("Error while mapping shared "
"library sections:\n"));
- }
+ })
/* Notify any observer that the shared object has been
loaded now that we've added it to GDB's tables. */
@@ -1370,13 +1367,12 @@ reload_shared_libraries_1 (int from_tty)
solib_map_sections (so);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
exception_fprintf (gdb_stderr, e,
_("Error while mapping "
"shared library sections:\n"));
got_error = true;
- }
+ })
if (!got_error
&& (auto_solib_add || was_loaded || libpthread_solib_p (so)))
@@ -222,11 +222,10 @@ source_cache::ensure (struct symtab *s)
{
contents = get_plain_source_lines (s, fullname);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
/* If 's' is not found, an exception is thrown. */
return false;
- }
+ })
if (source_styling && gdb_stdout->can_emit_style_escape ())
{
@@ -139,10 +139,9 @@ sparc64_linux_report_signal_info (struct gdbarch *gdbarch, struct ui_out *uiout,
if (si_code >= SEGV_ACCADI && si_code <= SEGV_ADIPERR)
addr = parse_and_eval_long ("$_siginfo._sifields._sigfault.si_addr");
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
return;
- }
+ })
/* Print out ADI event based on sig_code value */
switch (si_code)
@@ -372,9 +372,7 @@ print_stack_frame (frame_info_ptr frame, int print_level,
if (set_current_sal)
set_current_sal_from_frame (frame);
}
- catch (const gdb_exception_error &e)
- {
- }
+ CATCH_ERROR (e, {})
}
/* Print nameless arguments of frame FRAME on STREAM, where START is
@@ -488,12 +486,11 @@ print_frame_arg (const frame_print_options &fp_opts,
common_val_print_checked (arg->val, &stb, 2, &vp_opts, language);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
stb.printf (_("<error reading variable: %s>"),
except.what ());
style = metadata_style.style ();
- }
+ })
}
}
@@ -516,10 +513,9 @@ read_frame_local (struct symbol *sym, frame_info_ptr frame,
{
argp->val = read_var_value (sym, NULL, frame);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
argp->error.reset (xstrdup (except.what ()));
- }
+ })
}
/* Read in inferior function parameter SYM at FRAME into ARGP. This
@@ -541,11 +537,10 @@ read_frame_arg (const frame_print_options &fp_opts,
{
val = read_var_value (sym, NULL, frame);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
val_error = (char *) alloca (except.message->size () + 1);
strcpy (val_error, except.what ());
- }
+ })
}
if (SYMBOL_COMPUTED_OPS (sym) != NULL
@@ -561,14 +556,13 @@ read_frame_arg (const frame_print_options &fp_opts,
ops = SYMBOL_COMPUTED_OPS (sym);
entryval = ops->read_variable_at_entry (sym, frame);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (except.error != NO_ENTRY_VALUE_ERROR)
{
entryval_error = (char *) alloca (except.message->size () + 1);
strcpy (entryval_error, except.what ());
}
- }
+ })
if (entryval != NULL && value_optimized_out (entryval))
entryval = NULL;
@@ -617,8 +611,7 @@ read_frame_arg (const frame_print_options &fp_opts,
type_deref->length ()))
val_equal = 1;
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
/* If the dereferenced content could not be
fetched do not display anything. */
if (except.error == NO_ENTRY_VALUE_ERROR)
@@ -629,7 +622,7 @@ read_frame_arg (const frame_print_options &fp_opts,
= (char *) alloca (except.message->size () + 1);
strcpy (entryval_error, except.what ());
}
- }
+ })
/* Value was not a reference; and its content matches. */
if (val == val_deref)
@@ -665,11 +658,10 @@ read_frame_arg (const frame_print_options &fp_opts,
{
val = read_var_value (sym, NULL, frame);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
val_error = (char *) alloca (except.message->size () + 1);
strcpy (val_error, except.what ());
- }
+ })
}
if (fp_opts.print_entry_values == print_entry_values_only
|| fp_opts.print_entry_values == print_entry_values_both
@@ -977,12 +969,11 @@ do_gdb_disassembly (struct gdbarch *gdbarch,
DISASSEMBLY_RAW_INSN, how_many,
low, high);
}
- catch (const gdb_exception_error &exception)
- {
+ CATCH_ERROR (exception, {
/* If an exception was thrown while doing the disassembly, print
the error message, to give the user a clue of what happened. */
exception_print (gdb_stderr, exception);
- }
+ })
}
/* Converts the PRINT_FRAME_INFO choice to an optional enum print_what.
@@ -1398,9 +1389,7 @@ print_frame (const frame_print_options &fp_opts,
{
print_frame_args (fp_opts, func, frame, numargs, gdb_stdout);
}
- catch (const gdb_exception_error &e)
- {
- }
+ CATCH_ERROR (e, {})
/* FIXME: ARGS must be a list. If one argument is a string it
will have " that will not be properly escaped. */
@@ -1592,8 +1581,7 @@ info_frame_command_core (frame_info_ptr fi, bool selected_frame_p)
caller_pc = frame_unwind_caller_pc (fi);
caller_pc_p = 1;
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
switch (ex.error)
{
case NOT_AVAILABLE_ERROR:
@@ -1608,7 +1596,7 @@ info_frame_command_core (frame_info_ptr fi, bool selected_frame_p)
ex.what ());
break;
}
- }
+ })
}
if (caller_pc_p)
@@ -3027,8 +3015,7 @@ frame_apply_command_count (const char *which_command,
gdb_printf ("%s", cmd_result.c_str ());
}
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
fi = get_selected_frame (_("frame apply "
"unable to get selected frame."));
if (!flags.silent)
@@ -3040,7 +3027,7 @@ frame_apply_command_count (const char *which_command,
else
throw;
}
- }
+ })
}
}
@@ -3081,12 +3068,11 @@ frame_apply_level_cmd_completer (struct cmd_list_element *ignore,
levels.skip_range ();
}
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* get_number throws if it parses a negative number, for
example. But a seemingly negative number may be the start of
an option instead. */
- }
+ })
const char *cmd = levels.cur_tok ();
@@ -197,10 +197,9 @@ add_vsyscall_page (inferior *inf)
name.c_str (),
0 /* from_tty */);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
}
}
@@ -313,11 +313,10 @@ dump_symtab_1 (struct symtab *symtab, struct ui_file *outfile)
{
print_symbol (gdbarch, sym, depth + 1, outfile);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
exception_fprintf (gdb_stderr, ex,
"Error printing symbol:\n");
- }
+ })
}
}
gdb_printf (outfile, "\n");
@@ -1318,8 +1318,7 @@ target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset)
}
/* If an error occurred, print TLS related messages here. Otherwise,
throw the error to some higher catcher. */
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
int objfile_is_library = (objfile->flags & OBJF_SHARED);
switch (ex.error)
@@ -1368,7 +1367,7 @@ target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset)
throw;
break;
}
- }
+ })
}
else
error (_("Cannot find thread-local variables on this target"));
@@ -1497,8 +1497,7 @@ thread_try_catch_cmd (thread_info *thr, gdb::optional<int> ada_task,
gdb_printf ("%s", cmd_result.c_str ());
}
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (!flags.silent)
{
if (!flags.quiet)
@@ -1508,7 +1507,7 @@ thread_try_catch_cmd (thread_info *thr, gdb::optional<int> ada_task,
else
throw;
}
- }
+ })
}
/* Option definition of "thread apply"'s "-ascending" option. */
@@ -1646,12 +1645,11 @@ thread_apply_command_completer (cmd_list_element *ignore,
parser.skip_range ();
}
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* get_tid_range throws if it parses a negative number, for
example. But a seemingly negative number may be the start of
an option instead. */
- }
+ })
const char *cmd = parser.cur_tok ();
@@ -1836,10 +1836,9 @@ quit_force (int *exit_arg, int from_tty)
for (inferior *inf : all_inferiors ())
kill_or_detach (inf, from_tty);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
/* Give all pushed targets a chance to do minimal cleanup, and pop
them all out. */
@@ -1850,10 +1849,9 @@ quit_force (int *exit_arg, int from_tty)
{
pop_all_targets ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
}
/* Save the history information if it is appropriate to do so. */
@@ -1878,10 +1876,9 @@ quit_force (int *exit_arg, int from_tty)
gdb_safe_append_history ();
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
/* Destroy any values currently allocated now instead of leaving it
to global destructors, because that may be too late. For
@@ -1894,10 +1891,9 @@ quit_force (int *exit_arg, int from_tty)
{
do_final_cleanups ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
exit (exit_code);
}
@@ -548,12 +548,11 @@ tfile_target_open (const char *arg, int from_tty)
if (trace_regblock_size == 0)
error (_("No register block size recorded in trace file"));
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* Remove the partially set up target. */
current_inferior ()->unpush_target (&tfile_ops);
throw;
- }
+ })
inferior_appeared (current_inferior (), TFILE_PID);
@@ -119,15 +119,14 @@ tui_disassemble (struct gdbarch *gdbarch,
{
pc = pc + gdb_print_insn (gdbarch, pc, &gdb_dis_out, NULL);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
/* If PC points to an invalid address then we'll catch a
MEMORY_ERROR here, this should stop the disassembly, but
otherwise is fine. */
if (except.error != MEMORY_ERROR)
throw;
return pc;
- }
+ })
/* Capture the disassembled instruction. */
tal.insn = gdb_dis_out.release ();
@@ -1264,8 +1264,7 @@ tui_getc (FILE *fp)
{
return tui_getc_1 (fp);
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
/* Just in case, don't ever let an exception escape to readline.
This shouldn't ever happen, but if it does, print the
exception instead of just crashing GDB. */
@@ -1274,5 +1273,5 @@ tui_getc (FILE *fp)
/* If we threw an exception, it's because we recognized the
character. */
return 0;
- }
+ })
}
@@ -122,13 +122,12 @@ tui_rl_switch_mode (int notused1, int notused2)
tui_enable ();
}
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
if (!tui_active)
rl_prep_terminal (0);
- }
+ })
/* Clear the readline in case switching occurred in middle of
something. */
@@ -408,9 +408,7 @@ type_to_string (struct type *type)
type_print (type, "", &stb, -1);
return stb.release ();
}
- catch (const gdb_exception &except)
- {
- }
+ CATCH_ERROR_QUIT (except, {})
return {};
}
@@ -83,13 +83,12 @@ test_number_or_range_parser ()
minus_one.get_number ();
SELF_CHECK (false);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
SELF_CHECK (ex.reason == RETURN_ERROR);
SELF_CHECK (ex.error == GENERIC_ERROR);
SELF_CHECK (strcmp (ex.what (), "negative value") == 0);
SELF_CHECK (strcmp (minus_one.cur_tok (), "-1") == 0);
- }
+ })
}
/* Test that a - followed by not a number does not give an error. */
@@ -73,13 +73,12 @@ do_test ()
gdb_tilde_expand ("~no_one_should_have_that_login/a");
SELF_CHECK (false);
}
- catch (const gdb_exception_error &e)
- {
+ CATCH_ERROR (e, {
SELF_CHECK (e.error == GENERIC_ERROR);
SELF_CHECK
(*e.message
== "Could not find a match for '~no_one_should_have_that_login'.");
- }
+ })
}
} /* namespace gdb_tilde_expand_tests */
@@ -93,13 +93,12 @@ check_as_integer_raises_out_of_range_error (const gdb_mpz &val)
{
val.as_integer<T> ();
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
SELF_CHECK (ex.reason == RETURN_ERROR);
SELF_CHECK (ex.error == GENERIC_ERROR);
SELF_CHECK (strstr (ex.what (), "Cannot export value") != nullptr);
return;
- }
+ })
/* The expected exception did not get raised. */
SELF_CHECK (false);
}
@@ -212,13 +212,12 @@ test_conn (const parse_conn_test &c)
{
ret = parse_connection_spec (c.connspec, &hint);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
/* If we caught an error, we should check if this connection
spec was supposed to fail. */
SELF_CHECK (c.should_fail);
return;
- }
+ })
SELF_CHECK (!c.should_fail);
SELF_CHECK (ret.host_str == c.expected_result.host_str);
@@ -3819,8 +3819,7 @@ value_rtti_indirect_type (struct value *v, int *full,
{
target = value_ind (v);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
if (except.error == MEMORY_ERROR)
{
/* value_ind threw a memory error. The pointer is NULL or
@@ -3829,7 +3828,7 @@ value_rtti_indirect_type (struct value *v, int *full,
return NULL;
}
throw;
- }
+ })
}
else
return NULL;
@@ -3971,9 +3970,7 @@ value_of_this_silent (const struct language_defn *lang)
{
ret = value_of_this (lang);
}
- catch (const gdb_exception_error &except)
- {
- }
+ CATCH_ERROR (except, {})
return ret;
}
@@ -1072,11 +1072,10 @@ common_val_print (struct value *value, struct ui_file *stream, int recurse,
{
language->value_print_inner (value, stream, recurse, &local_opts);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
fprintf_styled (stream, metadata_style.style (),
_("<error reading variable: %s>"), except.what ());
- }
+ })
}
/* See valprint.h. */
@@ -1499,8 +1499,7 @@ value_optimized_out (struct value *value)
{
value_fetch_lazy (value);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
switch (ex.error)
{
case MEMORY_ERROR:
@@ -1513,7 +1512,7 @@ value_optimized_out (struct value *value)
default:
throw;
}
- }
+ })
}
return !value->optimized_out.empty ();
@@ -2722,11 +2721,10 @@ show_convenience (const char *ignore, int from_tty)
val = value_of_internalvar (gdbarch, var);
value_print (val, gdb_stdout, &opts);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
fprintf_styled (gdb_stdout, metadata_style.style (),
_("<error: %s>"), ex.what ());
- }
+ })
gdb_printf (("\n"));
}
@@ -320,10 +320,9 @@ varobj_create (const char *objname,
var->root->language_defn = var->root->exp->language_defn;
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
return NULL;
- }
+ })
/* Don't allow variables to be created for types. */
enum exp_opcode opcode = var->root->exp->first_opcode ();
@@ -371,14 +370,13 @@ varobj_create (const char *objname,
{
value = evaluate_expression (var->root->exp.get ());
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
/* Error getting the value. Try to at least get the
right type. */
struct value *type_only_value = evaluate_type (var->root->exp.get ());
var->type = value_type (type_only_value);
- }
+ })
if (value != NULL)
{
@@ -997,11 +995,10 @@ varobj_set_value (struct varobj *var, const char *expression)
value = evaluate_expression (exp.get ());
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
/* We cannot proceed without a valid expression. */
return false;
- }
+ })
/* All types that are editable must also be changeable. */
gdb_assert (varobj_value_is_changeable_p (var));
@@ -1025,10 +1022,9 @@ varobj_set_value (struct varobj *var, const char *expression)
val = value_assign (var->value.get (), value);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
return false;
- }
+ })
/* If the value has changed, record it, so that next -var-update can
report this change. If a variable had a value of '1', we've set it
@@ -1271,13 +1267,12 @@ install_new_value (struct varobj *var, struct value *value, bool initial)
value_fetch_lazy (value);
}
- catch (const gdb_exception_error &except)
- {
+ CATCH_ERROR (except, {
/* Set the value to NULL, so that for the next -var-update,
we don't try to compare the new value with this value,
that we couldn't even read. */
value = NULL;
- }
+ })
}
}
@@ -2013,9 +2008,7 @@ value_of_root_1 (struct varobj **var_handle)
{
new_val = evaluate_expression (var->root->exp.get ());
}
- catch (const gdb_exception_error &except)
- {
- }
+ CATCH_ERROR (except, {})
}
return new_val;
@@ -1710,10 +1710,9 @@ windows_nat_target::get_windows_debug_event
{
windows_process.dll_loaded_event ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
ourstatus->set_loaded ();
thread_id = current_event->dwThreadId;
break;
@@ -1730,10 +1729,9 @@ windows_nat_target::get_windows_debug_event
{
windows_process.handle_unload_dll ();
}
- catch (const gdb_exception &ex)
- {
+ CATCH_ERROR_QUIT (ex, {
exception_print (gdb_stderr, ex);
- }
+ })
ourstatus->set_loaded ();
thread_id = current_event->dwThreadId;
break;
@@ -221,11 +221,10 @@ x86_linux_nat_target::enable_btrace (thread_info *tp,
{
tinfo = linux_enable_btrace (ptid, conf);
}
- catch (const gdb_exception_error &exception)
- {
+ CATCH_ERROR (exception, {
error (_("Could not enable branch tracing for %s: %s"),
target_pid_to_str (ptid).c_str (), exception.what ());
- }
+ })
return tinfo;
}
@@ -480,8 +480,7 @@ main (int argc, char *argv[])
{
captured_main (argc, argv);
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
if (exception.reason == RETURN_ERROR)
{
fflush (stdout);
@@ -489,7 +488,7 @@ main (int argc, char *argv[])
}
exit (1);
- }
+ })
gdb_assert_not_reached ("captured_main should never return");
}
@@ -1485,11 +1485,10 @@ linux_process_target::detach_one_lwp (lwp_info *lwp)
/* Finally, let it resume. */
low_prepare_to_resume (lwp);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (!check_ptrace_stopped_lwp_gone (lwp))
throw;
- }
+ })
lwpid = lwpid_of (thread);
if (ptrace (PTRACE_DETACH, lwpid, (PTRACE_TYPE_ARG3) 0,
@@ -4199,8 +4198,7 @@ linux_process_target::resume_one_lwp (lwp_info *lwp, int step, int signal,
{
resume_one_lwp_throw (lwp, step, signal, info);
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
if (check_ptrace_stopped_lwp_gone (lwp))
{
/* This could because we tried to resume an LWP after its leader
@@ -4211,7 +4209,7 @@ linux_process_target::resume_one_lwp (lwp_info *lwp, int step, int signal,
}
else
throw;
- }
+ })
}
/* This function is called once per thread via for_each_thread.
@@ -476,10 +476,9 @@ handle_btrace_general_set (char *own_buf)
write_ok (own_buf);
}
- catch (const gdb_exception_error &exception)
- {
+ CATCH_ERROR (exception, {
sprintf (own_buf, "E.%s", exception.what ());
- }
+ })
return 1;
}
@@ -1880,11 +1879,10 @@ handle_qxfer_btrace (const char *annex,
if (result != 0)
memcpy (cs.own_buf, cache.buffer, cache.used_size);
}
- catch (const gdb_exception_error &exception)
- {
+ CATCH_ERROR (exception, {
sprintf (cs.own_buf, "E.%s", exception.what ());
result = -1;
- }
+ })
if (result != 0)
return -3;
@@ -1951,11 +1949,10 @@ handle_qxfer_btrace_conf (const char *annex,
if (result != 0)
memcpy (cs.own_buf, cache.buffer, cache.used_size);
}
- catch (const gdb_exception_error &exception)
- {
+ CATCH_ERROR (exception, {
sprintf (cs.own_buf, "E.%s", exception.what ());
result = -1;
- }
+ })
if (result != 0)
return -3;
@@ -3586,13 +3583,12 @@ detach_or_kill_for_exit_cleanup ()
{
detach_or_kill_for_exit ();
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
fflush (stdout);
fprintf (stderr, "Detach or kill failed: %s\n",
exception.what ());
exit_code = 1;
- }
+ })
}
#if GDB_SELF_TEST
@@ -4049,8 +4045,7 @@ captured_main (int argc, char *argv[])
}
}
}
- catch (const gdb_exception_error &exception)
- {
+ CATCH_ERROR (exception, {
fflush (stdout);
fprintf (stderr, "gdbserver: %s\n", exception.what ());
@@ -4062,7 +4057,7 @@ captured_main (int argc, char *argv[])
if (run_once)
throw_quit ("Quit");
- }
+ })
}
}
@@ -4076,8 +4071,7 @@ main (int argc, char *argv[])
{
captured_main (argc, argv);
}
- catch (const gdb_exception &exception)
- {
+ CATCH_ERROR_QUIT (exception, {
if (exception.reason == RETURN_ERROR)
{
fflush (stdout);
@@ -4087,7 +4081,7 @@ main (int argc, char *argv[])
}
exit (exit_code);
- }
+ })
gdb_assert_not_reached ("captured_main should never return");
}
@@ -99,11 +99,10 @@ run_tests (gdb::array_view<const char *const> filters, bool verbose)
++ran;
test.test ();
}
- catch (const gdb_exception_error &ex)
- {
+ CATCH_ERROR (ex, {
++failed;
debug_printf ("Self test failed: %s\n", ex.what ());
- }
+ })
reset ();
}