Files
mercury/tests/debugger/poly_io_retry2.inp
Ian MacLarty 0efa89ba6c Fix another bug when retrying across calls which have an I/O state in one of
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.
2005-08-15 08:52:50 +00:00

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