Make dwarf_expr_context's destructor virtual
authorPedro Alves <palves@redhat.com>
Tue, 25 Oct 2016 13:32:35 +0000 (14:32 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 25 Oct 2016 13:32:35 +0000 (14:32 +0100)
commitbeb18c865c42ab57176099eecb65bb52e71def85
tree89bec65bbaa20035514d8f1c98b9b10849258afe
parentb196bc4cb45969ade48efcba6c31b1de0acf24d0
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.
gdb/ChangeLog
gdb/dwarf2expr.h