Convert DWARF expr functions to methods
authorTom Tromey <tom@tromey.com>
Sun, 25 Sep 2016 22:48:47 +0000 (16:48 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 21 Oct 2016 20:17:38 +0000 (14:17 -0600)
commit595d2e303c0ef1a5cd5af8868c1d41db0050eb29
tree6c6504c480d5a8507f2f4c0013419b0c5f733a8f
parent718b962660007c529f4ff4c5e940119da21e05a7
Convert DWARF expr functions to methods

This converts various DWARF expr functions to be members on
dwarf_expr_context, then fixes up the various users.  This results in
somewhat less wordy code and sets the stage for the next patch.

2016-10-21  Tom Tromey  <tom@tromey.com>

* dwarf2loc.c (per_cu_dwarf_call)
(dwarf_expr_push_dwarf_reg_entry_value)
(dwarf2_evaluate_loc_desc_full, dwarf2_locexpr_baton_eval)
(needs_dwarf_reg_entry_value)
(dwarf2_loc_desc_get_symbol_read_needs): Update.
* dwarf2expr.h (dwarf_expr_context) <push_address, eval, fetch,
fetch_address, fetch_in_stack_memory, address_type, grow_stack,
push, stack_empty_p, add_piece, get_base_type, execute_stack_op,
pop>: New method declarations.
(dwarf_expr_push_address, dwarf_expr_eval, dwarf_expr_fetch)
(dwarf_expr_fetch_address, dwarf_expr_fetch_in_stack_memory):
Don't declare.
* dwarf2expr.c (address_type, grow_stack, push, push_address)
(pop, fetch, fetch_address, fetch_in_stack_memory)
(stack_empty_p, add_piece, eval, get_base_type)
(execute_stack_op): Rename.  Turn into methods.
* dwarf2-frame.c (execute_stack_op): Update.
gdb/ChangeLog
gdb/dwarf2-frame.c
gdb/dwarf2expr.c
gdb/dwarf2expr.h
gdb/dwarf2loc.c