Walter: D asm syntax not consistent nor calling convention with C++

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Sun Jul 17 03:42:40 PDT 2016


On 7/16/2016 11:24 PM, Adam Sansier wrote:
> I should point out that the code still doesn't work. It simply doesn't crash. It
> seems to jump to another code location that fails silently. I might not be
> fixing up the stack frame correctly or or doing something D expects. Hard to no
> because when I try to step over the `call` instruction it ends up in limbo in
> another part of the code so I can't check the return state to even see if it
> passed. I guess EIP is getting thrashed. Regardless, just further proves
> something is wrong with D as C++ works exactly as it should no matter how the
> function is called.


What I suggest is compiling the asm code with C++, and compiling with D. Run 
obj2asm on the output, and compare. Since you need them to produce the same 
result, any differences should be obvious.

It's much easier than using a debugger.


More information about the Digitalmars-d mailing list