dmd 2.068, 2.069, 2.0xx Evil Plan going forward

Iain Buclaw via Digitalmars-d digitalmars-d at puremagic.com
Mon Jul 20 20:10:45 PDT 2015


On 21 Jul 2015 00:45, "Jonathan M Davis via Digitalmars-d" <
digitalmars-d at puremagic.com> wrote:
>
> On Monday, 20 July 2015 at 22:26:53 UTC, rsw0x wrote:
>>
>> because versions are released with GDC and LDC lagging 2-3 versions
behind, when DMD is unusable for production quality codegen.
>>
>> 2.068 is almost out and GDC and LDC both only support 2.066. Until D
decides to adopt either GDC or LDC as a real backend, this will never be
fixed.
>
>
> Unifying the frontend will go a long way towards fixing this problem, and
Daniel is working on that right now. He's aiming to make it so that the
frontend is identical across all three compilers so that the ldc and gdc
developers don't have to fork it like they do now.
>

Hardly. All he can take credit for is removing the virtual method interface
and replacing them with visitors (which can be described as no small job,
but benefitted more towards ddmd).

Everything else has been a slow, tedious three year job from yours truly to
remove all x86-isms and platform-specific handling out of the frontend.

There are a more than a few last leg things to be done, some are in PRs
raised by me, but or not being looked at, or understood properly.

Example, I moved underscore prefixing hacks for OSX out of the frontend
(every single one broke GDC ABI in one way or another) and into Target.
Then Walter slams it for being pointless refactoring.

Target is a concept raised at DConf 2013 where I bounced the idea that all
uses of global.params.isXXX should be removed from the frontend as all are
there to only address a perk of DMD when targeting that platform.  The end
goal then becomes to make it so that instead of asking 'Is my target OSX?',
what the frontend should be asking is 'Does the target add prefixes to
symbols?'

I shouldn't have to explain why the latter benefits all.

Iain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20150721/2aae7aec/attachment-0001.html>


More information about the Digitalmars-d mailing list