Open Apteryks opened 3 years ago
No immediate idea regarding the failures (but it doesn't look too bad, just a handful of issues to be solved to fix all of them), but you might want to switch to our .src.tar.gz (e.g., https://github.com/ldc-developers/ldc/releases/download/v1.27.1/ldc-1.27.1-src.tar.gz), which includes all submodules, and for which the sha256 hash is available in e.g. https://github.com/ldc-developers/ldc/releases/download/v1.27.1/ldc2-1.27.1.sha256sums.txt.
Thanks for the tip about the official releases, it'll streamline the package definition a bit. Is it OK to bootstrap straight from the old 0.17.6, or does LDC nowadays expect a more more modern version of itself for bootstrapping? This question aside, it seems my problems start with the runpath not being baked in the binaries linked by CMake; I had worked around this with LD_LIBRARY_PATH, but I guess it needs a proper resolution to not backfire. I'm trying a couple things to fix this at the moment, this comment in the CMakeLists.txt caught my attention: https://github.com/ldc-developers/ldc/blob/master/CMakeLists.txt#L577.
Is it OK to bootstrap straight from the old 0.17.6, or does LDC nowadays expect a more more modern version of itself for bootstrapping?
Old 0.17.x miscompiles recent versions, but not that badly - working sufficiently to let that first new compiler compile itself properly as an extra step for the final compiler (0.17.x -> new -> new), see the footer in the release notes. But that won't work for much longer; using the previous distro LDC version or GDC for the first bootstrapping step is highly encouraged.
This question aside, it seems my problems start with the runpath not being baked in the binaries linked by CMake
Runpath needed for which libraries? Official LDC versions default to statically linking druntime and Phobos, incl. 0.17.x. So you might be able to fix this by adding the extra compile-itself step in case your 0.17.x somehow defaults to linking druntime/Phobos dynamically.
Hi! The lack of runpath in the binaries was a Guix-specific problem when using ld.gold (for the regular ld, we have a wrapper that adds -rpath directives for every -L directive encountered to link the binaries, but we were lacking such wrapper for ld.gold). Fixing that and bootstrapping from itself didn't fix the test failures though, so I'm still investigating.
Like many other GNU/Linux distributions, Guix has a policy to prefer building things dynamically where possible as this greatly reduces the size of the distribution (and runtime memory usage) and simplifies maintenance.
Noted about the bootstrap path. It'd be highly desirable for Guix (and Nix and others caring about bootstrappable builds) if building all of the future versions of LDC was not a requirement to build the latest version (we have the same problem with Rust -- it used to take 16 hours just to bootstrap it on a fast machine; we've managed to shrink this down to 4 hours thanks to mrustc (an alternative rust compiler), but it's still not that great). The ideal is to have a 2nd maintained solution to build with, such as a GCC backend (like what Go went with).
The ideal is to have a 2nd maintained solution to build with, such as a GCC backend
That's why I've mentioned GDC, the D frontend for GCC (currently still C++-only, not needing a D compiler for bootstrapping). You'll additionally need the DMD-CLI-compatible gdmd
wrapper: https://github.com/D-Programming-GDC/gdmd
The ideal is to have a 2nd maintained solution to build with, such as a GCC backend
That's why I've mentioned GDC, the D frontend for GCC (currently still C++-only, not needing a D compiler for bootstrapping). You'll additionally need the DMD-CLI-compatible
gdmd
wrapper: https://github.com/D-Programming-GDC/gdmd
Ah, apologies I had somehow missed that in your earlier reply :-). That's awesome!
Mmh, I'm not making much progress; the linking problem (when using shared libraries) is solved, but that didn't resolve any test failure. Even building with Clang 11, instead of GCC and disabling shared libraries (-DBUILD_SHARED_LIBS=OFF
and -DLDC_LINK_MANUALLY=OFF
), I'm still getting similar test failures, e.g. for the lit tests:
Failed Tests (25):
LDC :: PGO/allstatementtypes.d
LDC :: PGO/branching_switch.d
LDC :: PGO/break.d
LDC :: PGO/exceptions.d
LDC :: PGO/final_switch_release.d
LDC :: PGO/functions.d
LDC :: PGO/hash.d
LDC :: PGO/hash_smallchange.d
LDC :: PGO/indirect_calls.d
LDC :: PGO/irbased_indirect_calls.d
LDC :: PGO/max_function_count.d
LDC :: PGO/profile_rt_calls.d
LDC :: PGO/reset_counters.d
LDC :: PGO/singleobj.d
LDC :: PGO/summary.d
LDC :: PGO/unrolledloopstatement_gh3375.d
LDC :: debuginfo/classtypes_gdb.d
LDC :: debuginfo/nested_gdb.d
LDC :: debuginfo/print_gdb.d
LDC :: instrument/xray_link.d
LDC :: instrument/xray_simple_execution.d
LDC :: sanitizers/fuzz_asan.d
LDC :: sanitizers/fuzz_basic.d
LDC :: sanitizers/fuzz_mixin.d
LDC :: sanitizers/link_fuzzer.d
Testing Time: 12.44s
Unsupported: 33
Passed : 244
Failed : 25
I'm not sure what the sanitizers or PGO tests failure can be attributed to; do these require some specific optional feature support from LLVM?
Thanks
PGO requires that runtime libraries are present (LLVM's compiler-rt). The testsuite simply assumes it is available, which I think in your situation is not the case. Can you check if libldc_rt.profile.a
is present in the lib folder of LDC 1.27 that you built?
(perhaps the same issue with the fuzz tests)
Indeed, there is no libldc_rt.profile.a
archive. The compiler-rt libraries are present in the Guix build environment, but they are not found. I've tested with LDC_INSTALL_LLVM_RUNTIME_LIBS=ON
and I see:
-- -- Including LLVM compiler-rt libraries (LDC_INSTALL_LLVM_RUNTIME_LIBS): ON
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.asan-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.msan-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.tsan-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.builtins-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.profile-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.xray-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.fuzzer-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.xray-basic-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.xray-fdr-x86_64.a
-- -- - not found: /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0/lib/clang/11.0.0/lib/linux/libclang_rt.xray-profiling-x86_64.a
The libraries in the environment are installed directly under the lib/linux prefix:
$ tree $GUIX_ENVIRONMENT/lib/linux/
/gnu/store/gmvnnx66bxx9kykfdcbwhl80jgn7dpnw-profile/lib/linux/
├── clang_rt.crtbegin-x86_64.o
├── clang_rt.crtend-x86_64.o
├── libclang_rt.asan_cxx-x86_64.a
├── libclang_rt.asan_cxx-x86_64.a.syms
├── libclang_rt.asan-preinit-x86_64.a
├── libclang_rt.asan-x86_64.a
├── libclang_rt.asan-x86_64.a.syms
├── libclang_rt.asan-x86_64.so
├── libclang_rt.builtins-x86_64.a
├── libclang_rt.cfi_diag-x86_64.a
├── libclang_rt.cfi-x86_64.a
├── libclang_rt.dd-x86_64.a
├── libclang_rt.dfsan-x86_64.a
├── libclang_rt.dfsan-x86_64.a.syms
├── libclang_rt.dyndd-x86_64.so
├── libclang_rt.fuzzer_interceptors-x86_64.a
├── libclang_rt.fuzzer_no_main-x86_64.a
├── libclang_rt.fuzzer-x86_64.a
├── libclang_rt.gwp_asan-x86_64.a
├── libclang_rt.hwasan_cxx-x86_64.a
├── libclang_rt.hwasan_cxx-x86_64.a.syms
├── libclang_rt.hwasan-x86_64.a
├── libclang_rt.hwasan-x86_64.a.syms
├── libclang_rt.hwasan-x86_64.so
├── libclang_rt.lsan-x86_64.a
├── libclang_rt.memprof_cxx-x86_64.a
├── libclang_rt.memprof_cxx-x86_64.a.syms
├── libclang_rt.memprof-preinit-x86_64.a
├── libclang_rt.memprof-x86_64.a
├── libclang_rt.memprof-x86_64.a.syms
├── libclang_rt.memprof-x86_64.so
├── libclang_rt.msan_cxx-x86_64.a
├── libclang_rt.msan_cxx-x86_64.a.syms
├── libclang_rt.msan-x86_64.a
├── libclang_rt.msan-x86_64.a.syms
├── libclang_rt.profile-x86_64.a
├── libclang_rt.safestack-x86_64.a
├── libclang_rt.scudo_cxx_minimal-x86_64.a
├── libclang_rt.scudo_cxx-x86_64.a
├── libclang_rt.scudo_minimal-x86_64.a
├── libclang_rt.scudo_minimal-x86_64.so
├── libclang_rt.scudo_standalone_cxx-x86_64.a
├── libclang_rt.scudo_standalone-x86_64.a
├── libclang_rt.scudo-x86_64.a
├── libclang_rt.scudo-x86_64.so
├── libclang_rt.stats_client-x86_64.a
├── libclang_rt.stats-x86_64.a
├── libclang_rt.tsan_cxx-x86_64.a
├── libclang_rt.tsan_cxx-x86_64.a.syms
├── libclang_rt.tsan-x86_64.a
├── libclang_rt.tsan-x86_64.a.syms
├── libclang_rt.ubsan_minimal-x86_64.a
├── libclang_rt.ubsan_minimal-x86_64.a.syms
├── libclang_rt.ubsan_minimal-x86_64.so
├── libclang_rt.ubsan_standalone_cxx-x86_64.a
├── libclang_rt.ubsan_standalone_cxx-x86_64.a.syms
├── libclang_rt.ubsan_standalone-x86_64.a
├── libclang_rt.ubsan_standalone-x86_64.a.syms
├── libclang_rt.ubsan_standalone-x86_64.so
├── libclang_rt.xray-basic-x86_64.a
├── libclang_rt.xray-fdr-x86_64.a
├── libclang_rt.xray-profiling-x86_64.a
└── libclang_rt.xray-x86_64.a
That's where the compiler-rt package installs them by default.
After patching the llvm_lib_path
variable, we're down to the GDB related test failures:
-- -- Including LLVM compiler-rt libraries (LDC_INSTALL_LLVM_RUNTIME_LIBS): ON
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.asan-x86_64.a --> libldc_rt.asan.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.msan-x86_64.a --> libldc_rt.msan.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.tsan-x86_64.a --> libldc_rt.tsan.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.builtins-x86_64.a --> libldc_rt.builtins.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.profile-x86_64.a --> libldc_rt.profile.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.xray-x86_64.a --> libldc_rt.xray.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.fuzzer-x86_64.a --> libldc_rt.fuzzer.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.xray-basic-x86_64.a --> libldc_rt.xray-basic.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.xray-fdr-x86_64.a --> libldc_rt.xray-fdr.a
-- -- - /gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux/libclang_rt.xray-profiling-x86_64.a --> libldc_rt.xray-profiling.a
[...]
Failed Tests (3):
LDC :: debuginfo/classtypes_gdb.d
LDC :: debuginfo/nested_gdb.d
LDC :: debuginfo/print_gdb.d
Testing Time: 13.21s
Unsupported: 33
Passed : 298
Failed : 3
Progress!
You probably want to avoid using LDC_INSTALL_LLVM_RUNTIME_LIBS
- that's meant for standalone packages without LLVM dependencies, but I guess you're linking LLVM dynamically anyway and thus would like to save copying ~19 MB of libs (that's the size of them for the official v1.27.0 Linux x64 package). See https://github.com/ldc-developers/ldc/blob/36198b36ba7b2483a3e98d07c129aba39152e988/driver/linker-gcc.cpp#L276-L298 for how the compiler tries to look up these libs. You can also add the dir to the ldc2*.conf.in
templates, e.g., https://github.com/ldc-developers/ldc/blob/36198b36ba7b2483a3e98d07c129aba39152e988/ldc2.conf.in#L30-L32.
Thanks for the great info! I'm using static libraries to get the tests to pass first, but will polish and retry the shared libraries after that's achieved.
The GDB tests seems to require GDB 8.X; 2 tests fail when using GDB 10 for example:
FAIL: LDC :: debuginfo/classtypes_gdb.d (231 of 334)
******************** TEST 'LDC :: debuginfo/classtypes_gdb.d' FAILED ********************
Script:
--
: 'RUN: at line 3'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/classtypes_gdb.d
: 'RUN: at line 4'; sed -e "/^\\/\\/ GDB:/!d" -e "s,// GDB:,," /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/classtypes_gdb.d >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp.gdb
: 'RUN: at line 5'; gdb /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp --batch -x /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp.gdb >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp.out 2>&1
: 'RUN: at line 6'; FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/classtypes_gdb.d -check-prefix=CHECK < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp.out
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 3"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/classtypes_gdb.d"
$ ":" "RUN: at line 4"
$ "sed" "-e" "/^\/\/ GDB:/!d" "-e" "s,// GDB:,," "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/classtypes_gdb.d"
$ ":" "RUN: at line 5"
$ "gdb" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp" "--batch" "-x" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp.gdb"
# redirected output from '/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp.out':
gdb: warning: Couldn't determine a path for the index cache directory.
Breakpoint 1 at 0x402c43: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/classtypes_gdb.d, line 41.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libthread_db.so.1".
Breakpoint 1, D main () at tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/classtypes_gdb.d:41
41 return 0;
$1 = (classtypes_gdb.xyz *) 0x7ffff7b7f020
$2 = {<classtypes_gdb.uv> = {<object.Object> = {<No data fields>}, i = 99}, f = 88.7699966, d = 624.351}
$3 = (classtypes_gdb.xyz *) 0x7ffff7b7f020
$4 = {<classtypes_gdb.uv> = {<object.Object> = {<No data fields>}, i = 99}, f = 88.7699966, d = 624.351}
$5 = {0x0, 0x0, 0x7ffff7b7f040, 0x0}
$6 = {<classtypes_gdb.uv> = {<object.Object> = {<No data fields>}, i = 2}, f = 2, d = 0.98699999999999999}
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp.gdb:9: Error in sourced
...
note: data was truncated
note: command had no output on stdout or stderr
error: command failed with exit status: 1
--
********************
PASS: LDC :: debuginfo/nested_gdb.d (232 of 334)
PASS: LDC :: dynamiccompile/array.d (233 of 334)
FAIL: LDC :: debuginfo/print_gdb.d (234 of 334)
******************** TEST 'LDC :: debuginfo/print_gdb.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -I/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo -g -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_a.d /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_b.d
: 'RUN: at line 3'; sed -e "/^\\/\\/ GDB:/!d" -e "s,// GDB:,," /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb
: 'RUN: at line 4'; env LANG=C gdb /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp --batch -x /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.out 2>&1
: 'RUN: at line 5'; FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d -check-prefix=CHECK < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.out
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-I/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo" "-g" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_a.d" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_b.d"
$ ":" "RUN: at line 3"
$ "sed" "-e" "/^\/\/ GDB:/!d" "-e" "s,// GDB:,," "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d"
$ ":" "RUN: at line 4"
$ "env" "LANG=C" "gdb" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp" "--batch" "-x" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb"
# redirected output from '/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.out':
gdb: warning: Couldn't determine a path for the index cache directory.
Breakpoint 1 at 0x402b93: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d, line 58.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libthread_db.so.1".
Breakpoint 1, D main () at tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d:58
58 uint n = 5;
Breakpoint 2 at 0x402bf5: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d, line 78.
Breakpoint 2, D main () at tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d:78
78 sB strB;
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb:5: Error in sourced command file:
No symbol "globVal" in current context.
note: command had no output on stdout or stderr
error: command failed with exit status: 1
--
********************
Yep, gdb 10 came with D-related regressions unfortunately, prior versions worked fine. :/
Good news, I could fix the GDB issue (it was yet another unpatched /bin/sh reference in the Guix GDB package).
You probably want to avoid using
LDC_INSTALL_LLVM_RUNTIME_LIBS
- that's meant for standalone packages without LLVM dependencies, but I guess you're linking LLVM dynamically anyway and thus would like to save copying ~19 MB of libs (that's the size of them for the official v1.27.0 Linux x64 package). Seehttps://github.com/ldc-developers/ldc/blob/36198b36ba7b2483a3e98d07c129aba39152e988/driver/linker-gcc.cpp#L276-L298 for how the compiler tries to look up these libs. You can also add the dir to the
ldc2*.conf.in
templates, e.g.,
I tried this, but it didn't work because the code in linker-gcc.cpp doesn't account for architecture suffixes appended to the library names such as x86_64:
ls /gnu/store/nzfhh1rm85lx2p5plbx45qqj82pcv5hp-clang-runtime-12.0.0/lib/linux/
clang_rt.crtbegin-x86_64.o libclang_rt.msan_cxx-x86_64.a.syms
clang_rt.crtend-x86_64.o libclang_rt.msan-x86_64.a
libclang_rt.asan_cxx-x86_64.a libclang_rt.msan-x86_64.a.syms
libclang_rt.asan_cxx-x86_64.a.syms libclang_rt.profile-x86_64.a
libclang_rt.asan-preinit-x86_64.a libclang_rt.safestack-x86_64.a
libclang_rt.asan-x86_64.a libclang_rt.scudo_cxx_minimal-x86_64.a
libclang_rt.asan-x86_64.a.syms libclang_rt.scudo_cxx-x86_64.a
libclang_rt.asan-x86_64.so libclang_rt.scudo_minimal-x86_64.a
libclang_rt.builtins-x86_64.a libclang_rt.scudo_minimal-x86_64.so
libclang_rt.cfi_diag-x86_64.a libclang_rt.scudo_standalone_cxx-x86_64.a
libclang_rt.cfi-x86_64.a libclang_rt.scudo_standalone-x86_64.a
libclang_rt.dd-x86_64.a libclang_rt.scudo-x86_64.a
libclang_rt.dfsan-x86_64.a libclang_rt.scudo-x86_64.so
libclang_rt.dfsan-x86_64.a.syms libclang_rt.stats_client-x86_64.a
libclang_rt.dyndd-x86_64.so libclang_rt.stats-x86_64.a
libclang_rt.fuzzer_interceptors-x86_64.a libclang_rt.tsan_cxx-x86_64.a
libclang_rt.fuzzer_no_main-x86_64.a libclang_rt.tsan_cxx-x86_64.a.syms
libclang_rt.fuzzer-x86_64.a libclang_rt.tsan-x86_64.a
libclang_rt.gwp_asan-x86_64.a libclang_rt.tsan-x86_64.a.syms
libclang_rt.hwasan_cxx-x86_64.a libclang_rt.ubsan_minimal-x86_64.a
libclang_rt.hwasan_cxx-x86_64.a.syms libclang_rt.ubsan_minimal-x86_64.a.syms
libclang_rt.hwasan-x86_64.a libclang_rt.ubsan_minimal-x86_64.so
libclang_rt.hwasan-x86_64.a.syms libclang_rt.ubsan_standalone_cxx-x86_64.a
libclang_rt.hwasan-x86_64.so libclang_rt.ubsan_standalone_cxx-x86_64.a.syms
libclang_rt.lsan-x86_64.a libclang_rt.ubsan_standalone-x86_64.a
libclang_rt.memprof_cxx-x86_64.a libclang_rt.ubsan_standalone-x86_64.a.syms
libclang_rt.memprof_cxx-x86_64.a.syms libclang_rt.ubsan_standalone-x86_64.so
libclang_rt.memprof-preinit-x86_64.a libclang_rt.xray-basic-x86_64.a
libclang_rt.memprof-x86_64.a libclang_rt.xray-fdr-x86_64.a
libclang_rt.memprof-x86_64.a.syms libclang_rt.xray-profiling-x86_64.a
libclang_rt.memprof-x86_64.so libclang_rt.xray-x86_64.a
libclang_rt.msan_cxx-x86_64.a
Which seems odd, as the CMake version copying the libs does account for these architecture suffixes, see: https://github.com/ldc-developers/ldc/blob/master/CMakeLists.txt#L798.
It seems I was wrong about linker-gcc.cpp not accounting for the arch; the getCompilerRTLibFilename appends its (triple.getArchName).
So I'm not sure why it didn't work the patch I tried was this:
1 file changed, 5 insertions(+), 5 deletions(-)
gnu/packages/dlang.scm | 10 +++++-----
modified gnu/packages/dlang.scm
@@ -293,11 +293,11 @@ bootstrapping more recent compilers written in D.")
(add-after 'unpack 'fix-compiler-rt-library-discovery
(lambda* (#:key inputs #:allow-other-keys)
(let ((clang-runtime (assoc-ref inputs "clang-runtime")))
- (substitute* "CMakeLists.txt"
- (("set\\(llvm_lib_path.*")
- (string-append "set(llvm_lib_path "
- clang-runtime
- "/lib/${llvm_lib_name})\n"))))))
+ (substitute* "ldc2.conf.in"
+ ((".*lib-dirs = \\[.*" all)
+ (string-append all
+ " \"" clang-runtime
+ "/lib/linux\",\n"))))))
(add-after 'unpack 'patch-paths-in-tests
(lambda _
(substitute* "tests/d2/dmd-testsuite/Makefile"
Which produced a lib-dirs in the ldc2.conf.in like so:
[...]
lib-dirs = [
"/gnu/store/yr3ny3x7q3jc65p2xwpnsydfmrzdr4w1-clang-runtime-11.0.0/lib/linux",
"@CMAKE_BINARY_DIR@/lib@LIB_SUFFIX@",
];
[...]
ldc2*.conf.in templates
Note the asterisk and the plural, there are 3 files - ldc2_phobos.conf.in
is the one used for a normal build being tested, and ldc2_install.conf.in
is the one used for the ninja install
invocation. [And ldc2.conf.in
is only used in case the Phobos submodule is missing.]
The lit-tests test suite fails on 32 bits platforms (i686-linux, armhf-linux); seems it doesn't find the compiler-rt libraries, although the same patching strategy is used (adding the lib/linux directory of the clang-runtime Guix package to the *.conf.in files lib-dirs
array):
FAIL: LDC :: PGO/reset_counters.d (14 of 332)
******************** TEST 'LDC :: PGO/reset_counters.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/reset_counters.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/reset_counters.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/reset_counters.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/reset_counters.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/reset_counters.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/reset_counters.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/reset_counters.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/reset_counters.d < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/reset_counters.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/reset_counters.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/reset_counters.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-f07b20/reset_counters.o:reset_counters.d:function _Dmain: error: undefined reference to '__llvm_profile_reset_counters'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
FAIL: LDC :: PGO/irbased_indirect_calls.d (15 of 332)
******************** TEST 'LDC :: PGO/irbased_indirect_calls.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -O3 -fprofile-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/irbased_indirect_calls.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/irbased_indirect_calls.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/irbased_indirect_calls.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/irbased_indirect_calls.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -O3 -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/irbased_indirect_calls.d.tmp.use.ll -fprofile-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/irbased_indirect_calls.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/irbased_indirect_calls.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/irbased_indirect_calls.d -check-prefix=PROFUSE < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/irbased_indirect_calls.d.tmp.use.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-O3" "-fprofile-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/irbased_indirect_calls.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/irbased_indirect_calls.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-b3786d/irbased_indirect_calls.o:irbased_indirect_calls.d:function _Dmain: error: undefined reference to '__llvm_profile_instrument_target'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
FAIL: LDC :: PGO/summary.d (16 of 332)
******************** TEST 'LDC :: PGO/summary.d' FAILED ********************
Script:
--
: 'RUN: at line 4'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/summary.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/summary.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/summary.d < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 4"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/summary.d"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/summary.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/asm_constraints.d (17 of 332)
FAIL: LDC :: PGO/hash_smallchange.d (18 of 332)
******************** TEST 'LDC :: PGO/hash_smallchange.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash_smallchange.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash_smallchange.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash_smallchange.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash_smallchange.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -d-version=WithChange -c -wi -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash_smallchange.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash_smallchange.d 2>&1 | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash_smallchange.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash_smallchange.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash_smallchange.d"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash_smallchange.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash_smallchange.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash_smallchange.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
FAIL: LDC :: PGO/final_switch_release.d (19 of 332)
******************** TEST 'LDC :: PGO/final_switch_release.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -release -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/final_switch_release.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -release -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/final_switch_release.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/final_switch_release.d < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-release" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/final_switch_release.d"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/final_switch_release.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
FAIL: LDC :: PGO/max_function_count.d (20 of 332)
******************** TEST 'LDC :: PGO/max_function_count.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/max_function_count.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/max_function_count.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/max_function_count.d < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/max_function_count.d"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/max_function_count.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
FAIL: LDC :: PGO/hash.d (21 of 332)
******************** TEST 'LDC :: PGO/hash.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -d-version=ProfData -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -d-version=ProfData -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash.d -check-prefix=PROFDATA < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp2.ll && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -wi -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp3.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash.d -check-prefix=NODATA < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp3.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-d-version=ProfData" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/hash.d"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/hash.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/array_equals_memcmp_neverinvoke.d (22 of 332)
PASS: LDC :: codegen/asm_data_directives.d (23 of 332)
PASS: LDC :: codegen/array_catassign_gh2588.d (24 of 332)
FAIL: LDC :: PGO/unrolledloopstatement_gh3375.d (25 of 332)
******************** TEST 'LDC :: PGO/unrolledloopstatement_gh3375.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/unrolledloopstatement_gh3375.d
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp.profdata
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/unrolledloopstatement_gh3375.d
: 'RUN: at line 8'; FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/unrolledloopstatement_gh3375.d -check-prefix=PROFUSE < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/unrolledloopstatement_gh3375.d"
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/unrolledloopstatement_gh3375.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
FAIL: LDC :: PGO/indirect_calls.d (26 of 332)
******************** TEST 'LDC :: PGO/indirect_calls.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -fprofile-instr-generate -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp.ll /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/indirect_calls.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/indirect_calls.d --check-prefix=PROFGEN < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp.ll
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/indirect_calls.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -O3 -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/indirect_calls.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/indirect_calls.d -check-prefix=PROFUSE < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-c" "-output-ll" "-fprofile-instr-generate" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp.ll" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/indirect_calls.d"
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/indirect_calls.d" "--check-prefix=PROFGEN"
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/indirect_calls.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/indirect_calls.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-7d63df/indirect_calls.o:indirect_calls.d:function _Dmain: error: undefined reference to '__llvm_profile_instrument_target'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/asm_gcc.d (27 of 332)
PASS: LDC :: codegen/asm_labels.d (28 of 332)
FAIL: LDC :: PGO/singleobj.d (29 of 332)
******************** TEST 'LDC :: PGO/singleobj.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profraw /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/inputs/singleobj_input.d -c -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.o && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profraw /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.o -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/singleobj.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -singleobj -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/inputs/singleobj_input.d /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/singleobj.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profraw" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/inputs/singleobj_input.d" "-c" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.o"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profraw" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.o" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/singleobj.d"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/singleobj.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/asm_gcc_no_fp.d (30 of 332)
PASS: LDC :: codegen/attr_allocsize.d (31 of 332)
FAIL: LDC :: PGO/profile_rt_calls.d (32 of 332)
******************** TEST 'LDC :: PGO/profile_rt_calls.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/profile_rt_calls.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/profile_rt_calls.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/profile_rt_calls.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/profile_rt_calls.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D3ldc7profile__T7getDataS_D16profile_rt_calls3fooFbbZbZQBnFNbNiZPxSQCoQCn11ProfileData: error: undefined reference to '__llvm_profile_begin_data'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D3ldc7profile__T7getDataS_D16profile_rt_calls3fooFbbZbZQBnFNbNiZPxSQCoQCn11ProfileData: error: undefined reference to '__llvm_profile_end_data'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D3ldc7profile__T7getDataX4fooCZQpFNbNiZPxSQBpQBo11ProfileData: error: undefined reference to '__llvm_profile_begin_data'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D3ldc7profile__T7getDataX4fooCZQpFNbNiZPxSQBpQBo11ProfileData: error: undefined reference to '__llvm_profile_end_data'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D3ldc7profile__T7getDataX11_Z6fooCppbbZQxFNbNiZPxSQBxQBw11ProfileData: error: undefined reference to '__llvm_profile_begin_data'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D3ldc7profile__T7getDataX11_Z6fooCppbbZQxFNbNiZPxSQBxQBw11ProfileData: error: undefined reference to '__llvm_profile_end_data'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D3ldc7profile__T7getDataS_D16profile_rt_calls15notinstrumentedFbbZbZQCaFNbNiZPxSQDbQDa11ProfileData: error: undefined reference to '__llvm_profile_begin_data'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D3ldc7profile__T7getDataS_D16profile_rt_calls15notinstrumentedFbbZbZQCaFNbNiZPxSQDbQDa11ProfileData: error: undefined reference to '__llvm_profile_end_data'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-d89cce/profile_rt_calls.o:profile_rt_calls.d:function _D16profile_rt_calls14check_countersFZv: error: undefined reference to '__llvm_profile_reset_counters'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/align_class.d (33 of 332)
FAIL: LDC :: PGO/branching_switch.d (34 of 332)
******************** TEST 'LDC :: PGO/branching_switch.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -fprofile-instr-generate -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.ll /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d --check-prefix=PROFGEN < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.ll
: 'RUN: at line 8'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -boundscheck=off -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d -check-prefix=PROFUSE < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-c" "-output-ll" "-fprofile-instr-generate" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.ll" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d(47): Deprecation: `case` variables have to be `const` or `immutable`
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d(47): Deprecation: switch case fallthrough - use 'goto case;' if intended
$ "FileCheck" "-allow-deprecated-dag-overlap" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d" "--check-prefix=PROFGEN"
$ ":" "RUN: at line 8"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d(47): Deprecation: `case` variables have to be `const` or `immutable`
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/branching_switch.d(47): Deprecation: switch case fallthrough - use 'goto case;' if intended
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/branching_switch.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/attr_assumeused.d (35 of 332)
PASS: LDC :: codegen/atomicrmw.d (36 of 332)
FAIL: LDC :: PGO/break.d (37 of 332)
******************** TEST 'LDC :: PGO/break.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -fprofile-instr-generate -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.ll /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/break.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/break.d --check-prefix=PROFGEN < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.ll
: 'RUN: at line 8'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/break.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -boundscheck=off -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/break.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/break.d -check-prefix=PROFUSE < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-c" "-output-ll" "-fprofile-instr-generate" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.ll" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/break.d"
$ "FileCheck" "-allow-deprecated-dag-overlap" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/break.d" "--check-prefix=PROFGEN"
$ ":" "RUN: at line 8"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/break.d"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/break.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
UNSUPPORTED: LDC :: codegen/attr_weak_lto.d (38 of 332)
PASS: LDC :: codegen/attr_fastmath.d (39 of 332)
PASS: LDC :: codegen/assign_struct_init_without_stack.d (40 of 332)
FAIL: LDC :: PGO/exceptions.d (41 of 332)
******************** TEST 'LDC :: PGO/exceptions.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -fprofile-instr-generate -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.ll /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/exceptions.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/exceptions.d --check-prefix=PROFGEN < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.ll
: 'RUN: at line 9'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/exceptions.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -boundscheck=off -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/exceptions.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/exceptions.d -check-prefix=PROFUSE < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-c" "-output-ll" "-fprofile-instr-generate" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.ll" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/exceptions.d"
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/exceptions.d" "--check-prefix=PROFGEN"
$ ":" "RUN: at line 9"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/exceptions.d"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/exceptions.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/attr_fastmath_x86.d (42 of 332)
PASS: LDC :: codegen/attr_llvmattr.d (43 of 332)
PASS: LDC :: codegen/asm_output.d (44 of 332)
PASS: LDC :: codegen/attr_naked.d (45 of 332)
PASS: LDC :: codegen/attr_param.d (46 of 332)
FAIL: LDC :: PGO/functions.d (47 of 332)
******************** TEST 'LDC :: PGO/functions.d' FAILED ********************
Script:
--
: 'RUN: at line 8'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -fprofile-instr-generate -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp.ll /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d --check-prefix=PROFGEN < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp.ll
: 'RUN: at line 11'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d -check-prefix=PROFUSE < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 8"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-c" "-output-ll" "-fprofile-instr-generate" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp.ll" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d(189): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead.
$ "FileCheck" "-allow-deprecated-dag-overlap" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d" "--check-prefix=PROFGEN"
$ ":" "RUN: at line 11"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/functions.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/functions.d(189): Deprecation: Usage of the `body` keyword is deprecated. Use `do` instead.
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-fd38ab/functions.o:functions.d:function _D9functions12takedelegateFiDFiZiZv: error: undefined reference to '__llvm_profile_instrument_target'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-fd38ab/functions.o:functions.d:function _Dmain: error: undefined reference to '__llvm_profile_instrument_target'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/attr_optstrat.d (48 of 332)
PASS: LDC :: codegen/attr_allocsize_diag.d (49 of 332)
PASS: LDC :: codegen/attr_weak_external.d (50 of 332)
PASS: LDC :: codegen/array_equals_null.d (51 of 332)
PASS: LDC :: codegen/checkaction_halt.d (52 of 332)
PASS: LDC :: codegen/avr.d (53 of 332)
UNSUPPORTED: LDC :: codegen/dcompute_cl_addrspaces.d (54 of 332)
PASS: LDC :: codegen/attr_llvmFMF.d (55 of 332)
PASS: LDC :: codegen/const_cond.d (56 of 332)
FAIL: LDC :: PGO/allstatementtypes.d (57 of 332)
******************** TEST 'LDC :: PGO/allstatementtypes.d' FAILED ********************
Script:
--
: 'RUN: at line 8'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -boundscheck=off -c -output-ll -fprofile-instr-generate="hoihoihoi" -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.ll /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d --check-prefix=PROFGEN < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.ll
: 'RUN: at line 13'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -boundscheck=off -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata merge /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.profraw -o /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.profdata && /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -boundscheck=off -c -output-ll -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp2.ll -fprofile-instr-use=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.profdata /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d && FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d -check-prefix=PROFUSE < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp2.ll
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 8"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-boundscheck=off" "-c" "-output-ll" "-fprofile-instr-generate=hoihoihoi" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.ll" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d(185): Deprecation: switch case fallthrough - use 'goto case;' if intended
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d(220): Deprecation: switch case fallthrough - use 'goto default;' if intended
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d(268): Deprecation: switch case fallthrough - use 'goto case;' if intended
$ "FileCheck" "-allow-deprecated-dag-overlap" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d" "--check-prefix=PROFGEN"
$ ":" "RUN: at line 13"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-boundscheck=off" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d(185): Deprecation: switch case fallthrough - use 'goto case;' if intended
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d(220): Deprecation: switch case fallthrough - use 'goto default;' if intended
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/allstatementtypes.d(268): Deprecation: switch case fallthrough - use 'goto case;' if intended
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc-profdata" "merge" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.profraw" "-o" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.profdata"
# command stderr:
error: /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/allstatementtypes.d.tmp.profraw: No such file or directory
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/cmpxchg.d (58 of 332)
PASS: LDC :: codegen/const_cond_labels.d (59 of 332)
PASS: LDC :: codegen/attr_llvmFMF_contract.d (60 of 332)
UNSUPPORTED: LDC :: codegen/export.d (61 of 332)
PASS: LDC :: codegen/attr_targetoptions_fp.d (62 of 332)
PASS: LDC :: codegen/cpp_interface.d (63 of 332)
PASS: LDC :: codegen/const_struct_export.d (64 of 332)
PASS: LDC :: codegen/array_literal_gh1924.d (65 of 332)
UNSUPPORTED: LDC :: codegen/export_marked_symbols_thin_lto.d (66 of 332)
UNSUPPORTED: LDC :: codegen/export_naked_gh2648.d (67 of 332)
PASS: LDC :: codegen/betterC_typeinfo.d (68 of 332)
PASS: LDC :: codegen/dcompute_cu_addrspaces.d (69 of 332)
PASS: LDC :: codegen/array_equals_memcmp.d (70 of 332)
PASS: LDC :: codegen/ctor_initarray_gh2883.d (71 of 332)
PASS: LDC :: codegen/dcompute_host_and_device.d (72 of 332)
UNSUPPORTED: LDC :: codegen/fvisibility_dll.d (73 of 332)
PASS: LDC :: codegen/call_args_evalorder.d (74 of 332)
PASS: LDC :: codegen/dmd_inline_asm_ip.d (75 of 332)
PASS: LDC :: codegen/ffastmath.d (76 of 332)
PASS: LDC :: codegen/export_crossModuleInlining.d (77 of 332)
PASS: LDC :: codegen/fence_pragma.d (78 of 332)
PASS: LDC :: codegen/attr_target_x86.d (79 of 332)
PASS: LDC :: codegen/complex_identity_gh2918.d (80 of 332)
PASS: LDC :: codegen/complex_postexpr_gh1806.d (81 of 332)
PASS: LDC :: codegen/dmd_inline_asm_fp_types.d (82 of 332)
PASS: LDC :: codegen/attr_weak.d (83 of 332)
PASS: LDC :: codegen/gh1843.d (84 of 332)
PASS: LDC :: codegen/gh2131.d (85 of 332)
PASS: LDC :: codegen/gh2346.d (86 of 332)
PASS: LDC :: codegen/attr_targetoptions.d (87 of 332)
PASS: LDC :: codegen/gh2515.d (88 of 332)
PASS: LDC :: codegen/discard_value_names_ir2obj_cache.d (89 of 332)
PASS: LDC :: codegen/discard_value_names_gh1749.d (90 of 332)
PASS: LDC :: codegen/const_struct.d (91 of 332)
PASS: LDC :: codegen/gh2865.d (92 of 332)
PASS: LDC :: codegen/exception_stack_trace.d (93 of 332)
PASS: LDC :: codegen/gc2stack.d (94 of 332)
PASS: LDC :: codegen/array_equals_memcmp_dyn.d (95 of 332)
PASS: LDC :: codegen/gh3221.d (96 of 332)
UNSUPPORTED: LDC :: codegen/inferred_outputname.d (97 of 332)
PASS: LDC :: codegen/gh1433.d (98 of 332)
PASS: LDC :: codegen/gh1728.d (99 of 332)
PASS: LDC :: codegen/gh3692.d (100 of 332)
PASS: LDC :: codegen/gh2537.d (101 of 332)
PASS: LDC :: codegen/in_place_construct_asm.d (102 of 332)
PASS: LDC :: codegen/func_contracts_gh1543.d (103 of 332)
PASS: LDC :: codegen/in_place_construct.d (104 of 332)
PASS: LDC :: codegen/inbounds.d (105 of 332)
PASS: LDC :: codegen/funcliteral_defaultarg_gh1634.d (106 of 332)
PASS: LDC :: codegen/export_marked_symbols1.d (107 of 332)
PASS: LDC :: codegen/indirect_byval_rewrite.d (108 of 332)
PASS: LDC :: codegen/gh2729.d (109 of 332)
PASS: LDC :: codegen/inline_ir.d (110 of 332)
PASS: LDC :: codegen/frame_pointer_x86.d (111 of 332)
PASS: LDC :: codegen/gh2235.d (112 of 332)
PASS: LDC :: codegen/inline_ir_noparams.d (113 of 332)
PASS: LDC :: codegen/gh3208.d (114 of 332)
PASS: LDC :: codegen/gh3094.d (115 of 332)
PASS: LDC :: codegen/inlining_imports.d (116 of 332)
PASS: LDC :: codegen/gh3553.d (117 of 332)
PASS: LDC :: codegen/gh3346.d (118 of 332)
PASS: LDC :: codegen/export_aggregate_symbols.d (119 of 332)
PASS: LDC :: codegen/linker_directives_linux.d (120 of 332)
PASS: LDC :: codegen/lambdas_gh3648b.d (121 of 332)
PASS: LDC :: codegen/inlining_disablecross.d (122 of 332)
PASS: LDC :: codegen/lambdas_gh3648.d (123 of 332)
PASS: LDC :: codegen/in_place_construct_temporaries.d (124 of 332)
PASS: LDC :: codegen/linker_directives_win.d (125 of 332)
PASS: LDC :: codegen/inlineIR_math.d (126 of 332)
PASS: LDC :: codegen/linker_directives_mac.d (127 of 332)
PASS: LDC :: codegen/inlining_leakdefinitions_asm.d (128 of 332)
PASS: LDC :: codegen/inlining_imports_pragma.d (129 of 332)
PASS: LDC :: codegen/no_init_symbols_for_zeroinit_structs.d (130 of 332)
PASS: LDC :: codegen/mangling_gh1519.d (131 of 332)
PASS: LDC :: codegen/inlining_pragma.d (132 of 332)
PASS: LDC :: codegen/export_marked_symbols2.d (133 of 332)
PASS: LDC :: codegen/noplt.d (134 of 332)
PASS: LDC :: codegen/nothrow.d (135 of 332)
PASS: LDC :: codegen/hashed_mangling.d (136 of 332)
PASS: LDC :: codegen/inlining_stdlib.d (137 of 332)
PASS: LDC :: codegen/pragma_no_typeinfo.d (138 of 332)
PASS: LDC :: codegen/ptr_16_bit.d (139 of 332)
PASS: LDC :: codegen/simd_alignment.d (140 of 332)
PASS: LDC :: codegen/inlining_gh3126.d (141 of 332)
PASS: LDC :: codegen/pragma_LDC_extern_weak.d (142 of 332)
PASS: LDC :: codegen/nested_gh3556.d (143 of 332)
PASS: LDC :: codegen/no_abi_blit_for_nonpod.d (144 of 332)
PASS: LDC :: codegen/nested_gh2960.d (145 of 332)
FAIL: LDC :: codegen/mangling.d (146 of 332)
******************** TEST 'LDC :: codegen/mangling.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/codegen/inputs/mangling_definitions.d -c -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/codegen/Output/mangling.d.tmp-dir/mangling_definitions.o
: 'RUN: at line 8'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/codegen/Output/mangling.d.tmp-dir/mangling_definitions.o -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/codegen/mangling.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/codegen/inputs/mangling_definitions.d" "-c" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/codegen/Output/mangling.d.tmp-dir/mangling_definitions.o"
$ ":" "RUN: at line 8"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/codegen/Output/mangling.d.tmp-dir/mangling_definitions.o" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/codegen/mangling.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/mangling-9a3014 failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/mangling_real_real.d (147 of 332)
PASS: LDC :: codegen/static_typeid_gh1540.d (148 of 332)
PASS: LDC :: codegen/static_array_init.d (149 of 332)
UNSUPPORTED: LDC :: codegen/wasi.d (150 of 332)
PASS: LDC :: codegen/output_s_affect_codegen.d (151 of 332)
PASS: LDC :: codegen/unknown_critical_section_size.d (152 of 332)
PASS: LDC :: codegen/llvm_used_1.d (153 of 332)
PASS: LDC :: codegen/varargs.d (154 of 332)
PASS: LDC :: codegen/return_statement.d (155 of 332)
PASS: LDC :: codegen/vector_init.d (156 of 332)
PASS: LDC :: codegen/nested_lazy_gh2302.d (157 of 332)
PASS: LDC :: codegen/vastart_vaend_gh1744.d (158 of 332)
PASS: LDC :: codegen/zerolengtharray_gh1611.d (159 of 332)
PASS: LDC :: codegen/rvo.d (160 of 332)
PASS: LDC :: codegen/sret_thunk_gh3329.d (161 of 332)
PASS: LDC :: codegen/switch_ICE_gh1638.d (162 of 332)
PASS: LDC :: compilable/arch64bit_abi32bit_gh3802.d (163 of 332)
PASS: LDC :: compilable/dcompute.d (164 of 332)
PASS: LDC :: compilable/captured_nonpassed_params.d (165 of 332)
PASS: LDC :: compilable/gh1906.d (166 of 332)
PASS: LDC :: compilable/gh1741.d (167 of 332)
PASS: LDC :: compilable/gh2033.d (168 of 332)
PASS: LDC :: compilable/gh2458.d (169 of 332)
PASS: LDC :: compilable/gh2422.d (170 of 332)
PASS: LDC :: compilable/gh2415.d (171 of 332)
PASS: LDC :: codegen/vector_abi_x86.d (172 of 332)
PASS: LDC :: compilable/gh2777.d (173 of 332)
PASS: LDC :: codegen/simd_unaligned.d (174 of 332)
PASS: LDC :: codegen/variadic_thunk_gh2613.d (175 of 332)
PASS: LDC :: compilable/gh2471.d (176 of 332)
PASS: LDC :: compilable/gh2808.d (177 of 332)
PASS: LDC :: compilable/ctfe_math.d (178 of 332)
PASS: LDC :: codegen/vector_intrinsics_gh2962.d (179 of 332)
UNSUPPORTED: LDC :: compilable/objc_gh2387.d (180 of 332)
UNSUPPORTED: LDC :: compilable/objc_gh2388.d (181 of 332)
UNSUPPORTED: LDC :: debuginfo/args_cdb.d (182 of 332)
UNSUPPORTED: LDC :: debuginfo/baseclass_cdb.d (183 of 332)
UNSUPPORTED: LDC :: debuginfo/basictypes_cdb.d (184 of 332)
PASS: LDC :: compilable/gh2859.d (185 of 332)
UNSUPPORTED: LDC :: debuginfo/enums_cdb.d (186 of 332)
PASS: LDC :: compilable/gh2849.d (187 of 332)
PASS: LDC :: compilable/gh2988.d (188 of 332)
PASS: LDC :: codegen/vector_ops.d (189 of 332)
UNSUPPORTED: LDC :: debuginfo/msvc_dwarf.d (190 of 332)
UNSUPPORTED: LDC :: debuginfo/msvc_eh.d (191 of 332)
UNSUPPORTED: LDC :: debuginfo/msvc_no_colinfo.d (192 of 332)
UNSUPPORTED: LDC :: debuginfo/nested_cdb.d (193 of 332)
PASS: LDC :: compilable/gh3194.d (194 of 332)
PASS: LDC :: compilable/gh3243.d (195 of 332)
UNSUPPORTED: LDC :: debuginfo/scopes_cdb.d (196 of 332)
PASS: LDC :: compilable/gh2996.d (197 of 332)
UNSUPPORTED: LDC :: debuginfo/strings_cdb.d (198 of 332)
UNSUPPORTED: LDC :: debuginfo/vector_cdb.d (199 of 332)
PASS: LDC :: compilable/gh3324.d (200 of 332)
PASS: LDC :: compilable/gh3250.d (201 of 332)
PASS: LDC :: compilable/gh3496.d (202 of 332)
PASS: LDC :: compilable/gh3501.d (203 of 332)
PASS: LDC :: codegen/inlining_staticvar.d (204 of 332)
PASS: LDC :: compilable/gh2932.d (205 of 332)
PASS: LDC :: debuginfo/gline_tables_only2.d (206 of 332)
PASS: LDC :: debuginfo/gline_tables_only.d (207 of 332)
PASS: LDC :: debuginfo/gline_tables_only3.d (208 of 332)
PASS: LDC :: driver/config_diag_x86.d (209 of 332)
PASS: LDC :: driver/cleanup_obj_gh3643.d (210 of 332)
UNSUPPORTED: LDC :: driver/mscrtlib.d (211 of 332)
PASS: LDC :: codegen/union.d (212 of 332)
PASS: LDC :: compilable/gh1933.d (213 of 332)
PASS: LDC :: debuginfo/srcname.d (214 of 332)
PASS: LDC :: driver/drt_options_in_rsp_file.d (215 of 332)
PASS: LDC :: codegen/cov_modes.d (216 of 332)
PASS: LDC :: codegen/inlining_leakdefinitions.d (217 of 332)
PASS: LDC :: driver/gh1941.d (218 of 332)
PASS: LDC :: compilable/gh3162.d (219 of 332)
PASS: LDC :: driver/config_diag.d (220 of 332)
PASS: LDC :: codegen/inlining_templates.d (221 of 332)
PASS: LDC :: debuginfo/enum_of_functions.d (222 of 332)
PASS: LDC :: driver/gh1945.d (223 of 332)
PASS: LDC :: driver/gh2073.d (224 of 332)
PASS: LDC :: driver/float_abi.d (225 of 332)
PASS: LDC :: driver/cli_preparsing.d (226 of 332)
PASS: LDC :: driver/save_optimization_record.d (227 of 332)
PASS: LDC :: dynamiccompile/array.d (228 of 332)
PASS: LDC :: driver/include_imports.d (229 of 332)
PASS: LDC :: debuginfo/classtypes_gdb.d (230 of 332)
PASS: LDC :: dynamiccompile/calls.d (231 of 332)
PASS: LDC :: debuginfo/nested_gdb.d (232 of 332)
PASS: LDC :: compilable/no-integrated-as.d (233 of 332)
PASS: LDC :: dynamiccompile/classes.d (234 of 332)
FAIL: LDC :: debuginfo/print_gdb.d (235 of 332)
******************** TEST 'LDC :: debuginfo/print_gdb.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -I/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo -g -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_a.d /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_b.d
: 'RUN: at line 3'; sed -e "/^\\/\\/ GDB:/!d" -e "s,// GDB:,," /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb
: 'RUN: at line 4'; env LANG=C gdb /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp --batch -x /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.out 2>&1
: 'RUN: at line 5'; FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d -check-prefix=CHECK < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.out
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-I/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo" "-g" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_a.d" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_b.d"
$ ":" "RUN: at line 3"
$ "sed" "-e" "/^\/\/ GDB:/!d" "-e" "s,// GDB:,," "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d"
$ ":" "RUN: at line 4"
$ "env" "LANG=C" "gdb" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp" "--batch" "-x" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb"
$ ":" "RUN: at line 5"
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d" "-check-prefix=CHECK"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d:94:11: error: CHECK: expected string not found in input
// CHECK: = 40
^
<stdin>:19:1: note: scanning from here
Breakpoint 3 at 0x804a2a5: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d, line 104.
^
<stdin>:19:112: note: possible intended match here
Breakpoint 3 at 0x804a2a5: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d, line 104.
^
Input file: <stdin>
Check file: /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
14: 78 sB strB;
15: $1 = 987
16: $2 = 246
17: $3 = 67 'C'
18: $4 = 42.25
19: Breakpoint 3 at 0x804a2a5: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d, line 104.
check:94'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:94'1 ? possible intended match
20:
check:94'0 ~
21: Breakpoint 3, D main () at tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d:104
check:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: 104 cC clsC = new cC;
check:94'0 ~~~~~~~~~~~~~~~~~~~~~
23: $5 = {k = 6}
check:94'0 ~~~~~~~~~~~~
24:
check:94'0 ~
.
.
.
>>>>>>
error: command failed with exit status: 1
--
********************
PASS: LDC :: driver/post_switches.d (236 of 332)
PASS: LDC :: dynamiccompile/empty_jit_modules.d (237 of 332)
PASS: LDC :: dynamiccompile/dump_handler.d (238 of 332)
FAIL: LDC :: dynamiccompile/compiler_context.d (239 of 332)
******************** TEST 'LDC :: dynamiccompile/compiler_context.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/compiler_context.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/compiler_context.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/compiler_context-534c9b failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/globals.d (240 of 332)
PASS: LDC :: dynamiccompile/lambdas.d (241 of 332)
PASS: LDC :: dynamiccompile/asm_output.d (242 of 332)
PASS: LDC :: dynamiccompile/globals_types.d (243 of 332)
FAIL: LDC :: dynamiccompile/compiler_context_parallel.d (244 of 332)
******************** TEST 'LDC :: dynamiccompile/compiler_context_parallel.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/compiler_context_parallel.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/compiler_context_parallel.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/compiler_context_parallel-1e794e failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
FAIL: LDC :: dynamiccompile/bind_bool.d (245 of 332)
******************** TEST 'LDC :: dynamiccompile/bind_bool.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_bool.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_bool.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind_bool-15c606 failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/global_opt.d (246 of 332)
FAIL: LDC :: dynamiccompile/bind_nested_opt.d (247 of 332)
******************** TEST 'LDC :: dynamiccompile/bind_nested_opt.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_nested_opt.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_nested_opt.d"
# command output:
===========================================
source_filename = "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_nested_opt.d"
target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128"
target triple = "i686-pc-linux-gnu"
%"ldc.dynamic_compile.BindPtr!(int function()).BindPtr" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* }
%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase" = type { i32 ()*, void (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)*, i32 }
%"ldc.dynamic_compile.bind!(int function(int), int).bind.Context" = type { i32 (i32)* }
%"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context" = type { i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })* }
%"std.array.Appender!string.Appender.Data" = type { i32, { i32, i8* }, i8, [3 x i8] }
%std.utf.UTFException = type { [11 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32, i32, [4 x i32], i32 }
%object.Throwable.TraceInfo = type { [4 x i8*]* }
%object.Throwable = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32 }
%std.exception.ErrnoException = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32, i32 }
%object.Exception = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32 }
%ldc.dynamic_compile.DynamicCompilerContext = type { [0 x i8*]* }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore" = type { %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context", i32 }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", i32 (i32, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"*)*, %ldc.dynamic_compile.DynamicCompilerContext*, %"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore", i8, [3 x i8] }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore" = type { %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context", { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* } }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"*)*, %ldc.dynamic_compile.DynamicCompilerContext*, %"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore", i8, [3 x i8] }
@.str.16 = external dso_local unnamed_addr constant [87 x i8]
define x86_stdcallcc i32 @_D15bind_nested_opt3fooFDFZiQeZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1) #0 {
%3 = alloca { i8*, i32 (i8*)* }, align 4
%4 = alloca { i8*, i32 (i8*)* }, align 4
store { i8*, i32 (i8*)* } %1, { i8*, i32 (i8*)* }* %3, align 4
store { i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* }* %4, align 4
%5 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %3, i32 0, i32 1
%6 = load i32 (i8*)*, i32 (i8*)** %5, align 4
%7 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %3, i32 0, i32 0
%8 = load i8*, i8** %7, align 4
%9 = call x86_stdcallcc i32 %6(i8* inreg nonnull %8)
%10 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, i32 0, i32 1
%11 = load i32 (i8*)*, i32 (i8*)** %10, align 4
%12 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, i32 0, i32 0
%13 = load i8*, i8** %12, align 4
%14 = call x86_stdcallcc i32 %11(i8* inreg nonnull %13)
%15 = add i32 %9, %14
ret i32 %15
}
define x86_stdcallcc i32 @_D15bind_nested_opt3barFDFZiQeZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1) #0 {
%3 = alloca { i8*, i32 (i8*)* }, align 4
%4 = alloca { i8*, i32 (i8*)* }, align 4
store { i8*, i32 (i8*)* } %1, { i8*, i32 (i8*)* }* %3, align 4
store { i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* }* %4, align 4
%5 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %3, i32 0, i32 1
%6 = load i32 (i8*)*, i32 (i8*)** %5, align 4
%7 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %3, i32 0, i32 0
%8 = load i8*, i8** %7, align 4
%9 = call x86_stdcallcc i32 %6(i8* inreg nonnull %8)
%10 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, i32 0, i32 1
%11 = load i32 (i8*)*, i32 (i8*)** %10, align 4
%12 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, i32 0, i32 0
%13 = load i8*, i8** %12, align 4
%14 = call x86_stdcallcc i32 %11(i8* inreg nonnull %13)
%15 = add i32 %9, %14
ret i32 %15
}
define x86_stdcallcc i32 @_D15bind_nested_opt6getValFiZi(i32 inreg %0) #0 {
%2 = alloca i32, align 4
store i32 %0, i32* %2, align 4
%3 = load i32, i32* %2, align 4
%4 = load i32, i32* %2, align 4
ret i32 %4
}
define weak_odr x86_stdcallcc i64 @_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* inreg nonnull %0) #0 {
%2 = alloca { i8*, i32 (i8*)* }, align 4
%3 = alloca i64, align 4
%4 = getelementptr inbounds %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr", %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* %0, i32 0, i32 0
%5 = load %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*, %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"** %4, align 4
%6 = icmp ne %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %5, null
br i1 %6, label %7, label %15
7: ; preds = %1
%8 = getelementptr inbounds %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr", %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* %0, i32 0, i32 0
%9 = load %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*, %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"** %8, align 4
%10 = call x86_stdcallcc i64 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %9) #2
%11 = bitcast { i8*, i32 (i8*)* }* %2 to i64*
store i64 %10, i64* %11, align 4
%12 = load { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %2, align 4
%13 = bitcast i64* %3 to { i8*, i32 (i8*)* }*
store { i8*, i32 (i8*)* } %12, { i8*, i32 (i8*)* }* %13, align 4
%14 = load i64, i64* %3, align 4
ret i64 %14
15: ; preds = %1
call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 357) #3
unreachable
}
; Function Attrs: cold noreturn
declare void @_d_assert({ i32, i8* } %0, i32 %1) #1
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7wrapperFSQCdQCc__TQBoTQBmTiZQByFQBwiZ7ContextiZi(i32 inreg %0, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"* byval(%"ldc.dynamic_compile.bind!(int function(int), int).bind.Context") align 4 %1) #0 {
%3 = alloca i32, align 4
store i32 %0, i32* %3, align 4
%4 = getelementptr inbounds %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context", %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"* %1, i32 0, i32 0
%5 = load i32 (i32)*, i32 (i32)** %4, align 4
%6 = load i32, i32* %3, align 4
%7 = call x86_stdcallcc i32 %5(i32 inreg %6)
ret i32 %7
}
define weak_odr x86_stdcallcc i64 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #0 {
%2 = alloca i64, align 4
%3 = bitcast %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0 to i8*
%4 = insertvalue { i8*, i32 (i8*)* } undef, i8* %3, 0
%5 = insertvalue { i8*, i32 (i8*)* } %4, i32 (i8*)* bitcast (i32 (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)* @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo to i32 (i8*)*), 1
%6 = bitcast i64* %2 to { i8*, i32 (i8*)* }*
store { i8*, i32 (i8*)* } %5, { i8*, i32 (i8*)* }* %6, align 4
%7 = load i64, i64* %2, align 4
ret i64 %7
}
define weak_odr x86_stdcallcc zeroext i1 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #0 {
%2 = getelementptr inbounds %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0, i32 0, i32 0
%3 = load i32 ()*, i32 ()** %2, align 4
%4 = icmp ne i32 ()* %3, null
ret i1 %4
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #0 {
%2 = call x86_stdcallcc zeroext i1 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #2
br i1 %2, label %3, label %7
3: ; preds = %1
%4 = getelementptr inbounds %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0, i32 0, i32 0
%5 = load i32 ()*, i32 ()** %4, align 4
%6 = call x86_stdcallcc i32 %5()
ret i32 %6
7: ; preds = %1
call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 505) #3
unreachable
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8registerMFZ11exampleFuncFNaNbNiNfZi() #0 {
br i1 false, label %1, label %2
1: ; preds = %0
ret i32 undef
2: ; preds = %0
call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 592) #3
unreachable
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7wrapperFSQCpQCo__TQCaTQByTQCaTQCeZQCqFQCoQCpQCsZ7ContextQDeQDhZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"* byval(%"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context") align 4 %2) #0 {
%4 = alloca { i8*, i32 (i8*)* }, align 4
%5 = alloca { i8*, i32 (i8*)* }, align 4
store { i8*, i32 (i8*)* } %1, { i8*, i32 (i8*)* }* %4, align 4
store { i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* }* %5, align 4
%6 = getelementptr inbounds %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context", %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"* %2, i32 0, i32 0
%7 = load i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })*, i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })** %6, align 4
%8 = load { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, align 4
%9 = load { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %5, align 4
%10 = call x86_stdcallcc i32 %7({ i8*, i32 (i8*)* } %9, { i8*, i32 (i8*)* } %8)
ret i32 %10
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8registerMFZ11exampleFuncFNaNbNiNfZi() #0 {
br i1 false, label %1, label %2
1: ; preds = %0
ret i32 undef
2: ; preds = %0
call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 592) #3
unreachable
}
attributes #0 = { "frame-pointer"="all" "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #1 = { cold noreturn "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #2 = { "frame-pointer"="all" "target-cpu"="pentium4" }
attributes #3 = { cold noreturn }
!llvm.ldc.typeinfo._D11TypeInfo_xk6__initZ = !{!0}
!llvm.ldc.typeinfo._D10TypeInfo_k6__initZ = !{!0}
!llvm.ldc.typeinfo._D12TypeInfo_xAa6__initZ = !{!1}
!llvm.ldc.typeinfo._D12TypeInfo_Axa6__initZ = !{!1}
!llvm.ldc.typeinfo._D11TypeInfo_xb6__initZ = !{!2}
!llvm.ldc.typeinfo._D10TypeInfo_b6__initZ = !{!2}
!llvm.ldc.typeinfo._D44TypeInfo_S3std5array__T8AppenderTAyaZQo4Data6__initZ = !{!3}
!llvm.ldc.typeinfo._D3std3utf12UTFException7__ClassZ = !{!4}
!llvm.ldc.classinfo._D3std3utf12UTFException7__ClassZ = !{!5}
!llvm.ldc.typeinfo._D3std9exception14ErrnoException7__ClassZ = !{!6}
!llvm.ldc.classinfo._D3std9exception14ErrnoException7__ClassZ = !{!7}
!llvm.ldc.typeinfo._D11TypeInfo_Aa6__initZ = !{!1}
!llvm.ldc.typeinfo._D9Exception7__ClassZ = !{!8}
!llvm.ldc.classinfo._D9Exception7__ClassZ = !{!9}
!llvm.ldc.typeinfo._D11TypeInfo_Ai6__initZ = !{!10}
!llvm.ldc.typeinfo._D6object9Throwable7__ClassZ = !{!11}
!llvm.ldc.classinfo._D6object9Throwable7__ClassZ = !{!12}
!llvm.ldc.typeinfo._D60TypeInfo_xS3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6__initZ = !{!13}
!llvm.ldc.typeinfo._D59TypeInfo_S3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6__initZ = !{!13}
!llvm.ldc.typeinfo._D69TypeInfo_xPFS3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7ContextiZi6__initZ = !{!14}
!llvm.ldc.typeinfo._D68TypeInfo_PFS3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7ContextiZi6__initZ = !{!14}
!llvm.ldc.typeinfo._D10TypeInfo_i6__initZ = !{!0}
!llvm.ldc.typeinfo._D56TypeInfo_xC3ldc15dynamic_compile22DynamicCompilerContext6__initZ = !{!15}
!llvm.ldc.typeinfo._D3ldc15dynamic_compile22DynamicCompilerContext7__ClassZ = !{!15}
!llvm.ldc.classinfo._D3ldc15dynamic_compile22DynamicCompilerContext7__ClassZ = !{!16}
!llvm.ldc.typeinfo._D126TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8ArgStore6__initZ = !{!17}
!llvm.ldc.typeinfo._D125TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8ArgStore6__initZ = !{!17}
!llvm.ldc.typeinfo._D117TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb6__initZ = !{!18}
!llvm.ldc.typeinfo._D116TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb6__initZ = !{!18}
!llvm.ldc.typeinfo._D86TypeInfo_xPFS3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZi6__initZ = !{!19}
!llvm.ldc.typeinfo._D85TypeInfo_PFS3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZi6__initZ = !{!19}
!llvm.ldc.typeinfo._D151TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8ArgStore6__initZ = !{!20}
!llvm.ldc.typeinfo._D150TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8ArgStore6__initZ = !{!20}
!llvm.ldc.typeinfo._D142TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa6__initZ = !{!21}
!llvm.ldc.typeinfo._D141TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa6__initZ = !{!21}
!0 = !{i32 undef}
!1 = !{{ i32, i8* } undef}
!2 = !{i1 undef}
!3 = !{%"std.array.Appender!string.Appender.Data" undef}
!4 = !{%std.utf.UTFException* undef}
!5 = !{%std.utf.UTFException undef, i1 false, i1 false}
!6 = !{%std.exception.ErrnoException* undef}
!7 = !{%std.exception.ErrnoException undef, i1 false, i1 false}
!8 = !{%object.Exception* undef}
!9 = !{%object.Exception undef, i1 false, i1 false}
!10 = !{{ i32, i32* } undef}
!11 = !{%object.Throwable* undef}
!12 = !{%object.Throwable undef, i1 true, i1 false}
!13 = !{%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase" undef}
!14 = !{i32 (i32, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"*)* undef}
!15 = !{%ldc.dynamic_compile.DynamicCompilerContext* undef}
!16 = !{%ldc.dynamic_compile.DynamicCompilerContext undef, i1 false, i1 false}
!17 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore" undef}
!18 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload" undef}
!19 = !{i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"*)* undef}
!20 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore" undef}
!21 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload" undef}
source_filename = "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_nested_opt.d"
target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128"
target triple = "i686-pc-linux-gnu"
%"ldc.dynamic_compile.BindPtr!(int function()).BindPtr" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* }
%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase" = type { i32 ()*, void (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)*, i32 }
%"ldc.dynamic_compile.bind!(int function(int), int).bind.Context" = type { i32 (i32)* }
%"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context" = type { i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })* }
%"std.array.Appender!string.Appender.Data" = type { i32, { i32, i8* }, i8, [3 x i8] }
%std.utf.UTFException = type { [11 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32, i32, [4 x i32], i32 }
%object.Throwable.TraceInfo = type { [4 x i8*]* }
%object.Throwable = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32 }
%std.exception.ErrnoException = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32, i32 }
%object.Exception = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32 }
%ldc.dynamic_compile.DynamicCompilerContext = type { [0 x i8*]* }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore" = type { %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context", i32 }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", i32 (i32, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"*)*, %ldc.dynamic_compile.DynamicCompilerContext*, %"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore", i8, [3 x i8] }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore" = type { %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context", { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* } }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"*)*, %ldc.dynamic_compile.DynamicCompilerContext*, %"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore", i8, [3 x i8] }
@.str.16 = external dso_local unnamed_addr constant [87 x i8]
define x86_stdcallcc i32 @_D15bind_nested_opt3fooFDFZiQeZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1) local_unnamed_addr #0 {
%.fca.0.extract1 = extractvalue { i8*, i32 (i8*)* } %1, 0
%.fca.1.extract2 = extractvalue { i8*, i32 (i8*)* } %1, 1
%.fca.0.extract = extractvalue { i8*, i32 (i8*)* } %0, 0
%.fca.1.extract = extractvalue { i8*, i32 (i8*)* } %0, 1
%3 = tail call x86_stdcallcc i32 %.fca.1.extract2(i8* inreg nonnull %.fca.0.extract1)
%4 = tail call x86_stdcallcc i32 %.fca.1.extract(i8* inreg nonnull %.fca.0.extract)
%5 = add i32 %4, %3
ret i32 %5
}
define x86_stdcallcc i32 @_D15bind_nested_opt3barFDFZiQeZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1) local_unnamed_addr #0 {
%.fca.0.extract1 = extractvalue { i8*, i32 (i8*)* } %1, 0
%.fca.1.extract2 = extractvalue { i8*, i32 (i8*)* } %1, 1
%.fca.0.extract = extractvalue { i8*, i32 (i8*)* } %0, 0
%.fca.1.extract = extractvalue { i8*, i32 (i8*)* } %0, 1
%3 = tail call x86_stdcallcc i32 %.fca.1.extract2(i8* inreg nonnull %.fca.0.extract1)
%4 = tail call x86_stdcallcc i32 %.fca.1.extract(i8* inreg nonnull %.fca.0.extract)
%5 = add i32 %4, %3
ret i32 %5
}
; Function Attrs: norecurse nounwind readnone
define x86_stdcallcc i32 @_D15bind_nested_opt6getValFiZi(i32 inreg returned %0) local_unnamed_addr #1 {
ret i32 %0
}
define weak_odr x86_stdcallcc i64 @_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* inreg nonnull %0) local_unnamed_addr #0 {
%2 = getelementptr inbounds %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr", %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* %0, i32 0, i32 0
%3 = load %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*, %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"** %2, align 4
%.not = icmp eq %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %3, null
br i1 %.not, label %6, label %4
4: ; preds = %1
%5 = ptrtoint %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %3 to i32
%.sroa.0.0.insert.ext.i = zext i32 %5 to i64
%.sroa.0.0.insert.insert.i = or i64 %.sroa.0.0.insert.ext.i, shl (i64 zext (i32 ptrtoint (i32 (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)* @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo to i32) to i64), i64 32)
ret i64 %.sroa.0.0.insert.insert.i
6: ; preds = %1
tail call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 357) #3
unreachable
}
; Function Attrs: cold noreturn
declare void @_d_assert({ i32, i8* } %0, i32 %1) local_unnamed_addr #2
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7wrapperFSQCdQCc__TQBoTQBmTiZQByFQBwiZ7ContextiZi(i32 inreg %0, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"* byval(%"ldc.dynamic_compile.bind!(int function(int), int).bind.Context") align 4 %1) local_unnamed_addr #0 {
%3 = getelementptr inbounds %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context", %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"* %1, i32 0, i32 0
%4 = load i32 (i32)*, i32 (i32)** %3, align 4
%5 = tail call x86_stdcallcc i32 %4(i32 inreg %0)
ret i32 %5
}
define weak_odr x86_stdcallcc i64 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) local_unnamed_addr #0 {
%2 = ptrtoint %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0 to i32
%.sroa.0.0.insert.ext = zext i32 %2 to i64
%.sroa.0.0.insert.insert = or i64 %.sroa.0.0.insert.ext, shl (i64 zext (i32 ptrtoint (i32 (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)* @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo to i32) to i64), i64 32)
ret i64 %.sroa.0.0.insert.insert
}
define weak_odr x86_stdcallcc zeroext i1 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) local_unnamed_addr #0 {
%2 = getelementptr inbounds %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0, i32 0, i32 0
%3 = load i32 ()*, i32 ()** %2, align 4
%4 = icmp ne i32 ()* %3, null
ret i1 %4
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #0 {
%2 = getelementptr inbounds %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0, i32 0, i32 0
%3 = load i32 ()*, i32 ()** %2, align 4
%.not = icmp eq i32 ()* %3, null
br i1 %.not, label %6, label %4
4: ; preds = %1
%5 = tail call x86_stdcallcc i32 %3()
ret i32 %5
6: ; preds = %1
tail call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 505) #3
unreachable
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8registerMFZ11exampleFuncFNaNbNiNfZi() local_unnamed_addr #0 {
tail call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 592) #3
unreachable
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7wrapperFSQCpQCo__TQCaTQByTQCaTQCeZQCqFQCoQCpQCsZ7ContextQDeQDhZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"* byval(%"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context") align 4 %2) local_unnamed_addr #0 {
%4 = getelementptr inbounds %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context", %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"* %2, i32 0, i32 0
%5 = load i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })*, i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })** %4, align 4
%6 = tail call x86_stdcallcc i32 %5({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1)
ret i32 %6
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8registerMFZ11exampleFuncFNaNbNiNfZi() local_unnamed_addr #0 {
tail call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 592) #3
unreachable
}
attributes #0 = { "frame-pointer"="all" "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #1 = { norecurse nounwind readnone "frame-pointer"="all" "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #2 = { cold noreturn "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #3 = { cold noreturn }
!llvm.ldc.typeinfo._D11TypeInfo_xk6__initZ = !{!0}
!llvm.ldc.typeinfo._D10TypeInfo_k6__initZ = !{!0}
!llvm.ldc.typeinfo._D12TypeInfo_xAa6__initZ = !{!1}
!llvm.ldc.typeinfo._D12TypeInfo_Axa6__initZ = !{!1}
!llvm.ldc.typeinfo._D11TypeInfo_xb6__initZ = !{!2}
!llvm.ldc.typeinfo._D10TypeInfo_b6__initZ = !{!2}
!llvm.ldc.typeinfo._D44TypeInfo_S3std5array__T8AppenderTAyaZQo4Data6__initZ = !{!3}
!llvm.ldc.typeinfo._D3std3utf12UTFException7__ClassZ = !{!4}
!llvm.ldc.classinfo._D3std3utf12UTFException7__ClassZ = !{!5}
!llvm.ldc.typeinfo._D3std9exception14ErrnoException7__ClassZ = !{!6}
!llvm.ldc.classinfo._D3std9exception14ErrnoException7__ClassZ = !{!7}
!llvm.ldc.typeinfo._D11TypeInfo_Aa6__initZ = !{!1}
!llvm.ldc.typeinfo._D9Exception7__ClassZ = !{!8}
!llvm.ldc.classinfo._D9Exception7__ClassZ = !{!9}
!llvm.ldc.typeinfo._D11TypeInfo_Ai6__initZ = !{!10}
!llvm.ldc.typeinfo._D6object9Throwable7__ClassZ = !{!11}
!llvm.ldc.classinfo._D6object9Throwable7__ClassZ = !{!12}
!llvm.ldc.typeinfo._D60TypeInfo_xS3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6__initZ = !{!13}
!llvm.ldc.typeinfo._D59TypeInfo_S3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6__initZ = !{!13}
!llvm.ldc.typeinfo._D69TypeInfo_xPFS3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7ContextiZi6__initZ = !{!14}
!llvm.ldc.typeinfo._D68TypeInfo_PFS3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7ContextiZi6__initZ = !{!14}
!llvm.ldc.typeinfo._D10TypeInfo_i6__initZ = !{!0}
!llvm.ldc.typeinfo._D56TypeInfo_xC3ldc15dynamic_compile22DynamicCompilerContext6__initZ = !{!15}
!llvm.ldc.typeinfo._D3ldc15dynamic_compile22DynamicCompilerContext7__ClassZ = !{!15}
!llvm.ldc.classinfo._D3ldc15dynamic_compile22DynamicCompilerContext7__ClassZ = !{!16}
!llvm.ldc.typeinfo._D126TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8ArgStore6__initZ = !{!17}
!llvm.ldc.typeinfo._D125TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8ArgStore6__initZ = !{!17}
!llvm.ldc.typeinfo._D117TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb6__initZ = !{!18}
!llvm.ldc.typeinfo._D116TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb6__initZ = !{!18}
!llvm.ldc.typeinfo._D86TypeInfo_xPFS3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZi6__initZ = !{!19}
!llvm.ldc.typeinfo._D85TypeInfo_PFS3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZi6__initZ = !{!19}
!llvm.ldc.typeinfo._D151TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8ArgStore6__initZ = !{!20}
!llvm.ldc.typeinfo._D150TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8ArgStore6__initZ = !{!20}
!llvm.ldc.typeinfo._D142TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa6__initZ = !{!21}
!llvm.ldc.typeinfo._D141TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa6__initZ = !{!21}
!0 = !{i32 undef}
!1 = !{{ i32, i8* } undef}
!2 = !{i1 undef}
!3 = !{%"std.array.Appender!string.Appender.Data" undef}
!4 = !{%std.utf.UTFException* undef}
!5 = !{%std.utf.UTFException undef, i1 false, i1 false}
!6 = !{%std.exception.ErrnoException* undef}
!7 = !{%std.exception.ErrnoException undef, i1 false, i1 false}
!8 = !{%object.Exception* undef}
!9 = !{%object.Exception undef, i1 false, i1 false}
!10 = !{{ i32, i32* } undef}
!11 = !{%object.Throwable* undef}
!12 = !{%object.Throwable undef, i1 true, i1 false}
!13 = !{%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase" undef}
!14 = !{i32 (i32, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"*)* undef}
!15 = !{%ldc.dynamic_compile.DynamicCompilerContext* undef}
!16 = !{%ldc.dynamic_compile.DynamicCompilerContext undef, i1 false, i1 false}
!17 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore" undef}
!18 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload" undef}
!19 = !{i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"*)* undef}
!20 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore" undef}
!21 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload" undef}
.text
_D15bind_nested_opt3barFDFZiQeZi:
pushl %ebp
movl %esp, %ebp
pushl %edi
pushl %esi
movl 16(%ebp), %eax
movl 8(%ebp), %esi
calll *20(%ebp)
movl %eax, %edi
movl %esi, %eax
calll *12(%ebp)
addl %edi, %eax
popl %esi
popl %edi
popl %ebp
retl $16
nopl (%eax)
_D15bind_nested_opt3fooFDFZiQeZi:
pushl %ebp
movl %esp, %ebp
pushl %edi
pushl %esi
movl 16(%ebp), %eax
movl 8(%ebp), %esi
calll *20(%ebp)
movl %eax, %edi
movl %esi, %eax
calll *12(%ebp)
addl %edi, %eax
popl %esi
popl %edi
popl %ebp
retl $16
nopl (%eax)
_D15bind_nested_opt6getValFiZi:
pushl %ebp
movl %esp, %ebp
popl %ebp
retl
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.16
pushl $86
calll .L
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.16
pushl $86
calll .L0
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb:
pushl %ebp
movl %esp, %ebp
cmpl $0, (%eax)
setne %al
popl %ebp
retl
nopl (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
popl %ebp
retl
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L1
addl $8, %esp
popl %ebp
jmpl *%eax
.L1:
subl $4, %esp
pushl $505 # imm = 0x1F9
pushl $.str.16
pushl $86
calll .L2
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7wrapperFSQCpQCo__TQCaTQByTQCaTQCeZQCqFQCoQCpQCsZ7ContextQDeQDhZi:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
vmovaps 8(%ebp), %xmm0
vmovups %xmm0, (%esp)
calll *24(%ebp)
addl $8, %esp
popl %ebp
retl $20
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7wrapperFSQCdQCc__TQBoTQBmTiZQByFQBwiZ7ContextiZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
calll *8(%ebp)
addl $8, %esp
popl %ebp
retl $4
_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L3
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
addl $8, %esp
popl %ebp
retl
.L3:
subl $4, %esp
pushl $357 # imm = 0x165
pushl $.str.16
pushl $86
calll .L4
nopw (%eax,%eax)
===========================================
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind_nested_opt-37a417 failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/recursive_call.d (248 of 332)
PASS: LDC :: dynamiccompile/emit.d (249 of 332)
PASS: LDC :: fail_compilation/asm_diagnostics.d (250 of 332)
PASS: LDC :: fail_compilation/asm_gcc_indirect.d (251 of 332)
FAIL: LDC :: dynamiccompile/bind_func_opt.d (252 of 332)
******************** TEST 'LDC :: dynamiccompile/bind_func_opt.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_func_opt.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_func_opt.d"
# command output:
===========================================
.text
_D13bind_func_opt3barFDFZiQeQgZi:
pushl %ebp
movl %esp, %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $12, %esp
movl 24(%ebp), %eax
movl 8(%ebp), %esi
movl 16(%ebp), %edi
calll *28(%ebp)
movl %eax, %ebx
movl %edi, %eax
calll *20(%ebp)
movl %eax, %edi
movl %esi, %eax
addl %ebx, %edi
calll *12(%ebp)
addl %edi, %eax
addl $12, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl $24
nopw %cs:(%eax,%eax)
_D13bind_func_opt3fooFPFZiQeQgZi:
pushl %ebp
movl %esp, %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $12, %esp
movl %eax, %esi
calll *12(%ebp)
movl %eax, %edi
calll *8(%ebp)
movl %eax, %ebx
addl %edi, %ebx
calll *%esi
addl %ebx, %eax
addl $12, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl $8
nopw %cs:(%eax,%eax)
_D13bind_func_opt4mainFAAyaZ8get1001dMFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
movl $1001, %eax # imm = 0x3E9
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt4mainFAAyaZ8get1002dMFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
movl $1002, %eax # imm = 0x3EA
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt4mainFAAyaZ8get1004dMFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
movl $1004, %eax # imm = 0x3EC
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt7get1001FZi:
pushl %ebp
movl %esp, %ebp
movl $1001, %eax # imm = 0x3E9
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt7get1002FZi:
pushl %ebp
movl %esp, %ebp
movl $1002, %eax # imm = 0x3EA
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt7get1003FZi:
pushl %ebp
movl %esp, %ebp
movl $1003, %eax # imm = 0x3EB
popl %ebp
retl
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeQgZiTDFNaNbNiNfZiTQnTQqZQBmFQBkQBaQBdQBgZ7ContextQCdQCgQCjZiTPQCpVAiA4i0i1i2i3TQDzTQDlTQDpTQDtZQFf8registerMFZ11exampleFuncQEn:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.16
pushl $86
calll .L
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFPFZiQeQgZiTQlTQoTQrZQBcFQBaQBbQBeQBhZ7ContextQBtQBwQBzZiTQCfVAiA4i0i1i2i3TQDoTQDaTQDeTQDiZQEu8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.16
pushl $86
calll .L0
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb:
pushl %ebp
movl %esp, %ebp
cmpl $0, (%eax)
setne %al
popl %ebp
retl
nopl (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
popl %ebp
retl
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L1
addl $8, %esp
popl %ebp
jmpl *%eax
.L1:
subl $4, %esp
pushl $505 # imm = 0x1F9
pushl $.str.16
pushl $86
calll .L2
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFDFZiQeQgZiTDFNaNbNiNfZiTQnTQqZQBmFQBkQBaQBdQBgZ7wrapperFSQDlQDk__TQCwTQCuTQClTQCpTQCtZQDqFQDoQDeQDhQDkZ7ContextQEhQEkQEnZi:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %eax
movl 12(%ebp), %ecx
vmovups 16(%ebp), %xmm0
vmovups %xmm0, 8(%esp)
movl %ecx, 4(%esp)
movl %eax, (%esp)
calll *32(%ebp)
popl %ebp
retl $28
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFPFZiQeQgZiTQlTQoTQrZQBcFQBaQBbQBeQBhZ7wrapperFSQDbQDa__TQCmTQCkTQCmTQCqTQCuZQDgFQDeQDfQDiQDlZ7ContextQDxQEaQEdZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $8, %esp
pushl 12(%ebp)
pushl 8(%ebp)
calll *16(%ebp)
addl $16, %esp
popl %ebp
retl $12
nopl (%eax)
_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L3
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
addl $8, %esp
popl %ebp
retl
.L3:
subl $4, %esp
pushl $357 # imm = 0x165
pushl $.str.16
pushl $86
calll .L4
nopw (%eax,%eax)
===========================================
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind_func_opt-d494ee failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/params_ctors.d (253 of 332)
FAIL: LDC :: dynamiccompile/bind_opt.d (254 of 332)
******************** TEST 'LDC :: dynamiccompile/bind_opt.d' FAILED ********************
Script:
--
: 'RUN: at line 1'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_opt.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 1"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_opt.d"
# command output:
===========================================
.text
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTDFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.18
pushl $86
calll .L
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFG4iZiTQgZQrFQoQoZ7ContextQzZiTPFZiVAiA2i0i1TQCkTQBwZQDi8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.18
pushl $86
calll .L0
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFS8bind_opt3BarZiTQrZQBcFQBaQBbZ7ContextQBnZiTPFZiVAiA2i0i1TQCzTQClZQDx8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.18
pushl $86
calll .L1
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiiiZiTiTiTiZQuFQriiiZ7ContextiiiZiTPFZiVAiA4i0i1i2i3TQCtTiTiTiZQDt8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.18
pushl $86
calll .L2
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb:
pushl %ebp
movl %esp, %ebp
cmpl $0, (%eax)
setne %al
popl %ebp
retl
nopl (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
popl %ebp
retl
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L3
addl $8, %esp
popl %ebp
jmpl *%eax
.L3:
subl $4, %esp
pushl $505 # imm = 0x1F9
pushl $.str.18
pushl $86
calll .L4
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTDFiZiTiZQoFQliZ7wrapperFSQCdQCc__TQBoTQBmTiZQByFQBwiZ7ContextiZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl 8(%ebp), %ecx
movl %eax, (%esp)
movl %ecx, %eax
calll *12(%ebp)
addl $4, %esp
popl %ebp
retl $8
nopl (%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFG4iZiTQgZQrFQoQoZ7wrapperFSQChQCg__TQBsTQBqTQBsZQCeFQCcQCdZ7ContextQCpZi:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
vmovaps 8(%ebp), %xmm0
vmovups %xmm0, (%esp)
calll *24(%ebp)
addl $8, %esp
popl %ebp
retl $20
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFS8bind_opt3BarZiTQrZQBcFQBaQBbZ7wrapperFSQCvQCu__TQCgTQCeTQCgZQCsFQCqQCrZ7ContextQDdZi:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 16(%ebp), %eax
movl %eax, 8(%esp)
vmovsd 8(%ebp), %xmm0 # xmm0 = mem[0],zero
vmovsd %xmm0, (%esp)
calll *20(%ebp)
addl $12, %esp
popl %ebp
retl $16
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFiiiZiTiTiTiZQuFQriiiZ7wrapperFSQClQCk__TQBwTQBuTiTiTiZQCkFQCiiiiZ7ContextiiiZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $8, %esp
pushl 12(%ebp)
pushl 8(%ebp)
calll *16(%ebp)
addl $16, %esp
popl %ebp
retl $12
nopl (%eax)
_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L5
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
addl $8, %esp
popl %ebp
retl
.L5:
subl $4, %esp
pushl $357 # imm = 0x165
pushl $.str.18
pushl $86
calll .L6
nopw (%eax,%eax)
_D8bind_opt3Bar3getMFiZi:
pushl %ebp
movl %esp, %ebp
pushl %esi
movl 4(%eax), %ecx
imull $1000, 8(%ebp), %edx # imm = 0x3E8
imull $100, 8(%eax), %esi
addl (%eax), %edx
leal (%ecx,%ecx,4), %ecx
leal (%edx,%ecx,2), %eax
addl %esi, %eax
popl %esi
popl %ebp
retl $4
nopw %cs:(%eax,%eax)
_D8bind_opt3barFSQp3BarZi:
pushl %ebp
movl %esp, %ebp
movl 12(%ebp), %eax
leal (%eax,%eax,4), %ecx
imull $100, 16(%ebp), %eax
addl %ecx, %ecx
addl 8(%ebp), %ecx
addl %ecx, %eax
popl %ebp
retl $12
nopl (%eax,%eax)
_D8bind_opt3bazFG4iZi:
pushl %ebp
movl %esp, %ebp
movl 12(%ebp), %eax
imull $100, 16(%ebp), %ecx
leal (%eax,%eax,4), %eax
addl %eax, %eax
addl 8(%ebp), %eax
addl %eax, %ecx
imull $1000, 20(%ebp), %eax # imm = 0x3E8
addl %ecx, %eax
popl %ebp
retl $16
nopw %cs:(%eax,%eax)
_D8bind_opt3fooFiiiZi:
pushl %ebp
movl %esp, %ebp
imull $100, %eax, %eax
movl 8(%ebp), %ecx
addl 12(%ebp), %eax
leal (%ecx,%ecx,4), %ecx
leal (%eax,%ecx,2), %eax
popl %ebp
retl $8
nopw %cs:(%eax,%eax)
_D8bind_opt3zzzFiiiZi:
pushl %ebp
movl %esp, %ebp
imull $100, %eax, %eax
movl 8(%ebp), %ecx
addl 12(%ebp), %eax
leal (%ecx,%ecx,4), %ecx
leal (%eax,%ecx,2), %eax
popl %ebp
retl $8
nopw %cs:(%eax,%eax)
===========================================
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind_opt-c7a2ee failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: fail_compilation/betterC_typeinfo_diag.d (255 of 332)
PASS: LDC :: driver/ftime-trace.d (256 of 332)
PASS: LDC :: fail_compilation/global_var_collision.d (257 of 332)
PASS: LDC :: dynamiccompile/multiple_modules.d (258 of 332)
PASS: LDC :: fail_compilation/no_address_for_intrinsics.d (259 of 332)
PASS: LDC :: dynamiccompile/multiple_modules_rtconst.d (260 of 332)
UNSUPPORTED: LDC :: linking/fulllto_1.d (261 of 332)
FAIL: LDC :: instrument/xray_check_pipeline.d (262 of 332)
******************** TEST 'LDC :: instrument/xray_check_pipeline.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-s -betterC -fxray-instrument -fxray-instruction-threshold=1 -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_check_pipeline.d.tmp.s /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_check_pipeline.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_check_pipeline.d < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_check_pipeline.d.tmp.s
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-c" "-output-s" "-betterC" "-fxray-instrument" "-fxray-instruction-threshold=1" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_check_pipeline.d.tmp.s" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_check_pipeline.d"
# command stderr:
error: An attempt to perform XRay instrumentation for an unsupported target.
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/jit_module_stripping.d (263 of 332)
PASS: LDC :: dynamiccompile/options_invalid.d (264 of 332)
PASS: LDC :: instrument/finstrument_functions.d (265 of 332)
PASS: LDC :: codegen/inlining_invariants_gh1678.d (266 of 332)
PASS: LDC :: instrument/xray_instrument.d (267 of 332)
PASS: LDC :: dynamiccompile/throw.d (268 of 332)
FAIL: LDC :: instrument/xray_simple_execution.d (269 of 332)
******************** TEST 'LDC :: instrument/xray_simple_execution.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fxray-instrument -fxray-instruction-threshold=1 /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_simple_execution.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_simple_execution.d.tmp
: 'RUN: at line 8'; env XRAY_OPTIONS="patch_premain=true xray_mode=xray-basic verbosity=1" /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_simple_execution.d.tmp 2>&1 | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_simple_execution.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fxray-instrument" "-fxray-instruction-threshold=1" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_simple_execution.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_simple_execution.d.tmp"
# command stderr:
error: An attempt to perform XRay instrumentation for an unsupported target.
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/thread_local.d (270 of 332)
UNSUPPORTED: LDC :: linking/link_internally.d (271 of 332)
PASS: LDC :: instrument/xray_instrument_threshold.d (272 of 332)
FAIL: LDC :: instrument/xray_link.d (273 of 332)
******************** TEST 'LDC :: instrument/xray_link.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fxray-instrument -fxray-instruction-threshold=1 -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.tmp /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d -vv | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fxray-instrument" "-fxray-instruction-threshold=1" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.tmp" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d" "-vv"
# command stderr:
error: An attempt to perform XRay instrumentation for an unsupported target.
error: command failed with exit status: 1
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d:18:11: error: CHECK: expected string not found in input
// CHECK: Linking with:
^
<stdin>:1:1: note: scanning from here
Targeting 'i686-pc-linux-gnu' (CPU 'pentium4' with features '')
^
<stdin>:2:2: note: possible intended match here
Building type: int
^
Input file: <stdin>
Check file: /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: Targeting 'i686-pc-linux-gnu' (CPU 'pentium4' with features '')
check:18'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
2: Building type: int
check:18'0 ~~~~~~~~~~~~~~~~~~
check:18'1 ? possible intended match
3: Building type: uint
check:18'0 ~~~~~~~~~~~~~~~~~~~
4: CodeGenerator::emit(xray_link)
check:18'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5: * resetting 3975 Dsymbols
check:18'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
6: * *** Initializing D runtime declarations ***
check:18'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7: * * building runtime module
check:18'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
>>>>>>
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/struct_init.d (274 of 332)
PASS: LDC :: instrument/coverage_cycle_gh2177.d (275 of 332)
UNSUPPORTED: LDC :: linking/thinlto_1.d (276 of 332)
UNSUPPORTED: LDC :: linking/thinlto_asm_x86.d (277 of 332)
UNSUPPORTED: LDC :: linking/thinlto_modulecdtors.d (278 of 332)
UNSUPPORTED: LDC :: linking/thinlto_modulecdtors_2.d (279 of 332)
PASS: LDC :: instrument/coverage_main_gh2163.d (280 of 332)
UNSUPPORTED: LDC :: sanitizers/asan_fiber.d (281 of 332)
UNSUPPORTED: LDC :: sanitizers/asan_fiber_main.d (282 of 332)
PASS: LDC :: dynamiccompile/options.d (283 of 332)
PASS: LDC :: linking/linker_empty.d (284 of 332)
PASS: LDC :: linking/linker_switches.d (285 of 332)
PASS: LDC :: linking/betterc_cleanups.d (286 of 332)
PASS: LDC :: linking/link_bitcode_libs.d (287 of 332)
PASS: LDC :: dynamiccompile/options_multiple_changes.d (288 of 332)
PASS: LDC :: linking/betterc.d (289 of 332)
PASS: LDC :: linking/platformlib.d (290 of 332)
PASS: LDC :: linking/fullystatic.d (291 of 332)
PASS: LDC :: sanitizers/fsanitize_blacklist_file1.d (292 of 332)
PASS: LDC :: sanitizers/fsanitize_error_diagnostic.d (293 of 332)
PASS: LDC :: sanitizers/fsanitize_blacklist_file2.d (294 of 332)
PASS: LDC :: linking/rt_options.d (295 of 332)
PASS: LDC :: dynamiccompile/tls_workaround_opt.d (296 of 332)
PASS: LDC :: sanitizers/fsanitize_blacklist.d (297 of 332)
PASS: LDC :: dynamiccompile/library.d (298 of 332)
PASS: LDC :: sanitizers/fsanitize_thread.d (299 of 332)
PASS: LDC :: sanitizers/asan_noerror.d (300 of 332)
PASS: LDC :: sanitizers/fsanitize_address.d (301 of 332)
PASS: LDC :: sanitizers/asan_stackoverflow.d (302 of 332)
PASS: LDC :: sanitizers/asan_interface.d (303 of 332)
PASS: LDC :: sanitizers/fsanitize_fuzzer.d (304 of 332)
PASS: LDC :: sanitizers/fsanitize_coverage.d (305 of 332)
PASS: LDC :: linking/ir2obj_caching.d (306 of 332)
FAIL: LDC :: sanitizers/tsan_noerror.d (307 of 332)
******************** TEST 'LDC :: sanitizers/tsan_noerror.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fsanitize=thread /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_noerror.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_noerror.d.tmp
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_noerror.d.tmp
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fsanitize=thread" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_noerror.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_noerror.d.tmp"
# command stderr:
clang-11: error: unsupported option '-fsanitize=thread' for target 'i686-pc-linux-gnu'
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
FAIL: LDC :: sanitizers/tsan_tiny_race.d (308 of 332)
******************** TEST 'LDC :: sanitizers/tsan_tiny_race.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=thread /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race.d.tmp
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/deflake.bash 20 /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race.d.tmp | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=thread" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race.d.tmp"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race.d(39): Error: undefined identifier `__c_ulonglong`
error: command failed with exit status: 1
--
********************
PASS: LDC :: semantic/dcompute_asm.d (309 of 332)
FAIL: LDC :: sanitizers/tsan_tiny_race_TLS.d (310 of 332)
******************** TEST 'LDC :: sanitizers/tsan_tiny_race_TLS.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=thread /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race_TLS.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race_TLS.d.tmp
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/deflake.bash 20 /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race_TLS.d.tmp | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race_TLS.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=thread" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race_TLS.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race_TLS.d.tmp"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race_TLS.d(37): Error: undefined identifier `__c_ulonglong`
error: command failed with exit status: 1
--
********************
FAIL: LDC :: sanitizers/fuzz_mixin.d (311 of 332)
******************** TEST 'LDC :: sanitizers/fuzz_mixin.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=fuzzer /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_mixin.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_mixin.d.tmp
: 'RUN: at line 7'; not /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_mixin.d.tmp 2>&1 | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_mixin.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=fuzzer" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_mixin.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_mixin.d.tmp"
# command stderr:
/gnu/store/z4li262il798hbl0l1h1k3a5g7r6bffa-glibc-2.31/lib/crt1.o:function _start: error: undefined reference to 'main'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/ldc/libfuzzer.di:55: error: undefined reference to '__sanitizer_cov_trace_const_cmp1'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/ldc/libfuzzer.di:66: error: undefined reference to '__sanitizer_cov_trace_cmp4'
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_mixin.d.o:fuzz_mixin.d:function sancov.module_ctor_8bit_counters: error: undefined reference to '__sanitizer_cov_8bit_counters_init'
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_mixin.d.o:fuzz_mixin.d:function sancov.module_ctor_8bit_counters: error: undefined reference to '__sanitizer_cov_pcs_init'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: linking/ir2obj_caching_flags2.d (312 of 332)
FAIL: LDC :: sanitizers/fuzz_basic.d (313 of 332)
******************** TEST 'LDC :: sanitizers/fuzz_basic.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=fuzzer /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_basic.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_basic.d.tmp
: 'RUN: at line 7'; not /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_basic.d.tmp 2> /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_basic.d.tmp.out
: 'RUN: at line 8'; FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_basic.d < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_basic.d.tmp.out
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=fuzzer" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_basic.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_basic.d.tmp"
# command stderr:
/gnu/store/z4li262il798hbl0l1h1k3a5g7r6bffa-glibc-2.31/lib/crt1.o:function _start: error: undefined reference to 'main'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_basic.d:12: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_basic.d:12: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_basic.d:12: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_basic.d:12: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_basic.d:24: error: undefined reference to '__sanitizer_cov_trace_const_cmp1'
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_basic.d.o:fuzz_basic.d:function sancov.module_ctor_8bit_counters: error: undefined reference to '__sanitizer_cov_8bit_counters_init'
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_basic.d.o:fuzz_basic.d:function sancov.module_ctor_8bit_counters: error: undefined reference to '__sanitizer_cov_pcs_init'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: semantic/target_traits_dcompute.d (314 of 332)
PASS: LDC :: semantic/dcompute.d (315 of 332)
FAIL: LDC :: sanitizers/link_fuzzer.d (316 of 332)
******************** TEST 'LDC :: sanitizers/link_fuzzer.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -v -fsanitize=fuzzer /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/link_fuzzer.d | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/link_fuzzer.d
: 'RUN: at line 11'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -v -fsanitize=fuzzer -link-no-cpp /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/link_fuzzer.d > /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/link_fuzzer.d.tmp_nocpp.log || true
: 'RUN: at line 12'; FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/link_fuzzer.d --check-prefix=NOCPP < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/link_fuzzer.d.tmp_nocpp.log
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-v" "-fsanitize=fuzzer" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/link_fuzzer.d"
# command stderr:
/gnu/store/z4li262il798hbl0l1h1k3a5g7r6bffa-glibc-2.31/lib/crt1.o:function _start: error: undefined reference to 'main'
link_fuzzer.o:link_fuzzer.d:function sancov.module_ctor_8bit_counters: error: undefined reference to '__sanitizer_cov_8bit_counters_init'
link_fuzzer.o:link_fuzzer.d:function sancov.module_ctor_8bit_counters: error: undefined reference to '__sanitizer_cov_pcs_init'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/link_fuzzer.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/link_fuzzer.d:8:11: error: CHECK: expected string not found in input
// CHECK: {{_rt\.fuzzer.*\.a}}
^
<stdin>:1:1: note: scanning from here
binary /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2
^
<stdin>:5:10: note: possible intended match here
parse link_fuzzer
^
Input file: <stdin>
Check file: /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/link_fuzzer.d
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: binary /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2
check:8'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
2: version 1.27.1 (DMD v2.097.2, LLVM 11.0.0)
check:8'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: config /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2.conf (i686-pc-linux-gnu)
check:8'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4: predefs LDC all D_Version2 assert D_ModuleInfo D_Exceptions D_TypeInfo X86 D_InlineAsm_X86 D_HardFloat LittleEndian D_PIC linux Posix CRuntime_Glibc CppRuntime_Gcc LDC_CoverageSanitizer LDC_LLVM_1100
check:8'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5: parse link_fuzzer
check:8'0 ~~~~~~~~~~~~~~~~~
check:8'1 ? possible intended match
6: importall link_fuzzer
check:8'0 ~~~~~~~~~~~~~~~~~~~~~
7: import object (/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/object.d)
check:8'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8: import core.attribute (/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/attribute.d)
check:8'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9: import ldc.attributes (/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/ldc/attributes.d)
check:8'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10: import core.internal.hash (/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/hash.d)
check:8'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
>>>>>>
error: command failed with exit status: 1
--
********************
FAIL: LDC :: sanitizers/fuzz_asan.d (317 of 332)
******************** TEST 'LDC :: sanitizers/fuzz_asan.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=address,fuzzer -frame-pointer=all /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_asan.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_asan.d.tmp
: 'RUN: at line 7'; not /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_asan.d.tmp 2>&1 | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_asan.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=address,fuzzer" "-frame-pointer=all" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/fuzz_asan.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/fuzz_asan.d.tmp"
# command stderr:
/gnu/store/z4li262il798hbl0l1h1k3a5g7r6bffa-glibc-2.31/lib/crt1.o:function _start: error: undefined reference to 'main'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: semantic/target_traits_diag.d (318 of 332)
FAIL: LDC :: sanitizers/msan_noerror.d (319 of 332)
******************** TEST 'LDC :: sanitizers/msan_noerror.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=memory /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_noerror.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.tmp
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.tmp
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=memory" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_noerror.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.tmp"
# command stderr:
ld: error: cannot open /gnu/store/1v1k5isdxf0vc5nykihxjpg2a462hv8f-clang-runtime-11.0.0/lib/linux/libclang_rt.msan-i386.a: No such file or directory
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_noerror.d:10: error: undefined reference to '__msan_retval_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:39: error: undefined reference to '__msan_param_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42: error: undefined reference to '__msan_retval_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42: error: undefined reference to '__msan_warning_with_origin_noreturn'
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.o:msan_noerror.d:function ldc.register_dso: error: undefined reference to '__msan_param_tls'
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.o:msan_noerror.d:function msan.module_ctor: error: undefined reference to '__msan_init'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
FAIL: LDC :: sanitizers/msan_uninitialized.d (320 of 332)
******************** TEST 'LDC :: sanitizers/msan_uninitialized.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=memory -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=memory -fsanitize-memory-track-origins=2 -d-version=BUG /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_uninitialized.d.tmp
: 'RUN: at line 7'; not /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_uninitialized.d.tmp 2>&1 | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=memory" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d"
# command stderr:
ld: error: cannot open /gnu/store/1v1k5isdxf0vc5nykihxjpg2a462hv8f-clang-runtime-11.0.0/lib/linux/libclang_rt.msan-i386.a: No such file or directory
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d:21: error: undefined reference to '__msan_warning_with_origin_noreturn'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d:21: error: undefined reference to '__msan_warning_with_origin_noreturn'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d:21: error: undefined reference to '__msan_retval_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:39: error: undefined reference to '__msan_param_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42: error: undefined reference to '__msan_retval_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42: error: undefined reference to '__msan_warning_with_origin_noreturn'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-9f64e2/msan_uninitialized.o:msan_uninitialized.d:function ldc.register_dso: error: undefined reference to '__msan_param_tls'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-9f64e2/msan_uninitialized.o:msan_uninitialized.d:function msan.module_ctor: error: undefined reference to '__msan_init'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/simple.d (321 of 332)
PASS: LDC :: sanitizers/asan_dynalloc.d (322 of 332)
PASS: LDC :: semantic/target_traits.d (323 of 332)
PASS: LDC :: semantic/traits_initSymbol.d (324 of 332)
FAIL: LDC :: dynamiccompile/bind.d (325 of 332)
******************** TEST 'LDC :: dynamiccompile/bind.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind-15adaa failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: linking/ir2obj_caching_retrieval.d (326 of 332)
PASS: LDC :: linking/link_bitcode.d (327 of 332)
PASS: LDC :: linking/ir2obj_cache_pruning.d (328 of 332)
PASS: LDC :: codegen/static_array_huge.d (329 of 332)
PASS: LDC :: linking/ir2obj_caching_flags1.d (330 of 332)
PASS: LDC :: linking/ir2obj_cache_pruning2.d (331 of 332)
PASS: LDC :: tools/ldc_prune_cache_1.d (332 of 332)
********************
Failed Tests (37):
LDC :: PGO/allstatementtypes.d
LDC :: PGO/branching_switch.d
LDC :: PGO/break.d
LDC :: PGO/exceptions.d
LDC :: PGO/final_switch_release.d
LDC :: PGO/functions.d
LDC :: PGO/hash.d
LDC :: PGO/hash_smallchange.d
LDC :: PGO/indirect_calls.d
LDC :: PGO/irbased_indirect_calls.d
LDC :: PGO/max_function_count.d
LDC :: PGO/profile_rt_calls.d
LDC :: PGO/reset_counters.d
LDC :: PGO/singleobj.d
LDC :: PGO/summary.d
LDC :: PGO/unrolledloopstatement_gh3375.d
LDC :: codegen/mangling.d
LDC :: debuginfo/print_gdb.d
LDC :: dynamiccompile/bind.d
LDC :: dynamiccompile/bind_bool.d
LDC :: dynamiccompile/bind_func_opt.d
LDC :: dynamiccompile/bind_nested_opt.d
LDC :: dynamiccompile/bind_opt.d
LDC :: dynamiccompile/compiler_context.d
LDC :: dynamiccompile/compiler_context_parallel.d
LDC :: instrument/xray_check_pipeline.d
LDC :: instrument/xray_link.d
LDC :: instrument/xray_simple_execution.d
LDC :: sanitizers/fuzz_asan.d
LDC :: sanitizers/fuzz_basic.d
LDC :: sanitizers/fuzz_mixin.d
LDC :: sanitizers/link_fuzzer.d
LDC :: sanitizers/msan_noerror.d
LDC :: sanitizers/msan_uninitialized.d
LDC :: sanitizers/tsan_noerror.d
LDC :: sanitizers/tsan_tiny_race.d
LDC :: sanitizers/tsan_tiny_race_TLS.d
Testing Time: 12.94s
Unsupported: 33
Passed : 262
Failed : 37
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 13.16 sec
The following tests FAILED:
910 - lit-tests (Failed)
Are these known to fail on 32 bit machines, or is there still something wrong with the linking of needed libraries?
Note: to build natively on 32 bit systems, I had to do the 0.17 --> 1.12 --> 1.24 --> 1.27 bootstrap dance.
Perhaps the libraries are simply not found; for the i686-linux system, the suffix on disk is 'i386':
ls /gnu/store/20sppx281z264ffy32ffcvybwa87mazg-clang-runtime-12.0.0/lib/linux/
clang_rt.crtbegin-i386.o libclang_rt.scudo_cxx-i386.a
clang_rt.crtend-i386.o libclang_rt.scudo_cxx_minimal-i386.a
libclang_rt.asan_cxx-i386.a libclang_rt.scudo-i386.a
libclang_rt.asan-i386.a libclang_rt.scudo-i386.so
libclang_rt.asan-i386.so libclang_rt.scudo_minimal-i386.a
libclang_rt.asan-preinit-i386.a libclang_rt.scudo_minimal-i386.so
libclang_rt.builtins-i386.a libclang_rt.scudo_standalone_cxx-i386.a
libclang_rt.cfi_diag-i386.a libclang_rt.scudo_standalone-i386.a
libclang_rt.cfi-i386.a libclang_rt.stats_client-i386.a
libclang_rt.fuzzer-i386.a libclang_rt.stats-i386.a
libclang_rt.fuzzer_interceptors-i386.a libclang_rt.ubsan_minimal-i386.a
libclang_rt.fuzzer_no_main-i386.a libclang_rt.ubsan_minimal-i386.so
libclang_rt.gwp_asan-i386.a libclang_rt.ubsan_standalone_cxx-i386.a
libclang_rt.lsan-i386.a libclang_rt.ubsan_standalone-i386.a
libclang_rt.profile-i386.a libclang_rt.ubsan_standalone-i386.so
libclang_rt.safestack-i386.a
But it seems that LLVM disagrees and uses 'x86' (c.f.: https://llvm.org/doxygen/classllvm_1_1Triple.html#a547abd13f7a3c063aa72c8192a868154). Ugh.
With triple.getArchName
patched to return the correct machine type string, the remaining test failures on i686-linux are:
running the lit test suite...
Test project /tmp/guix-build-ldc-1.27.1.drv-0/build
Start 910: lit-tests
1/1 Test #910: lit-tests ........................***Failed 13.13 sec
Lit version: 12.0.1
-- Testing: 332 tests, 24 workers --
UNSUPPORTED: LDC :: PGO/thinlto_pgo.d (1 of 332)
PASS: LDC :: PGO/eh_gh1943.d (2 of 332)
UNSUPPORTED: LDC :: baremetal/wasm.d (3 of 332)
UNSUPPORTED: LDC :: baremetal/wasm2.d (4 of 332)
PASS: LDC :: PGO/const_cond.d (5 of 332)
PASS: LDC :: PGO/boundscheck.d (6 of 332)
PASS: LDC :: PGO/uninstrumented_main.d (7 of 332)
PASS: LDC :: PGO/switch_disable.d (8 of 332)
PASS: LDC :: PGO/withO.d (9 of 332)
PASS: LDC :: codegen/array_alloc_gh3041.d (10 of 332)
PASS: LDC :: baremetal/classes.d (11 of 332)
PASS: LDC :: codegen/array_equals_memcmp_2.d (12 of 332)
PASS: LDC :: PGO/pragma.d (13 of 332)
PASS: LDC :: codegen/array_equals_memcmp_neverinvoke.d (14 of 332)
PASS: LDC :: codegen/asm_constraints.d (15 of 332)
PASS: LDC :: codegen/array_catassign_gh2588.d (16 of 332)
PASS: LDC :: codegen/asm_data_directives.d (17 of 332)
PASS: LDC :: codegen/asm_gcc.d (18 of 332)
PASS: LDC :: PGO/unrolledloopstatement_gh3375.d (19 of 332)
PASS: LDC :: codegen/align_class.d (20 of 332)
PASS: LDC :: PGO/hash_smallchange.d (21 of 332)
PASS: LDC :: PGO/summary.d (22 of 332)
PASS: LDC :: PGO/reset_counters.d (23 of 332)
PASS: LDC :: PGO/max_function_count.d (24 of 332)
PASS: LDC :: PGO/final_switch_release.d (25 of 332)
PASS: LDC :: codegen/asm_gcc_no_fp.d (26 of 332)
PASS: LDC :: PGO/irbased_indirect_calls.d (27 of 332)
PASS: LDC :: codegen/asm_labels.d (28 of 332)
FAIL: LDC :: PGO/profile_rt_calls.d (29 of 332)
******************** TEST 'LDC :: PGO/profile_rt_calls.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/profile_rt_calls.d.tmp.profraw -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/profile_rt_calls.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fprofile-instr-generate=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/PGO/Output/profile_rt_calls.d.tmp.profraw" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/profile_rt_calls.d"
# command stderr:
core.exception.AssertError@/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/PGO/profile_rt_calls.d(21): Assertion failure
----------------
??:? [0x823c516]
??:? [0x8206c21]
??:? [0x823f6db]
??:? [0x8207779]
??:? [0x81f331a]
??:? [0x804c1de]
??:? [0x804cea2]
??:? [0x82070b2]
??:? [0x8206e8f]
??:? [0x8206cee]
??:? [0x804cf3e]
??:? __libc_start_main [0xf7cb2935]
??:? [0x804be50]
Error: /tmp/guix-build-ldc-1.27.1.drv-0/profile_rt_calls-7ef018 failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: PGO/singleobj.d (30 of 332)
PASS: LDC :: codegen/attr_assumeused.d (31 of 332)
PASS: LDC :: PGO/branching_switch.d (32 of 332)
PASS: LDC :: codegen/attr_allocsize.d (33 of 332)
PASS: LDC :: codegen/array_equals_null.d (34 of 332)
PASS: LDC :: codegen/atomicrmw.d (35 of 332)
PASS: LDC :: codegen/attr_fastmath.d (36 of 332)
PASS: LDC :: PGO/hash.d (37 of 332)
UNSUPPORTED: LDC :: codegen/attr_weak_lto.d (38 of 332)
PASS: LDC :: PGO/break.d (39 of 332)
PASS: LDC :: PGO/indirect_calls.d (40 of 332)
PASS: LDC :: codegen/assign_struct_init_without_stack.d (41 of 332)
PASS: LDC :: codegen/attr_fastmath_x86.d (42 of 332)
PASS: LDC :: PGO/exceptions.d (43 of 332)
PASS: LDC :: codegen/attr_llvmattr.d (44 of 332)
PASS: LDC :: codegen/attr_allocsize_diag.d (45 of 332)
PASS: LDC :: codegen/array_literal_gh1924.d (46 of 332)
PASS: LDC :: codegen/asm_output.d (47 of 332)
PASS: LDC :: codegen/attr_naked.d (48 of 332)
PASS: LDC :: codegen/attr_optstrat.d (49 of 332)
PASS: LDC :: codegen/attr_param.d (50 of 332)
PASS: LDC :: codegen/attr_weak_external.d (51 of 332)
PASS: LDC :: codegen/attr_llvmFMF.d (52 of 332)
UNSUPPORTED: LDC :: codegen/dcompute_cl_addrspaces.d (53 of 332)
PASS: LDC :: codegen/avr.d (54 of 332)
PASS: LDC :: codegen/checkaction_halt.d (55 of 332)
PASS: LDC :: codegen/attr_llvmFMF_contract.d (56 of 332)
PASS: LDC :: codegen/array_equals_memcmp.d (57 of 332)
PASS: LDC :: codegen/const_cond.d (58 of 332)
PASS: LDC :: codegen/cmpxchg.d (59 of 332)
PASS: LDC :: codegen/const_cond_labels.d (60 of 332)
UNSUPPORTED: LDC :: codegen/export.d (61 of 332)
PASS: LDC :: codegen/attr_targetoptions_fp.d (62 of 332)
PASS: LDC :: codegen/cpp_interface.d (63 of 332)
PASS: LDC :: codegen/const_struct_export.d (64 of 332)
PASS: LDC :: codegen/ctor_initarray_gh2883.d (65 of 332)
UNSUPPORTED: LDC :: codegen/export_marked_symbols_thin_lto.d (66 of 332)
UNSUPPORTED: LDC :: codegen/export_naked_gh2648.d (67 of 332)
PASS: LDC :: codegen/dcompute_cu_addrspaces.d (68 of 332)
PASS: LDC :: codegen/betterC_typeinfo.d (69 of 332)
PASS: LDC :: codegen/dcompute_host_and_device.d (70 of 332)
PASS: LDC :: PGO/functions.d (71 of 332)
PASS: LDC :: codegen/dmd_inline_asm_ip.d (72 of 332)
UNSUPPORTED: LDC :: codegen/fvisibility_dll.d (73 of 332)
PASS: LDC :: codegen/call_args_evalorder.d (74 of 332)
PASS: LDC :: codegen/export_crossModuleInlining.d (75 of 332)
PASS: LDC :: codegen/complex_identity_gh2918.d (76 of 332)
PASS: LDC :: codegen/complex_postexpr_gh1806.d (77 of 332)
PASS: LDC :: codegen/fence_pragma.d (78 of 332)
PASS: LDC :: codegen/attr_target_x86.d (79 of 332)
PASS: LDC :: codegen/ffastmath.d (80 of 332)
PASS: LDC :: codegen/dmd_inline_asm_fp_types.d (81 of 332)
PASS: LDC :: codegen/attr_weak.d (82 of 332)
PASS: LDC :: codegen/array_equals_memcmp_dyn.d (83 of 332)
PASS: LDC :: codegen/attr_targetoptions.d (84 of 332)
PASS: LDC :: codegen/gh1843.d (85 of 332)
PASS: LDC :: codegen/gh2131.d (86 of 332)
PASS: LDC :: codegen/gh2346.d (87 of 332)
PASS: LDC :: codegen/discard_value_names_gh1749.d (88 of 332)
PASS: LDC :: codegen/exception_stack_trace.d (89 of 332)
PASS: LDC :: codegen/discard_value_names_ir2obj_cache.d (90 of 332)
PASS: LDC :: codegen/const_struct.d (91 of 332)
PASS: LDC :: codegen/gh2515.d (92 of 332)
PASS: LDC :: codegen/gh2865.d (93 of 332)
PASS: LDC :: PGO/allstatementtypes.d (94 of 332)
PASS: LDC :: codegen/gh3221.d (95 of 332)
PASS: LDC :: codegen/gc2stack.d (96 of 332)
UNSUPPORTED: LDC :: codegen/inferred_outputname.d (97 of 332)
PASS: LDC :: codegen/gh1728.d (98 of 332)
PASS: LDC :: codegen/gh3692.d (99 of 332)
PASS: LDC :: codegen/gh1433.d (100 of 332)
PASS: LDC :: codegen/funcliteral_defaultarg_gh1634.d (101 of 332)
PASS: LDC :: codegen/in_place_construct_asm.d (102 of 332)
PASS: LDC :: codegen/in_place_construct.d (103 of 332)
PASS: LDC :: codegen/inbounds.d (104 of 332)
PASS: LDC :: codegen/indirect_byval_rewrite.d (105 of 332)
PASS: LDC :: codegen/gh2537.d (106 of 332)
PASS: LDC :: codegen/func_contracts_gh1543.d (107 of 332)
PASS: LDC :: codegen/export_marked_symbols1.d (108 of 332)
PASS: LDC :: codegen/gh3094.d (109 of 332)
PASS: LDC :: codegen/gh2729.d (110 of 332)
PASS: LDC :: codegen/inline_ir.d (111 of 332)
PASS: LDC :: codegen/inline_ir_noparams.d (112 of 332)
PASS: LDC :: codegen/frame_pointer_x86.d (113 of 332)
PASS: LDC :: codegen/gh2235.d (114 of 332)
PASS: LDC :: codegen/gh3553.d (115 of 332)
PASS: LDC :: codegen/inlining_imports.d (116 of 332)
PASS: LDC :: codegen/gh3346.d (117 of 332)
PASS: LDC :: codegen/gh3208.d (118 of 332)
PASS: LDC :: codegen/inlining_disablecross.d (119 of 332)
PASS: LDC :: codegen/export_aggregate_symbols.d (120 of 332)
PASS: LDC :: codegen/lambdas_gh3648.d (121 of 332)
PASS: LDC :: codegen/in_place_construct_temporaries.d (122 of 332)
PASS: LDC :: codegen/linker_directives_linux.d (123 of 332)
PASS: LDC :: codegen/lambdas_gh3648b.d (124 of 332)
PASS: LDC :: codegen/linker_directives_mac.d (125 of 332)
PASS: LDC :: codegen/linker_directives_win.d (126 of 332)
PASS: LDC :: codegen/inlining_leakdefinitions_asm.d (127 of 332)
PASS: LDC :: codegen/inlining_imports_pragma.d (128 of 332)
PASS: LDC :: codegen/inlineIR_math.d (129 of 332)
PASS: LDC :: codegen/no_init_symbols_for_zeroinit_structs.d (130 of 332)
PASS: LDC :: codegen/noplt.d (131 of 332)
PASS: LDC :: codegen/mangling_gh1519.d (132 of 332)
PASS: LDC :: codegen/inlining_pragma.d (133 of 332)
PASS: LDC :: codegen/hashed_mangling.d (134 of 332)
PASS: LDC :: codegen/nothrow.d (135 of 332)
PASS: LDC :: codegen/inlining_stdlib.d (136 of 332)
PASS: LDC :: codegen/export_marked_symbols2.d (137 of 332)
PASS: LDC :: codegen/pragma_no_typeinfo.d (138 of 332)
PASS: LDC :: codegen/ptr_16_bit.d (139 of 332)
PASS: LDC :: codegen/simd_alignment.d (140 of 332)
PASS: LDC :: codegen/nested_gh3556.d (141 of 332)
PASS: LDC :: codegen/nested_gh2960.d (142 of 332)
PASS: LDC :: codegen/no_abi_blit_for_nonpod.d (143 of 332)
PASS: LDC :: codegen/inlining_gh3126.d (144 of 332)
PASS: LDC :: codegen/static_array_init.d (145 of 332)
PASS: LDC :: codegen/pragma_LDC_extern_weak.d (146 of 332)
PASS: LDC :: codegen/mangling_real_real.d (147 of 332)
PASS: LDC :: codegen/static_typeid_gh1540.d (148 of 332)
FAIL: LDC :: codegen/mangling.d (149 of 332)
******************** TEST 'LDC :: codegen/mangling.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/codegen/inputs/mangling_definitions.d -c -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/codegen/Output/mangling.d.tmp-dir/mangling_definitions.o
: 'RUN: at line 8'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/codegen/Output/mangling.d.tmp-dir/mangling_definitions.o -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/codegen/mangling.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/codegen/inputs/mangling_definitions.d" "-c" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/codegen/Output/mangling.d.tmp-dir/mangling_definitions.o"
$ ":" "RUN: at line 8"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/codegen/Output/mangling.d.tmp-dir/mangling_definitions.o" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/codegen/mangling.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/mangling-0de98c failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
UNSUPPORTED: LDC :: codegen/wasi.d (150 of 332)
PASS: LDC :: codegen/llvm_used_1.d (151 of 332)
PASS: LDC :: codegen/nested_lazy_gh2302.d (152 of 332)
PASS: LDC :: codegen/unknown_critical_section_size.d (153 of 332)
PASS: LDC :: codegen/varargs.d (154 of 332)
PASS: LDC :: codegen/output_s_affect_codegen.d (155 of 332)
PASS: LDC :: codegen/return_statement.d (156 of 332)
PASS: LDC :: codegen/vastart_vaend_gh1744.d (157 of 332)
PASS: LDC :: codegen/rvo.d (158 of 332)
PASS: LDC :: codegen/vector_init.d (159 of 332)
PASS: LDC :: codegen/switch_ICE_gh1638.d (160 of 332)
PASS: LDC :: codegen/sret_thunk_gh3329.d (161 of 332)
PASS: LDC :: codegen/zerolengtharray_gh1611.d (162 of 332)
PASS: LDC :: compilable/arch64bit_abi32bit_gh3802.d (163 of 332)
PASS: LDC :: compilable/dcompute.d (164 of 332)
PASS: LDC :: compilable/gh1741.d (165 of 332)
PASS: LDC :: compilable/gh1906.d (166 of 332)
PASS: LDC :: compilable/captured_nonpassed_params.d (167 of 332)
PASS: LDC :: compilable/gh2033.d (168 of 332)
PASS: LDC :: compilable/gh2415.d (169 of 332)
PASS: LDC :: compilable/gh2422.d (170 of 332)
PASS: LDC :: compilable/gh2458.d (171 of 332)
PASS: LDC :: compilable/gh2471.d (172 of 332)
PASS: LDC :: compilable/gh2777.d (173 of 332)
PASS: LDC :: codegen/vector_intrinsics_gh2962.d (174 of 332)
PASS: LDC :: codegen/vector_abi_x86.d (175 of 332)
PASS: LDC :: codegen/simd_unaligned.d (176 of 332)
PASS: LDC :: codegen/variadic_thunk_gh2613.d (177 of 332)
PASS: LDC :: compilable/gh2849.d (178 of 332)
UNSUPPORTED: LDC :: compilable/objc_gh2387.d (179 of 332)
UNSUPPORTED: LDC :: compilable/objc_gh2388.d (180 of 332)
UNSUPPORTED: LDC :: debuginfo/args_cdb.d (181 of 332)
UNSUPPORTED: LDC :: debuginfo/baseclass_cdb.d (182 of 332)
UNSUPPORTED: LDC :: debuginfo/basictypes_cdb.d (183 of 332)
PASS: LDC :: compilable/gh2808.d (184 of 332)
PASS: LDC :: compilable/gh2859.d (185 of 332)
UNSUPPORTED: LDC :: debuginfo/enums_cdb.d (186 of 332)
PASS: LDC :: compilable/ctfe_math.d (187 of 332)
PASS: LDC :: compilable/gh2988.d (188 of 332)
PASS: LDC :: codegen/vector_ops.d (189 of 332)
UNSUPPORTED: LDC :: debuginfo/msvc_dwarf.d (190 of 332)
UNSUPPORTED: LDC :: debuginfo/msvc_eh.d (191 of 332)
UNSUPPORTED: LDC :: debuginfo/msvc_no_colinfo.d (192 of 332)
UNSUPPORTED: LDC :: debuginfo/nested_cdb.d (193 of 332)
PASS: LDC :: compilable/gh2996.d (194 of 332)
PASS: LDC :: compilable/gh3194.d (195 of 332)
UNSUPPORTED: LDC :: debuginfo/scopes_cdb.d (196 of 332)
PASS: LDC :: compilable/gh3250.d (197 of 332)
PASS: LDC :: compilable/gh3243.d (198 of 332)
UNSUPPORTED: LDC :: debuginfo/strings_cdb.d (199 of 332)
UNSUPPORTED: LDC :: debuginfo/vector_cdb.d (200 of 332)
PASS: LDC :: compilable/gh3496.d (201 of 332)
PASS: LDC :: compilable/gh3324.d (202 of 332)
PASS: LDC :: compilable/gh2932.d (203 of 332)
PASS: LDC :: compilable/gh3501.d (204 of 332)
PASS: LDC :: debuginfo/gline_tables_only.d (205 of 332)
PASS: LDC :: debuginfo/gline_tables_only2.d (206 of 332)
PASS: LDC :: codegen/cov_modes.d (207 of 332)
PASS: LDC :: codegen/inlining_staticvar.d (208 of 332)
PASS: LDC :: debuginfo/gline_tables_only3.d (209 of 332)
PASS: LDC :: codegen/inlining_leakdefinitions.d (210 of 332)
UNSUPPORTED: LDC :: driver/mscrtlib.d (211 of 332)
PASS: LDC :: driver/config_diag_x86.d (212 of 332)
PASS: LDC :: driver/cleanup_obj_gh3643.d (213 of 332)
PASS: LDC :: codegen/union.d (214 of 332)
PASS: LDC :: compilable/gh1933.d (215 of 332)
PASS: LDC :: driver/drt_options_in_rsp_file.d (216 of 332)
PASS: LDC :: compilable/gh3162.d (217 of 332)
PASS: LDC :: debuginfo/srcname.d (218 of 332)
PASS: LDC :: driver/gh1941.d (219 of 332)
PASS: LDC :: debuginfo/enum_of_functions.d (220 of 332)
PASS: LDC :: codegen/inlining_templates.d (221 of 332)
PASS: LDC :: driver/config_diag.d (222 of 332)
PASS: LDC :: driver/gh1945.d (223 of 332)
PASS: LDC :: driver/gh2073.d (224 of 332)
PASS: LDC :: driver/float_abi.d (225 of 332)
PASS: LDC :: driver/save_optimization_record.d (226 of 332)
PASS: LDC :: driver/cli_preparsing.d (227 of 332)
PASS: LDC :: dynamiccompile/array.d (228 of 332)
PASS: LDC :: driver/include_imports.d (229 of 332)
PASS: LDC :: dynamiccompile/calls.d (230 of 332)
PASS: LDC :: debuginfo/nested_gdb.d (231 of 332)
PASS: LDC :: debuginfo/classtypes_gdb.d (232 of 332)
PASS: LDC :: dynamiccompile/classes.d (233 of 332)
PASS: LDC :: compilable/no-integrated-as.d (234 of 332)
FAIL: LDC :: debuginfo/print_gdb.d (235 of 332)
******************** TEST 'LDC :: debuginfo/print_gdb.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -I/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo -g -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_a.d /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_b.d
: 'RUN: at line 3'; sed -e "/^\\/\\/ GDB:/!d" -e "s,// GDB:,," /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb
: 'RUN: at line 4'; env LANG=C gdb /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp --batch -x /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.out 2>&1
: 'RUN: at line 5'; FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d -check-prefix=CHECK < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.out
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-I/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo" "-g" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_a.d" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/inputs/import_b.d"
$ ":" "RUN: at line 3"
$ "sed" "-e" "/^\/\/ GDB:/!d" "-e" "s,// GDB:,," "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d"
$ ":" "RUN: at line 4"
$ "env" "LANG=C" "gdb" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp" "--batch" "-x" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb"
$ ":" "RUN: at line 5"
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d" "-check-prefix=CHECK"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d:94:11: error: CHECK: expected string not found in input
// CHECK: = 40
^
<stdin>:19:1: note: scanning from here
Breakpoint 3 at 0x804a2a5: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d, line 104.
^
<stdin>:19:112: note: possible intended match here
Breakpoint 3 at 0x804a2a5: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d, line 104.
^
Input file: <stdin>
Check file: /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
14: 78 sB strB;
15: $1 = 987
16: $2 = 246
17: $3 = 67 'C'
18: $4 = 42.25
19: Breakpoint 3 at 0x804a2a5: file tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d, line 104.
check:94'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
check:94'1 ? possible intended match
20:
check:94'0 ~
21: Breakpoint 3, D main () at tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/debuginfo/print_gdb.d:104
check:94'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22: 104 cC clsC = new cC;
check:94'0 ~~~~~~~~~~~~~~~~~~~~~
23: $5 = {k = 6}
check:94'0 ~~~~~~~~~~~~
24:
check:94'0 ~
.
.
.
>>>>>>
error: command failed with exit status: 1
--
********************
PASS: LDC :: driver/post_switches.d (236 of 332)
FAIL: LDC :: dynamiccompile/compiler_context.d (237 of 332)
******************** TEST 'LDC :: dynamiccompile/compiler_context.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/compiler_context.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/compiler_context.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/compiler_context-79f74d failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/dump_handler.d (238 of 332)
PASS: LDC :: dynamiccompile/empty_jit_modules.d (239 of 332)
PASS: LDC :: dynamiccompile/globals.d (240 of 332)
PASS: LDC :: dynamiccompile/globals_types.d (241 of 332)
PASS: LDC :: dynamiccompile/asm_output.d (242 of 332)
PASS: LDC :: dynamiccompile/lambdas.d (243 of 332)
FAIL: LDC :: dynamiccompile/bind_bool.d (244 of 332)
******************** TEST 'LDC :: dynamiccompile/bind_bool.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_bool.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_bool.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind_bool-ee97a3 failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
FAIL: LDC :: dynamiccompile/compiler_context_parallel.d (245 of 332)
******************** TEST 'LDC :: dynamiccompile/compiler_context_parallel.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/compiler_context_parallel.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/compiler_context_parallel.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/compiler_context_parallel-b8540e failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/params_ctors.d (246 of 332)
PASS: LDC :: driver/ftime-trace.d (247 of 332)
PASS: LDC :: dynamiccompile/global_opt.d (248 of 332)
PASS: LDC :: dynamiccompile/recursive_call.d (249 of 332)
PASS: LDC :: fail_compilation/asm_diagnostics.d (250 of 332)
FAIL: LDC :: dynamiccompile/bind_nested_opt.d (251 of 332)
******************** TEST 'LDC :: dynamiccompile/bind_nested_opt.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_nested_opt.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_nested_opt.d"
# command output:
===========================================
source_filename = "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_nested_opt.d"
target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128"
target triple = "i686-pc-linux-gnu"
%"ldc.dynamic_compile.BindPtr!(int function()).BindPtr" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* }
%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase" = type { i32 ()*, void (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)*, i32 }
%"ldc.dynamic_compile.bind!(int function(int), int).bind.Context" = type { i32 (i32)* }
%"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context" = type { i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })* }
%"std.array.Appender!string.Appender.Data" = type { i32, { i32, i8* }, i8, [3 x i8] }
%std.utf.UTFException = type { [11 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32, i32, [4 x i32], i32 }
%object.Throwable.TraceInfo = type { [4 x i8*]* }
%object.Throwable = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32 }
%std.exception.ErrnoException = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32, i32 }
%object.Exception = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32 }
%ldc.dynamic_compile.DynamicCompilerContext = type { [0 x i8*]* }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore" = type { %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context", i32 }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", i32 (i32, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"*)*, %ldc.dynamic_compile.DynamicCompilerContext*, %"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore", i8, [3 x i8] }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore" = type { %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context", { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* } }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"*)*, %ldc.dynamic_compile.DynamicCompilerContext*, %"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore", i8, [3 x i8] }
@.str.16 = external dso_local unnamed_addr constant [87 x i8]
define x86_stdcallcc i32 @_D15bind_nested_opt3fooFDFZiQeZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1) #0 {
%3 = alloca { i8*, i32 (i8*)* }, align 4
%4 = alloca { i8*, i32 (i8*)* }, align 4
store { i8*, i32 (i8*)* } %1, { i8*, i32 (i8*)* }* %3, align 4
store { i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* }* %4, align 4
%5 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %3, i32 0, i32 1
%6 = load i32 (i8*)*, i32 (i8*)** %5, align 4
%7 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %3, i32 0, i32 0
%8 = load i8*, i8** %7, align 4
%9 = call x86_stdcallcc i32 %6(i8* inreg nonnull %8)
%10 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, i32 0, i32 1
%11 = load i32 (i8*)*, i32 (i8*)** %10, align 4
%12 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, i32 0, i32 0
%13 = load i8*, i8** %12, align 4
%14 = call x86_stdcallcc i32 %11(i8* inreg nonnull %13)
%15 = add i32 %9, %14
ret i32 %15
}
define x86_stdcallcc i32 @_D15bind_nested_opt3barFDFZiQeZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1) #0 {
%3 = alloca { i8*, i32 (i8*)* }, align 4
%4 = alloca { i8*, i32 (i8*)* }, align 4
store { i8*, i32 (i8*)* } %1, { i8*, i32 (i8*)* }* %3, align 4
store { i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* }* %4, align 4
%5 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %3, i32 0, i32 1
%6 = load i32 (i8*)*, i32 (i8*)** %5, align 4
%7 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %3, i32 0, i32 0
%8 = load i8*, i8** %7, align 4
%9 = call x86_stdcallcc i32 %6(i8* inreg nonnull %8)
%10 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, i32 0, i32 1
%11 = load i32 (i8*)*, i32 (i8*)** %10, align 4
%12 = getelementptr inbounds { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, i32 0, i32 0
%13 = load i8*, i8** %12, align 4
%14 = call x86_stdcallcc i32 %11(i8* inreg nonnull %13)
%15 = add i32 %9, %14
ret i32 %15
}
define x86_stdcallcc i32 @_D15bind_nested_opt6getValFiZi(i32 inreg %0) #0 {
%2 = alloca i32, align 4
store i32 %0, i32* %2, align 4
%3 = load i32, i32* %2, align 4
%4 = load i32, i32* %2, align 4
ret i32 %4
}
define weak_odr x86_stdcallcc i64 @_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* inreg nonnull %0) #0 {
%2 = alloca { i8*, i32 (i8*)* }, align 4
%3 = alloca i64, align 4
%4 = getelementptr inbounds %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr", %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* %0, i32 0, i32 0
%5 = load %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*, %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"** %4, align 4
%6 = icmp ne %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %5, null
br i1 %6, label %7, label %15
7: ; preds = %1
%8 = getelementptr inbounds %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr", %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* %0, i32 0, i32 0
%9 = load %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*, %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"** %8, align 4
%10 = call x86_stdcallcc i64 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %9) #2
%11 = bitcast { i8*, i32 (i8*)* }* %2 to i64*
store i64 %10, i64* %11, align 4
%12 = load { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %2, align 4
%13 = bitcast i64* %3 to { i8*, i32 (i8*)* }*
store { i8*, i32 (i8*)* } %12, { i8*, i32 (i8*)* }* %13, align 4
%14 = load i64, i64* %3, align 4
ret i64 %14
15: ; preds = %1
call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 357) #3
unreachable
}
; Function Attrs: cold noreturn
declare void @_d_assert({ i32, i8* } %0, i32 %1) #1
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7wrapperFSQCdQCc__TQBoTQBmTiZQByFQBwiZ7ContextiZi(i32 inreg %0, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"* byval(%"ldc.dynamic_compile.bind!(int function(int), int).bind.Context") align 4 %1) #0 {
%3 = alloca i32, align 4
store i32 %0, i32* %3, align 4
%4 = getelementptr inbounds %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context", %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"* %1, i32 0, i32 0
%5 = load i32 (i32)*, i32 (i32)** %4, align 4
%6 = load i32, i32* %3, align 4
%7 = call x86_stdcallcc i32 %5(i32 inreg %6)
ret i32 %7
}
define weak_odr x86_stdcallcc i64 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #0 {
%2 = alloca i64, align 4
%3 = bitcast %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0 to i8*
%4 = insertvalue { i8*, i32 (i8*)* } undef, i8* %3, 0
%5 = insertvalue { i8*, i32 (i8*)* } %4, i32 (i8*)* bitcast (i32 (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)* @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo to i32 (i8*)*), 1
%6 = bitcast i64* %2 to { i8*, i32 (i8*)* }*
store { i8*, i32 (i8*)* } %5, { i8*, i32 (i8*)* }* %6, align 4
%7 = load i64, i64* %2, align 4
ret i64 %7
}
define weak_odr x86_stdcallcc zeroext i1 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #0 {
%2 = getelementptr inbounds %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0, i32 0, i32 0
%3 = load i32 ()*, i32 ()** %2, align 4
%4 = icmp ne i32 ()* %3, null
ret i1 %4
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #0 {
%2 = call x86_stdcallcc zeroext i1 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #2
br i1 %2, label %3, label %7
3: ; preds = %1
%4 = getelementptr inbounds %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0, i32 0, i32 0
%5 = load i32 ()*, i32 ()** %4, align 4
%6 = call x86_stdcallcc i32 %5()
ret i32 %6
7: ; preds = %1
call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 505) #3
unreachable
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8registerMFZ11exampleFuncFNaNbNiNfZi() #0 {
br i1 false, label %1, label %2
1: ; preds = %0
ret i32 undef
2: ; preds = %0
call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 592) #3
unreachable
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7wrapperFSQCpQCo__TQCaTQByTQCaTQCeZQCqFQCoQCpQCsZ7ContextQDeQDhZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"* byval(%"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context") align 4 %2) #0 {
%4 = alloca { i8*, i32 (i8*)* }, align 4
%5 = alloca { i8*, i32 (i8*)* }, align 4
store { i8*, i32 (i8*)* } %1, { i8*, i32 (i8*)* }* %4, align 4
store { i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* }* %5, align 4
%6 = getelementptr inbounds %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context", %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"* %2, i32 0, i32 0
%7 = load i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })*, i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })** %6, align 4
%8 = load { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %4, align 4
%9 = load { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }* %5, align 4
%10 = call x86_stdcallcc i32 %7({ i8*, i32 (i8*)* } %9, { i8*, i32 (i8*)* } %8)
ret i32 %10
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8registerMFZ11exampleFuncFNaNbNiNfZi() #0 {
br i1 false, label %1, label %2
1: ; preds = %0
ret i32 undef
2: ; preds = %0
call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 592) #3
unreachable
}
attributes #0 = { "frame-pointer"="all" "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #1 = { cold noreturn "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #2 = { "frame-pointer"="all" "target-cpu"="pentium4" }
attributes #3 = { cold noreturn }
!llvm.ldc.typeinfo._D11TypeInfo_xk6__initZ = !{!0}
!llvm.ldc.typeinfo._D10TypeInfo_k6__initZ = !{!0}
!llvm.ldc.typeinfo._D12TypeInfo_xAa6__initZ = !{!1}
!llvm.ldc.typeinfo._D12TypeInfo_Axa6__initZ = !{!1}
!llvm.ldc.typeinfo._D11TypeInfo_xb6__initZ = !{!2}
!llvm.ldc.typeinfo._D10TypeInfo_b6__initZ = !{!2}
!llvm.ldc.typeinfo._D44TypeInfo_S3std5array__T8AppenderTAyaZQo4Data6__initZ = !{!3}
!llvm.ldc.typeinfo._D3std3utf12UTFException7__ClassZ = !{!4}
!llvm.ldc.classinfo._D3std3utf12UTFException7__ClassZ = !{!5}
!llvm.ldc.typeinfo._D3std9exception14ErrnoException7__ClassZ = !{!6}
!llvm.ldc.classinfo._D3std9exception14ErrnoException7__ClassZ = !{!7}
!llvm.ldc.typeinfo._D11TypeInfo_Aa6__initZ = !{!1}
!llvm.ldc.typeinfo._D9Exception7__ClassZ = !{!8}
!llvm.ldc.classinfo._D9Exception7__ClassZ = !{!9}
!llvm.ldc.typeinfo._D11TypeInfo_Ai6__initZ = !{!10}
!llvm.ldc.typeinfo._D6object9Throwable7__ClassZ = !{!11}
!llvm.ldc.classinfo._D6object9Throwable7__ClassZ = !{!12}
!llvm.ldc.typeinfo._D60TypeInfo_xS3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6__initZ = !{!13}
!llvm.ldc.typeinfo._D59TypeInfo_S3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6__initZ = !{!13}
!llvm.ldc.typeinfo._D69TypeInfo_xPFS3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7ContextiZi6__initZ = !{!14}
!llvm.ldc.typeinfo._D68TypeInfo_PFS3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7ContextiZi6__initZ = !{!14}
!llvm.ldc.typeinfo._D10TypeInfo_i6__initZ = !{!0}
!llvm.ldc.typeinfo._D56TypeInfo_xC3ldc15dynamic_compile22DynamicCompilerContext6__initZ = !{!15}
!llvm.ldc.typeinfo._D3ldc15dynamic_compile22DynamicCompilerContext7__ClassZ = !{!15}
!llvm.ldc.classinfo._D3ldc15dynamic_compile22DynamicCompilerContext7__ClassZ = !{!16}
!llvm.ldc.typeinfo._D126TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8ArgStore6__initZ = !{!17}
!llvm.ldc.typeinfo._D125TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8ArgStore6__initZ = !{!17}
!llvm.ldc.typeinfo._D117TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb6__initZ = !{!18}
!llvm.ldc.typeinfo._D116TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb6__initZ = !{!18}
!llvm.ldc.typeinfo._D86TypeInfo_xPFS3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZi6__initZ = !{!19}
!llvm.ldc.typeinfo._D85TypeInfo_PFS3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZi6__initZ = !{!19}
!llvm.ldc.typeinfo._D151TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8ArgStore6__initZ = !{!20}
!llvm.ldc.typeinfo._D150TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8ArgStore6__initZ = !{!20}
!llvm.ldc.typeinfo._D142TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa6__initZ = !{!21}
!llvm.ldc.typeinfo._D141TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa6__initZ = !{!21}
!0 = !{i32 undef}
!1 = !{{ i32, i8* } undef}
!2 = !{i1 undef}
!3 = !{%"std.array.Appender!string.Appender.Data" undef}
!4 = !{%std.utf.UTFException* undef}
!5 = !{%std.utf.UTFException undef, i1 false, i1 false}
!6 = !{%std.exception.ErrnoException* undef}
!7 = !{%std.exception.ErrnoException undef, i1 false, i1 false}
!8 = !{%object.Exception* undef}
!9 = !{%object.Exception undef, i1 false, i1 false}
!10 = !{{ i32, i32* } undef}
!11 = !{%object.Throwable* undef}
!12 = !{%object.Throwable undef, i1 true, i1 false}
!13 = !{%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase" undef}
!14 = !{i32 (i32, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"*)* undef}
!15 = !{%ldc.dynamic_compile.DynamicCompilerContext* undef}
!16 = !{%ldc.dynamic_compile.DynamicCompilerContext undef, i1 false, i1 false}
!17 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore" undef}
!18 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload" undef}
!19 = !{i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"*)* undef}
!20 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore" undef}
!21 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload" undef}
source_filename = "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_nested_opt.d"
target datalayout = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128"
target triple = "i686-pc-linux-gnu"
%"ldc.dynamic_compile.BindPtr!(int function()).BindPtr" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* }
%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase" = type { i32 ()*, void (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)*, i32 }
%"ldc.dynamic_compile.bind!(int function(int), int).bind.Context" = type { i32 (i32)* }
%"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context" = type { i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })* }
%"std.array.Appender!string.Appender.Data" = type { i32, { i32, i8* }, i8, [3 x i8] }
%std.utf.UTFException = type { [11 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32, i32, [4 x i32], i32 }
%object.Throwable.TraceInfo = type { [4 x i8*]* }
%object.Throwable = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32 }
%std.exception.ErrnoException = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32, i32 }
%object.Exception = type { [10 x i8*]*, i8*, { i32, i8* }, { i32, i8* }, i32, %object.Throwable.TraceInfo*, %object.Throwable*, i32 }
%ldc.dynamic_compile.DynamicCompilerContext = type { [0 x i8*]* }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore" = type { %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context", i32 }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", i32 (i32, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"*)*, %ldc.dynamic_compile.DynamicCompilerContext*, %"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore", i8, [3 x i8] }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore" = type { %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context", { i8*, i32 (i8*)* }, { i8*, i32 (i8*)* } }
%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload" = type { %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"*)*, %ldc.dynamic_compile.DynamicCompilerContext*, %"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore", i8, [3 x i8] }
@.str.16 = external dso_local unnamed_addr constant [87 x i8]
define x86_stdcallcc i32 @_D15bind_nested_opt3fooFDFZiQeZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1) local_unnamed_addr #0 {
%.fca.0.extract1 = extractvalue { i8*, i32 (i8*)* } %1, 0
%.fca.1.extract2 = extractvalue { i8*, i32 (i8*)* } %1, 1
%.fca.0.extract = extractvalue { i8*, i32 (i8*)* } %0, 0
%.fca.1.extract = extractvalue { i8*, i32 (i8*)* } %0, 1
%3 = tail call x86_stdcallcc i32 %.fca.1.extract2(i8* inreg nonnull %.fca.0.extract1)
%4 = tail call x86_stdcallcc i32 %.fca.1.extract(i8* inreg nonnull %.fca.0.extract)
%5 = add i32 %4, %3
ret i32 %5
}
define x86_stdcallcc i32 @_D15bind_nested_opt3barFDFZiQeZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1) local_unnamed_addr #0 {
%.fca.0.extract1 = extractvalue { i8*, i32 (i8*)* } %1, 0
%.fca.1.extract2 = extractvalue { i8*, i32 (i8*)* } %1, 1
%.fca.0.extract = extractvalue { i8*, i32 (i8*)* } %0, 0
%.fca.1.extract = extractvalue { i8*, i32 (i8*)* } %0, 1
%3 = tail call x86_stdcallcc i32 %.fca.1.extract2(i8* inreg nonnull %.fca.0.extract1)
%4 = tail call x86_stdcallcc i32 %.fca.1.extract(i8* inreg nonnull %.fca.0.extract)
%5 = add i32 %4, %3
ret i32 %5
}
; Function Attrs: norecurse nounwind readnone
define x86_stdcallcc i32 @_D15bind_nested_opt6getValFiZi(i32 inreg returned %0) local_unnamed_addr #1 {
ret i32 %0
}
define weak_odr x86_stdcallcc i64 @_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* inreg nonnull %0) local_unnamed_addr #0 {
%2 = getelementptr inbounds %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr", %"ldc.dynamic_compile.BindPtr!(int function()).BindPtr"* %0, i32 0, i32 0
%3 = load %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*, %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"** %2, align 4
%.not = icmp eq %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %3, null
br i1 %.not, label %6, label %4
4: ; preds = %1
%5 = ptrtoint %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %3 to i32
%.sroa.0.0.insert.ext.i = zext i32 %5 to i64
%.sroa.0.0.insert.insert.i = or i64 %.sroa.0.0.insert.ext.i, shl (i64 zext (i32 ptrtoint (i32 (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)* @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo to i32) to i64), i64 32)
ret i64 %.sroa.0.0.insert.insert.i
6: ; preds = %1
tail call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 357) #3
unreachable
}
; Function Attrs: cold noreturn
declare void @_d_assert({ i32, i8* } %0, i32 %1) local_unnamed_addr #2
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7wrapperFSQCdQCc__TQBoTQBmTiZQByFQBwiZ7ContextiZi(i32 inreg %0, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"* byval(%"ldc.dynamic_compile.bind!(int function(int), int).bind.Context") align 4 %1) local_unnamed_addr #0 {
%3 = getelementptr inbounds %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context", %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"* %1, i32 0, i32 0
%4 = load i32 (i32)*, i32 (i32)** %3, align 4
%5 = tail call x86_stdcallcc i32 %4(i32 inreg %0)
ret i32 %5
}
define weak_odr x86_stdcallcc i64 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) local_unnamed_addr #0 {
%2 = ptrtoint %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0 to i32
%.sroa.0.0.insert.ext = zext i32 %2 to i64
%.sroa.0.0.insert.insert = or i64 %.sroa.0.0.insert.ext, shl (i64 zext (i32 ptrtoint (i32 (%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"*)* @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo to i32) to i64), i64 32)
ret i64 %.sroa.0.0.insert.insert
}
define weak_odr x86_stdcallcc zeroext i1 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) local_unnamed_addr #0 {
%2 = getelementptr inbounds %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0, i32 0, i32 0
%3 = load i32 ()*, i32 ()** %2, align 4
%4 = icmp ne i32 ()* %3, null
ret i1 %4
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo(%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* inreg nonnull %0) #0 {
%2 = getelementptr inbounds %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase", %"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase"* %0, i32 0, i32 0
%3 = load i32 ()*, i32 ()** %2, align 4
%.not = icmp eq i32 ()* %3, null
br i1 %.not, label %6, label %4
4: ; preds = %1
%5 = tail call x86_stdcallcc i32 %3()
ret i32 %5
6: ; preds = %1
tail call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 505) #3
unreachable
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8registerMFZ11exampleFuncFNaNbNiNfZi() local_unnamed_addr #0 {
tail call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 592) #3
unreachable
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7wrapperFSQCpQCo__TQCaTQByTQCaTQCeZQCqFQCoQCpQCsZ7ContextQDeQDhZi({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"* byval(%"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context") align 4 %2) local_unnamed_addr #0 {
%4 = getelementptr inbounds %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context", %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"* %2, i32 0, i32 0
%5 = load i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })*, i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* })** %4, align 4
%6 = tail call x86_stdcallcc i32 %5({ i8*, i32 (i8*)* } %0, { i8*, i32 (i8*)* } %1)
ret i32 %6
}
define weak_odr x86_stdcallcc i32 @_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8registerMFZ11exampleFuncFNaNbNiNfZi() local_unnamed_addr #0 {
tail call void @_d_assert({ i32, i8* } { i32 86, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @.str.16, i32 0, i32 0) }, i32 592) #3
unreachable
}
attributes #0 = { "frame-pointer"="all" "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #1 = { norecurse nounwind readnone "frame-pointer"="all" "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #2 = { cold noreturn "target-cpu"="znver2" "target-features"="+sse2,-tsxldtrk,+cx16,+sahf,-tbm,-avx512ifma,+sha,-gfni,-fma4,-vpclmulqdq,+prfchw,+bmi2,-cldemote,+fsgsbase,-ptwrite,-amx-tile,-avx512bf16,+popcnt,+aes,-avx512bitalg,-movdiri,+xsaves,-avx512er,+xsavec,-avx512vnni,-amx-bf16,-avx512vpopcntdq,-pconfig,+clwb,-avx512f,+clzero,-pku,+mmx,-lwp,+rdpid,-xop,+rdseed,-waitpkg,-movdir64b,+sse4a,-avx512bw,+clflushopt,+xsave,-avx512vbmi2,+64bit,-avx512vl,-serialize,-invpcid,-avx512cd,+avx,-vaes,+cx8,+fma,-rtm,+bmi,-enqcmd,+rdrnd,+mwaitx,+sse4.1,+sse4.2,+avx2,+fxsr,+wbnoinvd,+sse,+lzcnt,+pclmul,-prefetchwt1,+f16c,+ssse3,-sgx,-shstk,+cmov,-avx512vbmi,-amx-int8,+movbe,-avx512vp2intersect,+xsaveopt,-avx512dq,+adx,-avx512pf,+sse3" }
attributes #3 = { cold noreturn }
!llvm.ldc.typeinfo._D11TypeInfo_xk6__initZ = !{!0}
!llvm.ldc.typeinfo._D10TypeInfo_k6__initZ = !{!0}
!llvm.ldc.typeinfo._D12TypeInfo_xAa6__initZ = !{!1}
!llvm.ldc.typeinfo._D12TypeInfo_Axa6__initZ = !{!1}
!llvm.ldc.typeinfo._D11TypeInfo_xb6__initZ = !{!2}
!llvm.ldc.typeinfo._D10TypeInfo_b6__initZ = !{!2}
!llvm.ldc.typeinfo._D44TypeInfo_S3std5array__T8AppenderTAyaZQo4Data6__initZ = !{!3}
!llvm.ldc.typeinfo._D3std3utf12UTFException7__ClassZ = !{!4}
!llvm.ldc.classinfo._D3std3utf12UTFException7__ClassZ = !{!5}
!llvm.ldc.typeinfo._D3std9exception14ErrnoException7__ClassZ = !{!6}
!llvm.ldc.classinfo._D3std9exception14ErrnoException7__ClassZ = !{!7}
!llvm.ldc.typeinfo._D11TypeInfo_Aa6__initZ = !{!1}
!llvm.ldc.typeinfo._D9Exception7__ClassZ = !{!8}
!llvm.ldc.classinfo._D9Exception7__ClassZ = !{!9}
!llvm.ldc.typeinfo._D11TypeInfo_Ai6__initZ = !{!10}
!llvm.ldc.typeinfo._D6object9Throwable7__ClassZ = !{!11}
!llvm.ldc.classinfo._D6object9Throwable7__ClassZ = !{!12}
!llvm.ldc.typeinfo._D60TypeInfo_xS3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6__initZ = !{!13}
!llvm.ldc.typeinfo._D59TypeInfo_S3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6__initZ = !{!13}
!llvm.ldc.typeinfo._D69TypeInfo_xPFS3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7ContextiZi6__initZ = !{!14}
!llvm.ldc.typeinfo._D68TypeInfo_PFS3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7ContextiZi6__initZ = !{!14}
!llvm.ldc.typeinfo._D10TypeInfo_i6__initZ = !{!0}
!llvm.ldc.typeinfo._D56TypeInfo_xC3ldc15dynamic_compile22DynamicCompilerContext6__initZ = !{!15}
!llvm.ldc.typeinfo._D3ldc15dynamic_compile22DynamicCompilerContext7__ClassZ = !{!15}
!llvm.ldc.classinfo._D3ldc15dynamic_compile22DynamicCompilerContext7__ClassZ = !{!16}
!llvm.ldc.typeinfo._D126TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8ArgStore6__initZ = !{!17}
!llvm.ldc.typeinfo._D125TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8ArgStore6__initZ = !{!17}
!llvm.ldc.typeinfo._D117TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb6__initZ = !{!18}
!llvm.ldc.typeinfo._D116TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb6__initZ = !{!18}
!llvm.ldc.typeinfo._D86TypeInfo_xPFS3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZi6__initZ = !{!19}
!llvm.ldc.typeinfo._D85TypeInfo_PFS3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZi6__initZ = !{!19}
!llvm.ldc.typeinfo._D151TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8ArgStore6__initZ = !{!20}
!llvm.ldc.typeinfo._D150TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8ArgStore6__initZ = !{!20}
!llvm.ldc.typeinfo._D142TypeInfo_xS3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa6__initZ = !{!21}
!llvm.ldc.typeinfo._D141TypeInfo_S3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa6__initZ = !{!21}
!0 = !{i32 undef}
!1 = !{{ i32, i8* } undef}
!2 = !{i1 undef}
!3 = !{%"std.array.Appender!string.Appender.Data" undef}
!4 = !{%std.utf.UTFException* undef}
!5 = !{%std.utf.UTFException undef, i1 false, i1 false}
!6 = !{%std.exception.ErrnoException* undef}
!7 = !{%std.exception.ErrnoException undef, i1 false, i1 false}
!8 = !{%object.Exception* undef}
!9 = !{%object.Exception undef, i1 false, i1 false}
!10 = !{{ i32, i32* } undef}
!11 = !{%object.Throwable* undef}
!12 = !{%object.Throwable undef, i1 true, i1 false}
!13 = !{%"ldc.dynamic_compile.BindPayloadBase!(int function()).BindPayloadBase" undef}
!14 = !{i32 (i32, %"ldc.dynamic_compile.bind!(int function(int), int).bind.Context"*)* undef}
!15 = !{%ldc.dynamic_compile.DynamicCompilerContext* undef}
!16 = !{%ldc.dynamic_compile.DynamicCompilerContext undef, i1 false, i1 false}
!17 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload.ArgStore" undef}
!18 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int) @system, int function(), [0, 1], Context, int).BindPayload" undef}
!19 = !{i32 ({ i8*, i32 (i8*)* }, { i8*, i32 (i8*)* }, %"ldc.dynamic_compile.bind!(int function(int delegate(), int delegate()), int delegate() @system, int delegate() @system).bind.Context"*)* undef}
!20 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload.ArgStore" undef}
!21 = !{%"ldc.dynamic_compile.BindPayload!(int function(Context, int delegate(), int delegate()) @system, int function(), [0, 1, 2], Context, int delegate(), int delegate()).BindPayload" undef}
.text
_D15bind_nested_opt3barFDFZiQeZi:
pushl %ebp
movl %esp, %ebp
pushl %edi
pushl %esi
movl 16(%ebp), %eax
movl 8(%ebp), %esi
calll *20(%ebp)
movl %eax, %edi
movl %esi, %eax
calll *12(%ebp)
addl %edi, %eax
popl %esi
popl %edi
popl %ebp
retl $16
nopl (%eax)
_D15bind_nested_opt3fooFDFZiQeZi:
pushl %ebp
movl %esp, %ebp
pushl %edi
pushl %esi
movl 16(%ebp), %eax
movl 8(%ebp), %esi
calll *20(%ebp)
movl %eax, %edi
movl %esi, %eax
calll *12(%ebp)
addl %edi, %eax
popl %esi
popl %edi
popl %ebp
retl $16
nopl (%eax)
_D15bind_nested_opt6getValFiZi:
pushl %ebp
movl %esp, %ebp
popl %ebp
retl
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7ContextQBhQBkZiTPQBqVAiA3i0i1i2TQCyTQCkTQCoZQEa8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.16
pushl $86
calll .L
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.16
pushl $86
calll .L0
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb:
pushl %ebp
movl %esp, %ebp
cmpl $0, (%eax)
setne %al
popl %ebp
retl
nopl (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
popl %ebp
retl
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L1
addl $8, %esp
popl %ebp
jmpl *%eax
.L1:
subl $4, %esp
pushl $505 # imm = 0x1F9
pushl $.str.16
pushl $86
calll .L2
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFDFZiQeZiTQjTQmZQxFQuQuQwZ7wrapperFSQCpQCo__TQCaTQByTQCaTQCeZQCqFQCoQCpQCsZ7ContextQDeQDhZi:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
vmovaps 8(%ebp), %xmm0
vmovups %xmm0, (%esp)
calll *24(%ebp)
addl $8, %esp
popl %ebp
retl $20
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFiZiTiZQoFQliZ7wrapperFSQCdQCc__TQBoTQBmTiZQByFQBwiZ7ContextiZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
calll *8(%ebp)
addl $8, %esp
popl %ebp
retl $4
_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L3
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
addl $8, %esp
popl %ebp
retl
.L3:
subl $4, %esp
pushl $357 # imm = 0x165
pushl $.str.16
pushl $86
calll .L4
nopw (%eax,%eax)
===========================================
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind_nested_opt-465feb failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
FAIL: LDC :: dynamiccompile/bind_func_opt.d (252 of 332)
******************** TEST 'LDC :: dynamiccompile/bind_func_opt.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_func_opt.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_func_opt.d"
# command output:
===========================================
.text
_D13bind_func_opt3barFDFZiQeQgZi:
pushl %ebp
movl %esp, %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $12, %esp
movl 24(%ebp), %eax
movl 8(%ebp), %esi
movl 16(%ebp), %edi
calll *28(%ebp)
movl %eax, %ebx
movl %edi, %eax
calll *20(%ebp)
movl %eax, %edi
movl %esi, %eax
addl %ebx, %edi
calll *12(%ebp)
addl %edi, %eax
addl $12, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl $24
nopw %cs:(%eax,%eax)
_D13bind_func_opt3fooFPFZiQeQgZi:
pushl %ebp
movl %esp, %ebp
pushl %ebx
pushl %edi
pushl %esi
subl $12, %esp
movl %eax, %esi
calll *12(%ebp)
movl %eax, %edi
calll *8(%ebp)
movl %eax, %ebx
addl %edi, %ebx
calll *%esi
addl %ebx, %eax
addl $12, %esp
popl %esi
popl %edi
popl %ebx
popl %ebp
retl $8
nopw %cs:(%eax,%eax)
_D13bind_func_opt4mainFAAyaZ8get1001dMFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
movl $1001, %eax # imm = 0x3E9
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt4mainFAAyaZ8get1002dMFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
movl $1002, %eax # imm = 0x3EA
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt4mainFAAyaZ8get1004dMFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
movl $1004, %eax # imm = 0x3EC
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt7get1001FZi:
pushl %ebp
movl %esp, %ebp
movl $1001, %eax # imm = 0x3E9
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt7get1002FZi:
pushl %ebp
movl %esp, %ebp
movl $1002, %eax # imm = 0x3EA
popl %ebp
retl
nopw (%eax,%eax)
_D13bind_func_opt7get1003FZi:
pushl %ebp
movl %esp, %ebp
movl $1003, %eax # imm = 0x3EB
popl %ebp
retl
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFDFZiQeQgZiTDFNaNbNiNfZiTQnTQqZQBmFQBkQBaQBdQBgZ7ContextQCdQCgQCjZiTPQCpVAiA4i0i1i2i3TQDzTQDlTQDpTQDtZQFf8registerMFZ11exampleFuncQEn:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.16
pushl $86
calll .L
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFPFZiQeQgZiTQlTQoTQrZQBcFQBaQBbQBeQBhZ7ContextQBtQBwQBzZiTQCfVAiA4i0i1i2i3TQDoTQDaTQDeTQDiZQEu8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.16
pushl $86
calll .L0
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb:
pushl %ebp
movl %esp, %ebp
cmpl $0, (%eax)
setne %al
popl %ebp
retl
nopl (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
popl %ebp
retl
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L1
addl $8, %esp
popl %ebp
jmpl *%eax
.L1:
subl $4, %esp
pushl $505 # imm = 0x1F9
pushl $.str.16
pushl $86
calll .L2
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFDFZiQeQgZiTDFNaNbNiNfZiTQnTQqZQBmFQBkQBaQBdQBgZ7wrapperFSQDlQDk__TQCwTQCuTQClTQCpTQCtZQDqFQDoQDeQDhQDkZ7ContextQEhQEkQEnZi:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 8(%ebp), %eax
movl 12(%ebp), %ecx
vmovups 16(%ebp), %xmm0
vmovups %xmm0, 8(%esp)
movl %ecx, 4(%esp)
movl %eax, (%esp)
calll *32(%ebp)
popl %ebp
retl $28
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFPFZiQeQgZiTQlTQoTQrZQBcFQBaQBbQBeQBhZ7wrapperFSQDbQDa__TQCmTQCkTQCmTQCqTQCuZQDgFQDeQDfQDiQDlZ7ContextQDxQEaQEdZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $8, %esp
pushl 12(%ebp)
pushl 8(%ebp)
calll *16(%ebp)
addl $16, %esp
popl %ebp
retl $12
nopl (%eax)
_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L3
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
addl $8, %esp
popl %ebp
retl
.L3:
subl $4, %esp
pushl $357 # imm = 0x165
pushl $.str.16
pushl $86
calll .L4
nopw (%eax,%eax)
===========================================
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind_func_opt-2644e7 failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/emit.d (253 of 332)
PASS: LDC :: fail_compilation/asm_gcc_indirect.d (254 of 332)
PASS: LDC :: fail_compilation/betterC_typeinfo_diag.d (255 of 332)
PASS: LDC :: fail_compilation/global_var_collision.d (256 of 332)
PASS: LDC :: fail_compilation/no_address_for_intrinsics.d (257 of 332)
PASS: LDC :: dynamiccompile/multiple_modules_rtconst.d (258 of 332)
PASS: LDC :: instrument/finstrument_functions.d (259 of 332)
PASS: LDC :: dynamiccompile/multiple_modules.d (260 of 332)
UNSUPPORTED: LDC :: linking/fulllto_1.d (261 of 332)
FAIL: LDC :: instrument/xray_check_pipeline.d (262 of 332)
******************** TEST 'LDC :: instrument/xray_check_pipeline.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -c -output-s -betterC -fxray-instrument -fxray-instruction-threshold=1 -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_check_pipeline.d.tmp.s /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_check_pipeline.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_check_pipeline.d < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_check_pipeline.d.tmp.s
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-c" "-output-s" "-betterC" "-fxray-instrument" "-fxray-instruction-threshold=1" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_check_pipeline.d.tmp.s" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_check_pipeline.d"
# command stderr:
error: An attempt to perform XRay instrumentation for an unsupported target.
error: command failed with exit status: 1
--
********************
FAIL: LDC :: dynamiccompile/bind_opt.d (263 of 332)
******************** TEST 'LDC :: dynamiccompile/bind_opt.d' FAILED ********************
Script:
--
: 'RUN: at line 1'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_opt.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 1"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind_opt.d"
# command output:
===========================================
.text
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTDFiZiTiZQoFQliZ7ContextiZiTPFZiVAiA2i0i1TQCfTiZQDb8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.18
pushl $86
calll .L
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFG4iZiTQgZQrFQoQoZ7ContextQzZiTPFZiVAiA2i0i1TQCkTQBwZQDi8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.18
pushl $86
calll .L0
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFS8bind_opt3BarZiTQrZQBcFQBaQBbZ7ContextQBnZiTPFZiVAiA2i0i1TQCzTQClZQDx8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.18
pushl $86
calll .L1
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T11BindPayloadTPFSQBpQBo__T4bindTPFiiiZiTiTiTiZQuFQriiiZ7ContextiiiZiTPFZiVAiA4i0i1i2i3TQCtTiTiTiZQDt8registerMFZ11exampleFuncFNaNbNiNfZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $4, %esp
pushl $592 # imm = 0x250
pushl $.str.18
pushl $86
calll .L2
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10isCallableMxFNaNbNiNfZb:
pushl %ebp
movl %esp, %ebp
cmpl $0, (%eax)
setne %al
popl %ebp
retl
nopl (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
popl %ebp
retl
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L3
addl $8, %esp
popl %ebp
jmpl *%eax
.L3:
subl $4, %esp
pushl $505 # imm = 0x1F9
pushl $.str.18
pushl $86
calll .L4
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTDFiZiTiZQoFQliZ7wrapperFSQCdQCc__TQBoTQBmTiZQByFQBwiZ7ContextiZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl 8(%ebp), %ecx
movl %eax, (%esp)
movl %ecx, %eax
calll *12(%ebp)
addl $4, %esp
popl %ebp
retl $8
nopl (%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFG4iZiTQgZQrFQoQoZ7wrapperFSQChQCg__TQBsTQBqTQBsZQCeFQCcQCdZ7ContextQCpZi:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
vmovaps 8(%ebp), %xmm0
vmovups %xmm0, (%esp)
calll *24(%ebp)
addl $8, %esp
popl %ebp
retl $20
nopw (%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFS8bind_opt3BarZiTQrZQBcFQBaQBbZ7wrapperFSQCvQCu__TQCgTQCeTQCgZQCsFQCqQCrZ7ContextQDdZi:
pushl %ebp
movl %esp, %ebp
subl $24, %esp
movl 16(%ebp), %eax
movl %eax, 8(%esp)
vmovsd 8(%ebp), %xmm0 # xmm0 = mem[0],zero
vmovsd %xmm0, (%esp)
calll *20(%ebp)
addl $12, %esp
popl %ebp
retl $16
nopw %cs:(%eax,%eax)
_D3ldc15dynamic_compile__T4bindTPFiiiZiTiTiTiZQuFQriiiZ7wrapperFSQClQCk__TQBwTQBuTiTiTiZQCkFQCiiiiZ7ContextiiiZi:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
subl $8, %esp
pushl 12(%ebp)
pushl 8(%ebp)
calll *16(%ebp)
addl $16, %esp
popl %ebp
retl $12
nopl (%eax)
_D3ldc15dynamic_compile__T7BindPtrTPFZiZQo10toDelegateMFNaNbNiNfZDQBe:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl (%eax), %eax
testl %eax, %eax
je .L5
movl $_D3ldc15dynamic_compile__T15BindPayloadBaseTPFZiZQx6opCallMQo, %edx
addl $8, %esp
popl %ebp
retl
.L5:
subl $4, %esp
pushl $357 # imm = 0x165
pushl $.str.18
pushl $86
calll .L6
nopw (%eax,%eax)
_D8bind_opt3Bar3getMFiZi:
pushl %ebp
movl %esp, %ebp
pushl %esi
movl 4(%eax), %ecx
imull $1000, 8(%ebp), %edx # imm = 0x3E8
imull $100, 8(%eax), %esi
addl (%eax), %edx
leal (%ecx,%ecx,4), %ecx
leal (%edx,%ecx,2), %eax
addl %esi, %eax
popl %esi
popl %ebp
retl $4
nopw %cs:(%eax,%eax)
_D8bind_opt3barFSQp3BarZi:
pushl %ebp
movl %esp, %ebp
movl 12(%ebp), %eax
leal (%eax,%eax,4), %ecx
imull $100, 16(%ebp), %eax
addl %ecx, %ecx
addl 8(%ebp), %ecx
addl %ecx, %eax
popl %ebp
retl $12
nopl (%eax,%eax)
_D8bind_opt3bazFG4iZi:
pushl %ebp
movl %esp, %ebp
movl 12(%ebp), %eax
imull $100, 16(%ebp), %ecx
leal (%eax,%eax,4), %eax
addl %eax, %eax
addl 8(%ebp), %eax
addl %eax, %ecx
imull $1000, 20(%ebp), %eax # imm = 0x3E8
addl %ecx, %eax
popl %ebp
retl $16
nopw %cs:(%eax,%eax)
_D8bind_opt3fooFiiiZi:
pushl %ebp
movl %esp, %ebp
imull $100, %eax, %eax
movl 8(%ebp), %ecx
addl 12(%ebp), %eax
leal (%ecx,%ecx,4), %ecx
leal (%eax,%ecx,2), %eax
popl %ebp
retl $8
nopw %cs:(%eax,%eax)
_D8bind_opt3zzzFiiiZi:
pushl %ebp
movl %esp, %ebp
imull $100, %eax, %eax
movl 8(%ebp), %ecx
addl 12(%ebp), %eax
leal (%ecx,%ecx,4), %ecx
leal (%eax,%ecx,2), %eax
popl %ebp
retl $8
nopw %cs:(%eax,%eax)
===========================================
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind_opt-5442dc failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: dynamiccompile/throw.d (264 of 332)
PASS: LDC :: instrument/xray_instrument.d (265 of 332)
PASS: LDC :: dynamiccompile/options_invalid.d (266 of 332)
PASS: LDC :: dynamiccompile/thread_local.d (267 of 332)
FAIL: LDC :: instrument/xray_link.d (268 of 332)
******************** TEST 'LDC :: instrument/xray_link.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fxray-instrument -fxray-instruction-threshold=1 -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.tmp /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d -vv | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fxray-instrument" "-fxray-instruction-threshold=1" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.tmp" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d" "-vv"
# command stderr:
error: An attempt to perform XRay instrumentation for an unsupported target.
error: command failed with exit status: 1
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d:18:11: error: CHECK: expected string not found in input
// CHECK: Linking with:
^
<stdin>:1:1: note: scanning from here
Targeting 'i686-pc-linux-gnu' (CPU 'pentium4' with features '')
^
<stdin>:2:2: note: possible intended match here
Building type: int
^
Input file: <stdin>
Check file: /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_link.d
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: Targeting 'i686-pc-linux-gnu' (CPU 'pentium4' with features '')
check:18'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
2: Building type: int
check:18'0 ~~~~~~~~~~~~~~~~~~
check:18'1 ? possible intended match
3: Building type: uint
check:18'0 ~~~~~~~~~~~~~~~~~~~
4: CodeGenerator::emit(xray_link)
check:18'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5: * resetting 3975 Dsymbols
check:18'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
6: * *** Initializing D runtime declarations ***
check:18'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7: * * building runtime module
check:18'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
>>>>>>
error: command failed with exit status: 1
--
********************
FAIL: LDC :: instrument/xray_simple_execution.d (269 of 332)
******************** TEST 'LDC :: instrument/xray_simple_execution.d' FAILED ********************
Script:
--
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fxray-instrument -fxray-instruction-threshold=1 /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_simple_execution.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_simple_execution.d.tmp
: 'RUN: at line 8'; env XRAY_OPTIONS="patch_premain=true xray_mode=xray-basic verbosity=1" /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_simple_execution.d.tmp 2>&1 | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_simple_execution.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 7"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fxray-instrument" "-fxray-instruction-threshold=1" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/instrument/xray_simple_execution.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_simple_execution.d.tmp"
# command stderr:
error: An attempt to perform XRay instrumentation for an unsupported target.
error: command failed with exit status: 1
--
********************
PASS: LDC :: codegen/inlining_invariants_gh1678.d (270 of 332)
UNSUPPORTED: LDC :: linking/link_internally.d (271 of 332)
PASS: LDC :: instrument/xray_instrument_threshold.d (272 of 332)
PASS: LDC :: dynamiccompile/struct_init.d (273 of 332)
PASS: LDC :: dynamiccompile/jit_module_stripping.d (274 of 332)
PASS: LDC :: instrument/coverage_cycle_gh2177.d (275 of 332)
PASS: LDC :: instrument/coverage_main_gh2163.d (276 of 332)
UNSUPPORTED: LDC :: linking/thinlto_1.d (277 of 332)
UNSUPPORTED: LDC :: linking/thinlto_asm_x86.d (278 of 332)
UNSUPPORTED: LDC :: linking/thinlto_modulecdtors.d (279 of 332)
UNSUPPORTED: LDC :: linking/thinlto_modulecdtors_2.d (280 of 332)
UNSUPPORTED: LDC :: sanitizers/asan_fiber.d (281 of 332)
UNSUPPORTED: LDC :: sanitizers/asan_fiber_main.d (282 of 332)
PASS: LDC :: linking/linker_switches.d (283 of 332)
PASS: LDC :: linking/linker_empty.d (284 of 332)
PASS: LDC :: dynamiccompile/options.d (285 of 332)
PASS: LDC :: linking/betterc_cleanups.d (286 of 332)
PASS: LDC :: linking/link_bitcode_libs.d (287 of 332)
PASS: LDC :: dynamiccompile/options_multiple_changes.d (288 of 332)
PASS: LDC :: linking/betterc.d (289 of 332)
PASS: LDC :: linking/fullystatic.d (290 of 332)
PASS: LDC :: linking/platformlib.d (291 of 332)
PASS: LDC :: linking/rt_options.d (292 of 332)
PASS: LDC :: sanitizers/fsanitize_blacklist_file1.d (293 of 332)
PASS: LDC :: sanitizers/fsanitize_blacklist_file2.d (294 of 332)
PASS: LDC :: sanitizers/fsanitize_error_diagnostic.d (295 of 332)
PASS: LDC :: dynamiccompile/tls_workaround_opt.d (296 of 332)
PASS: LDC :: dynamiccompile/library.d (297 of 332)
PASS: LDC :: sanitizers/fsanitize_thread.d (298 of 332)
PASS: LDC :: sanitizers/fsanitize_blacklist.d (299 of 332)
PASS: LDC :: sanitizers/asan_interface.d (300 of 332)
PASS: LDC :: sanitizers/asan_noerror.d (301 of 332)
PASS: LDC :: linking/ir2obj_caching.d (302 of 332)
PASS: LDC :: sanitizers/asan_stackoverflow.d (303 of 332)
PASS: LDC :: sanitizers/fsanitize_address.d (304 of 332)
PASS: LDC :: sanitizers/fsanitize_fuzzer.d (305 of 332)
FAIL: LDC :: sanitizers/tsan_tiny_race.d (306 of 332)
******************** TEST 'LDC :: sanitizers/tsan_tiny_race.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=thread /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race.d.tmp
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/deflake.bash 20 /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race.d.tmp | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=thread" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race.d.tmp"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race.d(39): Error: undefined identifier `__c_ulonglong`
error: command failed with exit status: 1
--
********************
FAIL: LDC :: sanitizers/tsan_noerror.d (307 of 332)
******************** TEST 'LDC :: sanitizers/tsan_noerror.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -fsanitize=thread /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_noerror.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_noerror.d.tmp
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_noerror.d.tmp
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-fsanitize=thread" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_noerror.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_noerror.d.tmp"
# command stderr:
clang-11: error: unsupported option '-fsanitize=thread' for target 'i686-pc-linux-gnu'
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: sanitizers/fsanitize_coverage.d (308 of 332)
PASS: LDC :: semantic/dcompute_asm.d (309 of 332)
FAIL: LDC :: sanitizers/tsan_tiny_race_TLS.d (310 of 332)
******************** TEST 'LDC :: sanitizers/tsan_tiny_race_TLS.d' FAILED ********************
Script:
--
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=thread /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race_TLS.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race_TLS.d.tmp
: 'RUN: at line 7'; /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/deflake.bash 20 /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race_TLS.d.tmp | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race_TLS.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 6"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=thread" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race_TLS.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/tsan_tiny_race_TLS.d.tmp"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/tsan_tiny_race_TLS.d(37): Error: undefined identifier `__c_ulonglong`
error: command failed with exit status: 1
--
********************
PASS: LDC :: linking/ir2obj_caching_flags2.d (311 of 332)
PASS: LDC :: semantic/dcompute.d (312 of 332)
PASS: LDC :: semantic/target_traits_dcompute.d (313 of 332)
FAIL: LDC :: sanitizers/msan_noerror.d (314 of 332)
******************** TEST 'LDC :: sanitizers/msan_noerror.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=memory /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_noerror.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.tmp
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.tmp
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=memory" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_noerror.d" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.tmp"
# command stderr:
ld: error: cannot open /gnu/store/1v1k5isdxf0vc5nykihxjpg2a462hv8f-clang-runtime-11.0.0/lib/linux/libclang_rt.msan-i386.a: No such file or directory
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_noerror.d:10: error: undefined reference to '__msan_retval_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:39: error: undefined reference to '__msan_param_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42: error: undefined reference to '__msan_retval_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42: error: undefined reference to '__msan_warning_with_origin_noreturn'
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.o:msan_noerror.d:function ldc.register_dso: error: undefined reference to '__msan_param_tls'
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_noerror.d.o:msan_noerror.d:function msan.module_ctor: error: undefined reference to '__msan_init'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: semantic/target_traits_diag.d (315 of 332)
FAIL: LDC :: sanitizers/msan_uninitialized.d (316 of 332)
******************** TEST 'LDC :: sanitizers/msan_uninitialized.d' FAILED ********************
Script:
--
: 'RUN: at line 5'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=memory -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d
: 'RUN: at line 6'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -g -fsanitize=memory -fsanitize-memory-track-origins=2 -d-version=BUG /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d -of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_uninitialized.d.tmp
: 'RUN: at line 7'; not /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/sanitizers/Output/msan_uninitialized.d.tmp 2>&1 | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 5"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-g" "-fsanitize=memory" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d"
# command stderr:
ld: error: cannot open /gnu/store/1v1k5isdxf0vc5nykihxjpg2a462hv8f-clang-runtime-11.0.0/lib/linux/libclang_rt.msan-i386.a: No such file or directory
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d:21: error: undefined reference to '__msan_warning_with_origin_noreturn'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d:21: error: undefined reference to '__msan_warning_with_origin_noreturn'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/sanitizers/msan_uninitialized.d:21: error: undefined reference to '__msan_retval_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:39: error: undefined reference to '__msan_param_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42: error: undefined reference to '__msan_retval_tls'
tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42: error: undefined reference to '__msan_warning_with_origin_noreturn'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-085651/msan_uninitialized.o:msan_uninitialized.d:function ldc.register_dso: error: undefined reference to '__msan_param_tls'
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-085651/msan_uninitialized.o:msan_uninitialized.d:function msan.module_ctor: error: undefined reference to '__msan_init'
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang failed with status: 1
error: command failed with exit status: 1
--
********************
PASS: LDC :: sanitizers/fuzz_basic.d (317 of 332)
PASS: LDC :: sanitizers/fuzz_mixin.d (318 of 332)
PASS: LDC :: sanitizers/asan_dynalloc.d (319 of 332)
PASS: LDC :: dynamiccompile/simple.d (320 of 332)
PASS: LDC :: semantic/traits_initSymbol.d (321 of 332)
PASS: LDC :: sanitizers/fuzz_asan.d (322 of 332)
FAIL: LDC :: dynamiccompile/bind.d (323 of 332)
******************** TEST 'LDC :: dynamiccompile/bind.d' FAILED ********************
Script:
--
: 'RUN: at line 2'; /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2 -enable-dynamic-compile -run /tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind.d
--
Exit Code: 1
Command Output (stdout):
--
$ ":" "RUN: at line 2"
$ "/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2" "-enable-dynamic-compile" "-run" "/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/tests/dynamiccompile/bind.d"
# command stderr:
Error: /tmp/guix-build-ldc-1.27.1.drv-0/bind-eb0a0c failed with status: -2
message: Segmentation fault
Error: program received signal 2 (Interrupt)
error: command failed with exit status: 1
--
********************
PASS: LDC :: semantic/target_traits.d (324 of 332)
PASS: LDC :: sanitizers/link_fuzzer.d (325 of 332)
PASS: LDC :: linking/ir2obj_caching_retrieval.d (326 of 332)
PASS: LDC :: linking/link_bitcode.d (327 of 332)
PASS: LDC :: linking/ir2obj_cache_pruning.d (328 of 332)
PASS: LDC :: codegen/static_array_huge.d (329 of 332)
PASS: LDC :: linking/ir2obj_caching_flags1.d (330 of 332)
PASS: LDC :: linking/ir2obj_cache_pruning2.d (331 of 332)
PASS: LDC :: tools/ldc_prune_cache_1.d (332 of 332)
********************
Failed Tests (18):
LDC :: PGO/profile_rt_calls.d
LDC :: codegen/mangling.d
LDC :: debuginfo/print_gdb.d
LDC :: dynamiccompile/bind.d
LDC :: dynamiccompile/bind_bool.d
LDC :: dynamiccompile/bind_func_opt.d
LDC :: dynamiccompile/bind_nested_opt.d
LDC :: dynamiccompile/bind_opt.d
LDC :: dynamiccompile/compiler_context.d
LDC :: dynamiccompile/compiler_context_parallel.d
LDC :: instrument/xray_check_pipeline.d
LDC :: instrument/xray_link.d
LDC :: instrument/xray_simple_execution.d
LDC :: sanitizers/msan_noerror.d
LDC :: sanitizers/msan_uninitialized.d
LDC :: sanitizers/tsan_noerror.d
LDC :: sanitizers/tsan_tiny_race.d
LDC :: sanitizers/tsan_tiny_race_TLS.d
Testing Time: 12.80s
Unsupported: 33
Passed : 281
Failed : 18
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 13.15 sec
The following tests FAILED:
910 - lit-tests (Failed)
lit-tests and dmd-testsuite are only CI-tested for 32-bit Windows, other 32-bit platforms aren't (but the library unittests are), so at least a subset of these failures is most likely legit and would probably need test adaptations. - ARM incl. AArch64 have never passed the full testsuite (AArch64 probably being in much better shape than 32-bit ARM, edit: the latter not being CI-tested at all).
OK, I'll paste the remaining failures I encounter here and then close this bug and open more focused ones. Here's another failure from the dmd-testsuite-debug for i686-linux:
===============
Test 'runnable_cxx/cppa.d' failed. The logged output:
/gnu/store/ba1nvycl5kp7rzp2yf5kg540s1cqwwh4-clang-11.0.0/bin/clang -m32 -c runnable_cxx/extra-files/cppb.cpp -o ../../../../build/dmd-testsuite-debug/runnable_cxx/cppb.cpp.o -std=c++11
/tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldmd2 -conf= -m32 -Irunnable_cxx -g -link-defaultlib-debug -L-lstdc++ -L--no-demangle -od../../../../build/dmd-testsuite-debug/runnable_cxx -of../../../../build/dmd-testsuite-debug/runnable_cxx/cppa_0 runnable_cxx/cppa.d ../../../../build/dmd-testsuite-debug/runnable_cxx/cppb.cpp.o
../../../../build/dmd-testsuite-debug/runnable_cxx/cppa_0
core.exception.AssertError@runnable_cxx/cppa.d(260): Assertion failure
----------------
??:? onAssertError [0xf775fb00]
??:? _d_assert [0xf7760280]
runnable_cxx/cppa.d:260 [0x804a775]
??:? [0x804eb3e]
runnable_cxx/cppa.d:265 [0x804a8cd]
runnable_cxx/cppa.d:1627 [0x804e1dd]
??:? void rt.dmain2._d_run_main2(char[][], uint, extern (C) int function(char[][])*).runAll().__lambda2() [0xf77b8b8b]
??:? void rt.dmain2._d_run_main2(char[][], uint, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0xf77b8945]
??:? void rt.dmain2._d_run_main2(char[][], uint, extern (C) int function(char[][])*).runAll() [0xf77b8a8c]
??:? void rt.dmain2._d_run_main2(char[][], uint, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0xf77b8945]
??:? _d_run_main2 [0xf77b8792]
??:? _d_run_main [0xf77b84ab]
/tmp/guix-build-ldc-1.27.1.drv-0/ldc-1.27.1-src/runtime/druntime/src/core/internal/entrypoint.d:42 [0x804e40e]
??:? __libc_start_main [0xf73a5935]
??:? [0x8049c70]
i = 1
j = 2
k = 3
i = 1
j = 2
k = 3
i = 1
j = 2
k = 3
this = 0xf7287000
i = 4
j = 5
k = 6
this = 0x805c390
D.bar: i = 9
D.bar: j = 10
D.bar: k = 11
F.bar: i = 11
F.bar: j = 12
F.bar: k = 13
==============================
Test 'runnable_cxx/cppa.d' failed: Expected rc == 0, but exited with rc == 1
Hello, just a heads up that I'm nearly done with the new package definition for Guix, but there's one last thing I want to do is to build it for armhf-linux, and currently facing some difficulty to do so (unrelated to ldc).
Hello! After updating to 1.28.0 I get:
... runnable/testaa.d -O -linkonce-templates ()
==============================
Test runnable/importc-test1.sh failed. The logged output:
... runnable/test16096.sh
Error: module `importc_test` is in file 'runnable/extra-files/importc_test.i' which cannot be read
import path[0] = ../../../../build/dmd-testsuite/runnable/importc-test1
import path[1] = /tmp/guix-build-ldc-1.28.0.drv-0/ldc-1.28.0-src/runtime/druntime/src
import path[2] = /tmp/guix-build-ldc-1.28.0.drv-0/build/runtime/import
import path[3] = /tmp/guix-build-ldc-1.28.0.drv-0/ldc-1.28.0-src/runtime/jit-rt/d
import path[4] = /tmp/guix-build-ldc-1.28.0.drv-0/ldc-1.28.0-src/runtime/phobos
==============================
Test runnable/importc-test1.sh failed. The xtrace output:
+ source runnable/importc-test1.sh
++ '[' linux == linux ']'
++ gcc -E runnable/extra-files/importc_test.c
++ /tmp/guix-build-ldc-1.28.0.drv-0/build/bin/ldmd2 -m64 -I../../../../build/dmd-testsuite/runnable/importc-test1 -of../../../../build/dmd-testsuite/runnable/importc-test1 runnable/extra-files/importc_main.d runnable/extra-files/importc_test.i
+ finish 1
+ set +x
... runnable/test4.d -O -linkonce-templates ()
... runnable/test17619.sh [DISABLED for LDC]
... runnable/test10378.d -O -linkonce-templates ()
... runnable/ldc_github_1101.d -O -linkonce-templates ()
... runnable/ldc_extern_weak.d -O -linkonce-templates ()
... runnable/test18141.sh
... runnable/test18076.sh
... runnable/test18412.sh
... runnable/test18902.sh
... runnable/test18335.sh
... runnable/test16980.d -O -linkonce-templates ()
... runnable/test18456.sh
... runnable/test21234.sh
... runnable/wc2.d -O -linkonce-templates ()
... runnable/opover.d -O -linkonce-templates ()
... runnable/test39.sh
... runnable/test35.sh
... runnable/foreach2.d -O -linkonce-templates ()
... runnable/a19.d -O -linkonce-templates ()
... runnable/testaa3.d -O -linkonce-templates ()
... runnable/opover3.d -O -linkonce-templates ()
... runnable/ice15176.d -O -linkonce-templates ()
... runnable/test49.d -O -linkonce-templates ()
... runnable/test9287.sh
... runnable/test_switches.sh
... runnable/linktypeinfo.d -O -linkonce-templates (-unittest -debug)
... runnable/testabi.d -O -linkonce-templates (-release)
>>> TARGET FAILED: runnable/importc-test1.sh
FAILED targets:
- runnable/importc-test1.sh
5/5 Test #909: dmd-testsuite-debug .............. Passed 69.52 sec
80% tests passed, 1 tests failed out of 5
Total Test time (real) = 71.74 sec
The following tests FAILED:
911 - dmd-testsuite (Failed)
Errors while running CTest
Any ideas what this may be caused by?
Hmm, looks as if the preprocessed file wasn't generated in https://github.com/ldc-developers/dmd-testsuite/blob/211d328d8e2f4e3de4c864be7ef0e88b488b4ada/runnable/importc-test1.sh#L4? It's probably not ideal that it's generated in the repo dir directly instead of somewhere under $OUTPUT_BASE
.
Hi,
I'm trying to update the ldc package on GNU Guix, but I'm encountering test suite errors like:
I'll work my way through the errors, but if you have any suspicion of what they may be caused by, your help would be welcome to speed things up :-).
The current updated package definition reads as:
Thank you!