github ldc-developers/ldc v1.11.0-beta2
LDC 1.11.0-beta2

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

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

Big news

  • Frontend, druntime and Phobos are at version 2.081.1+. (#2752, #2772, #2776) (new)
    • Add some support for classes without TypeInfos, for -betterC and/or a minimal (d)runtime. (#2765) (new)
  • LLVM for prebuilt packages upgraded to v6.0.1. The x86_64 packages feature some more LLVM targets for cross-compilation (experiments): MIPS, MSP430, RISC-V and WebAssembly. (#2760)
  • Rudimentary support for compiling & linking directly to WebAssembly. See the dedicated Wiki page for how to get started. (#2766) (new)
  • This is also the first release with a mostly working Android/AArch64 port, see this forum post for instructions on trying it out. (new)
  • LDC on Windows now uses 80-bit compile-time reals. This allows for seamless cross-compilation to other x86(_64) targets, e.g., without real.min underflowing to 0 and real.max overflowing to infinity. (#2752)

Platform support

Bug fixes

  • extern(C++) on Posix: Pass non-PODs indirectly by value. (#2728)
  • extern(C++) on Windows/MSVC: Methods return all structs via hidden sret pointer. (#2720, #1935)
  • Make GC2Stack IR optimization pass work as intended. (#2750)
  • Fix beta1 compilability regression on non-x86 architectures with 64-bit reals. (#2764) (new)
  • Work around inline assembly regression with LLVM 6 on Win32. The prebuilt Win32 package is now using LLVM 6.0.1 too. (#2629, #2770) (new)

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.