mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-19 19:33:46 +00:00
Estimated hours taken: 35 Branches: main and 0.12 Fix another bug when retrying across calls which have an I/O state in one of their polymorphic arguments. The problem was that I was assuming MR_trace_find_input_arg would never find the value of an I/O state argument, however sometimes it does (the value is junk since io.state values are never used, but MR_trace_find_input_arg reports that it has found a value anyway). The fix is to check if each argument is an io.state before looking up the value of the argument. tests/debugger/Mercury.options: tests/debugger/Mmakefile: tests/debugger/poly_io_retry2.exp: tests/debugger/poly_io_retry2.inp: tests/debugger/poly_io_retry2.m: Add a regression test. Previously the two printed test1 atoms produced different output. tools/lmc.in: Allow the compiler to be run under valgrind. This didn't prove very useful in this case, but I decided to leave the change in in case it might be useful in the future. trace/mercury_trace.c: Fix the bug described above.
23 lines
127 B
Plaintext
23 lines
127 B
Plaintext
register --quiet
|
|
context none
|
|
echo on
|
|
table_io allow
|
|
table_io start
|
|
break test1
|
|
c
|
|
f
|
|
c
|
|
f
|
|
c
|
|
f
|
|
p
|
|
retry 3 -a
|
|
c
|
|
f
|
|
c
|
|
f
|
|
c
|
|
f
|
|
p
|
|
quit -y
|