The first version of LDC, the LLVM based compiler for version one of the D programming language has been released for x86-32 Linux. Get it here!
We had already announced this release during the Tango conference in September (we hope the video of our presentation will be out soon), but – as was to be expected – it took a bit longer than planned.
LDC ships with a precompiled Tango rev 4237 and passes all except two of Tango’s unittests (io.digest.Md2 and text.locale.Posix fail). DStress results also look favorable and the GtkD demos work. The chances are good that your code will work with it too!
There are several known issues, the most severe being:
- LDC does not compile DWT successfully for unknown reasons
- an LLVM 2.4 bug sometimes leads to linker errors when unreachable code is optimized away
- LDC doesn’t fully follow the D calling convention (but it’s close!)
- we inherit every DMD-frontend related bug in the D bug tracker
- … there are more in our tracker
If you encounter a bug, please check our bug tracker and create a new ticket if the issue isn’t listed yet. Maybe you are feeling adventurous and want to try fixing it yourself; in that case take a look at our getting started guide.
LDC could support other platforms. Furthest along so far are
- x86-64 Linux: needs people to start fixing smaller bugs, exception bug (LLVM issue)
- x86-32 Mac: small runtime issues, needs tests
- x86-32 Windows: exceptions not supported (LLVM issue)
but support for these platforms won’t improve on its own! Several friendly people have offered their help – we need more of those!
For those with big CTFE memory needs, we have an experimental version of LDC available which has the compile-time garbage collector enabled. In the future, we’re going to experiment with a forward reference hack, but right now it still introduces too many regressions.
Feedback and questions are appreciated and should go to the mailing list. Alternatively, we’re often seen in #ldc on FreeNode.
Tomas Lindquist Olsen, Christian Kamm
Comments 10
Congratulations for your first ldc release. Being already quite close to 1.0, at least as far as the numbers are concerned, I’d be interested to hear if any projects are already using it or are planning to?
Posted 09 Jan 2009 at 1:59 ¶I would be very keen on using this once some of these remaining issues are resolved.
Posted 09 Jan 2009 at 21:15 ¶still no phobos suppport?
Posted 10 Jan 2009 at 15:55 ¶Cool!
Posted 10 Jan 2009 at 17:05 ¶Is there a source tarball for ldc 0.9?
Posted 11 Jan 2009 at 16:27 ¶Yes, there is. Check the bz2, zip and gz links on this page:
Posted 12 Jan 2009 at 8:58 ¶http://hg.dsource.org/projects/ldc/rev/6cffbfff0363
I will repeat myself again – you (LDC) guys have no idea how much I appreciate what you are doing here! It is a GREAT work, and you are all amazing! Keep up with good work! *Thumbs up*
Posted 16 Jan 2009 at 21:28 ¶Very good work! Waiting for bugfixing, phobos support and benchmarks and JIT support :)
Posted 17 Jan 2009 at 17:58 ¶Hi, i really appreciate your efforts!
Posted 13 Mar 2009 at 22:47 ¶Are you considering to support FreeBSD soon?
We’ll support FreeBSD as soon as someone contributes the required changes. :)
The basics were discussed on the mailing list http://groups.google.com/group/ldc-dev/browse_thread/thread/999ad397388fae59 but have not yet been integrated into the repository.
Posted 18 Mar 2009 at 18:44 ¶Trackbacks & Pingbacks 1
[...] LLVMベースのDコンパイラができたらしい。残念ながらDWTはまだビルドできない模様。 [...]