www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - ldc2: Current State?

reply dsimcha <dsimcha yahoo.com> writes:
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?
Dec 06 2010
parent reply Robert Clipsham <robert octarineparrot.com> writes:
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. -- Robert http://octarineparrot.com/
Dec 06 2010
parent reply Iain Buclaw <ibuclaw ubuntu.com> writes:
== Quote from Robert Clipsham (robert 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
Dec 07 2010
parent reply Jordi <jordi rovira.cat> writes:
On 12/08/2010 06:13 AM, Iain Buclaw wrote:
 == Quote from Robert Clipsham (robert 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.
Dec 08 2010
parent reply Jordi <jordi rovira.cat> writes:
On 12/08/2010 09:18 PM, Jordi wrote:
 On 12/08/2010 06:13 AM, Iain Buclaw wrote:
 == Quote from Robert Clipsham (robert 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.
Dec 12 2010
parent Iain Buclaw <ibuclaw ubuntu.com> writes:
== Quote from Jordi (jordi 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 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.
^.^
Dec 12 2010