On 2012-03-01 07:07, Martin Nowak wrote:
On Thu, 01 Mar 2012 06:26:28 +0100, Bernard Helyer <[email protected]>
wrote:
So as near as I can tell, it's trying to say
"On non-Windows platforms, both extern (C) and extern (D) match the
calling convention of the platforms C compiler. On Windows, the extern
(D) calling convention differs, and is documented below:"
Is this accurate?
If so, there's is no way I am wasting my time with the D calling
convention. I'm not wrangling LLVM into producing DM OMF, so binary
compatibility isn't going to happen anyway.
If not, then I have no idea.
For x86-32 dmd uses a fastcall, where EAX can contain a parameter, for
Windows AND all other supported OSes.
From the documentation it sounds like it's ONLY on Windows.
This is different from cdecl where parameters are always passed on the
stack.
For x86-64 D follows the SysV AMD64 ABI, don't know about Windows.
--
/Jacob Carlborg