[Issue 20771] va_arg doesn't work for structs with postblits

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Apr 26 17:24:29 UTC 2020


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

kinke <kinke at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kinke at gmx.net

--- Comment #2 from kinke <kinke at gmx.net> ---
(In reply to Iain Buclaw from comment #1)
> The compiler sets __argTypes differently for structs with postblits vs. structs without

Which is correct, as only PODs are passed in registers, so an empty argTypes
tuple for non-PODs is fine.

DMD passes non-PODs on the stack; C++ and LDC pass them indirectly by value
(pointer to caller-allocated copy). The current SysV va_arg implementation in
druntime assumes DMD's ABI in this regard.

--


More information about the Digitalmars-d-bugs mailing list