[lldb][asan] Mark destructor as virtual to allow subclasses.
authorJordan Rupprecht <rupprecht@google.com>
Thu, 20 Aug 2020 16:15:37 +0000 (09:15 -0700)
committerJordan Rupprecht <rupprecht@google.com>
Thu, 20 Aug 2020 16:21:33 +0000 (09:21 -0700)
`lldb_private::ScriptInterpreterPython::CommandDataPython` inherits from `lldb_private::BreakpointOptions::CommandData`, but the latter does not have a virtual destructor. This leads to a new-delete-type-mismatch error when running certain tests (such as `functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py`) under asan.

lldb/include/lldb/Breakpoint/BreakpointOptions.h

index 615b4eb..85b8e02 100644 (file)
@@ -51,7 +51,7 @@ public:
         : user_source(user_source), script_source(), interpreter(interp),
           stop_on_error(true) {}
 
-    ~CommandData() = default;
+    virtual ~CommandData() = default;
 
     static const char *GetSerializationKey() { return "BKPTCMDData"; }