[Issue 21392] extern(C++) No support for virtual inheritance ABI
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Mar 25 16:30:56 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=21392
Iain Buclaw <ibuclaw at gdcproject.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ibuclaw at gdcproject.org
--- Comment #2 from Iain Buclaw <ibuclaw at gdcproject.org> ---
(In reply to Nicholas Wilson from comment #1)
> is this the same issue as https://issues.dlang.org/show_bug.cgi?id=19192 ?
> it has just been fixed.
Unless that issue adds virtual inheritance to D, I'd say no.
This issue is more about ABI compatibility with thunks. In C++ you have have
thunks adjust the `this' pointer for straightforward inheritance (same as D).
However for virtual inheritance, thunks instead adjust the `__vptr', or both
the `this' and `__vptr' pointers within the same thunk. D has no notion of
fixing the index into the vtable during a thunk call.
--
More information about the Digitalmars-d-bugs
mailing list