github ldc-developers/ldc v1.16.0
LDC 1.16.0

latest releases: v1.40.0-beta3, v1.40.0-beta2, v1.40.0-beta1...
5 years ago

(Changes since 1.16.0-beta2 are marked with (new).)

Big news

  • Frontend, druntime and Phobos are at version 2.086.1, incl. a DIP1008 fix. (#3062, #3076, #3091) (new)
  • Non-Windows x86: Faster real versions of std.math.{tan,expi}. (#2855)
  • dcompute: New __traits(getTargetInfo, "dcomputeTargets"). (#3090) (new)

Platform support

  • Supports LLVM 3.9 - 8.0 (incl. 7.1).

Bug fixes

  • Make pragma(LDC_no_typeinfo) actually elide TypeInfo emission for structs, classes and interfaces. (#3068)
  • Windows: Fix DLL entry point in MinGW-based libs. (ldc-developers/mingw-w64-libs@8d930c1)
  • WebAssembly: Use --export-dynamic when linking with LLD 8+. (#3023, #3072)
  • Fix corrupt this in functions nested in in/out contracts. (45460a1)
  • Fix identity comparisons of integral vectors. (a44c78f)
  • Improved handling of unsupported vector ops. (a44c78f)
  • uClibc: Fix C assert calls. (#3078, #3082) (new)
  • Improved error message on global variable collision. (#3080, #3081) (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.