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

Jacob Carlborg doob at me.com
Wed Feb 29 23:29:34 PST 2012


On 2012-03-01 07:07, Martin Nowak wrote:
> 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.

 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


More information about the Digitalmars-d mailing list