Skip to content

LDC 1.40.1

Latest
Compare
Choose a tag to compare
@kinke kinke released this 20 Mar 14:24
· 24 commits to master since this release
880d514

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

Big news

  • Frontend and druntime bumped to version 2.110.0 final. (#4854, #4868)
  • LLVM for prebuilt packages bumped to v19.1.7. (#4822)
  • New prebuilt package for Alpine Linux x86_64 with musl libc. It's currently generated on Alpine v3.21, using its default LLVM 19. Most bundled executables are fully static and can be run on ~all distros. (#4826, #4862)
  • Revived dynamic-compile (JIT) functionality (formerly unsupported since LLVM 12), supporting LLVM 18+ now. (#4774)
  • ldc2.conf: %%ldcversion%% placeholder added, allowing to refer to version-specific directories.
  • Windows: The prebuilt packages now bundle an official libcurl build (from https://curl.se/windows/), currently v8.12.1. The static library (curl_a.lib) isn't available anymore. When bundling this libcurl.dll with your binaries, make sure to include curl-ca-bundle.crt too (in the same directory as the DLL), to prevent 'SSL peer certificate or SSH remote key was not OK' exceptions. (#4855, #4875) (new)

Platform support

  • Supports LLVM 15 - 19.
  • Initial compiler and runtime support for ppc64 and ppc64le systems that use IEEE 754R 128-bit floating-point as the default 128-bit floating-point format. (#4833, #4840)
  • Initial support for Windows on ARM64. The prebuilt Windows multilib package/installer bundles prebuilt arm64 druntime and Phobos; cross-compiling works out of the box via -mtriple=aarch64-windows-msvc, but you currently need to set up a suited MSVC arm64 build environment before yourself (e.g., by running vsdevcmd.bat -arch=arm64 -host_arch=x64). (#4835, #4846)

Bug fixes

  • Prebuilt macOS universal package: Fix automatic bundled libLTO.dylib usage when linking with LTO. (#4857)
  • Building multi-file D applications with control-flow protection will no longer cause LDC to throw an internal compiler error. (#4828)