From beb18c865c42ab57176099eecb65bb52e71def85 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 25 Oct 2016 14:32:35 +0100 Subject: [PATCH] Make dwarf_expr_context's destructor virtual MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2expr.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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); -- 2.30.2