From 8c5a30a1420d4934f85233c10a91b8c764ab4e34487a48c1343464f8b9fbffd5 Mon Sep 17 00:00:00 2001 From: Guillaume GARDET Date: Fri, 7 Apr 2023 09:02:29 +0000 Subject: [PATCH] Accepting request 1077843 from home:Guillaume_G:branches:devel:languages:D - Use llvm15 when available (Tumbleweed + Leap 15.5) - Update to 1.32.0 OBS-URL: https://build.opensuse.org/request/show/1077843 OBS-URL: https://build.opensuse.org/package/show/devel:languages:D/ldc?expand=0&rev=60 --- ldc-1.29.0-src.tar.gz | 3 -- ldc-1.32.0-src.tar.gz | 3 ++ ldc.changes | 95 +++++++++++++++++++++++++++++++++++++++++++ ldc.spec | 27 ++++++------ 4 files changed, 112 insertions(+), 16 deletions(-) delete mode 100644 ldc-1.29.0-src.tar.gz create mode 100644 ldc-1.32.0-src.tar.gz diff --git a/ldc-1.29.0-src.tar.gz b/ldc-1.29.0-src.tar.gz deleted file mode 100644 index 5b2dc5c..0000000 --- a/ldc-1.29.0-src.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d0c066eb965467625d9c5e75c00c583451b9ffa363601f9e37275ca8a8aea140 -size 8080420 diff --git a/ldc-1.32.0-src.tar.gz b/ldc-1.32.0-src.tar.gz new file mode 100644 index 0000000..3e599be --- /dev/null +++ b/ldc-1.32.0-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4ee0bf91b416dd5641353d9b267b6a48600c499c782beb112d2e460e329beac +size 8112549 diff --git a/ldc.changes b/ldc.changes index 38e63ef..0508e87 100644 --- a/ldc.changes +++ b/ldc.changes @@ -1,3 +1,98 @@ +------------------------------------------------------------------- +Thu Apr 6 14:52:02 UTC 2023 - Guillaume GARDET + +- Use llvm15 when available (Tumbleweed + Leap 15.5) +- Update to 1.32.0: + * Big news + - Frontend, druntime and Phobos are at version 2.102.2. (#4323, #4341) (new) + - LLVM for prebuilt packages bumped to v15.0.7. (#4311) + - Linker-level dead code elimination is enabled by default for Apple, + wasm and all ELF targets too now. (#4320) + - Vector comparisons (==, !=, <, <=, >, >=) now yield a vector mask. + Identity comparisons (is, !is) still yield a scalar bool. (3a59ee8) + - New timetrace2txt tool for easier inspection of --ftime-trace + output. (#4335) (new) + - --ftime-trace now also traces CTFE execution: the start + expression of CTFE and function calls during CTFE. (#4339) (new) + * Platform support + - Supports LLVM 9.0 - 15.0. + - Now supports -mabi for RISC-V targets. (#4322) + * Bug fixes + - GC closures including variables with alignment > 16 bytes are + now properly aligned. (ef8ba48) + - Fix regression with LLVM 13+: some errors in inline assembly + don't stop compilation. (#4293, #4331) +- Changelog from skipped 1.31.0: + * Big news + - Frontend, druntime and Phobos are at version 2.101.2. (#4141, #4279) + - Bit fields support. (#4015) + - macOS on Apple M1: linking with -g is working again without + unaligned pointer warnings/errors. This fixes file:line debug + information in exception backtraces (requiring atos, a macOS + development tool installed with Xcode), without the need to set + MACOSX_DEPLOYMENT_TARGET=11 and using a modified LLVM. (#4291) + - Preliminary support for LLVM 15, incl. adding support for the + 'new' pass manager (-passmanager) and opaque IR pointers + (-opaque-pointers). (way too many PRs to list!) + - New command-line option -fno-delete-null-pointer-checks, + mimicking the same option of GCC and Clang. (#4297) + - New UDA ldc.attributes.callingConvention("..."), which + overrides the default calling convention. For expert use only! (#4299) + - New command-line option -fno-discard-value-names to keep + value names in LLVM IR. (#4012) + - dcompute: Support for OpenCL image I/O. (#3835) + * Platform support + - Initial ABI support for 64-bit RISC-V. (#4007) + * Bug fixes + - dcompute: Fix v1.29 regression when trying to use + intrinsics. (#4266, #4267) + - Fix 64-bit symbol offsets. (#4264, #4283) + - Add missing 32-bit LTO versions of druntime & Phobos to + Linux multilib package. (#4234, #4235) + - Fix compiler crash. (#4130, #4135) + * Internals + - The former druntime and dmd-testsuite git submodules are now + part of the LDC repo directly, leaving Phobos as single + remaining submodule. We are now using a subset of the DMD + repo (which includes druntime since v2.101), rewritten via + git filter-repo and exposed as dmd-rewrite-* branches/tags + in the LDC repo, to merge newer frontend+druntime+tests from + upstream DMD. The tests/d2/dmd-testsuite dir was moved to + tests/dmd. (#4274, #4276) +- Changelog from skipped 1.30.0: + * Big news + - Frontend, druntime and Phobos are at version 2.100.1. + (#3970, #4008, #4009) (new) + - LLVM for prebuilt packages bumped to v14.0.3. + (#3952, #3979) + - All LLVM targets are enabled now (=> more targets for + cross-compilation). + - For the Mac package, the minimum supported macOS version + has been raised to v10.12. + - The minimum D version for bootstrapping has been raised to + v2.079 (for GDC: v9.4), in line with DMD. (#3956) + - The minimum LLVM version has been raised to v9.0. (#3960) + - New LeakSanitizer support via -fsanitize=leak (not (yet?) + supported on Windows). (#4005) (new) + - New prebuilt universal macOS package, runnable on both + x86_64 and arm64, and enabling x86_64/arm64 macOS/iOS + cross-compilation targets out of the box (-mtriple={x86_64,arm64}-apple-{macos,ios}). + The x86_64 package doesn't bundle any arm64 libs anymore; + the arm64 package newly bundles iOS libs (arm64). (#3958) + - Avoid an external x86_64-only dub, use the bundled universal + dub executable instead. + * Platform support + - Supports LLVM 9.0 - 14.0. + * Bug fixes + - Enable output of variable names in ASan and MSan error + reporting. (#4004) (new) + - Report unexpected type repaints as fatal ICEs instead of + crashing. (#3990, #3991) (new) + * Internals + - Main CI was moved from Azure Pipelines to GitHub Actions. + Any fork on GitHub can trivially reuse the fully automated + prebuilt packages generation & upload to a GitHub release. (#3978) + ------------------------------------------------------------------- Fri Nov 25 07:33:17 UTC 2022 - Max Lin diff --git a/ldc.spec b/ldc.spec index 60e2403..f059036 100644 --- a/ldc.spec +++ b/ldc.spec @@ -1,7 +1,7 @@ # # spec file for package ldc # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,7 +16,7 @@ # -%define so_ver 99 +%define so_ver 102 %define lname_jit libldc-jit %define lname_runtime libdruntime-%{name} %define lname_phobos libphobos2-%{name} @@ -34,7 +34,7 @@ # Dynamic compiling is not supported with LLVM >= 12 %if 0%{?suse_version} > 1550 || ( 0%{?is_opensuse} && 0%{?sle_version} > 150400 ) -# We force llvm14 on TW +# We force llvm15 on TW %global jit_support 0 %else %if %{pkg_vcmp llvm-devel >= 12} @@ -50,7 +50,7 @@ %endif Name: ldc -Version: 1.29.0 +Version: 1.32.0 Release: 0 Summary: The LLVM D Compiler License: Artistic-1.0 AND BSD-3-Clause @@ -65,12 +65,12 @@ BuildRequires: libconfig++-devel BuildRequires: libcurl-devel BuildRequires: libstdc++-devel %if 0%{?suse_version} > 1550 || ( 0%{?is_opensuse} && 0%{?sle_version} > 150400 ) -# Cannot build with llvm15, so stick with llvm14 for now -BuildRequires: clang14 -BuildRequires: llvm14-devel +# Cannot build with llvm16, so stick with llvm15 for now +BuildRequires: clang15 +BuildRequires: llvm15-devel %else -BuildRequires: llvm-clang >= 6.0 -BuildRequires: llvm-devel >= 6.0 +BuildRequires: llvm-clang >= 9.0 +BuildRequires: llvm-devel >= 9.0 %endif BuildRequires: ncurses-devel BuildRequires: sqlite3-devel @@ -184,8 +184,8 @@ touch no-suse-rules %cmake \ -DCMAKE_USER_MAKE_RULES_OVERRIDE=./no-suse-rules \ %if 0%{?suse_version} > 1550 || ( 0%{?is_opensuse} && 0%{?sle_version} > 150400 ) - -DCMAKE_C_COMPILER="%{_bindir}/clang-14" \ - -DCMAKE_CXX_COMPILER="%{_bindir}/clang++-14" \ + -DCMAKE_C_COMPILER="%{_bindir}/clang-15" \ + -DCMAKE_CXX_COMPILER="%{_bindir}/clang++-15" \ %else -DCMAKE_C_COMPILER="%{_bindir}/clang" \ -DCMAKE_CXX_COMPILER="%{_bindir}/clang++" \ @@ -209,8 +209,8 @@ touch no-suse-rules %cmake \ -DCMAKE_USER_MAKE_RULES_OVERRIDE=./no-suse-rules \ %if 0%{?suse_version} > 1550 || ( 0%{?is_opensuse} && 0%{?sle_version} > 150400 ) - -DCMAKE_C_COMPILER="%{_bindir}/clang-14" \ - -DCMAKE_CXX_COMPILER="%{_bindir}/clang++-14" \ + -DCMAKE_C_COMPILER="%{_bindir}/clang-15" \ + -DCMAKE_CXX_COMPILER="%{_bindir}/clang++-15" \ %else -DCMAKE_C_COMPILER="%{_bindir}/clang" \ -DCMAKE_CXX_COMPILER="%{_bindir}/clang++" \ @@ -260,6 +260,7 @@ rm -rf %{buildroot}%{_prefix}/lib/debug %config %{_sysconfdir}/ldc2.conf %{_bindir}/ldc* %{_bindir}/ldmd2 +%{_bindir}/timetrace2txt %files -n %{lname_runtime}%{so_ver} %{_libdir}/%{lname_runtime}-shared.so.%{so_ver}