[Lldb-commits] [lldb] Add the ability to get a C++ vtable ValueObject from another ValueObj… (PR #67599)

via lldb-commits lldb-commits at lists.llvm.org
Wed Oct 4 11:16:07 PDT 2023


jeffreytan81 wrote:

> > > > * Can we test this during multiple inheritance? Should we print multiple vtables?
> > > >   [Greg] I can add a test for this and make sure things works when dynamic typing is on and off. We won't print multiple vtables, as each class has only 1 vtable, it will just include all of the virtual methods needed for any inherited classes.
> > 
> > 
> > I remember some compiler's multi-inheritance implementation is putting one vtable_ptr in object for each parent class. Maybe not in clang?
> 
> Each class has a single vtable and this table will contain a copy of all vtables that are needed for each class.

I was talking about https://shaharmike.com/cpp/vtable-part2/ which there can be multiple vtable_ptr(s) in object and multiple vtables. But I think you are right that we only care showing the final merged vtable from most derived child class not other vtables containing non-virtual thunk methods. 

https://github.com/llvm/llvm-project/pull/67599


More information about the lldb-commits mailing list