https://issues.dlang.org/show_bug.cgi?id=19563

Sprink <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from Sprink <[email protected]> ---
Appears DMD doesn't take into consideration how to pass a struct based on
anything other than the size of the struct. The Itantium ABI passes a pointer
to the object if it has a copy constructor or destructor.

https://github.com/dlang/dmd/blob/v2.084.0/src/dmd/target.d#L688
https://github.com/dlang/dmd/blob/v2.084.0/src/dmd/backend/cod1.d#L4033

Somewhere in that mess of a backend. Good luck!

Either make sure your structs are more than 8 bytes as a workaround, or just
use LDC they tend to have better C++ interactions.

--

Reply via email to