tests/accumulator/*.m:
tests/analysis_*/*.m:
tests/benchmarks*/*.m:
tests/debugger*/*.{m,exp,inp}:
tests/declarative_debugger*/*.{m,exp,inp}:
tests/dppd*/*.m:
tests/exceptions*/*.m:
tests/general*/*.m:
tests/grade_subdirs*/*.m:
tests/hard_coded*/*.m:
Make these tests use four-space indentation, and ensure that
each module is imported on its own line. (I intend to use the latter
to figure out which subdirectories' tests can be executed in parallel.)
These changes usually move code to different lines. For the debugger tests,
specify the new line numbers in .inp files and expect them in .exp files.
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.