github ldc-developers/ldc v1.14.0-beta1
LDC 1.14.0-beta1

latest releases: v1.38.0, dmd-rewrite-v2.108.1, dmd-rewrite-v2.108.1-rc.1...
pre-release5 years ago

Big news

  • Frontend, druntime and Phobos are at version 2.084.0+, incl. new command-line options -mixin, -{enable,disable}-switch-errors and -checkaction. (#2946, #2977)
    • Options -release, -d-debug and -unittest don't override preceding, more specific options (-{enable,disable}-{asserts,invariants,preconditions,postconditions,contracts}) anymore.
  • Linking WebAssembly doesn't require -link-internally (integrated LLD) anymore; an external linker (default: wasm-ld, override with -linker) can be used as well. (#2951)
  • Prebuilt Windows packages include LTO-able 32-bit druntime/Phobos too (previously: Win64 only).

Platform support

  • Supports LLVM 3.9 - 7.0.

Bug fixes

  • Fix C++ mangling regression for functions with multiple real parameters introduced with v1.13, preventing to build DMD. (#2954, dlang/dmd#9129)
  • Fix context of some nested aggregates. (#2960, #2969)
  • Support templated LLVM intrinsics with vector arguments. (#2962, #2971)
  • Avoid crashes with -allinst (fix emission of only speculatively nested functions). (#2932, #2940)
  • Fix XRay support for LLVM 7+. (#2965)
  • AArch64: Fix DMD-style profile measurements. (#2950)
  • Be less picky about placement of pragmas (allow intermediate extern(C) etc.). (#2599)
  • MSVC: Fix real C++ mangling to match Visual C++ long double. (#2974)

Known issues

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