On 12/13/13 11:07 AM, David Nadlinger wrote:
On Thursday, 12 December 2013 at 20:46:26 UTC, Walter Bright wrote:
On 12/12/2013 12:33 PM, Max Samukha wrote:
Don't you find it somewhat alarming that both alternative compilers follow
neither the standard inline asm nor ABI?

I find it unfortunate. But it also can be difficult and time consuming to 
reimplement an assembler
for those back ends, so I can understand why it isn't a priority.

LDC in fact implements DMD-style inline assembly (occasionally there are bugs, 
though, as it's a
complete reimplementation).

I don't think it would be unreasonable to work towards a common D ABI on the 
various Posix x86_64
systems, but given that DMD comes with its own bespoke exception handling 
implementation which
doesn't really make sense to implement in GDC/LDC (as libunwind is the platform 
standard on Linux/…
anyway), there is not really much motivation to start work on aligning the 
other parts of the ABI
either.

David

I think it's very important to work towards a common D ABI. Even further, I believe it's important for druntime and phobos to be binary compatible between the compilers. That dmd uses a different eh scheme is more a factor of Walter not understanding the standard linux c++ eh mechanism well enough to implement it and instead took the path of least resistance and wrote his own. This is very correctable, just needs someone to do it.

Reply via email to