[Issue 23195] Win64 function ABI bug for small non-POD arguments

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Nov 24 18:00:22 UTC 2022


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

--- Comment #4 from Walter Bright <bugzilla at digitalmars.com> ---
(In reply to simon.vanbernem from comment #0)
> Microsoft states in their C++ x64 calling convention that structs with a
> maximum size of 8 bytes should be passed by value through registers (POD or
> not doesn't matter).
> [...]
> (https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-
> 170#parameter-passing)

Microsoft's documentation is doesn't match the behavior of their compiler.
Having a destructor does not affect whether a struct is passed by ref or not,
but having a copy constructor does (contrary to the documentation).

--


More information about the Digitalmars-d-bugs mailing list