https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110406

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |iains at gcc dot gnu.org

--- Comment #11 from Iain Sandoe <iains at gcc dot gnu.org> ---
If I remember correctly, the underlying issue is that D always has a vtable
pointer for a "class" whereas C++ only adds one if needed (i.e. there are
actual virtual methods)

So we really need to use the 'struct' tag to D for classes without virtual
methods that need to interoperate with C++.  I think that then D will lay them
out without the vtable pointer.

We had a fix for this for Darwin - which does not seem to have made upstream
just yet.  Restesting (there's an unrelated bootstrap regression to work
around).

Reply via email to