(Changes from 1.2.0-beta1 release are marked with (new).)
Big news
- Frontend, druntime and Phobos are at version 2.072.2.
Platform support
- Supports LLVM 3.5 - 4.0.
- Exception backtrace robustness has been significantly improved.
- Emission of
reals
with differing precision to the host platform'sreal
has been fixed.
(The compiler still uses the host platform's D real type to represent compile-time floating-point values, so parsing of literals and CTFE is restricted to the host real precision. For instance, LDC on AArch64 with its quad-precision reals would now make for a universal cross-compiler. On the other hand, cross-compiling from ARM to x86 with 80 bit reals still does not work – for example,real.max
would silently overflow at compile-time and be emitted as 80-bit infinity.)
Bug fixes
- Some LLVM intrinsics not available for LLVM ≥ 4.0 (#2037). (new)
- Spurious crashes on OS X user program shutdown when linking against static druntime lib. (new)
- Lexing floating-point literals may fail on PowerPC (#2046). (new)
- LDC crashes when trying to repaint static arrays (#2033). (new)
- No stack trace on Linux (#2004) and Windows (#1976, ldc-developers/druntime#85).
- Generated documentation file is immediately deleted when compiling at the same time.
- LDMD doesn't append default file extension if
-of
option doesn't contain any (#2001, #2002).
Building LDC
- Building LDC requires a preinstalled D compiler.
Internals
Known issues
- LDC does not zero the padding area of a
real
variable. This may lead to wrong results if the padding area is also considered. See #770. Does not apply toreal
members inside structs etc. - Phobos does not compile on MinGW platform.