You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Win32 breaking ABI change: add extra underscore for mangled names of D symbols. (#2598)
No breaking ABI change for 64-bit macOS wrt. C++ mangling of D (u)long. It's still mangled as C++ (unsigned) long in order not to break size_t and ptrdiff_t interop, whereas DMD 2.079 mangles it as (unsigned) long long (which, in combination with missing core.stdc.config.cpp_(u)long, makes it impossible to represent a C++ size_t/ptrdiff_t with DMD 2.079 on 64-bit macOS).
Support for LLVM 6. It's used for the prebuilt packages, except for the 32-bit Windows package (due to #2629). (#2608)
Integrated LLD (enable with -link-internally) now also able to (cross-)link ELF and Mach-O binaries, in addition to the existing Windows COFF support. (#2203)
Prebuilt Linux and macOS packages now ship with LTO default libs (druntime & Phobos). Keep on using -flto=<thin|full> to restrict LTO to your code, or opt for -flto=<thin|full> -defaultlib=phobos2-ldc-lto,druntime-ldc-lto to include the default libs. (#2640)
When linking against shared default libs, LDC now sets a default rpath (absolute path to the LDC lib dir(s); configurable in the etc/ldc2.conf file). (#2659)
New convenience mixin for fuzzing: ldc.libfuzzer.DefineTestOneInput. (#2510)
Platform support
Supports LLVM 3.7 - 6.0.
Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.
Alpine linux: Added upstream Musl C runtime commits dlang/druntime@07f4e32 and dlang/druntime@e4c2cfc to support Docker images based on Alpine and released a native Alpine/x64 compiler, which requires the llvm5-libs, musl-dev, and gcc packages to run and link D apps and the tzdata and libcurl packages for certain stdlib modules.
Bug fixes
DMD-style inline asm:
Fix semantics of extended ptr for MSVC targets. (#2653)
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 to real members inside structs etc.
Phobos does not compile on MinGW platform.
ThinLTO may not work well with the ld.bfd linker, use ld.gold instead (-linker=gold).