[LLVMdev] LLVM based D compiler released

Christian Kamm kamm at incasoftware.de
Fri Jan 9 05:20:19 PST 2009


Maybe it's time to add it to the LLVM projects list. :)
The original annoucement on digitalmars.D.announce and 
http://www.incasoftware.de/~kamm/projects/index.php/2009/01/09/ldc-09-released/
was:

---

The first version of LDC (http://www.dsource.org/projects/ldc), the LLVM
based compiler for version one of the D programming language has been
released for x86-32 Linux. Get it here:
http://www.incasoftware.de/~kamm/ldc/ldc-0.9.tbz2

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. 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
http://www.incasoftware.de/~kamm/ldc/ldc-0.9-gc.tbz2
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:
ldc-dev at googlegroups.com. Alternatively, we're often seen in #ldc on
FreeNode.

Tomas Lindquist Olsen, Christian Kamm



More information about the llvm-dev mailing list