diff options
Diffstat (limited to 'gdb/expop.h')
-rw-r--r-- | gdb/expop.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gdb/expop.h b/gdb/expop.h index a7b2c1b..580a71e 100644 --- a/gdb/expop.h +++ b/gdb/expop.h @@ -45,10 +45,6 @@ extern void gen_expr_unop (struct expression *exp, expr::operation *lhs, struct agent_expr *ax, struct axs_value *value); -extern struct value *eval_op_scope (struct type *expect_type, - struct expression *exp, - enum noside noside, - struct type *type, const char *string); extern struct value *eval_op_var_msym_value (struct type *expect_type, struct expression *exp, enum noside noside, @@ -600,13 +596,14 @@ public: struct expression *exp, enum noside noside) override { - return eval_op_scope (expect_type, exp, noside, - std::get<0> (m_storage), - std::get<1> (m_storage).c_str ()); + return evaluate_internal (expect_type, exp, noside, false); } value *evaluate_for_address (struct expression *exp, - enum noside noside) override; + enum noside noside) override + { + return evaluate_internal (nullptr, exp, noside, true); + } value *evaluate_funcall (struct type *expect_type, struct expression *exp, @@ -623,6 +620,11 @@ protected: struct axs_value *value, struct type *cast_type) override; + +private: + + value *evaluate_internal (struct type *expect_type, struct expression *exp, + enum noside noside, bool want_address); }; /* Compute the value of a variable. */ |