ldc2: Current State?

Iain Buclaw ibuclaw at ubuntu.com
Sun Dec 12 02:33:27 PST 2010


== Quote from Jordi (jordi at rovira.cat)'s article
> On 12/08/2010 09:18 PM, Jordi wrote:
> > On 12/08/2010 06:13 AM, Iain Buclaw wrote:
> >> == Quote from Robert Clipsham (robert at octarineparrot.com)'s article
> >>> On 06/12/10 18:27, dsimcha wrote:
> >>>> Apparently LDC2 is being actively worked on
> >>>> (http://bitbucket.org/prokhin_alexey/ldc2/) and is up to date with
> >>>> the latest
> >>>> D2 reference compiler. I have not been able to get it to actually work,
> >>>> though I haven't tried very hard and don't remember the details of
> >>>> why it
> >>>> didn't work. Is LDC2 in a mature enough state that people should
> >>>> actually try
> >>>> to use it? (I know the main LDC page says it isn't, but that seems
> >>>> rather
> >>>> outdated, since it hasn't been updated in ages.) Has anyone else
> >>>> used it at
> >>>> all successfully yet?
> >>> Without having used it, I can guarantee it is not - I was the last
> >>> person to work on it while it was in the main ldc branch, and have been
> >>> following its development in the new repository - there simply hasn't
> >>> been enough (commit wise) for it to be workable yet. This said, it is
> >>> possible that it's on par with D1, I haven't looked in enough detail to
> >>> see if that is the case though.
> >>> If you're looking for a non-dmd D2 compiler, GDC is currently the
> >>> closest, I'm not sure what its current status is (I'm sure Iain will
> >>> know) - I'm led to believe it can already compile a nice chunk of (its
> >>> own branch of) phobos though.
> >>
> >> Phobos2 in GDC is mostly a mirror of phobos hosted on dsource, with
> >> some GDC-specific changes here and there to emphasize on the
> >> different implementation details ie: most functions in core.stdc.math
> >> are all aliases to GCC builtins. A recent changeset made it
> >> possible for all GCC builtins to be CTFE'able now too, so as well as
> >> enum FOO = sqrt(2) now working (thus meeting an expected
> >> requirement), you can go a little more wild and throw other functions
> >> into the mix: enum BAR = lround(sqrt(2)).
> >> To note some of the bad things. Varargs are still a problem. And
> >> though InlineAsm is getting there, with most problems with codegen
> >> pretty much sorted, we still suck at outputting labels. As far as I'm
> >> aware, Phobos will be 64bit-friendly in time for the 2.051
> >> roll out. But that is no good when other architectures still bare the
> >> brunt of things. :~)
> >>
> >> Regards
> >
> > GDC compiles 90% of my d2 project already. I also tried ldc2 and manage
> > to compile it(the ldc compiler, not my project). However the first easy
> > tests i made seemed to be looking for tango, which i don't use and gave
> > up for now.
> >
> > I am looking forward to make some benchmark app of the kind of work i
> > do, and set up a "compiler race" where new versions of the compilers are
> > tested and banchmarked in a "continuous integration" way.
> >
> > But not even dmd compiles my project in release mode yet ...
> >
> > j.
> Correction: gdc builds and links the entire project already.

^.^


More information about the Digitalmars-d mailing list