Skip to content

Releases: ldc-developers/ldc

LDC 1.40.0-beta3

09 Sep 13:44
1f0c36e
Compare
Choose a tag to compare
LDC 1.40.0-beta3 Pre-release
Pre-release

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

Big news

  • Frontend, druntime and Phobos are at version ~2.110.0. (#4707, #4737, #4749) (new)
  • LLVM for prebuilt packages bumped to v18.1.8 (incl. macOS arm64). (#4712)
  • Android: NDK for prebuilt package bumped from r26d to r27. (#4711)
  • ldc2.conf: %%ldcconfigpath%% placeholder added - specifies the directory where current configuration file is located. (#4717)
  • Add support for building against a system copy of zlib through -DPHOBOS_SYSTEM_ZLIB=ON. (#4742) (new)
  • Emscripten: The compiler now mimicks a musl Linux platform wrt. extra predefined versions (linux, Posix, CRuntime_Musl, CppRuntime_LLVM). (#4750) (new)

Bug fixes

  • Fix potentially corrupt IR layouts for bit fields. (#4646, #4708)
  • Fix potentially corrupt IR layouts for explicitly under-aligned aggregates, a regression introduced in LDC v1.31. (#4734, #4736)
  • ELF: Emit (most) instantiated symbols in COMDATs for proper link-time culling. (#3589, #4748) (new)

LDC 1.40.0-beta2

20 Aug 21:04
dd0ff1e
Compare
Choose a tag to compare
LDC 1.40.0-beta2 Pre-release
Pre-release

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

Big news

  • Frontend, druntime and Phobos are at version ~2.110.0. (#4707, #4737) (new)
  • LLVM for prebuilt packages bumped to v18.1.8 (incl. macOS arm64). (#4712)
  • Android: NDK for prebuilt package bumped from r26d to r27. (#4711)
  • ldc2.conf: %%ldcconfigpath%% placeholder added - specifies the directory where current configuration file is located. (#4717)

Bug fixes

  • Fix potentially corrupt IR layouts for bit fields. (#4646, #4708)
  • Fix potentially corrupt IR layouts for explicitly under-aligned aggregates, a regression introduced in LDC v1.31. (#4734, #4736) (new)

LDC 1.40.0-beta1

10 Aug 19:32
6bd5d9a
Compare
Choose a tag to compare
LDC 1.40.0-beta1 Pre-release
Pre-release

Big news

  • Frontend, druntime and Phobos are at version ~2.110.0. (#4707)
  • LLVM for prebuilt packages bumped to v18.1.8 (incl. macOS arm64). (#4712)
  • Android: NDK for prebuilt package bumped from r26d to r27. (#4711)
  • ldc2.conf: %%ldcconfigpath%% placeholder added - specifies the directory where current configuration file is located. (#4717)

Bug fixes

  • Fix potentially corrupt IR layouts for bit fields. (#4646, #4708)

LDC 1.39.0

04 Jul 10:32
ff7954c
Compare
Choose a tag to compare

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

Big news

  • Frontend, druntime and Phobos are at version 2.109.1. (#4660, #4692) (new)
  • LLVM for prebuilt packages bumped to v18.1.6 (except for macOS arm64). (#4678)
  • Added CI testing of Alpine Linux with musl libc (including some bug fixes). Removed the libunwind dependency when linking with musl libc. (#4650, #4691) (new)

Platform support

  • Supports LLVM 15 - 18. Support for LLVM 11 - 14 was dropped. The CLI options -passmanager and -opaque-pointers were removed.

LDC 1.39.0-beta1

03 Jun 18:38
49e5732
Compare
Choose a tag to compare
LDC 1.39.0-beta1 Pre-release
Pre-release

Big news

  • Frontend, druntime and Phobos are at version 2.109.0. (#4660)
  • LLVM for prebuilt packages bumped to v18.1.6 (except for macOS arm64). (#4678)

Platform support

  • Supports LLVM 15 - 18. Support for LLVM 11 - 14 was dropped. The CLI options -passmanager and -opaque-pointers were removed.

LDC 1.38.0

11 May 00:31
59c0c60
Compare
Choose a tag to compare

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

Big news

  • Frontend, druntime and Phobos are at version 2.108.1. (#4591, #4615, #4619, #4622, #4623, #4640) (new)
  • Support for LLVM 18. The prebuilt packages use v18.1.5 (except for macOS arm64). (#4599, #4605, #4607, #4604, #4628, #4642) (new)
  • Android: Switch to native ELF TLS, supported since API level 29 (Android v10), dropping our former custom TLS emulation (requiring a modified LLVM and a legacy ld.bfd linker). The prebuilt packages themselves require Android v10+ (armv7a) / v11+ (aarch64) too, and are built with NDK r26d. Shared druntime and Phobos libraries are now available (-link-defaultlib-shared), as on regular Linux. (#4618)
    • Please don't use the official macOS arm64 package (incl. the universal package on arm64) to cross-compile to Android. That package still uses our previous LLVM v17.0.6, which still includes the custom TLS emulation, but druntime expects native TLS now on Android. Resort to the x86_64 package in that case.

Platform support

  • Supports LLVM 11 - 18.

Bug fixes

  • Android: Support the lld linker. (#3918)

LDC 1.38.0-beta1

19 Apr 23:24
b75fc4c
Compare
Choose a tag to compare
LDC 1.38.0-beta1 Pre-release
Pre-release

Big news

  • Frontend, druntime and Phobos are at version 2.108.0+. (#4591, #4615, #4619, #4622, #4623)
  • Support for LLVM 18. The prebuilt packages use v18.1.3 (except for macOS arm64). (#4599, #4605, #4607, #4604)
  • Android: Switch to native ELF TLS, supported since API level 29 (Android v10), dropping our former custom TLS emulation (requiring a modified LLVM and a legacy ld.bfd linker). The prebuilt packages themselves require Android v10+ (armv7a) / v11+ (aarch64) too, and are built with NDK r26d. Shared druntime and Phobos libraries are now available (-link-defaultlib-shared), as on regular Linux. (#4618)

Platform support

  • Supports LLVM 11 - 18.

Bug fixes

  • Android: Support the lld linker. (#3918)

LDC 1.37.0

03 Mar 13:24
Compare
Choose a tag to compare

Big news

Bug fixes

  • Fix if-statement elision on constant true/false condition. (#4556, #4559)

LDC 1.37.0-beta1

08 Feb 18:27
3c21924
Compare
Choose a tag to compare
LDC 1.37.0-beta1 Pre-release
Pre-release

Big news

LDC 1.36.0

06 Jan 14:21
Compare
Choose a tag to compare

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

Big news

  • Frontend, druntime and Phobos are at version 2.106.1. (#4522, #4539, #4551) (new)
  • Support for LLVM 17. The prebuilt packages use v17.0.6. (#4533, #4540)
  • New command-line options -fno-{exceptions,moduleinfo,rtti} to selectively enable some -betterC effects. (#4522)
  • New command-line option -fprofile-sample-use for using sample-based profile data for optimization. Functionality and usage is identical to Clang's option with same name. (#4531)
  • New ldc-profgen tool for sample-based PGO, a copy of LLVM's llvm-profgen. (#4536)

Platform support

  • Supports LLVM 11.0 - 17.0.