Big news
- Frontend, druntime and Phobos are at version 2.081.0. (#2752)
- LLVM for prebuilt packages upgraded to v6.0.1. The x86_64 packages feature some more LLVM targets for cross-compilation (experiments): MIPS, MSP430, RISC-V and WebAssembly. (#2760)
- LDC on Windows now uses 80-bit compile-time
real
s. This allows for seamless cross-compilation to other x86(_64) targets, e.g., withoutreal.min
underflowing to 0 andreal.max
overflowing to infinity. (#2752)
Platform support
- Supports LLVM 3.7 - 6.0.
- Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.
- Android: A native 32-bit ARM package for the Termux app is included, install it with
dpkg -i ldc-beta_1.11.0_android-arm.deb
. To cross-compile from a desktop OS, see the wiki.
Bug fixes
extern(C++)
on Posix: Pass non-PODs indirectly by value. (#2728)extern(C++)
on Windows/MSVC: Methods return all structs via hidden sret pointer. (#2720, #1935)- Make GC2Stack IR optimization pass work as intended. (#2750)
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.