Difference between revisions of "LDC"
Klickverbot (talk | contribs) |
Klickverbot (talk | contribs) |
||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
LDC uses the LLVM backend for code generation. LDC typically generates substantially faster binaries than DMD. | LDC uses the LLVM backend for code generation. LDC typically generates substantially faster binaries than DMD. | ||
Line 7: | Line 4: | ||
* [https://github.com/ldc-developers/ldc/wiki/Installation Installing LDC] | * [https://github.com/ldc-developers/ldc/wiki/Installation Installing LDC] | ||
− | + | == Project status == | |
− | + | In general, LDC should work fine on most x86/x86-64 Unix-like systems, including Linux, OS X and most BSD flavors. Code generation should work for other platforms supported by the LLVM MC codegen infrastructure (for example ARM), but druntime/Phobos support will most likely be lacking. | |
+ | |||
+ | === x86-64 Windows using MSVC === | ||
+ | |||
+ | * LDC/LDC2 from master branch compiles without patches. | ||
+ | * See [[Building-and-hacking-LDC-on-Windows-using-MSVC|Building and Hacking]] for detailed instructions. | ||
+ | * LLVM 3.1 is required (3.0 does not work because of missing TLS support); LLVM 3.2 is supported, too. | ||
+ | * Druntime and phobos compile but linker errors are still possible. | ||
+ | * exception handling still needs work (see here for a first [http://article.gmane.org/gmane.comp.compilers.llvm.cvs/120422 patch]; the llvm-objdump part of the patch is [http://article.gmane.org/gmane.comp.compilers.llvm.cvs/128883 here] and was commited in LLVM 3.3) | ||
+ | * contact: kai@redstar.de | ||
+ | |||
+ | === ARM === | ||
+ | |||
+ | * Code generation is known to work. | ||
+ | * Some initial work has been done on druntime, but support is not yet complete – see [https://github.com/ldc-developers/ldc/issues/116 issue #116]. | ||
+ | |||
== Useful Links == | == Useful Links == | ||
* [https://github.com/ldc-developers/ldc Source code (GitHub)] | * [https://github.com/ldc-developers/ldc Source code (GitHub)] | ||
− | |||
{{:Compilers_Widget}} | {{:Compilers_Widget}} | ||
[[Category:LDC]] | [[Category:LDC]] |
Revision as of 22:23, 12 December 2012
LDC uses the LLVM backend for code generation. LDC typically generates substantially faster binaries than DMD.
Guides
Project status
In general, LDC should work fine on most x86/x86-64 Unix-like systems, including Linux, OS X and most BSD flavors. Code generation should work for other platforms supported by the LLVM MC codegen infrastructure (for example ARM), but druntime/Phobos support will most likely be lacking.
x86-64 Windows using MSVC
- LDC/LDC2 from master branch compiles without patches.
- See Building and Hacking for detailed instructions.
- LLVM 3.1 is required (3.0 does not work because of missing TLS support); LLVM 3.2 is supported, too.
- Druntime and phobos compile but linker errors are still possible.
- exception handling still needs work (see here for a first patch; the llvm-objdump part of the patch is here and was commited in LLVM 3.3)
- contact: kai@redstar.de
ARM
- Code generation is known to work.
- Some initial work has been done on druntime, but support is not yet complete – see issue #116.