Package Release Info

ldc-1.21.0-bp152.1.2

Update Info: Base Release
Available in Package Hub : 15 SP2

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

ldc
ldc-bash-completion
ldc-jit-devel
ldc-phobos-devel
ldc-runtime-devel
libdruntime-ldc91
libldc-jit91
libphobos2-ldc91

Change Logs

* 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
Version: 1.13.0-bp151.1.1
* 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>
- 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
* 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