[Issue 15579] extern(C++) interfaces/multiple-inheritance
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu Jan 21 11:46:09 PST 2016
https://issues.dlang.org/show_bug.cgi?id=15579
Walter Bright <bugzilla at digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bugzilla at digitalmars.com
--- Comment #2 from Walter Bright <bugzilla at digitalmars.com> ---
Compilable D version of the code:
extern (C++)
{
class Base
{
~this() {}
size_t x = 4;
}
interface Interface
{
int Method();
}
class Derived : Base, Interface
{
size_t y = 5;
int Method() { return 3; }
}
}
The layout for Win64 Base is:
4Base6__initZ:
void* &vtbl
size_t x;
The layout for Win64 Derived is:
7Derived6__initZ:
void* &vtbl
size_t x;
size_t y;
void* &vtbl
These can be figured out by running obj2asm on the object file and looking at
it.
--
More information about the Digitalmars-d-bugs
mailing list