(Changes since 1.28.0-beta1 are marked with (new).)
Big news
- Frontend, druntime and Phobos are at version 2.098.0+. (#3821, #3839, #3844, #3852) (new)
- Windows:
-dllimport=defaultLibsOnly
(e.g., implied by-link-defaultlib-shared -fvisibility=hidden
) doesn't require-linkonce-templates
anymore. (#3816) - dcompute: Add support for OpenCL image I/O. (#3835) (new)
Platform support
- Supports LLVM 6.0 - 12.0.
Bug fixes
- Fix dynamic casts across binary boundaries (DLLs etc.). (dlang/druntime#3543)
- Windows: Fix potentially wrongly caught exceptions due to non-unique
TypeInfo_Class
names. (#3520) - Don't silently ignore invalid external tool specifications. (#3841) (new)
- LLVM v11.1: Add missing PGO
ldc-profdata
tool. (#3845) (new)
Known issues
- When building LDC, old LDC 0.17.*/ltsmaster host compilers miscompile LDC ≥ 1.21, leading to potential segfaults of the built LDC. Ltsmaster can still be used to bootstrap a first compiler and then let that compiler compile itself. (#3354)
- Buggy older
ld.bfd
linker versions may wrongly strip out required symbols, e.g., ModuleInfos (so that e.g. no module ctors/dtors are run). LDC defaults told.gold
on Linux. - 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.