On 12/14/2013 6:08 AM, Iain Buclaw wrote:
The implementation of which existed in GDC first, and was released as
dual GPL/BSD license to allow into LDC devs to use and improve (they
added 64bit assembler support for instance, years before DMD got 64bit
support),

I didn't know this, thanks for telling me.

and then subsequently dropped from GDC for a number of valid
reasons:

1) Transition towards making a platform/target agnostic frontend implementation.

2) Don't and will never implement the DMD-style calling convention, so
all inline assembly in druntime and phobos actually doesn't work with
GDC - there's actually a bug report about GDC incorrectly pre-defining
D_InlineAsm and friends because of this.

dmd's works on multiple platforms and uses version statements to account for ABI differences. It's still easier than having a different syntax.


3) It is a really big WAT on having two conflicting styles, one for
x86, another for everything else.

gcc gets them wrong for everything else, too :-)


4) This and other x86 hacks were a problem with code reviewers from GCC.

I can understand that.

Though saying that, whilst DMD-style was not ideal, neither is
GDC-style either, as it requires parser changes, and adds a new class
to handle them in the frontend.


Reply via email to