github ldc-developers/ldc v1.23.0-beta1
LDC 1.23.0-beta1

latest releases: v1.40.0-beta4, v1.40.0-beta3, v1.40.0-beta2...
pre-release4 years ago

Big news

  • Frontend, druntime and Phobos are at version 2.093.0+, incl. new command-line option -vtemplates. (#3476)
  • Min required LLVM version raised to v6.0, dropping support for v3.9-5.0. (#3493)
  • The prebuilt Mac package now also includes prebuilt druntime/Phobos for the iOS/x86_64 simulator, making cross-compilation work out of the box with -mtriple=x86_64-apple-ios12.0. (#3478)

Platform support

  • Supports LLVM 6.0 - 10.0.

Bug fixes

  • Fix naked DMD-style asm emission for non-Mac x86 Darwin targets (e.g., iOS simulators). (#3478)
  • -betterC: Don't use unsupported EH for handling clean-ups. (#3479, #3482)
  • dcompute: Fix wrong address space loads and stores. Thx Rob! (#3428)
  • Fix ICE wrt. missing IR declarations for some forward-declared functions. (#3496, #3503)

Internals

  • Compiler performance wrt. string literals emission has been improved. Thx @looked-at-me! (#3490, #3492)
  • Link libstdc++ statically for libldc-jit.so of prebuilt Linux packages, to increase portability. (#3473, #3474)
  • Set up Visual D when using the Visual Studio CMake generator, making LDC compiler development on Windows a smooth out-of-the-box experience. (#3494)

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.