Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
The LLVM-based D compiler.
C C++ CMake

2nd try at issue #874.

The problem from issue #874 has another variant:
If .git/logs/refs/heads/merge-2.067 exists then this ref is
returned as hash value(!). This is plain wrong. Solution is
again to look up `.git/packed-refs`.
latest commit 7c835c2738
@redstar redstar authored
Failed to load latest commit information.
bash_completion.d Use bash completion dir from config if available
cmake/Modules 2nd try at issue #874.
dmd2 MSVC: Use llvm::APFloat::convertFromString() to parse floating point …
driver LLVM 3.7: Include of <llvm/Support/Path.h> is required
gen LLVM 3.7: llvm::GetElementPtrInst() requires the pointed-to type.
ir Skip erroneous creation of implicit initializers for zero-length arra…
runtime Get rid of LDC workarounds in Phobos.
tests/d2 Add testsuite updates
utils Fix gen_gccbuiltins utility for LLVM 3.6
vcbuild [WIP] Set real == double on Win64 MSVC.
.gitattributes set proper attributes for Windows
.gitmodules Imported D2 testsuite (v2.060) as submodule.
.travis.yml Add LLVM 3.7 to Travis-CI build matrix.
CMakeCPack.cmake Add CPack configuration for debian packages
CMakeLists.txt Shut up warning message if bash completion package of cmake is not fo…
Doxyfile Inlined sources in Doxygen docs (for tablet use) and increased DOT ma…
LICENSE Merged all licenses into LICENSE for release packaging; updated LDC c… README: Move Travis/Bountysource badges below headline. fix #667 flags list used as string Make -defaultlib/-debuglib override instead of append; deprecate -nod… fix #667 flags list used as string

LDC – the LLVM-based D Compiler

Build Status Bountysource

The LDC project aims to provide a portable D programming language compiler with modern optimization and code generation capabilities.

The compiler uses the official DMD frontends to support the latest version of D2, and relies on the LLVM Core libraries for code generation.

LDC is fully Open Source; the parts of the code not taken/adapted from other projects are BSD-licensed (see the LICENSE file for details).

Please consult the D wiki for further information:

D1 is no longer available; see the 'd1' Git branch for the last version supporting it.


In-depth material on building and installing LDC and the standard libraries, including experimental instructions for running LDC on Windows, is available on the project wiki, at

If you have a working C++ build environment, CMake, a current LLVM and libconfig++ ( available, there should be no big surprises, though.

Do not forget to make sure all the submodules are up to date:

$ cd ldc
$ git submodule update --init

Some Linux distributions are also packaging a recent version of LDC, so building it manually might not be necessary.


The best way to get in touch with the developers is either via the digitalmars.D.ldc forum/newsgroup/mailing list ( or the #ldc IRC channel on FreeNode.

For further documentation, contributor information, etc. please see the D wiki:

Feedback of any kind is very much appreciated!

Something went wrong with that request. Please try again.