Big news
- Frontend, druntime and Phobos are at version 2.082.0. (#2818, #2837)
- Significant performance improvements for some transcendental
std.math
functions in single and double precision, at least for x86. (dlang/phobos#6272 (comment))
- Significant performance improvements for some transcendental
- LTO now basically working for Win64 too; the prebuilt package includes the required external LLD linker and the optional LTO default libs. Enable as usual with
-flto=<thin|full> [-defaultlib=druntime-ldc-lto,phobos2-ldc-lto]
. (#2774) - Config file: new
lib-dirs
array for directories to be searched for libraries, incl. LLVM compiler-rt libraries. (#2790)
Platform support
- Supports LLVM 3.7 - 6.0.
- Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.
- Android: Native ARM packages for the Termux app are included, install one like this:
dpkg -i ldc-beta_1.12.0_android-aarch64.deb
. To cross-compile from a desktop OS, see the wiki.
Bug fixes
- Fix IR-based PGO on Windows (requires our LLVM fork). (#2539)
- Fix C++ class construction with D
new
on Posix. (#2801) - Android: No more text relocations in Phobos zlib, required for API level 23+. (#2822, #2835)
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.