aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2/frame.c
diff options
context:
space:
mode:
authorZoran Zaric <zoran.zaric@amd.com>2020-09-15 12:24:11 +0100
committerZoran Zaric <zoran.zaric@amd.com>2021-08-05 16:40:17 +0100
commit14a62404c9845827d92986af2dfcdbb7e48c65fc (patch)
treeb533e9602db2f6a0b86d895d1a7db434e0e1281d /gdb/dwarf2/frame.c
parent9e739f693f142ac634d9d127bd9951d0c62593c1 (diff)
downloadbinutils-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.c18
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;