Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: ldc | Distribution: openSUSE Tumbleweed |
Version: 1.39.0 | Vendor: openSUSE |
Release: 1.1 | Build date: Tue Sep 3 15:47:14 2024 |
Group: Development/Languages/Other | Build host: reproducible |
Size: 9270550 | Source RPM: ldc-1.39.0-1.1.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://wiki.dlang.org/LDC | |
Summary: The LLVM D Compiler |
LDC is an LLVM based compiler for the D programming language. It uses the frontend of the reference compiler (DMD), thereby supporting the same language features, but profits from LLVM's superior optimizing and code generation capabilities.
Artistic-1.0 AND BSD-3-Clause
* Tue Sep 03 2024 Guillaume GARDET <guillaume.gardet@opensuse.org> - Update to 1.39.0: - Drop upstream patch merge in 1.34.0: * riscv64-default-target.patch * Wed Dec 06 2023 Andreas Schwab <schwab@suse.de> - riscv64-default-target.patch: Default to rv64gc for hosted riscv64 target - Enable build on riscv64 * Fri Jul 07 2023 Guillaume GARDET <guillaume.gardet@opensuse.org> - Update to 1.32.2: * Big news - New command-line option --fwarn-stack-size=<threshold> with LLVM 13+. (#4378) - New command-line option --fsplit-stack for incremental stack allocations, see https://llvm.org/docs/SegmentedStacks.html. (#4379) - New UDA ldc.attributes.noSplitStack disables it on a per-function basis. (#4382) - New command-line option --indent for the timetrace2txt tool. (#4391) * Bug fixes - Fix potentially huge compile slowdowns with -g and LLVM 15+. (#4354, #4393) - Treat all LLVM warnings as regular warnings (e.g., errors with -w). Requires LLVM 13+. (#4384) - Skipped 1.32.1: * Big news - The prebuilt Linux packages are now generated on a Ubuntu 20.04 box, so the min required glibc version has been raised from 2.26 to 2.31. (#4367) * Bug fixes - Fix empty ldc.gccbuiltins_* modules with LLVM 15+. (#4347, #4350) - Fix v1.31 regression wrt. potentially wrong constant pointer offsets. (#4362, #4365) - Windows: Fix v1.32 regression wrt. leaking Throwable.info backtraces. (#4369) - Fix C assert calls for newlib targets. (#4351) * Fri Jul 07 2023 Guillaume GARDET <guillaume.gardet@opensuse.org> - Do not use %{_includedir}/d to be able to install/use multiple D compilers in parallel - boo#1212913 * Fri Apr 21 2023 Dominique Leuenberger <dimstar@opensuse.org> - Add specific conflict from runtime-devel to the old/previous libdruntime-ldc99. which contained an unversioned file. * Thu Apr 20 2023 Dominique Leuenberger <dimstar@opensuse.org> - Only move bash-completion from /etc to /usr/share if this was not properly installed. There was an error that bash-completion-devel did not actually contain the .cmake file which in turn resulted in this package mis-installing despite the correct build deps. * Tue Apr 11 2023 Guillaume GARDET <guillaume.gardet@opensuse.org> - Move %{_libdir}/ldc_rt.dso.o to runtime-devel package * Thu Apr 06 2023 Guillaume GARDET <guillaume.gardet@opensuse.org> - 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 2022 Max Lin <mlin@suse.com> - Force to use llvm14 in Leap 15.5 since the default llvm version is now llvm15 * Mon Nov 21 2022 Dominique Leuenberger <dimstar@opensuse.org> - Do not have the main package recommend the bash-completion sub-package, but rather have the subpackage supplement the combination of ldc and bash-completion. * Fri Oct 07 2022 Guillaume GARDET <guillaume.gardet@opensuse.org> - Build against llvm14 for Tumbleweed since llvm15 is not supported yet * Tue May 10 2022 Fabian Vogt <fvogt@suse.com> - Use gcc-d (gdc) for bootstrapping as recommended by upstream. Only gdc is needed for bootstrapping instead of various older ldc versions, which also allows to use newer versions of LLVM (boo#1199054). On top of that, this allows ldc to use the shared runtime built with itself. - Drop use of binutils-gold, 1.29.0 does not use it by default anymore - Mention %so_ver in %files * Tue Apr 12 2022 Chris Josten <chris+suse@netsoj.nl> - Update to 1.29.0: * Frontend, druntime and Phobos are at version 2.099.1 * Support for LLVM 13 and LLVM 14 * New @hidden UDA (as counterpart of export). * Support 'raw mangles' via leading \1 in pragma(mangle) strings, e.g., to access magic linker symbols on Mac. * New @noSanitize UDA to selectively disable sanitizer instrumentation of functions. * WebAssembly: Larger default stack size (1 MB) and protection against stack overflow overwriting global memory. * LDC doesn't default to the ld.gold linker anymore. The combination of LLVM 13+ and older gold linkers can apparently cause problems. We recommend using LLD, e.g., via -linker=lld or by setting your default /usr/bin/ld symlink; it's significantly faster too. * -linkonce-templates is less aggressive by default now and IMHO production-ready. * When linking manually (not via LDC) against shared druntime, it is now required to link the bundled lib/ldc_rt.dso.o[bj] object file into each binary. It replaces the previously Windows-specific dso_windows.obj. * Basic compiler support for Newlib targets, i.e., triples like arm-none-newlibeabi. * dcompute: Add support for OpenCL image I/O. * Revamped and improved -ftime-trace implementation for compiler profiling/tracing, now excluding LLVM-internal traces, adding frontend memory tracing, source file location infos etc * Implement core.atomic.pause() for some architectures. * Bug fixes: * Linux: Make LTO work with LLD. * Capture NRVO variable by ref for stack closures. * -ftime-trace: JSON-escape filenames. * RISC-V: Use 128-bit quadruple real. * Linux x86/x64: Fix TLS range with static druntime and bfd/lld linkers. * Support rdtscp in DMD-style inline assembly. * Fix dynamic casts across binary boundaries (DLLs etc.). * Don't silently ignore invalid external tool specifications. * LLVM v11.1: Add missing PGO ldc-profdata tool. * ICE for 64-bit targets with 32-bit pointer size. * Breaking ABI changes: * extern(D): formal parameters of non-variadic functions aren't reversed anymore, in line with the spec. * Mon May 17 2021 Ferdinand Thiessen <rpm@fthiessen.de> - Update to 1.26.0: * Frontend, druntime and Phobos are at version 2.096.1+ incl. new ldmd2 command-line option -gdwarf=<version> * Supports LLVM 6.0 - 12.0 * LDC invocations can now be nicely profiled via --ftime-trace. * Struct TypeInfos are emitted into referencing object files only, and special TypeInfo member functions into the owning object file only. * Bug fixes: * TypeInfo for interface gives invalid string for name. * dcompute: Don’t reject CUDA versions 7.x - 8.0.0. * Don’t enforce the frame pointer for functions with GCC-style inline asm. * Fix some cases of insufficient alignment for arguments and parameters. * Fix a few issues with LLVM 12. * Add source location information for TypeInfo diagnostics with -betterC. * Keep init symbols of built-in TypeInfo classes mutable just like any other TypeInfo, so that e.g. synchronized() can be used on the implicit monitor. * Predefine version FreeStanding when targeting bare-metal. * druntime: Define rt.aaA.AA as naked pointer, no struct wrapper * Misc. fixes and improvements for the CMake scripts, incl. new defaults for LDC_INSTALL_{LTOPLUGIN,LLVM_RUNTIME_LIBS} * -cleanup-obj: Put object files into unique temporary directory by default. * druntime: Add missing core.atomic.atomicFetch{Add,Sub}. * Fix regression wrt. non-deleted temporary -run executable. * Breaking ABI changes: * extern(D): Pass non-PODs by ref to temporary. * -linkonce-templates comes with a new experimental template emission scheme and is now suited for projects consisting of multiple object files too. - 1.13+ is now required for 1.26+ on 32bit
/etc/ldc2.conf /usr/bin/ldc-build-plugin /usr/bin/ldc-build-runtime /usr/bin/ldc-profdata /usr/bin/ldc-profgen /usr/bin/ldc-prune-cache /usr/bin/ldc2 /usr/bin/ldmd2 /usr/bin/timetrace2txt /usr/share/doc/packages/ldc /usr/share/doc/packages/ldc/README.md /usr/share/licenses/ldc /usr/share/licenses/ldc/LICENSE /usr/share/man/man1/ldc2.1.gz /usr/share/man/man1/ldmd2.1.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Wed Nov 13 00:41:02 2024