The LLVM-based D Compiler.
Find a file
Kai Nacke c0e23d6814 LLVM 3.7: llvm::GetElementPtrInst() requires the pointed-to type.
Currently, the pointer type is passed which causes an assertion.
Also add assertion to verify that parameter ptr is really of a
pointer type.
2015-03-22 13:55:53 +01:00
bash_completion.d Use bash completion dir from config if available 2015-02-19 17:49:22 +02:00
cmake/Modules Fix cmake bug when ldc is a submodule 2015-03-09 00:13:54 -07:00
dmd2 MSVC: Use llvm::APFloat::convertFromString() to parse floating point constants. 2015-03-06 18:24:08 +01:00
driver LLVM 3.7: Do not declare -boundscheck twice 2015-03-21 19:09:31 +01:00
gen LLVM 3.7: llvm::GetElementPtrInst() requires the pointed-to type. 2015-03-22 13:55:53 +01:00
ir Skip erroneous creation of implicit initializers for zero-length array in aggregates. Fixes issue #821. 2015-03-15 17:15:26 +01:00
runtime Get rid of LDC workarounds in Phobos. 2015-03-21 17:43:21 +01:00
tests/d2 Add testsuite updates 2015-03-15 19:51:10 +01:00
utils Fix gen_gccbuiltins utility for LLVM 3.6 2014-09-13 19:44:01 +02:00
vcbuild [WIP] Set real == double on Win64 MSVC. 2014-10-16 07:23:02 +02:00
.gitattributes
.gitmodules
.travis.yml Add LLVM 3.7 to Travis-CI build matrix. 2015-02-17 23:32:21 +01:00
CMakeCPack.cmake
CMakeLists.txt Shut up warning message if bash completion package of cmake is not found. 2015-02-22 02:48:05 +01:00
Doxyfile Inlined sources in Doxygen docs (for tablet use) and increased DOT max. nodes to 1,000. 2015-02-20 14:57:44 +01:00
ldc2.conf.in fix #667 flags list used as string 2014-07-17 00:11:08 +02:00
ldc2_install.conf.in Make -defaultlib/-debuglib override instead of append; deprecate -nodefaultlib. 2014-07-04 18:54:28 +02:00
ldc2_phobos.conf.in fix #667 flags list used as string 2014-07-17 00:11:08 +02:00
LICENSE
README.md README: Move Travis/Bountysource badges below headline. 2014-07-13 20:42:03 +02:00

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: http://wiki.dlang.org/LDC

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

Installation

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 http://wiki.dlang.org/Building_LDC_from_source.

If you have a working C++ build environment, CMake, a current LLVM and libconfig++ (http://hyperrealm.com/libconfig/libconfig.html) 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.

Contact

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

For further documentation, contributor information, etc. please see the D wiki: http://wiki.dlang.org/LDC

Feedback of any kind is very much appreciated!