Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

ldc-1.21.0-lp152.1.2 RPM for x86_64

From OpenSuSE Leap 15.2 for x86_64

Name: ldc Distribution: openSUSE Leap 15.2
Version: 1.21.0 Vendor: openSUSE
Release: lp152.1.2 Build date: Tue Jun 9 04:30:01 2020
Group: Unspecified Build host: build72
Size: 16626559 Source RPM: ldc-1.21.0-lp152.1.2.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.

Provides

Requires

License

BSD-3-Clause AND Artistic-1.0

Changelog

* Mon Jun 01 2020 Max Lin <mlin@suse.com>
  - Switch to llvm7 explicity on Leap 15.2 as the default llvm in Leap 15.2
    isn't llvm7
* Sun May 24 2020 Matthias Eliasson <elimat@opensuse.org>
  - Remove groups from specfile since they are not used anymore
  - Add ldc-jit lib and devel packages
  - Update to 1.21.0:
    * Big news
    - Frontend, druntime and Phobos are at version 2.091.1+, incl. new CLI
    switches -verror-style and -HC, -HCd, -HCf. (#3333, #3399)
    - LLVM for prebuilt packages upgraded to v10.0.0. Android NDK version
    bumped to r21. (#3307, #3387, #3398)
    - Initial support for GCC/GDC-style inline assembly syntax, besides
    DMD-style inline asm and LDC-specific __asm, enabling to write inline
    asm that is portable across GDC/LDC and corresponds to the GCC syntax
    in C. See ldc-developers/druntime#171 for examples wrt. how to
    transition from __asm to similar GCC-style asm. (#3304)
    - Inline assembly diagnostics have been extended by the D source
    location. (#3339)
    * Platform support
    - Supports LLVM 3.9 - 10.0.
    * Bug fixes
    - Fixed tail calls in thunks, affecting AArch64 (the debug libraries now work)
    and possibly other architectures. (#3329, #3332)
    - Windows: Do not emit any column infos for CodeView by default
    (like clang) & add -gcolumn-info. (#3102, #3388)
    - Windows: Do not leak MSVC-environment-setup into -run child processes.
    A new LDC_VSDIR_FORCE environment variable can be used to enforce MSVC
    toolchain setup. (#3340, #3341)
    - Windows: Fix memory leak when throwing exceptions in threads.
    (#3369, ldc-developers/druntime#181)
    - Try to use memcmp for (in)equality of non-mutable static arrays and
    mutable slices. (#3400, #3401)
    - ldc.gccbuiltins_*: Lift 256-bit vector limit, adding 174 AVX512
    builtins for x86; 512-bit vector aliases have been added to core.simd.
    (#3405, #3406)
    * Internals
    - core.bitop.{bts,btr,btc} are now CTFE-able. (ldc-developers/druntime#182)
    - Do not fallback to host for critical section size of unknown targets.
    (#3389)
    - Linux: Possibility to avoid passing -fuse-ld to cc via -linker=.
    (#3382)
    - WebAssembly: Switch from legacy linked-list ModuleInfo registry to
    __minfo section. (#3348)
    - Windows: Bundled libcurl upgraded to v7.69.1, incl. the option to link
    it statically. (#3378)
    - Windows: Switch to wide wmain C entry point in druntime. (#3351)
    - druntime unittests are now compiled with -checkaction=context.
    * Known issues
    - NEW: 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.
* Tue Jul 09 2019 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Switch to llvm7 for Tumbleweed as llvm8 is not able to build
    bootstrap version 0.17.6
    See https://github.com/ldc-developers/ldc/issues/3109
  - Disable -flto=4 option as llvm does not recognize this option
* Tue Jul 09 2019 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Update to 1.16.0:
    * Big news
    - Frontend, druntime and Phobos are at version 2.086.1, incl.
      a DIP1008 fix. (#3062, #3076, #3091) (new)
    - Non-Windows x86: Faster real versions of std.math.{tan,expi}. (#2855)
    - dcompute: New __traits(getTargetInfo, "dcomputeTargets"). (#3090) (new)
    * Platform support
    - Supports LLVM 3.9 - 8.0 (incl. 7.1).
    * Bug fixes
    - Make pragma(LDC_no_typeinfo) actually elide TypeInfo emission
      for structs, classes and interfaces. (#3068)
    - Windows: Fix DLL entry point in MinGW-based libs.
      (ldc-developers/mingw-w64-libs@8d930c1)
    - WebAssembly: Use --export-dynamic when linking with LLD 8+.
      (#3023, #3072)
    - Fix corrupt this in functions nested in in/out contracts.
      (45460a1)
    - Fix identity comparisons of integral vectors. (a44c78f)
    - Improved handling of unsupported vector ops. (a44c78f)
    - uClibc: Fix C assert calls. (#3078, #3082) (new)
    - Improved error message on global variable collision.
      (#3080, #3081) (new)
    * Known issues
    - 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.
* Sat Apr 20 2019 Matthias Eliasson <elimat@opensuse.org>
  - Update to 1.15.0
    * Big news
    - Frontend, druntime and Phobos are at version 2.085.1, incl. new
    command-line options -preview, -revert, -checkaction=context,
    - verrors-context and -extern-std. (#3003, #3039, #3053) (new)
      + The Objective-C improvements from DMD 2.085 are not implemented
    (#3007)
    - Support for LLVM 8.0. The prebuilt packages have been upgraded to
    LLVM 8.0.0 and include the Khronos SPIRV-LLVM-Translator, so that
    dcompute can now emit OpenCL too. (#3005)
    - Compiler memory requirements can now be reduced via the new -lowmem
    switch, which enables the garbage collector for the front-end and
    sacrifices compile times for less required memory. In some cases, the
    overall max process memory can be reduced by more than 60%; see #2916
    (comment) for some numbers. (#2916)
      + Note for package maintainers: this feature requires a recent D host
    compiler (most notably, it doesn't work with ltsmaster), ideally
    LDC 1.15 itself due to important GC memory overhead improvements in
    2.085 druntime.
    - Support for generic @llvmAttr("name") parameter UDAs, incl. new
    @restrict with C-like semantics. (#3043) (new)
    - macOS: 32-bit support was dropped in the sense of not being CI-tested
    anymore and the prebuilt macOS package now containing x86_64 libraries
    only. MACOSX_DEPLOYMENT_TARGET for the prebuilt package has been raised
    from 10.8 to 10.9.
    - Prebuilt packages don't depend on libtinfo and libedit anymore.
    (#1827, #3019)
    - x86: SSSE3 isn't required for the prebuilt packages and generated
    optimized binaries anymore. (#3045) (new)
    * Platform support
    - Supports LLVM 3.9 - 8.0.
    * Bug fixes
    - Implicit cross-module-inlining of functions annotated with
    pragma(inline, true) without explicit -enable-cross-module-inlining has
    been restored. (#2552, #3014)
    - Propagate well-known length of newly allocated dynamic arrays for
    better optimizability. (#3041, #3042) (new)
    - JIT: Support implicit __chkstk calls for Windows targets, e.g., for
    large stack allocations. (#3051) (new)
  - Update so_version to 85
* Fri Jan 25 2019 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Requires binutils.gold as ldc uses ld.gold by default since version 1.13.0
* Mon Jan 21 2019 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Enable bootstrap again for all flavours, otherwise ldc will require old
    .so file instead of new one
  - Use ldc 1.12.0 as intermediate build on 32-bit, due to upstream bug:
    * https://github.com/ldc-developers/ldc/issues/2947
* Thu Jan 10 2019 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Remove wrong requires to 'ldc-utils' as there is no such package
* Tue Dec 18 2018 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Disable bootstrap in Tumbleweed and Leap 15+ as it is bootstrapped already
    and to workaround https://github.com/ldc-developers/ldc/issues/2947
* Tue Dec 18 2018 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Add bash-completion sub-package
* Tue Dec 18 2018 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Update to 1.13.0:
    * Big news
    - Frontend, druntime and Phobos are at version 2.083.1.
      (#2878, #2893, #2920, #2933) (new)
    - The Windows packages are now fully self-sufficient, i.e., a
      Visual Studio/C++ Build Tools installation isn't required anymore,
      as we now ship with MinGW-w64-based libraries, similar to DMD. Check out
      the included README.txt for all relevant details.
      (dlang/installer#346, #2886, Wiki: Cross-compiling with LDC)
    - Debug info improvements:
    - For GDB: printing global and imported symbols, non-member
      and member function calls. (#2826)
    - For Visual Studio and mago: names, by-value params, nested
      variables. (#2895, #2908, #2909, #2912)
    - Associative arrays now showing up properly (at least with mago),
      not as opaque void* anymore. (#2869)
    - -gc now translates D names to C++ ones, e.g., to use the regular
      Visual Studio debugger (bypassing mago) and as preparation for VS Code
      debugging with Microsoft's C/C++ plug-in (screenshots). Thanks to
      Oleksandr for this contribution and the AA fix! (#2869)
    - New command-line option -fvisibility=hidden to hide functions/globals
      not marked as export (for non-Windows targets), primarily to reduce the
      size of shared libraries. Thanks to Andrey for stepping up! (#2894, #2923)
    - Dropped support for LLVM 3.7 and 3.8. (#2872)
    - LLVM for prebuilt packages upgraded to v7.0.1. (new)
    - Linux: now defaulting to ld.gold linker in general, not just with
    - flto=thin, as buggy older ld.bfd versions may wrongly strip out required
      symbols (change with -linker). (#2870)
    - Improved support for Android/x86[_64], musl libc and FreeBSD/AArch64.
      (#2917, ldc-developers/druntime#146) (new)
    - LDC-specific druntime: ldc.simd.inlineIR moved/renamed to ldc.llvmasm.__ir
      (with deprecated legacy alias). (#2931) (new)
    - New CMake option COMPILE_D_MODULES_SEPARATELY builds D files in the DDMD
      frontend separately to reduce the time required to build LDC with many
      CPU cores and/or for iterative development. (#2914)
    * Platform support
    - Supports LLVM 3.9 - 7.0.
    - Alpine linux/x64: built against Musl libc to support Docker images based on
      the Alpine distro, requires the llvm5-libs, musl-dev, binutils-gold and gcc
      packages to build and link D apps and the tzdata and curl-dev packages for
      certain stdlib modules.
    * Bug fixes
    - 32-bit Android/ARM regression introduced in v1.12. (#2892)
    - Non-Windows x86_64 ABI fixes wrt. what's passed in registers,
      relevant for C[++] interop. (#2864)
    - Some issues with beta1's newly bundled Windows libraries. (#2900, #2903)
    - Alignment of scope allocated class instances. (#2919)
    - Beta2's -fvisibility=hidden causing lots of linker errors.
      (#2922, #2923) (new)
  - Update so_version to 83
  - Disable ppc64 builds (boo#1113531)
* Wed Oct 17 2018 Guillaume GARDET <guillaume.gardet@opensuse.org>
  - Update to 1.12.0:
    * Big news
    - Frontend, druntime and Phobos are at version 2.082.1.
      (#2818, #2837, #2858, #2873) (new)
      Significant performance improvements for some transcendental
      std.math functions in single and double precision, at least
      for x86. (dlang/phobos#6272 (comment))
    - Support for LLVM 7, which is used for the prebuilt packages.
      Due to an LLVM 7.0.0 regression, the prebuilt x86[_64] LDC
      binaries require a CPU with SSSE3, and so will your optimized
      binaries (unless compiling with -mattr=-ssse3). (#2850)
    - JIT compilation: new ldc.dynamic_compile.bind function with
      interface similar to C++ std::bind, allowing to generate
      efficient specialized versions of functions (much like
      Easy::jit for C++). (#2726)
    - LTO now working for Win64 too; the prebuilt package includes
      the required external LLD linker and the optional LTO default
      libs. Enable as usual with -flto=<thin|full>
      [-defaultlib=druntime-ldc-lto,phobos2-ldc-lto]. (#2774)
    - Config file: new lib-dirs array for directories to be searched
      for libraries, incl. LLVM compiler-rt libraries. (#2790)
    * Platform support
    - Supports LLVM 3.7 - 7.0.
    - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.
    - Alpine linux/x64: built against Musl libc to support Docker
      images based on the Alpine distro, requires the llvm5-libs,
      musl-dev, and gcc packages to build and link D apps and the
      tzdata and libcurl packages for certain stdlib modules.
    - Android/ARM: This release slightly changes the way emulated TLS
      is interfaced, but is missing a patch for 32-bit ARM. See the
      wiki for instructions on patching that file manually before
      cross-compiling the runtime libraries for 32-bit Android/ARM.
    * Bug fixes
    - Fix IR-based PGO on Windows (requires our LLVM fork). (#2539)
    - Fix C++ class construction with D new on Posix. (#2801)
    - Android: No more text relocations in Phobos zlib, required for
      API level 23+. (#2822, #2835)
    - Declare extern const/immutable globals as IR constants.
      (#2849, #2852)
    - Fix issue when emitting both object and textual assembly files
      at once (-output-o -output-s). (#2847)
    - Support address of struct member as key/value in AA literal.
      (#2859, #2860)
    - Fix ICE when computing addresses relative to functions/labels.
      (#2865, #2867) (new)
    - beta2 regression wrt. cross-compiling to Android. (#2863) (new)
  - Fix so_version to 82
* Mon Aug 27 2018 guillaume.gardet@opensuse.org
  - Fix so_version to 81
* Fri Aug 24 2018 guillaume@opensuse.org
  - Update to 1.11.0:
    * Big news:
    - Frontend, druntime and Phobos are at version 2.081.2.
      (#2752, #2772, #2776, #2791, #2815) (new)
    - Add some support for classes without TypeInfos, for
    - betterC and/or a minimal (d)runtime. (#2765)
    - LLVM for prebuilt packages upgraded to v6.0.1.
      The x86_64 packages feature some more LLVM targets for
      cross-compilation (experiments): MIPS, MSP430, RISC-V
      and WebAssembly. (#2760)
    - Rudimentary support for compiling & linking directly to
      WebAssembly. See the dedicated Wiki page for how to get
      started. (#2766, #2779, #2785)
    - AArch64 (64-bit ARM) now mostly working on Linux/glibc
      and Android. Current ltsmaster is able to bootstrap v1.11,
      which can also bootstrap itself; most tests pass.
      (Preliminary) CI has been set up. (#2802, #2817, #2813) (new)
    - LDC on Windows now uses 80-bit compile-time reals. This allows
      for seamless cross-compilation to other x86(_64) targets,
      e.g., without real.min underflowing to 0 and real.max
      overflowing to infinity. (#2752)
    - New @naked UDA in ldc.attributes & enhanced functionality
      for @llvmAttr("<name>"). (#2773)
    * Platform support:
    - Supports LLVM 3.7 - 6.0.
    - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.
    - Alpine linux/x64: built against Musl libc to support Docker
      images based on the Alpine distro, requires the llvm5-libs,
      musl-dev, and gcc packages to build and link D apps and the
      tzdata and libcurl packages for certain stdlib modules.
    * Bug fixes:
    - extern(C++) on Posix: Pass non-PODs indirectly by value.
      (#2728)
    - extern(C++) on Windows/MSVC: Methods return all structs via
      hidden sret pointer. (#2720, #1935)
    - Make GC2Stack IR optimization pass work as intended. (#2750)
    - Work around inline assembly regression with LLVM 6 on Win32.
      The prebuilt Win32 package is now using LLVM 6.0.1 too. (#2629, #2770)
    - Fix overzealous check for multiple main() functions. (#2778) (new)
    - Fix corrupt prefix in integrated LLD's console output. (#2781) (new)
    - No context ptr for nested non-extern(D) functions. (#2808, #2809) (new)
    * Known issues:
    - 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.
  - Update bootstrap version to 0.17.6:
    * Added support for LLVM 6.0 and 7.0. (#2600, #2825)
    * Backported AArch64 fixes from master; most tests passing on
      Linux/glibc and Android
    * Fix generation of debug info. (#2594)
    * Added support for bootstrapping on DragonFly BSD
    * Fixed missing definition in std.datetime on Solaris
    * Fixed std.datetime unittest failure. (ldc-developers/phobos#59)
    * Fixed tests for PowerPC. (#2634, #2635)
    * Improvements for MIPS.
    * Make core.stdc.stdarg.va_* functions nothrow to enable
      compiling the 2.082 frontend. (#2821)
    * CI updates.
  - Remove upstreamed patches:
    * ldc-0.17.5-add_missing_include.patch
    * ldc-0.17.5-add_support_to_LLVM6.patch
    * ldc-0.17.5-backport_pr_2315.patch
    * ldc-0.17.5-default-to-pic.patch
  - Enable aarch64 since it can be boostrapped with ldc 0.17.6
  - Fix x86_64 build by adding '-fPIC' to C_FLAGS of bootstrap
* Mon Jul 30 2018 matthias.eliasson@gmail.com
  - Remove _sysconfdir from phobos-devel filelist and add etc since its a
    d package name. spec-cleaner was to eager to clean.
* Sat Jul 28 2018 matthias.eliasson@gmail.com
  - Update so_ver to 80 for libdruntime-ldc and libphobos2-ldc to
    match version in 1.10.0 release of ldc.
  - Run spec-cleaner
* Tue Jul 03 2018 guillaume.gardet@opensuse.org
  - Update to 1.10.0:
    * Big news:
    - Frontend, druntime and Phobos are at version 2.080.1.
      (#2665, #2719, #2737) (new)
    - No support for Objective-C class/static methods yet. (#2670)
    - Breaking Win64 extern(D) ABI change: Pass vectors directly
      in registers, analogous to the MS vector calling convention.
      (#2714)
    - Config file: For cross-compilation, support additional
      sections named as regex for specific target triples, e.g.,
      "86(_64)?-.*-linux": { … };; see the comment in etc/ldc2.conf.
      (#2718)
    * Platform support:
    - Supports LLVM 3.7 - 6.0.
    - Windows: Supports Visual Studio/C++ Build Tools 2015 and 2017.
    - Alpine linux/x64: built against Musl libc to support Docker
      images based on the Alpine distro, requires the llvm5-libs,
      musl-dev, and gcc packages to run and link D apps and the
      tzdata and libcurl packages for certain stdlib modules.
    * Bug fixes
* Wed Jun 06 2018 guillaume.gardet@opensuse.org
  - Add tests, disabled by default (since we are missing python2-lit)
* Wed Jun 06 2018 guillaume.gardet@opensuse.org
  - Add patch to fix ARM builds:
    * ldc-1.9.0-fix_arm_build.patch
* Tue Jun 05 2018 guillaume.gardet@opensuse.org
  - Update to 1.9.0 and use 0.17.5 to bootstrap
* Fri Jun 01 2018 guillaume.gardet@opensuse.org
  - Add patch to fix rpmlint error:
    * ldc-0.17.5-add_missing_include.patch
  - Add patches to add LLVM6 support:
    * ldc-0.17.5-add_support_to_LLVM6.patch
    * ldc-0.17.5-backport_pr_2315.patch
  - Add patch to be able to use ldc:
    * ldc-0.17.5-default-to-pic.patch
* Thu Mar 22 2018 guillaume.gardet@opensuse.org
  - update to version 0.17.5:
    * Added LLVM 5.0 support.
    * druntime: fixes for Android and addition of core.math.yl2x[p1]() for x86(_64) targets.
    * dmd-testsuite: backported runnable/cppa.d fix for GCC > 5.
    * CI updates.
* Fri Jun 09 2017 jengelh@inai.de
  - Rectify RPM groups
* Mon May 29 2017 mailaender@opensuse.org
  - update to version 0.17.4
* Fri May 26 2017 mailaender@opensuse.org
  - update to version 0.17.3
  - https://en.opensuse.org/SourceUrls
  - drop workaround-buggy-llvm-config.patch
* Mon Feb 15 2016 schuetzm@gmx.net
  - update to 0.17.0
  - based on DMD 2.068.2
  - more information here:
    https://github.com/ldc-developers/ldc/releases/tag/v0.17.0
* Sun Dec 06 2015 rpm@fthiessen.de
  - Build runtime and phobos libraries as shared libraries, therefore
    refactored spec file:
    * Basic cleanup
    * Split lib* packages, see openSUSE shared library policy
    * Added ldc-rpmlintrc for false positiv.
* Wed Oct 28 2015 schuetzm@gmx.net
  - update to 0.16.1
  - this is a bugfix only release
* Sat Oct 24 2015 schuetzm@gmx.net
  - update 0.16.0
  - based on DMD 2.067.1
* Sun Feb 22 2015 schuetzm@gmx.net
  - initial submission based on Duncan Mac-Vicar's work

Files

/etc/ldc2.conf
/usr/bin/ldc-build-runtime
/usr/bin/ldc-profdata
/usr/bin/ldc-prune-cache
/usr/bin/ldc2
/usr/bin/ldmd2
/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, Tue Apr 9 11:54:57 2024