Skip to content


Subversion checkout URL

You can clone with
Download ZIP
The LLVM-based D compiler.
C C++ CMake

Merge pull request #1139 from kinke/DtoMemType

Refactor common `i1ToI8(voidToI8(DtoType(...)))` code occurrences
latest commit 907c3464d9
@kinke kinke authored
Failed to load latest commit information.
bash_completion.d Use bash completion dir from config if available
cmake/Modules Remove component ipa if building LDC with LLVM 3.8.
dmd2 Let LDC compile on DragonFlyBSD.
driver MSVC: detect VS install dir properly and add batch file helper for x86
gen Refactor common `i1ToI8(voidToI8(DtoType(...)))` code occurrences
ir Refactor common `i1ToI8(voidToI8(DtoType(...)))` code occurrences
runtime MSVC: detect VS install dir properly and add batch file helper for x86
tests/d2 Use -link-debuglib for debug-mode tests
utils Make GCC intrinsics usable with @nogc and const *
vcbuild MSVC: detect VS install dir properly and add batch file helper for x86
.gitattributes set proper attributes for Windows
.gitmodules Imported D2 testsuite (v2.060) as submodule.
.travis.yml Merge pull request #1122 from klickverbot/coveralls
CMakeCPack.cmake Add CPack configuration for debian packages
CMakeLists.txt Refactor argv[0] management, related path searches etc.
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… Add coverage testing.
appveyor.yml [MSVC] .conf: add a lib required by VS 2015+ when building LDC with V… Revise CMake scripts some more for MSVC Dynamically load libcurl when needed (backport from post-2.068 upstream) Dynamically load libcurl when needed (backport from post-2.068 upstream)

LDC – the LLVM-based D Compiler

Build Status Test Coverage 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.