(Changes since 1.10.0-beta2 are marked with (new).)
Big news
- Frontend, druntime and Phobos are at version 2.080.1. (#2665, #2719, #2737) (new)
- No support for Objective-C class/static methods yet. (#2670)
- Breaking Win64
extern(D)
ABI change: Pass vectors directly in registers, analogous to the MS vector calling convention. (#2714) - Config file: For cross-compilation, support additional sections named as regex for specific target triples, e.g.,
"86(_64)?-.*-linux": { … };
; see the comment inetc/ldc2.conf
. (#2718)
Platform support
- Supports LLVM 3.7 - 6.0.
- Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.
- Alpine linux/x64: built against Musl libc to support Docker images based on the Alpine distro, requires the
llvm5-libs
,musl-dev
, andgcc
packages to run and link D apps and thetzdata
andlibcurl
packages for certain stdlib modules.
Bug fixes
- CMake and druntime fixes for DragonFlyBSD, thanks Diederik! (#2690, #2691, #2692, ldc-developers/druntime#138, ldc-developers/druntime#139, ldc-developers/phobos#64)
- DMD-style inline asm label naming issue in overloaded functions. (#2667, #2694)
- Linux: misc. exception stack trace fixes & extensions, incl. default DWARF v4 debuginfo emission with LLVM 6. (#2677)
- Predefine version
D_HardFloat
instead ofD_SoftFloat
for-float-abi=softfp
. (#2678) - Bash completion installed to the wrong place with custom
CMAKE_INSTALL_PREFIX
. (#2679, #2179, #2693) - Default to
ld.gold
linker for ThinLTO on Linux. (#2696) - Fix compilation issues on 64-bit macOS with DMD host compiler ≥ 2.079. (#2703, #2704)
- druntime: Fix
core.stdc.stdint.(u)int64_t
on 64-bit macOS etc. (#2700) - Define
D_AVX
andD_AVX2
if the target supports them. (#2711) - Fix sporadic front-end segfaults. (#2713)
- Win64: Fix
extern(C++)
ABI wrt. passing small non-POD structs by value. (#2706) - Misc. druntime/Phobos fixes and upstream cherry-picks for ARM, AArch64, MIPS etc.
- Fix potential LDC crashes when returning static array results from inline IR. (#2729) (new)
- Win64: Fix terminate handler for VC runtime DLL version 14.14.x.y. (#2739) (new)
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.