aboutsummaryrefslogtreecommitdiff
path: root/gdb/ax-gdb.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2021-04-15 10:05:00 -0600
committerTom Tromey <tromey@adacore.com>2021-04-15 10:05:00 -0600
commit9e5e03df52968b416e09a59482409abfed9727c0 (patch)
treef7b84a83f5c0aa2f636927ef25efed33604c3f13 /gdb/ax-gdb.c
parent4c79248a46100016e902f1489ce1c38a42608460 (diff)
downloadbinutils-9e5e03df52968b416e09a59482409abfed9727c0.zip
binutils-9e5e03df52968b416e09a59482409abfed9727c0.tar.gz
binutils-9e5e03df52968b416e09a59482409abfed9727c0.tar.bz2
Use block_symbol in var_value_operation
I noticed that var_value_operation takes a block and a symbol, and most callers destructure a block_symbol to pass in. It seems better for this class to simply hold a block_symbol instead. Tested on x86-64 Fedora 32. gdb/ChangeLog 2021-04-15 Tom Tromey <tromey@adacore.com> * rust-exp.y (rust_parser::convert_ast_to_expression): Update. * parse.c (parser_state::push_symbol, parser_state::push_dollar): Update. * p-exp.y (variable): Update. * m2-exp.y (variable): Update. * go-exp.y (variable): Update. * expprint.c (dump_for_expression): New overload. * expop.h (check_objfile): New overload. (check_constant): New overload. (class var_value_operation): Use block_symbol. <get_symbol>: Rewrite. * eval.c (var_value_operation::evaluate) (var_value_operation::evaluate_funcall) (var_value_operation::evaluate_for_address) (var_value_operation::evaluate_for_address) (var_value_operation::evaluate_with_coercion) (var_value_operation::evaluate_for_sizeof) (var_value_operation::evaluate_for_cast): Update. * d-exp.y (PrimaryExpression): Update. * c-exp.y (variable): Update. * ax-gdb.c (var_value_operation::do_generate_ax): Update. * ada-lang.c (ada_var_value_operation::evaluate_for_cast) (ada_var_value_operation::evaluate) (ada_var_value_operation::resolve) (ada_funcall_operation::resolve): Update. * ada-exp.y (write_var_from_sym, write_object_renaming) (write_ambiguous_var, write_var_or_type, write_name_assoc) (maybe_overload): Update. * ada-exp.h (class ada_var_value_operation) <get_block>: Rewrite.
Diffstat (limited to 'gdb/ax-gdb.c')
-rw-r--r--gdb/ax-gdb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
index 33fc538..009c128 100644
--- a/gdb/ax-gdb.c
+++ b/gdb/ax-gdb.c
@@ -1980,16 +1980,16 @@ var_value_operation::do_generate_ax (struct expression *exp,
struct axs_value *value,
struct type *cast_type)
{
- gen_var_ref (ax, value, std::get<0> (m_storage));
+ gen_var_ref (ax, value, std::get<0> (m_storage).symbol);
if (value->optimized_out)
error (_("`%s' has been optimized out, cannot use"),
- std::get<0> (m_storage)->print_name ());
+ std::get<0> (m_storage).symbol->print_name ());
if (value->type->code () == TYPE_CODE_ERROR)
{
if (cast_type == nullptr)
- error_unknown_type (std::get<0> (m_storage)->print_name ());
+ error_unknown_type (std::get<0> (m_storage).symbol->print_name ());
value->type = cast_type;
}
}