Can someone decipher this moon speak for me? (abi - calling conventions)

Martin Nowak dawg at dawgfoto.de
Wed Feb 29 22:07:43 PST 2012


On Thu, 01 Mar 2012 06:26:28 +0100, Bernard Helyer <b.helyer at gmail.com>  
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.
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.


More information about the Digitalmars-d mailing list