diff options
author | Pedro Alves <palves@redhat.com> | 2016-10-25 14:32:35 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-10-25 14:32:35 +0100 |
commit | beb18c865c42ab57176099eecb65bb52e71def85 (patch) | |
tree | 89bec65bbaa20035514d8f1c98b9b10849258afe /gdb/dwarf2expr.h | |
parent | b196bc4cb45969ade48efcba6c31b1de0acf24d0 (diff) | |
download | gdb-beb18c865c42ab57176099eecb65bb52e71def85.zip gdb-beb18c865c42ab57176099eecb65bb52e71def85.tar.gz gdb-beb18c865c42ab57176099eecb65bb52e71def85.tar.bz2 |
Make dwarf_expr_context's destructor virtual
Ref: https://sourceware.org/ml/gdb-patches/2016-10/msg00662.html
$ make WERROR_CFLAGS="-Wnon-virtual-dtor" dwarf2expr.o
...
In file included from .../src/gdb/dwarf2expr.c:28:0:
.../src/gdb/dwarf2expr.h:68:8: warning: ‘struct dwarf_expr_context’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
struct dwarf_expr_context
^~~~~~~~~~~~~~~~~~
Happens to not be a problem in practice currently because concrete
subclasses are allocated on the stack. I.e., we don't ever delete
objects of types that derive from dwarf_expr_context through pointers
to dwarf_expr_context.
gdb/ChangeLog:
2016-10-25 Pedro Alves <palves@redhat.com>
* dwarf2expr.h (struct dwarf_expr_context) <~dwarf_expr_context>:
Make virtual.
Diffstat (limited to 'gdb/dwarf2expr.h')
-rw-r--r-- | gdb/dwarf2expr.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h index 7bf194a..3d08120 100644 --- a/gdb/dwarf2expr.h +++ b/gdb/dwarf2expr.h @@ -68,7 +68,7 @@ struct dwarf_stack_value struct dwarf_expr_context { dwarf_expr_context (); - ~dwarf_expr_context (); + virtual ~dwarf_expr_context (); void push_address (CORE_ADDR value, int in_stack_memory); void eval (const gdb_byte *addr, size_t len); |