[Lldb-commits] [lldb] 92e1ebe - [trace] Fix destructor declaration

Walter Erquinigo via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 30 11:25:01 PDT 2020

But what about the case Vedant mentioned?

>    Otherwise, when a std::shared_ptr<Trace> is destroyed, the destructor for the derived TraceIntelPT instance won't run.

Or is C++ smart enough to pick the destructor from TraceIntelPT class in this case? 

´╗┐On 9/30/20, 5:56 AM, "Pavel Labath" <pavel at labath.sk> wrote:

    On 29/09/2020 22:09, Walter Erquinigo via lldb-commits wrote:
    > The destructor must be defined in the implementation class so that it
    > can be called

    That doesn't sound right. Each class automatically gets a destructor if
    it does not declare one itself. "~Foo() override = default" is
    completely equivalent to omitting the destructor completely, if the base
    destructor is virtual (which is true in this case, because the classes
    inherit from PluginInterface).


More information about the lldb-commits mailing list