Big news
- Frontend, druntime and Phobos are at version 2.094.0+, incl. new command-line options
-cov=ctfe
,-vtemplates=list-instances
and-HC=<silent|verbose>
. (#3560) - Support for LLVM 11; the prebuilt packages use a very recent build (v11.0.0-rc4+) as LLVM 11 hasn't been finalized yet. The prebuilt x86 packages newly include the LLVM backend for AMD GPUs. (#3546)
Platform support
- Supports LLVM 6.0 - 11.0.
Bug fixes
- Fix potentially wrong context pointers when calling delegate literals. (#3553, #3554)
- Fix alignment issue when casting vector rvalue to static array. (c8889a9)
- Make sure lambdas in
pragma(inline, true)
functions are emitted into each referencing compilation unit. (#3570)
Internals
- CI: Linux AArch64 is now also tested by a Travis job, because Shippable has sadly become unreliable. (#3469)
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.