SHA256
1
0
forked from pool/ldc

Accepting request 825204 from home:elimat:branches:devel:languages:D

- 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
This commit is contained in:
Guillaume GARDET 2020-08-17 10:15:56 +00:00 committed by Git OBS Bridge
parent 73d9c4743e
commit 51033a05c8
4 changed files with 79 additions and 5 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:50b7f929bf6b285c5b6618dd32162838daa2788298f25e669570df3fdc0716d8
size 7355981

3
ldc-1.22.0-src.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:866becac61fb225b0d55847fb5f206ff042d6a3ff63b671a474aa8b6a93d8988
size 7434646

View File

@ -1,3 +1,77 @@
-------------------------------------------------------------------
Sun Aug 9 21:57:52 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- 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 <mlin@suse.com>

View File

@ -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