github ldc-developers/ldc v1.18.0-beta2
LDC 1.18.0-beta2

latest releases: v1.38.0-beta1, dmd-rewrite-v2.108.0, dmd-rewrite-v2.108.0-rc.1...
pre-release4 years ago

(Changes since 1.18.0-beta1 are marked with (new).)

Big news

  • Frontend, druntime and Phobos are at version 2.088.0+. (#3143, #3161, #3176 (new))
  • Support for LLVM 9.0. The prebuilt packages have been upgraded to LLVM 9.0.0. (#3166) (new)
  • Preliminary Android CI, incl. experimental prebuilt armv7a package generation (API level 21, i.e., Android 5+). (#3164) (new)
  • Bundled dub upgraded to v1.17.0+ with improved LDC support, incl. cross-compilation (e.g., --arch=x86_64-pc-windows-msvc). (dlang/dub#1755, Wiki)
  • Init symbols of zero-initialized structs are no longer emitted. (#3131)
  • druntime: DMD-compatible {load,store}Unaligned and prefetch added to core.simd. (ldc-developers/druntime#163)
  • JIT improvements, incl. multi-threaded compilation. (#2758, #3154, #3174 (new))

Platform support

  • Supports LLVM 3.9 - 9.0. (new)

Bug fixes

  • Don't error out when initializing a void vector. (#3130, #3139)
  • druntime: Fix regression for POSIX systems without backtrace[_symbols]. (#3165, dlang/druntime#2796) (new)
  • druntime: Fix exception chaining for latest MSVC runtime v14.23, shipping with Visual Studio 2019 v16.3. (ldc-developers/druntime#164) (new)

Known issues

  • 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 to ld.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 to real members inside structs etc.

Don't miss a new ldc release

NewReleases is sending notifications on new releases.