From 51033a05c87c8e83378246ccc981da8d98c7b5ef23872705a0398cf9f64d34d5 Mon Sep 17 00:00:00 2001 From: Guillaume GARDET Date: Mon, 17 Aug 2020 10:15:56 +0000 Subject: [PATCH] Accepting request 825204 from home:elimat:branches:devel:languages:D MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update to 1.22.0: Big news * Frontend, druntime and Phobos are at version 2.092.1+. (#3413, #3416, #3429, #3434, #3452, #3467) (new) * AArch64: All known ABI issues have been fixed. C(++) interop should now be on par with x86_64, and variadics usable with core.{vararg,stdc.stdarg}. (#3421) * Windows hosts: DMD's Visual C++ toolchain detection has been adopted. As that's orders of magnitude faster than the previous method involving the MS batch file, auto-detection has been enabled by default, so if you have a non-ancient Visual C++ installation, it will now be used automatically for linking. The environment setup has been reduced to the bare minimum (LIB and PATH). (#3415) * FreeBSD x64: CI with CirrusCI is now fully green and includes automated prebuilt package generation. The package depends on the llvm ports package and should currently work on FreeBSD 11-13. (#3453, #3464) (new) * Link-time overridable @weak functions are now emulated for Windows targets and work properly for ELF platforms. For ELF, LDC doesn't emit any COMDATs anymore. (#3424) * New ldc.gccbuiltins_{amdgcn,nvvm} for AMD GCN and NVIDIA PTX targets. (#3411) * druntime: Significant speed-up for core.math.ldexp. (#3440, #3446) Platform support * Supports LLVM 3.9 - 10.0. Bug fixes * Cross-module inlining (incl. pragma(inline, true)): Enable emission into multiple object files. This may have a significant impact on performance (incl. druntime/Phobos) when not using LTO. (#3126, #3442) * Android: Fix TLS initialization regression (introduced in v1.21) and potential alignment issues. Unfortunately, the ld.bfd linker is required for our custom TLS emulation scheme, unless you're willing to use a custom linker script. So -linker=bfd is the new default for Android targets. (#3462) (new) * Casting (static and dynamic) arrays to vectors now loads the data instead of splatting the first element. (#3418, #3419) * Fix return statements potentially accessing memory from destructed temporaries. (#3426) * Add proper support for -checkaction=halt. (#3430, #3431) * druntime: Include core.stdcpp.* modules. (#3103, #3158) * GCC-style asm: Add support for indirect input operands ("m"). (#3438) * FreeBSD: Fix backtraces for optimized code by switching to external libexecinfo. (#3108, #3453) * FreeBSD: Fix C math related issues (incl. CTFE math issues) by bringing core.stdc.{math,tgmath} up to speed. (dlang/druntime#3119) * Fix ICE for captured parameters not passed on the LLVM level. (#3441) * Convenience fixes for RISC-V and other exotic targets. (#3457, #3460) (new) Internals * When printing compile-time reals to hex strings (mangling, .di headers), LDC now uses LLVM instead of the host C runtime, for proper and consistent results. (#3410) * One limitation for exotic hosts wrt. C long double precision has been lifted. (#3414) * For AVR targets, the compiler now predefines AVR and emits all TLS globals as regular __gshared ones. (#3420) * WebAssembly: New memory grow/size intrinsics. (ldc-developers/druntime#187) (new) * New -fno-plt option to avoid PLT external calls. (#3443) * iOS/arm64 CI, running the debug druntime & Phobos unittests on an iPhone 6S. Thx Jacob for this tedious work! (#3379, #3450) 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. OBS-URL: https://build.opensuse.org/request/show/825204 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=39 --- ldc-1.21.0-src.tar.gz | 3 -- ldc-1.22.0-src.tar.gz | 3 ++ ldc.changes | 74 +++++++++++++++++++++++++++++++++++++++++++ ldc.spec | 4 +-- 4 files changed, 79 insertions(+), 5 deletions(-) delete mode 100644 ldc-1.21.0-src.tar.gz create mode 100644 ldc-1.22.0-src.tar.gz diff --git a/ldc-1.21.0-src.tar.gz b/ldc-1.21.0-src.tar.gz deleted file mode 100644 index be3a4ea..0000000 --- a/ldc-1.21.0-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:50b7f929bf6b285c5b6618dd32162838daa2788298f25e669570df3fdc0716d8 -size 7355981 diff --git a/ldc-1.22.0-src.tar.gz b/ldc-1.22.0-src.tar.gz new file mode 100644 index 0000000..a76b919 --- /dev/null +++ b/ldc-1.22.0-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:866becac61fb225b0d55847fb5f206ff042d6a3ff63b671a474aa8b6a93d8988 +size 7434646 diff --git a/ldc.changes b/ldc.changes index 512f142..21ef18e 100644 --- a/ldc.changes +++ b/ldc.changes @@ -1,3 +1,77 @@ +------------------------------------------------------------------- +Sun Aug 9 21:57:52 UTC 2020 - Matthias Eliasson + +- Update to 1.22.0: + Big news + * Frontend, druntime and Phobos are at version 2.092.1+. + (#3413, #3416, #3429, #3434, #3452, #3467) (new) + * AArch64: All known ABI issues have been fixed. C(++) interop should now be + on par with x86_64, and variadics usable with core.{vararg,stdc.stdarg}. + (#3421) + * Windows hosts: DMD's Visual C++ toolchain detection has been adopted. As + that's orders of magnitude faster than the previous method involving the MS + batch file, auto-detection has been enabled by default, so if you have a + non-ancient Visual C++ installation, it will now be used automatically for + linking. The environment setup has been reduced to the bare minimum + (LIB and PATH). (#3415) + * FreeBSD x64: CI with CirrusCI is now fully green and includes automated + prebuilt package generation. The package depends on the llvm ports package + and should currently work on FreeBSD 11-13. (#3453, #3464) (new) + * Link-time overridable @weak functions are now emulated for Windows targets + and work properly for ELF platforms. For ELF, LDC doesn't emit any COMDATs + anymore. (#3424) + * New ldc.gccbuiltins_{amdgcn,nvvm} for AMD GCN and NVIDIA PTX targets. + (#3411) + * druntime: Significant speed-up for core.math.ldexp. (#3440, #3446) + Platform support + * Supports LLVM 3.9 - 10.0. + Bug fixes + * Cross-module inlining (incl. pragma(inline, true)): Enable emission into + multiple object files. This may have a significant impact on performance + (incl. druntime/Phobos) when not using LTO. (#3126, #3442) + * Android: Fix TLS initialization regression (introduced in v1.21) and + potential alignment issues. Unfortunately, the ld.bfd linker is required + for our custom TLS emulation scheme, unless you're willing to use a custom + linker script. So -linker=bfd is the new default for Android targets. + (#3462) (new) + * Casting (static and dynamic) arrays to vectors now loads the data instead + of splatting the first element. (#3418, #3419) + * Fix return statements potentially accessing memory from destructed + temporaries. (#3426) + * Add proper support for -checkaction=halt. (#3430, #3431) + * druntime: Include core.stdcpp.* modules. (#3103, #3158) + * GCC-style asm: Add support for indirect input operands ("m"). (#3438) + * FreeBSD: Fix backtraces for optimized code by switching to external + libexecinfo. (#3108, #3453) + * FreeBSD: Fix C math related issues (incl. CTFE math issues) by bringing + core.stdc.{math,tgmath} up to speed. (dlang/druntime#3119) + * Fix ICE for captured parameters not passed on the LLVM level. (#3441) + * Convenience fixes for RISC-V and other exotic targets. (#3457, #3460) (new) + Internals + * When printing compile-time reals to hex strings (mangling, .di headers), + LDC now uses LLVM instead of the host C runtime, for proper and consistent + results. (#3410) + * One limitation for exotic hosts wrt. C long double precision has been + lifted. (#3414) + * For AVR targets, the compiler now predefines AVR and emits all TLS globals + as regular __gshared ones. (#3420) + * WebAssembly: New memory grow/size intrinsics. (ldc-developers/druntime#187) + (new) + * New -fno-plt option to avoid PLT external calls. (#3443) + * iOS/arm64 CI, running the debug druntime & Phobos unittests on an iPhone + 6S. Thx Jacob for this tedious work! (#3379, #3450) + 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. + ------------------------------------------------------------------- Mon Jun 1 09:09:31 UTC 2020 - Max Lin diff --git a/ldc.spec b/ldc.spec index ff1814e..084bfa3 100644 --- a/ldc.spec +++ b/ldc.spec @@ -16,7 +16,7 @@ # -%define so_ver 91 +%define so_ver 92 %define lname_jit libldc-jit %define lname_runtime libdruntime-%{name} %define lname_phobos libphobos2-%{name} @@ -39,7 +39,7 @@ %bcond_with ldc_tests Name: ldc -Version: 1.21.0 +Version: 1.22.0 Release: 0 Summary: The LLVM D Compiler License: BSD-3-Clause AND Artistic-1.0