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).