[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