diff options
author | Zoran Zaric <zoran.zaric@amd.com> | 2020-09-15 12:24:11 +0100 |
---|---|---|
committer | Zoran Zaric <zoran.zaric@amd.com> | 2021-08-05 16:40:17 +0100 |
commit | 14a62404c9845827d92986af2dfcdbb7e48c65fc (patch) | |
tree | b533e9602db2f6a0b86d895d1a7db434e0e1281d /gdb/dwarf2/frame.c | |
parent | 9e739f693f142ac634d9d127bd9951d0c62593c1 (diff) | |
download | binutils-14a62404c9845827d92986af2dfcdbb7e48c65fc.zip binutils-14a62404c9845827d92986af2dfcdbb7e48c65fc.tar.gz binutils-14a62404c9845827d92986af2dfcdbb7e48c65fc.tar.bz2 |
Remove empty frame and full evaluators
There are no virtual methods that require different specialization in
dwarf_expr_context class. This means that derived classes
dwarf_expr_executor and dwarf_evaluate_loc_desc are not needed any
more.
As a result of this, the evaluate_for_locexpr_baton class base class
is now the dwarf_expr_context class.
There might be a need for a better class hierarchy when we know more
about the direction of the future DWARF versions and gdb extensions,
but that is out of the scope of this patch series.
gdb/ChangeLog:
* dwarf2/frame.c (class dwarf_expr_executor): Remove class.
(execute_stack_op): Instantiate dwarf_expr_context instead of
dwarf_evaluate_loc_desc class.
* dwarf2/loc.c (class dwarf_evaluate_loc_desc): Remove class.
(dwarf2_evaluate_loc_desc_full): Instantiate dwarf_expr_context
instead of dwarf_evaluate_loc_desc class.
(struct evaluate_for_locexpr_baton): Derive from
dwarf_expr_context.
Diffstat (limited to 'gdb/dwarf2/frame.c')
-rw-r--r-- | gdb/dwarf2/frame.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c index 8d42002..c1219d9 100644 --- a/gdb/dwarf2/frame.c +++ b/gdb/dwarf2/frame.c @@ -224,22 +224,6 @@ register %s (#%d) at %s"), } } -class dwarf_expr_executor : public dwarf_expr_context -{ -public: - - dwarf_expr_executor (dwarf2_per_objfile *per_objfile) - : dwarf_expr_context (per_objfile) - {} - - private: - - void invalid (const char *op) ATTRIBUTE_NORETURN - { - error (_("%s is invalid in this context"), op); - } -}; - static CORE_ADDR execute_stack_op (const gdb_byte *exp, ULONGEST len, int addr_size, struct frame_info *this_frame, CORE_ADDR initial, @@ -247,7 +231,7 @@ execute_stack_op (const gdb_byte *exp, ULONGEST len, int addr_size, { CORE_ADDR result; - dwarf_expr_executor ctx (per_objfile); + dwarf_expr_context ctx (per_objfile); scoped_value_mark free_values; ctx.frame = this_frame; |