Revisions of ldc
Guillaume GARDET (Guillaume_G)
accepted
request 969515
from
Josten (HenkKalkwater)
(revision 49)
Update LDC from 1.26.0 to 1.29.0
buildservice-autocommit
accepted
request 894236
from
Guillaume GARDET (Guillaume_G)
(revision 48)
baserev update by copy to link target
Guillaume GARDET (Guillaume_G)
accepted
request 894138
from
Ferdinand Thiessen (susnux)
(revision 47)
- Update to 1.26.0:
buildservice-autocommit
accepted
request 860116
from
Guillaume GARDET (Guillaume_G)
(revision 46)
baserev update by copy to link target
Guillaume GARDET (Guillaume_G)
accepted
request 859085
from
Matthias Eliasson (elimat)
(revision 45)
- Update to 1.24.0: Big news * Frontend, druntime and Phobos are at version 2.094.1+, incl. new command-line options -cov=ctfe, -vtemplates=list-instances and -HC=<silent|verbose> . (#3560, #3582, #3588, #3593) * Support for LLVM 11. The prebuilt packages use v11.0.0; x86 packages newly include the LLVM backend for AMD GPUs. (#3546, #3586) * Experimental support for macOS on 64-bit ARM, thanks Guillaume! All druntime/Phobos unit tests pass. The macOS package includes prebuilt druntime/Phobos; adapt the SDK path in etc/ldc2.conf and then use -mtriple=arm64-apple-macos to cross-compile. If you know how to work around the countless linker warnings, please let us know. (dlang/druntime#3226, #3583) Platform support * Supports LLVM 6.0 - 11.0. Bug fixes * Fix potentially wrong context pointers when calling delegate literals. (#3553, #3554) * Fix alignment issue when casting vector rvalue to static array. (c8889a9) * Make sure lambdas in pragma(inline, true) functions are emitted into each referencing compilation unit. (#3570) * Fix -Xcc=-Wl,... by dropping support for comma-separated list of cc options. (c61b135) * Fix ThreadSanitizer support by not detaching main thread upon program termination. (#3572) * Traverse full chain of nested aggregates when resolving a nested variable. (#3556, #3558) Internals * CI: Linux AArch64 is now also tested by a Travis job, because Shippable has sadly become unreliable. (#3469) * Building LDC with an LDC host compiler might be somewhat faster now (requires -DLDC_LINK_MANUALLY=OFF in the CMake command-line on non-Windows hosts). (#3575) 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.
buildservice-autocommit
accepted
request 850764
from
Guillaume GARDET (Guillaume_G)
(revision 44)
baserev update by copy to link target
Guillaume GARDET (Guillaume_G)
accepted
request 850763
from
Guillaume GARDET (Guillaume_G)
(revision 43)
- Fix aarch64 build: Drop '-mbranch-protection=standard' option as llvm7 does not support it
buildservice-autocommit
accepted
request 839016
from
Guillaume GARDET (Guillaume_G)
(revision 42)
baserev update by copy to link target
Guillaume GARDET (Guillaume_G)
accepted
request 838943
from
Guillaume GARDET (Guillaume_G)
(revision 41)
- Update to 1.23.0
buildservice-autocommit
accepted
request 827298
from
Guillaume GARDET (Guillaume_G)
(revision 40)
baserev update by copy to link target
Guillaume GARDET (Guillaume_G)
accepted
request 825204
from
Matthias Eliasson (elimat)
(revision 39)
- 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.
buildservice-autocommit
accepted
request 810748
from
Guillaume GARDET (Guillaume_G)
(revision 38)
baserev update by copy to link target
Guillaume GARDET (Guillaume_G)
accepted
request 810584
from
Max Lin (mlin7442)
(revision 37)
Leap 15.2 the default llvm switched to llvm9, lets force compile with llvm7
Guillaume GARDET (Guillaume_G)
accepted
request 808560
from
Matthias Eliasson (elimat)
(revision 36)
- 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.
buildservice-autocommit
accepted
request 714369
from
Guillaume GARDET (Guillaume_G)
(revision 35)
baserev update by copy to link target
Guillaume GARDET (Guillaume_G)
accepted
request 714253
from
Guillaume GARDET (Guillaume_G)
(revision 34)
- 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 - 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
buildservice-autocommit
accepted
request 696453
from
Marc Schütz (marc_schuetz)
(revision 33)
baserev update by copy to link target
Marc Schütz (marc_schuetz)
accepted
request 696415
from
Matthias Eliasson (elimat)
(revision 32)
- 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
buildservice-autocommit
accepted
request 668571
from
Guillaume GARDET (Guillaume_G)
(revision 31)
baserev update by copy to link target
Guillaume GARDET (Guillaume_G)
accepted
request 668570
from
Guillaume GARDET (Guillaume_G)
(revision 30)
- Requires binutils.gold as ldc uses ld.gold by default since version 1.13.0
Displaying revisions 21 - 40 of 69