mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 14:49:38 +08:00
PR macros/7961:
* varobj.c (varobj_create): Update. (varobj_set_value): Update. * tracepoint.c (validate_actionline): Update. (encode_actions_1): Update. * parse.c (parse_exp_1): Add 'pc' argument. (parse_exp_in_context): Add 'pc' argument. Change how expression_context_pc is set. (parse_expression): Update. (parse_field_expression): Update. * expression.h (parse_exp_1): Update. * eval.c (parse_to_comma_and_eval): Update. * breakpoint.c (set_breakpoint_condition): Update. (update_watchpoint): Update. (init_breakpoint_sal): Update (find_condition_and_thread): Update. (watch_command_1): Update. (update_breakpoint_locations): Update. * ada-lang.c (ada_read_renaming_var_value): Update. (create_excep_cond_exprs): Update. testsuite * gdb.base/macscp1.c (macscp_expr): Add breakpoint comment. * gdb.base/macscp.exp (maybe_kfail): Add test for macro scope.
This commit is contained in:
11
gdb/varobj.c
11
gdb/varobj.c
@ -624,6 +624,7 @@ varobj_create (char *objname,
|
||||
enum varobj_languages lang;
|
||||
struct value *value = NULL;
|
||||
volatile struct gdb_exception except;
|
||||
CORE_ADDR pc;
|
||||
|
||||
/* Parse and evaluate the expression, filling in as much of the
|
||||
variable's data as possible. */
|
||||
@ -650,9 +651,13 @@ varobj_create (char *objname,
|
||||
if (type == USE_SELECTED_FRAME)
|
||||
var->root->floating = 1;
|
||||
|
||||
pc = 0;
|
||||
block = NULL;
|
||||
if (fi != NULL)
|
||||
block = get_frame_block (fi, 0);
|
||||
{
|
||||
block = get_frame_block (fi, 0);
|
||||
pc = get_frame_pc (fi);
|
||||
}
|
||||
|
||||
p = expression;
|
||||
innermost_block = NULL;
|
||||
@ -660,7 +665,7 @@ varobj_create (char *objname,
|
||||
return a sensible error. */
|
||||
TRY_CATCH (except, RETURN_MASK_ERROR)
|
||||
{
|
||||
var->root->exp = parse_exp_1 (&p, block, 0);
|
||||
var->root->exp = parse_exp_1 (&p, pc, block, 0);
|
||||
}
|
||||
|
||||
if (except.reason < 0)
|
||||
@ -1471,7 +1476,7 @@ varobj_set_value (struct varobj *var, char *expression)
|
||||
gdb_assert (varobj_editable_p (var));
|
||||
|
||||
input_radix = 10; /* ALWAYS reset to decimal temporarily. */
|
||||
exp = parse_exp_1 (&s, 0, 0);
|
||||
exp = parse_exp_1 (&s, 0, 0, 0);
|
||||
TRY_CATCH (except, RETURN_MASK_ERROR)
|
||||
{
|
||||
value = evaluate_expression (exp);
|
||||
|
Reference in New Issue
Block a user