diff options
author | Sanimir Agovic <sagovic@sourceware.org> | 2013-08-29 12:25:03 +0000 |
---|---|---|
committer | Sanimir Agovic <sagovic@sourceware.org> | 2013-08-29 12:25:03 +0000 |
commit | 08039c9efdbe7602bfb0d1b4396a3f3a39130239 (patch) | |
tree | afe0ee66e5898cb06bffecb52789cc2bddd8abf3 /gdb/dwarf2loc.c | |
parent | 314c7de970512fe51bcd24829306c4aee2ada762 (diff) | |
download | gdb-08039c9efdbe7602bfb0d1b4396a3f3a39130239.zip gdb-08039c9efdbe7602bfb0d1b4396a3f3a39130239.tar.gz gdb-08039c9efdbe7602bfb0d1b4396a3f3a39130239.tar.bz2 |
cleanup: use value_lazy_at instead of allocate_value_lazy/attribute setter
I came across a pattern used to construct a value in the following way:
struct value *val = allocate_value_lazy (type);
VALUE_LVAL (val) = lval_memory;
set_value_address (val, address);
Instead we fold the above call into:
value_at_lazy (type, addr);
2013-08-27 Sanimir Agovic <sanimir.agovic@intel.com>
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use value_at_lazy instead
of assembling value via allocate_value_lazy and attribute setter.
* findvar.c (default_read_var_value): Use value_at_lazy instead of
assembling value via allocate_value_lazy and attribute setter.
* valops.c (do_search_struct_field): Use value_at_lazy instead of
assembling value via allocate_value_lazy and attribute setter.
Diffstat (limited to 'gdb/dwarf2loc.c')
-rw-r--r-- | gdb/dwarf2loc.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index 02afcdf..a1a384a 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -2303,11 +2303,9 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, int in_stack_memory = dwarf_expr_fetch_in_stack_memory (ctx, 0); do_cleanups (value_chain); - retval = allocate_value_lazy (type); - VALUE_LVAL (retval) = lval_memory; + retval = value_at_lazy (type, address + byte_offset); if (in_stack_memory) set_value_stack (retval, 1); - set_value_address (retval, address + byte_offset); } break; |