ldc-developers / ldc

The LLVM-based D Compiler.
http://wiki.dlang.org/LDC
Other
1.21k stars 261 forks source link

Test suite errors (updating ldc package to 1.28.0 on GNU Guix) #3830

Open Apteryks opened 3 years ago

Apteryks commented 3 years ago

Hi,

I'm trying to update the ldc package on GNU Guix, but I'm encountering test suite errors like:

starting phase `check'
running the ldc2 unit tests...
Test project /tmp/guix-build-ldc-1.27.1.drv-0/build
    Start 1: build-ldc2-unittest
1/2 Test #1: build-ldc2-unittest ..............   Passed    0.03 sec
    Start 2: ldc2-unittest
2/2 Test #2: ldc2-unittest ....................   Passed    0.04 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =   0.11 sec
running the lit test suite...
Test project /tmp/guix-build-ldc-1.27.1.drv-0/build
    Start 1744: lit-tests
1/1 Test #1744: lit-tests ........................***Failed   11.41 sec
Lit version:  12.0.1
Warning: LDC runtime libs found in LD_LIBRARY_PATH:
/gnu/store/s78snaf8nfhmrk0axgmvl3pixlh963ig-ldc-bootstrap-0.17.6/lib/libdruntime-ldc-debug.a
/gnu/store/s78snaf8nfhmrk0axgmvl3pixlh963ig-ldc-bootstrap-0.17.6/lib/libdruntime-ldc.a
/gnu/store/s78snaf8nfhmrk0axgmvl3pixlh963ig-ldc-bootstrap-0.17.6/lib/libphobos2-ldc-debug.a
/gnu/store/s78snaf8nfhmrk0axgmvl3pixlh963ig-ldc-bootstrap-0.17.6/lib/libphobos2-ldc.a
-- Testing: 302 tests, 24 workers --
UNSUPPORTED: LDC :: PGO/thinlto_pgo.d (1 of 302)
PASS: LDC :: PGO/eh_gh1943.d (2 of 302)
UNSUPPORTED: LDC :: baremetal/wasm.d (3 of 302)
UNSUPPORTED: LDC :: baremetal/wasm2.d (4 of 302)
PASS: LDC :: PGO/const_cond.d (5 of 302)
PASS: LDC :: PGO/boundscheck.d (6 of 302)
PASS: LDC :: PGO/switch_disable.d (7 of 302)
PASS: LDC :: PGO/uninstrumented_main.d (8 of 302)
PASS: LDC :: baremetal/classes.d (9 of 302)
PASS: LDC :: PGO/withO.d (10 of 302)
FAIL: LDC :: PGO/reset_counters.d (11 of 302)
******************** 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/source/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/source/tests/PGO/reset_counters.d    &&  FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/reset_counters.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-496e1f/reset_counters.o:reset_counters.d:function _Dmain: error: undefined reference to '__llvm_profile_reset_counters'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
FAIL: LDC :: PGO/irbased_indirect_calls.d (12 of 302)
******************** 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/source/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/source/tests/PGO/irbased_indirect_calls.d    &&  FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/irbased_indirect_calls.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-dc2474/irbased_indirect_calls.o:irbased_indirect_calls.d:function _Dmain: error: undefined reference to '__llvm_profile_instrument_target'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
FAIL: LDC :: PGO/max_function_count.d (13 of 302)
******************** 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/source/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/source/tests/PGO/max_function_count.d    &&  FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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

--

********************
PASS: LDC :: PGO/pragma.d (14 of 302)
FAIL: LDC :: PGO/final_switch_release.d (15 of 302)
******************** 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/source/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/source/tests/PGO/final_switch_release.d    &&  FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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

--

********************
PASS: LDC :: codegen/array_equals_memcmp_2.d (16 of 302)
FAIL: LDC :: PGO/summary.d (17 of 302)
******************** 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/source/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/source/tests/PGO/summary.d    &&  FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/align.d (18 of 302)
FAIL: LDC :: PGO/unrolledloopstatement_gh3375.d (19 of 302)
******************** 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/source/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/source/tests/PGO/unrolledloopstatement_gh3375.d
: 'RUN: at line 8';   FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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

--

********************
PASS: LDC :: codegen/array_alloc_gh3041.d (20 of 302)
FAIL: LDC :: PGO/hash.d (21 of 302)
******************** 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/source/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/source/tests/PGO/hash.d    &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/hash.d    &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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

--

********************
FAIL: LDC :: PGO/hash_smallchange.d (22 of 302)
******************** 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/source/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/source/tests/PGO/hash_smallchange.d 2>&1 | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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

--

********************
PASS: LDC :: codegen/array_equals_memcmp_neverinvoke.d (23 of 302)
PASS: LDC :: codegen/array_catassign_gh2588.d (24 of 302)
FAIL: LDC :: PGO/indirect_calls.d (25 of 302)
******************** 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/source/tests/PGO/indirect_calls.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/indirect_calls.d    &&  FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/indirect_calls.d"
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/indirect_calls.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-0e5984/indirect_calls.o:indirect_calls.d:function _Dmain: error: undefined reference to '__llvm_profile_instrument_target'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
PASS: LDC :: codegen/asm_constraints.d (26 of 302)
PASS: LDC :: codegen/asm_gcc.d (27 of 302)
PASS: LDC :: codegen/asm_data_directives.d (28 of 302)
FAIL: LDC :: PGO/singleobj.d (29 of 302)
******************** 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/source/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/source/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/source/tests/PGO/inputs/singleobj_input.d /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/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_labels.d (30 of 302)
FAIL: LDC :: PGO/break.d (31 of 302)
******************** 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/source/tests/PGO/break.d     &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/break.d    &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/break.d"
$ "FileCheck" "-allow-deprecated-dag-overlap" "/tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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

--

********************
FAIL: LDC :: PGO/branching_switch.d (32 of 302)
******************** 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/source/tests/PGO/branching_switch.d     &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/branching_switch.d    &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/branching_switch.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/PGO/branching_switch.d(47): Deprecation: `case` variables have to be `const` or `immutable`
/tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/branching_switch.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/PGO/branching_switch.d(47): Deprecation: `case` variables have to be `const` or `immutable`
/tmp/guix-build-ldc-1.27.1.drv-0/source/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/asm_gcc_no_fp.d (33 of 302)
PASS: LDC :: codegen/atomicrmw.d (34 of 302)
FAIL: LDC :: PGO/profile_rt_calls.d (35 of 302)
******************** 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/source/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/source/tests/PGO/profile_rt_calls.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/objtmp-ldc-f04b2b/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-f04b2b/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-f04b2b/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-f04b2b/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-f04b2b/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-f04b2b/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-f04b2b/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-f04b2b/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-f04b2b/profile_rt_calls.o:profile_rt_calls.d:function _D16profile_rt_calls14check_countersFZv: error: undefined reference to '__llvm_profile_reset_counters'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
PASS: LDC :: codegen/attr_allocsize.d (36 of 302)
FAIL: LDC :: PGO/exceptions.d (37 of 302)
******************** 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/source/tests/PGO/exceptions.d && FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/exceptions.d    &&  FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/exceptions.d"
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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.d (38 of 302)
UNSUPPORTED: LDC :: codegen/attr_weak_lto.d (39 of 302)
PASS: LDC :: codegen/align_class.d (40 of 302)
PASS: LDC :: codegen/assign_struct_init_without_stack.d (41 of 302)
FAIL: LDC :: PGO/functions.d (42 of 302)
******************** 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/source/tests/PGO/functions.d     &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/functions.d    &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/functions.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/functions.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/source/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-4010e2/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-4010e2/functions.o:functions.d:function _Dmain: error: undefined reference to '__llvm_profile_instrument_target'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
PASS: LDC :: codegen/attr_assumeused.d (43 of 302)
PASS: LDC :: codegen/attr_param.d (44 of 302)
PASS: LDC :: codegen/asm_output.d (45 of 302)
PASS: LDC :: codegen/attr_fastmath_x86.d (46 of 302)
PASS: LDC :: codegen/attr_naked.d (47 of 302)
PASS: LDC :: codegen/attr_llvmattr.d (48 of 302)
PASS: LDC :: codegen/attr_optstrat.d (49 of 302)
PASS: LDC :: codegen/attr_weak_external.d (50 of 302)
PASS: LDC :: codegen/array_equals_null.d (51 of 302)
PASS: LDC :: codegen/attr_allocsize_diag.d (52 of 302)
PASS: LDC :: codegen/attributes.d (53 of 302)
PASS: LDC :: codegen/avr.d (54 of 302)
UNSUPPORTED: LDC :: codegen/dcompute_cl_addrspaces.d (55 of 302)
PASS: LDC :: codegen/checkaction_halt.d (56 of 302)
FAIL: LDC :: PGO/allstatementtypes.d (57 of 302)
******************** 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/source/tests/PGO/allstatementtypes.d     &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/allstatementtypes.d    &&  FileCheck -allow-deprecated-dag-overlap /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/PGO/allstatementtypes.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/PGO/allstatementtypes.d(185): Deprecation: switch case fallthrough - use 'goto case;' if intended
/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/PGO/allstatementtypes.d(220): Deprecation: switch case fallthrough - use 'goto default;' if intended
/tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/tests/PGO/allstatementtypes.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/PGO/allstatementtypes.d(185): Deprecation: switch case fallthrough - use 'goto case;' if intended
/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/PGO/allstatementtypes.d(220): Deprecation: switch case fallthrough - use 'goto default;' if intended
/tmp/guix-build-ldc-1.27.1.drv-0/source/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/betterC_typeinfo.d (58 of 302)
PASS: LDC :: codegen/array_literal_gh1924.d (59 of 302)
PASS: LDC :: codegen/attr_llvmFMF_contract.d (60 of 302)
PASS: LDC :: codegen/attr_llvmFMF.d (61 of 302)
PASS: LDC :: codegen/call_args_evalorder.d (62 of 302)
UNSUPPORTED: LDC :: codegen/export.d (63 of 302)
PASS: LDC :: codegen/const_cond.d (64 of 302)
PASS: LDC :: codegen/attr_targetoptions_fp.d (65 of 302)
PASS: LDC :: codegen/const_cond_labels.d (66 of 302)
PASS: LDC :: codegen/cmpxchg.d (67 of 302)
UNSUPPORTED: LDC :: codegen/export_marked_symbols_thin_lto.d (68 of 302)
UNSUPPORTED: LDC :: codegen/export_naked_gh2648.d (69 of 302)
PASS: LDC :: codegen/const_struct_export.d (70 of 302)
PASS: LDC :: codegen/cpp_interface.d (71 of 302)
PASS: LDC :: codegen/ctor_initarray_gh2883.d (72 of 302)
PASS: LDC :: codegen/array_equals_memcmp.d (73 of 302)
PASS: LDC :: codegen/dcompute_cu_addrspaces.d (74 of 302)
UNSUPPORTED: LDC :: codegen/fvisibility_dll.d (75 of 302)
PASS: LDC :: codegen/complex_postexpr_gh1806.d (76 of 302)
PASS: LDC :: codegen/complex_identity_gh2918.d (77 of 302)
PASS: LDC :: codegen/dcompute_host_and_device.d (78 of 302)
PASS: LDC :: codegen/dmd_inline_asm_ip.d (79 of 302)
PASS: LDC :: codegen/attr_weak.d (80 of 302)
PASS: LDC :: codegen/fence_pragma.d (81 of 302)
PASS: LDC :: codegen/export_crossModuleInlining.d (82 of 302)
PASS: LDC :: codegen/ffastmath.d (83 of 302)
PASS: LDC :: codegen/attr_target_x86.d (84 of 302)
PASS: LDC :: codegen/gh1843.d (85 of 302)
PASS: LDC :: codegen/array_equals_memcmp_dyn.d (86 of 302)
PASS: LDC :: codegen/exception_stack_trace.d (87 of 302)
PASS: LDC :: codegen/dmd_inline_asm_fp_types.d (88 of 302)
PASS: LDC :: codegen/gh2131.d (89 of 302)
PASS: LDC :: codegen/const_struct.d (90 of 302)
PASS: LDC :: codegen/gh1728.d (91 of 302)
PASS: LDC :: codegen/gh1433.d (92 of 302)
PASS: LDC :: codegen/gh2346.d (93 of 302)
PASS: LDC :: codegen/attr_targetoptions.d (94 of 302)
PASS: LDC :: codegen/discard_value_names_gh1749.d (95 of 302)
PASS: LDC :: codegen/gh2515.d (96 of 302)
PASS: LDC :: codegen/gh2865.d (97 of 302)
PASS: LDC :: codegen/export_marked_symbols1.d (98 of 302)
UNSUPPORTED: LDC :: codegen/inferred_outputname.d (99 of 302)
PASS: LDC :: codegen/discard_value_names_ir2obj_cache.d (100 of 302)
PASS: LDC :: codegen/gh2537.d (101 of 302)
PASS: LDC :: codegen/gh3221.d (102 of 302)
PASS: LDC :: codegen/gh2729.d (103 of 302)
PASS: LDC :: codegen/gc2stack.d (104 of 302)
PASS: LDC :: codegen/export_aggregate_symbols.d (105 of 302)
PASS: LDC :: codegen/func_contracts_gh1543.d (106 of 302)
PASS: LDC :: codegen/funcliteral_defaultarg_gh1634.d (107 of 302)
PASS: LDC :: codegen/gh3692.d (108 of 302)
PASS: LDC :: codegen/gh3094.d (109 of 302)
PASS: LDC :: codegen/in_place_construct.d (110 of 302)
PASS: LDC :: codegen/in_place_construct_asm.d (111 of 302)
PASS: LDC :: codegen/inbounds.d (112 of 302)
PASS: LDC :: codegen/gh2235.d (113 of 302)
PASS: LDC :: codegen/indirect_byval_rewrite.d (114 of 302)
PASS: LDC :: codegen/gh3553.d (115 of 302)
PASS: LDC :: codegen/inline_ir.d (116 of 302)
PASS: LDC :: codegen/gh3346.d (117 of 302)
PASS: LDC :: codegen/inline_ir_noparams.d (118 of 302)
PASS: LDC :: codegen/gh3208.d (119 of 302)
PASS: LDC :: codegen/inlining_imports.d (120 of 302)
PASS: LDC :: codegen/in_place_construct_temporaries.d (121 of 302)
PASS: LDC :: codegen/lambdas_gh3648.d (122 of 302)
PASS: LDC :: codegen/linker_directives_mac.d (123 of 302)
PASS: LDC :: codegen/linker_directives_linux.d (124 of 302)
PASS: LDC :: codegen/lambdas_gh3648b.d (125 of 302)
PASS: LDC :: codegen/frame_pointer_x86.d (126 of 302)
PASS: LDC :: codegen/export_marked_symbols2.d (127 of 302)
PASS: LDC :: codegen/linker_directives_win.d (128 of 302)
PASS: LDC :: codegen/inlining_disablecross.d (129 of 302)
PASS: LDC :: codegen/inlining_leakdefinitions_asm.d (130 of 302)
PASS: LDC :: codegen/inlineIR_math.d (131 of 302)
PASS: LDC :: codegen/inlining_imports_pragma.d (132 of 302)
PASS: LDC :: codegen/mangling_gh1519.d (133 of 302)
PASS: LDC :: codegen/hashed_mangling.d (134 of 302)
PASS: LDC :: codegen/inlining_pragma.d (135 of 302)
PASS: LDC :: codegen/noplt.d (136 of 302)
PASS: LDC :: codegen/no_init_symbols_for_zeroinit_structs.d (137 of 302)
PASS: LDC :: codegen/inlining_stdlib.d (138 of 302)
PASS: LDC :: codegen/nothrow.d (139 of 302)
PASS: LDC :: codegen/ptr_16_bit.d (140 of 302)
PASS: LDC :: codegen/nested_gh2960.d (141 of 302)
PASS: LDC :: codegen/pragma_no_typeinfo.d (142 of 302)
PASS: LDC :: codegen/no_abi_blit_for_nonpod.d (143 of 302)
PASS: LDC :: codegen/nested_gh3556.d (144 of 302)
PASS: LDC :: codegen/mangling.d (145 of 302)
PASS: LDC :: codegen/llvm_used_1.d (146 of 302)
PASS: LDC :: codegen/mangling_real_real.d (147 of 302)
PASS: LDC :: codegen/pragma_LDC_extern_weak.d (148 of 302)
PASS: LDC :: codegen/static_array_init.d (149 of 302)
PASS: LDC :: codegen/simd_alignment.d (150 of 302)
PASS: LDC :: codegen/nested_lazy_gh2302.d (151 of 302)
UNSUPPORTED: LDC :: codegen/wasi.d (152 of 302)
PASS: LDC :: codegen/return_statement.d (153 of 302)
PASS: LDC :: codegen/unknown_critical_section_size.d (154 of 302)
PASS: LDC :: codegen/inlining_gh3126.d (155 of 302)
PASS: LDC :: codegen/varargs.d (156 of 302)
PASS: LDC :: codegen/static_typeid_gh1540.d (157 of 302)
PASS: LDC :: codegen/rvo.d (158 of 302)
PASS: LDC :: codegen/output_s_affect_codegen.d (159 of 302)
PASS: LDC :: codegen/sret_thunk_gh3329.d (160 of 302)
PASS: LDC :: codegen/vastart_vaend_gh1744.d (161 of 302)
PASS: LDC :: codegen/variadic_thunk_gh2613.d (162 of 302)
PASS: LDC :: compilable/dcompute.d (163 of 302)
PASS: LDC :: compilable/arch64bit_abi32bit_gh3802.d (164 of 302)
PASS: LDC :: compilable/captured_nonpassed_params.d (165 of 302)
PASS: LDC :: compilable/gh1906.d (166 of 302)
PASS: LDC :: codegen/vector_init.d (167 of 302)
PASS: LDC :: compilable/gh1741.d (168 of 302)
PASS: LDC :: codegen/zerolengtharray_gh1611.d (169 of 302)
PASS: LDC :: codegen/switch_ICE_gh1638.d (170 of 302)
PASS: LDC :: codegen/simd_unaligned.d (171 of 302)
PASS: LDC :: codegen/vector_ops.d (172 of 302)
PASS: LDC :: codegen/vector_intrinsics_gh2962.d (173 of 302)
PASS: LDC :: compilable/gh2033.d (174 of 302)
PASS: LDC :: compilable/gh2415.d (175 of 302)
PASS: LDC :: compilable/gh2422.d (176 of 302)
PASS: LDC :: compilable/ctfe_math.d (177 of 302)
PASS: LDC :: compilable/gh2859.d (178 of 302)
PASS: LDC :: compilable/gh2849.d (179 of 302)
PASS: LDC :: codegen/inlining_staticvar.d (180 of 302)
UNSUPPORTED: LDC :: compilable/objc_gh2387.d (181 of 302)
UNSUPPORTED: LDC :: compilable/objc_gh2388.d (182 of 302)
UNSUPPORTED: LDC :: debuginfo/args_cdb.d (183 of 302)
UNSUPPORTED: LDC :: debuginfo/baseclass_cdb.d (184 of 302)
UNSUPPORTED: LDC :: debuginfo/basictypes_cdb.d (185 of 302)
PASS: LDC :: compilable/gh2471.d (186 of 302)
PASS: LDC :: compilable/gh2458.d (187 of 302)
UNSUPPORTED: LDC :: debuginfo/enums_cdb.d (188 of 302)
PASS: LDC :: compilable/gh2777.d (189 of 302)
PASS: LDC :: compilable/gh2808.d (190 of 302)
PASS: LDC :: codegen/cov_modes.d (191 of 302)
UNSUPPORTED: LDC :: debuginfo/msvc_dwarf.d (192 of 302)
UNSUPPORTED: LDC :: debuginfo/msvc_eh.d (193 of 302)
UNSUPPORTED: LDC :: debuginfo/msvc_no_colinfo.d (194 of 302)
UNSUPPORTED: LDC :: debuginfo/nested_cdb.d (195 of 302)
PASS: LDC :: codegen/vector_abi_x86.d (196 of 302)
PASS: LDC :: compilable/gh2988.d (197 of 302)
UNSUPPORTED: LDC :: debuginfo/scopes_cdb.d (198 of 302)
PASS: LDC :: codegen/union.d (199 of 302)
UNSUPPORTED: LDC :: debuginfo/strings_cdb.d (200 of 302)
UNSUPPORTED: LDC :: debuginfo/vector_cdb.d (201 of 302)
PASS: LDC :: codegen/inlining_leakdefinitions.d (202 of 302)
PASS: LDC :: compilable/gh2996.d (203 of 302)
PASS: LDC :: compilable/gh3194.d (204 of 302)
PASS: LDC :: compilable/gh3250.d (205 of 302)
PASS: LDC :: compilable/gh3243.d (206 of 302)
PASS: LDC :: compilable/gh2932.d (207 of 302)
PASS: LDC :: compilable/gh3324.d (208 of 302)
PASS: LDC :: compilable/gh3501.d (209 of 302)
PASS: LDC :: compilable/gh3496.d (210 of 302)
PASS: LDC :: compilable/gh3162.d (211 of 302)
PASS: LDC :: debuginfo/gline_tables_only.d (212 of 302)
UNSUPPORTED: LDC :: driver/mscrtlib.d (213 of 302)
PASS: LDC :: codegen/inlining_templates.d (214 of 302)
PASS: LDC :: debuginfo/gline_tables_only2.d (215 of 302)
PASS: LDC :: driver/config_diag_x86.d (216 of 302)
PASS: LDC :: debuginfo/srcname.d (217 of 302)
PASS: LDC :: debuginfo/gline_tables_only3.d (218 of 302)
PASS: LDC :: driver/cleanup_obj_gh3643.d (219 of 302)
PASS: LDC :: debuginfo/enum_of_functions.d (220 of 302)
PASS: LDC :: compilable/gh1933.d (221 of 302)
PASS: LDC :: driver/gh1941.d (222 of 302)
PASS: LDC :: driver/drt_options_in_rsp_file.d (223 of 302)
PASS: LDC :: driver/config_diag.d (224 of 302)
PASS: LDC :: fail_compilation/betterC_typeinfo_diag.d (225 of 302)
PASS: LDC :: fail_compilation/global_var_collision.d (226 of 302)
PASS: LDC :: fail_compilation/asm_gcc_indirect.d (227 of 302)
PASS: LDC :: fail_compilation/asm_diagnostics.d (228 of 302)
PASS: LDC :: fail_compilation/no_address_for_intrinsics.d (229 of 302)
PASS: LDC :: driver/gh1945.d (230 of 302)
UNSUPPORTED: LDC :: linking/fulllto_1.d (231 of 302)
PASS: LDC :: instrument/finstrument_functions.d (232 of 302)
PASS: LDC :: instrument/xray_check_pipeline.d (233 of 302)
PASS: LDC :: driver/include_imports.d (234 of 302)
PASS: LDC :: instrument/xray_instrument.d (235 of 302)
PASS: LDC :: compilable/no-integrated-as.d (236 of 302)
PASS: LDC :: driver/gh2073.d (237 of 302)
PASS: LDC :: instrument/coverage_cycle_gh2177.d (238 of 302)
FAIL: LDC :: debuginfo/nested_gdb.d (239 of 302)
******************** TEST 'LDC :: debuginfo/nested_gdb.d' FAILED ********************
Script:
--
: 'RUN: at line 2';   /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/nested_gdb.d.tmp /tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/nested_gdb.d
: 'RUN: at line 3';   sed -e "/^\\/\\/ GDB:/!d" -e "s,// GDB:,," /tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/nested_gdb.d >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp.gdb
: 'RUN: at line 4';   gdb /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp --batch -x /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp.gdb >/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp.out 2>&1
: 'RUN: at line 5';   FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/nested_gdb.d -check-prefix=CHECK < /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_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" "-g" "-of=/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp" "/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/nested_gdb.d"
$ ":" "RUN: at line 3"
$ "sed" "-e" "/^\/\/ GDB:/!d" "-e" "s,// GDB:,," "/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/nested_gdb.d"
$ ":" "RUN: at line 4"
$ "gdb" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp" "--batch" "-x" "/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp.gdb"
# redirected output from '/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp.out':
gdb: warning: Couldn't determine a path for the index cache directory.
Breakpoint 1 at 0x402ac8: file tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/nested_gdb.d, line 58.
warning: Cannot exec /bin/sh
warning:  -c
warning:  exec /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp 
warning: Error: No such file or directory
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/nested_gdb.d.tmp.gdb:2: Error in sourced command file:
During startup program exited with code 127.

note: command had no output on stdout or stderr
error: command failed with exit status: 1

--

********************
FAIL: LDC :: debuginfo/classtypes_gdb.d (240 of 302)
******************** 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/source/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/source/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/source/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/source/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/source/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 0x402bde: file tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/classtypes_gdb.d, line 41.
warning: Cannot exec /bin/sh
warning:  -c
warning:  exec /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp 
warning: Error: No such file or directory
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/classtypes_gdb.d.tmp.gdb:2: Error in sourced command file:
During startup program exited with code 127.

note: command had no output on stdout or stderr
error: command failed with exit status: 1

--

********************
UNSUPPORTED: LDC :: linking/link_internally.d (241 of 302)
PASS: LDC :: instrument/xray_instrument_threshold.d (242 of 302)
PASS: LDC :: driver/save_optimization_record.d (243 of 302)
FAIL: LDC :: debuginfo/print_gdb.d (244 of 302)
******************** 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/source/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/source/tests/debuginfo/print_gdb.d /tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/inputs/import_a.d /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/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/source/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/source/tests/debuginfo/print_gdb.d" "/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/inputs/import_a.d" "/tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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 0x402b48: file tmp/guix-build-ldc-1.27.1.drv-0/source/tests/debuginfo/print_gdb.d, line 58.
warning: Cannot exec /bin/sh
warning:  -c
warning:  exec /tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp 
warning: Error: No such file or directory
/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/debuginfo/Output/print_gdb.d.tmp.gdb:2: Error in sourced command file:
During startup program exited with code 127.

note: command had no output on stdout or stderr
error: command failed with exit status: 1

--

********************
PASS: LDC :: instrument/coverage_main_gh2163.d (245 of 302)
UNSUPPORTED: LDC :: linking/thinlto_1.d (246 of 302)
UNSUPPORTED: LDC :: linking/thinlto_asm_x86.d (247 of 302)
UNSUPPORTED: LDC :: linking/thinlto_modulecdtors.d (248 of 302)
UNSUPPORTED: LDC :: linking/thinlto_modulecdtors_2.d (249 of 302)
PASS: LDC :: driver/float_abi.d (250 of 302)
UNSUPPORTED: LDC :: sanitizers/asan_fiber.d (251 of 302)
UNSUPPORTED: LDC :: sanitizers/asan_fiber_main.d (252 of 302)
PASS: LDC :: driver/cli_preparsing.d (253 of 302)
FAIL: LDC :: instrument/xray_link.d (254 of 302)
******************** 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/source/tests/instrument/xray_link.d -vv | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/tests/instrument/xray_link.d" "-vv"
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/instrument/xray_link.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/instrument/xray_link.d:19:16: error: CHECK-NEXT: expected string not found in input
// CHECK-NEXT: rt.xray
               ^
<stdin>:208:1: note: scanning from here
'/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.o' '-o' '/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.tmp' '-fuse-ld=gold' '-L/tmp/guix-build-ldc-1.27.1.drv-0/build/lib' '-lphobos2-ldc' '-ldruntime-ldc' '-Wl,--gc-sections' '-lrt' '-ldl' '-lpthread' '-lm' '-m64' 
^
<stdin>:208:62: note: possible intended match here
'/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.o' '-o' '/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.tmp' '-fuse-ld=gold' '-L/tmp/guix-build-ldc-1.27.1.drv-0/build/lib' '-lphobos2-ldc' '-ldruntime-ldc' '-Wl,--gc-sections' '-lrt' '-ldl' '-lpthread' '-lm' '-m64' 
                                                             ^

Input file: <stdin>
Check file: /tmp/guix-build-ldc-1.27.1.drv-0/source/tests/instrument/xray_link.d

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           .
           .
           .
         203: Searching runtime library: /gnu/store/rmc131fpy2hv408a1awd2wm7kiwyf7d7-llvm-12.0.0/lib/libclang_rt.xray-x86_64.a
         204: Searching runtime library: /tmp/guix-build-ldc-1.27.1.drv-0/build/lib/clang/12.0.0/lib/linux/libclang_rt.xray-x86_64.a
         205: Searching runtime library: /tmp/guix-build-ldc-1.27.1.drv-0/build/lib/clang/12.0.0/lib/linux/libclang_rt.xray-x86_64.a
         206: Searching runtime library: /gnu/store/rmc131fpy2hv408a1awd2wm7kiwyf7d7-llvm-12.0.0/lib/clang/12.0.0/lib/linux/libclang_rt.xray-x86_64.a
         207: Linking with: 
         208: '/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.o' '-o' '/tmp/guix-build-ldc-1.27.1.drv-0/build/tests/instrument/Output/xray_link.d.tmp' '-fuse-ld=gold' '-L/tmp/guix-build-ldc-1.27.1.drv-0/build/lib' '-lphobos2-ldc' '-ldruntime-ldc' '-Wl,--gc-sections' '-lrt' '-ldl' '-lpthread' '-lm' '-m64' 
next:19'0     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
next:19'1                                                                  ?                                                                                                                                                                                                                                                                   possible intended match
>>>>>>

error: command failed with exit status: 1

--

********************
PASS: LDC :: linking/betterc_cleanups.d (255 of 302)
FAIL: LDC :: instrument/xray_simple_execution.d (256 of 302)
******************** 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/source/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/source/tests/instrument/xray_simple_execution.d
--
Exit Code: 2

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/source/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"
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/instrument/xray_simple_execution.d"
# command stderr:
FileCheck error: '<stdin>' is empty.
FileCheck command line:  FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/tests/instrument/xray_simple_execution.d

error: command failed with exit status: 2

--

********************
PASS: LDC :: driver/post_switches.d (257 of 302)
PASS: LDC :: linking/linker_empty.d (258 of 302)
PASS: LDC :: linking/linker_switches.d (259 of 302)
PASS: LDC :: linking/betterc.d (260 of 302)
PASS: LDC :: linking/fullystatic.d (261 of 302)
PASS: LDC :: linking/rt_options.d (262 of 302)
PASS: LDC :: sanitizers/fsanitize_blacklist_file1.d (263 of 302)
PASS: LDC :: linking/platformlib.d (264 of 302)
PASS: LDC :: sanitizers/fsanitize_error_diagnostic.d (265 of 302)
PASS: LDC :: sanitizers/fsanitize_blacklist_file2.d (266 of 302)
PASS: LDC :: linking/link_bitcode_libs.d (267 of 302)
PASS: LDC :: sanitizers/asan_noerror.d (268 of 302)
PASS: LDC :: sanitizers/asan_interface.d (269 of 302)
PASS: LDC :: sanitizers/fsanitize_blacklist.d (270 of 302)
PASS: LDC :: sanitizers/asan_stackoverflow.d (271 of 302)
PASS: LDC :: sanitizers/fsanitize_thread.d (272 of 302)
PASS: LDC :: linking/ir2obj_caching.d (273 of 302)
FAIL: LDC :: sanitizers/msan_noerror.d (274 of 302)
******************** 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/source/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/source/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:
gcc: error: unrecognized argument to '-fsanitize=' option: 'memory'
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
FAIL: LDC :: sanitizers/msan_uninitialized.d (275 of 302)
******************** 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/source/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/source/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/source/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/source/tests/sanitizers/msan_uninitialized.d"
# command stderr:
gcc: error: unrecognized argument to '-fsanitize=' option: 'memory'
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
FAIL: LDC :: sanitizers/fuzz_basic.d (276 of 302)
******************** 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/source/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/source/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/source/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/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/crt1.o:function _start: error: undefined reference to 'main'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_basic.d:12: error: undefined reference to '__sanitizer_cov_trace_const_cmp8'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_basic.d:12: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_basic.d:12: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_basic.d:12: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/source/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'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
FAIL: LDC :: sanitizers/fuzz_asan.d (277 of 302)
******************** 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/source/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/source/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/source/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/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/crt1.o:function _start: error: undefined reference to 'main'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
PASS: LDC :: driver/ftime-trace.d (278 of 302)
PASS: LDC :: sanitizers/fsanitize_fuzzer.d (279 of 302)
PASS: LDC :: sanitizers/asan_dynalloc.d (280 of 302)
FAIL: LDC :: sanitizers/link_fuzzer.d (281 of 302)
******************** 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/source/tests/sanitizers/link_fuzzer.d | FileCheck /tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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/source/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/source/tests/sanitizers/link_fuzzer.d"
# command stderr:
/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-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'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1
$ "FileCheck" "/tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/link_fuzzer.d"
# command stderr:
/tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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 12.0.0)
check:8'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           3: config /tmp/guix-build-ldc-1.27.1.drv-0/build/bin/ldc2.conf (x86_64-unknown-linux-gnu)
check:8'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           4: predefs LDC all D_Version2 assert D_ModuleInfo D_Exceptions D_TypeInfo X86_64 D_InlineAsm_X86_64 D_HardFloat LittleEndian D_LP64 D_PIC linux Posix CRuntime_Glibc CppRuntime_Gcc LDC_CoverageSanitizer LDC_LLVM_1200
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/source/runtime/druntime/src/object.d)
check:8'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           8: import core.internal.vararg.sysv_x64 (/tmp/guix-build-ldc-1.27.1.drv-0/source/runtime/druntime/src/core/internal/vararg/sysv_x64.d)
check:8'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           9: import core.stdc.stdarg (/tmp/guix-build-ldc-1.27.1.drv-0/source/runtime/druntime/src/core/stdc/stdarg.d)
check:8'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          10: import core.attribute (/tmp/guix-build-ldc-1.27.1.drv-0/source/runtime/druntime/src/core/attribute.d)
check:8'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           .
           .
           .
>>>>>>

error: command failed with exit status: 1

--

********************
PASS: LDC :: codegen/static_array_huge.d (282 of 302)
PASS: LDC :: sanitizers/fsanitize_address.d (283 of 302)
FAIL: LDC :: sanitizers/fuzz_mixin.d (284 of 302)
******************** 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/source/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/source/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/source/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/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/crt1.o:function _start: error: undefined reference to 'main'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp8'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp8'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp8'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp8'
tmp/guix-build-ldc-1.27.1.drv-0/source/tests/sanitizers/fuzz_mixin.d:11: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/source/runtime/druntime/src/ldc/libfuzzer.di:55: error: undefined reference to '__sanitizer_cov_trace_const_cmp4'
tmp/guix-build-ldc-1.27.1.drv-0/source/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/source/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'
collect2: error: ld returned 1 exit status
Error: /gnu/store/86dzs9ncfbwhqaj0j0xhavcfa1gvycgn-gcc-11.2.0/bin/gcc failed with status: 1

error: command failed with exit status: 1

--

********************
PASS: LDC :: semantic/dcompute_asm.d (285 of 302)
PASS: LDC :: semantic/dcompute.d (286 of 302)
PASS: LDC :: sanitizers/tsan_noerror.d (287 of 302)
PASS: LDC :: sanitizers/fsanitize_coverage.d (288 of 302)
PASS: LDC :: semantic/target_traits_dcompute.d (289 of 302)
PASS: LDC :: semantic/target_traits_diag.d (290 of 302)
PASS: LDC :: sanitizers/tsan_tiny_race.d (291 of 302)
PASS: LDC :: sanitizers/tsan_tiny_race_TLS.d (292 of 302)
PASS: LDC :: semantic/traits_initSymbol.d (293 of 302)
PASS: LDC :: codegen/inlining_invariants_gh1678.d (294 of 302)
PASS: LDC :: linking/ir2obj_caching_flags2.d (295 of 302)
PASS: LDC :: semantic/target_traits.d (296 of 302)
PASS: LDC :: linking/ir2obj_caching_retrieval.d (297 of 302)
PASS: LDC :: linking/ir2obj_cache_pruning.d (298 of 302)
PASS: LDC :: linking/link_bitcode.d (299 of 302)
PASS: LDC :: linking/ir2obj_caching_flags1.d (300 of 302)
PASS: LDC :: linking/ir2obj_cache_pruning2.d (301 of 302)
PASS: LDC :: tools/ldc_prune_cache_1.d (302 of 302)
********************
Failed Tests (27):
  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
  LDC :: sanitizers/msan_noerror.d
  LDC :: sanitizers/msan_uninitialized.d

Testing Time: 11.23s
  Unsupported:  33
  Passed     : 242
  Failed     :  27

0% tests passed, 1 tests failed out of 1

Total Test time (real) =  11.44 sec

The following tests FAILED:
        1744 - lit-tests (Failed)
Errors while running CTest
command "ctest" "--output-on-failure" "-j" "24" "-R" "lit-tests" failed with status 8

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:

(define-public ldc
  ;; Phobos, druntime and dmd-testsuite library dependencies do
  ;; not always have a newer release than the compiler, hence we
  ;; retain this variable.
  (let ((older-version "1.27.1"))
    (package
      (inherit ldc-bootstrap)
      (name "ldc")
      (version "1.27.1")
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/ldc-developers/ldc")
               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
          (base32 "098i4bw7xgcv7h2fzj0h1pjywq753z51waq8m9cl26dg8r9alpf6"))))
      (arguments
       (substitute-keyword-arguments (package-arguments ldc-bootstrap)
         ((#:build-type _ #f) "Release")
         ((#:make-flags _ #f)
          '(list "all"
                 ;; Also build the test runner binaries.
                 "ldc2-unittest" "all-test-runners"))
         ((#:configure-flags _ #f)
          `(list "-GNinja"
                 "-DBUILD_LTO_LIBS=ON")) ;used by tests
         ((#:tests? _) #t)
         ((#:phases phases)
          `(modify-phases ,phases
             (add-before 'build 'set-ld-library-path
               (lambda _
                 ;; Some built binaries such as gen_gccbuiltins need to run at
                 ;; build time, but they don't have runpath information to
                 ;; find the libraries they were linked to.
                 (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH"))))
             (replace 'patch-phobos
               (lambda* (#:key inputs #:allow-other-keys)
                 (substitute* '("runtime/phobos/std/process.d"
                                "tests/linking/linker_switches.d")
                   (("/bin/sh") (which "sh"))
                   (("echo") (which "echo")))
                 (substitute* "tests/d2/dmd-testsuite/Makefile"
                   (("/bin/bash") (which "bash")))
                 ;; Disable unittests in the following files.
                 (substitute* '("runtime/phobos/std/net/curl.d"
                                "runtime/phobos/std/datetime/systime.d"
                                "runtime/phobos/std/datetime/timezone.d")
                   (("version(unittest)") "version(skipunittest)")
                   ((" unittest") " version(skipunittest) unittest"))
                 ;; For the following tests ptrace fails with EPERM
                 ;; (see <https://issues.guix.gnu.org/48541>):
                 (delete-file "tests/d2/dmd-testsuite/runnable/b18504.d")
                 (delete-file "tests/d2/dmd-testsuite/runnable/gdb14225.d")
                 (delete-file "tests/d2/dmd-testsuite/runnable/gdb14276.d")
                 (delete-file "tests/d2/dmd-testsuite/runnable/gdb14313.d")
                 (delete-file "tests/d2/dmd-testsuite/runnable/gdb14330.d")
                 (delete-file "tests/d2/dmd-testsuite/runnable/gdb1.d")
                 (delete-file "tests/d2/dmd-testsuite/runnable/gdb4149.d")
                 (delete-file "tests/d2/dmd-testsuite/runnable/gdb4181.d")
                 (delete-file "tests/d2/dmd-testsuite/runnable/gdb15729.sh")
                 ;; The following tests plugins we don't have.
                 (delete-file "tests/plugins/addFuncEntryCall/testPlugin.d")
                 ;; the following tests requires AVX instruction set in the CPU.
                 (substitute* "tests/d2/dmd-testsuite/runnable/cdvecfill.sh"
                   (("^// DISABLED: ") "^// DISABLED: linux64 "))))
             (add-before 'check 'set-shell-and-cc-variables
               (lambda* (#:key inputs #:allow-other-keys)
                 ;; Some tests call into the GDB binary which needs SHELL and
                 ;; CC set.
                 (setenv "SHELL" (which "sh"))
                 (setenv "CC" (string-append (assoc-ref inputs "gcc")
                                             "/bin/gcc"))))
             (replace 'build
               ;; Building with Make would result in "make: *** [Makefile:166:
               ;; all] Error 2".
               (lambda* (#:key make-flags parallel-tests? #:allow-other-keys)
                 (let ((job-count (number->string (or (and parallel-tests?
                                                           (parallel-job-count))
                                                      1))))
                   (apply invoke "cmake" "--build" "." "-j" job-count
                          "--target" make-flags))))
             (replace 'check
               (lambda* (#:key parallel-tests? #:allow-other-keys)
                 (let ((job-count (number->string (or (and parallel-tests?
                                                           (parallel-job-count))
                                                      1))))
                   ;; The test targets are tested separately to provide
                   ;; finer-grained diagnostics (see:
                   ;; https://raw.githubusercontent.com/ldc-developers/
                   ;; ldc/master/.azure-pipelines/3-posix-test.yml)
                   (display "running the ldc2 unit tests...\n")
                   (invoke "ctest" "--output-on-failure" "-j" job-count
                           "-R" "ldc2-unittest")
                   (display "running the lit test suite...\n")
                   (invoke "ctest" "--output-on-failure" "-j" job-count
                           "-R" "lit-tests")
                   (display "running the dmd test suite...\n")
                   (invoke "ctest" "--output-on-failure" "-j" job-count
                           "-R" "dmd-testsuite")
                   (display "running the defaultlib unit tests and druntime \
integration tests...\n")
                   (invoke "ctest" "--output-on-failure" "-j" job-count
                           "-E" "dmd-testsuite|lit-tests|ldc2-unittest"))))
             (replace 'install
               (lambda _
                 (invoke "cmake" "--install")))))))
      (native-inputs
       `(("binutils-gold" ,binutils-gold)
         ("gcc" ,gcc-11)
         ("llvm" ,llvm-12)
         ("clang" ,clang-12)
         ("ldc" ,ldc-bootstrap)
         ("ninja" ,ninja)
         ("python-lit" ,python-lit)
         ("python-wrapper" ,python-wrapper)
         ("unzip" ,unzip)
         ("gdb" ,gdb)
         ("phobos-src"
          ,(origin
             (method git-fetch)
             (uri (git-reference
                   (url "https://github.com/ldc-developers/phobos")
                   (commit (string-append "ldc-v" older-version))))
             (file-name (git-file-name "phobos" older-version))
             (sha256
              (base32 "08hnkwf2fcsy34jfq88wddf1dv2yi5rxn5n1j4clw3kr067nhxk2"))
             ;; This patch deactivates some tests that depend on network
             ;; access to pass.  It also deactivates some tests that have some
             ;; reliance on timezone.
             (patches (search-patches "ldc-disable-phobos-tests.patch"))))
         ("druntime-src"
          ,(origin
             (method git-fetch)
             (uri (git-reference
                   (url "https://github.com/ldc-developers/druntime")
                   (commit (string-append "ldc-v" older-version))))
             (file-name (git-file-name "druntime" older-version))
             (sha256
              (base32 "1zvx2l61h7qf5i3i81c03h0zkj9wvxiiq1rcrg6nl5a1wsiimjmp"))))
         ("dmd-testsuite-src"
          ,(origin
             (method git-fetch)
             (uri (git-reference
                   (url "https://github.com/ldc-developers/dmd-testsuite")
                   (commit (string-append "ldc-v" older-version))))
             (file-name (git-file-name "dmd-testsuite" older-version))
             (sha256
              (base32 "02fbhpk9cmlf2kkj9d9bkbfn1165ax1zgg13wzk18zhf046g6qpg")))))))))

Thank you!

kinke commented 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.

Apteryks commented 3 years ago

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.

kinke commented 3 years ago

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.

Apteryks commented 3 years ago

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).

kinke commented 3 years ago

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

Apteryks commented 3 years ago

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!

Apteryks commented 3 years ago

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

JohanEngelen commented 3 years ago

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)

Apteryks commented 3 years ago

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.

Apteryks commented 3 years ago

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!

kinke commented 3 years ago

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.

Apteryks commented 3 years ago

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

--

********************
kinke commented 3 years ago

Yep, gdb 10 came with D-related regressions unfortunately, prior versions worked fine. :/

Apteryks commented 3 years ago

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). 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 .

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.

Apteryks commented 3 years ago

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@",
    ];
    [...]
kinke commented 3 years ago

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.]

Apteryks commented 3 years ago

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.

Apteryks commented 3 years ago

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.

Apteryks commented 3 years ago

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)
kinke commented 3 years ago

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).

Apteryks commented 3 years ago

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
Apteryks commented 3 years ago

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).

Apteryks commented 2 years ago

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?

kinke commented 2 years ago

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.