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:
parent
73d9c4743e
commit
51033a05c8
@ -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
3
ldc-1.22.0-src.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:866becac61fb225b0d55847fb5f206ff042d6a3ff63b671a474aa8b6a93d8988
|
||||
size 7434646
|
74
ldc.changes
74
ldc.changes
@ -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>
|
||||
|
||||
|
4
ldc.spec
4
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
|
||||
|
Loading…
Reference in New Issue
Block a user