github ldc-developers/ldc v1.5.0-beta1
LDC 1.5.0-beta1

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

Big news

  • Frontend, druntime and Phobos are at version 2.075.1. (#2252)
  • New command-line option -fp-contract to control fused floating-point math, as well as about 25 new hidden options influencing codegen, see -help-hidden (-enable-unsafe-fp-math, -debugger-tune etc.). (#2148)

Breaking changes

  • Win32: the mangled names of D symbols now start with _D, not with __D, compatible with DMD. (#2353)

Platform support

  • Supports LLVM 3.7 - 5.0.
  • Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.

Changes to the prebuilt packages

  • LLVM upgraded to 5.0.0.

Bug fixes

  • LLVM 5.0: need to build LDC with CMake option -DLDC_WITH_LLD=OFF to avoid conflicting command-line options. (#2148)
  • LLVM 5.0 & non-Windows targets: names of members in static libraries generated by LDC's internal archiver contain path information. (#2349)
  • Workaround for Xcode 9 ranlib bug: don't use internal (LLVM) archiver by default for OSX targets. (#2350)
  • Captured lazy parameters may be garbage. (#2302, #2330)
  • Packed struct layout regression (#2346) and T.alignof not respecting explicit type alignment via align(N). (#2347)
  • OSX and Win32: mangling issue for druntime's rt_options. (#1970, #2354)
  • MinGW Win64: ABI regression wrt. functions returning x87 reals. (#2358)
  • Potential file permission problem when copying over LLVM libraries during LDC build. (#2337)
  • PPC64: Forward reference error with 1.3 release. (#2200)

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.
  • Phobos does not compile on MinGW platform.
  • ThinLTO may not work well with the ld.bfd linker, use ld.gold instead (-Xcc=-fuse-ld=gold).
  • LLVM 5.0: potentially failing LLVM assertion when emitting debuginfos and using inlining at the same time. (#2361)

Don't miss a new ldc release

NewReleases is sending notifications on new releases.