github ldc-developers/ldc v1.28.0
LDC 1.28.0

latest releases: v1.38.0, dmd-rewrite-v2.109.0-beta.1, dmd-rewrite-v2.108.1...
2 years ago

(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 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.