fmt.raw = 0;
}
- expression_up expr = parse_expression (exp);
+ innermost_block_tracker tracker;
+ expression_up expr = parse_expression (exp, &tracker);
newobj = new display ();
newobj->exp_string = xstrdup (exp);
newobj->exp = std::move (expr);
- newobj->block = innermost_block.block ();
+ newobj->block = tracker.block ();
newobj->pspace = current_program_space;
newobj->number = ++display_number;
newobj->format = fmt;
if (d->exp == NULL)
{
- TRY
+ try
{
- d->exp = parse_expression (d->exp_string);
- d->block = innermost_block.block ();
+ innermost_block_tracker tracker;
+ d->exp = parse_expression (d->exp_string, &tracker);
+ d->block = tracker.block ();
}
- CATCH (ex, RETURN_MASK_ALL)
+ catch (const gdb_exception &ex)
{
/* Can't re-parse the expression. Disable this display item. */
d->enabled_p = 0;
warning (_("Unable to display \"%s\": %s"),
- d->exp_string, ex.message);
+ d->exp_string, ex.what ());
return;
}
- END_CATCH
}
if (d->block)
annotate_display_value ();
- TRY
+ try
{
struct value *val;
CORE_ADDR addr;
addr = gdbarch_addr_bits_remove (d->exp->gdbarch, addr);
do_examine (d->format, d->exp->gdbarch, addr);
}
- CATCH (ex, RETURN_MASK_ERROR)
+ catch (const gdb_exception_error &ex)
{
- fprintf_filtered (gdb_stdout, _("<error: %s>\n"), ex.message);
+ fprintf_filtered (gdb_stdout, _("<error: %s>\n"),
+ ex.what ());
}
- END_CATCH
}
else
{
get_formatted_print_options (&opts, d->format.format);
opts.raw = d->format.raw;
- TRY
+ try
{
struct value *val;
val = evaluate_expression (d->exp.get ());
print_formatted (val, d->format.size, &opts, gdb_stdout);
}
- CATCH (ex, RETURN_MASK_ERROR)
+ catch (const gdb_exception_error &ex)
{
- fprintf_filtered (gdb_stdout, _("<error: %s>"), ex.message);
+ fprintf_filtered (gdb_stdout, _("<error: %s>"), ex.what ());
}
- END_CATCH
printf_filtered ("\n");
}
fputs_styled (name, variable_name_style.style (), stream);
fputs_filtered (" = ", stream);
- TRY
+ try
{
struct value *val;
struct value_print_options opts;
function. */
frame = NULL;
}
- CATCH (except, RETURN_MASK_ERROR)
+ catch (const gdb_exception_error &except)
{
- fprintf_filtered(stream, "<error reading variable %s (%s)>", name,
- except.message);
+ fprintf_filtered (stream, "<error reading variable %s (%s)>", name,
+ except.what ());
}
- END_CATCH
fprintf_filtered (stream, "\n");
}