From: Pedro Alves Date: Tue, 25 Oct 2016 13:32:35 +0000 (+0100) Subject: Make dwarf_expr_context's destructor virtual X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=beb18c865c42ab57176099eecb65bb52e71def85;p=binutils-gdb.git 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 * dwarf2expr.h (struct dwarf_expr_context) <~dwarf_expr_context>: Make virtual. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 10d686618f0..91f36f956dc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-10-25 Pedro Alves + + * dwarf2expr.h (struct dwarf_expr_context) <~dwarf_expr_context>: + Make virtual. + 2016-10-25 Rainer Orth PR build/20712 diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h index 7bf194abaa6..3d081202dbd 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);