tests/invalid/*.{m,err_exp}:
tests/misc_tests/*.m:
tests/mmc_make/*.m:
tests/par_conj/*.m:
tests/purity/*.m:
tests/stm/*.m:
tests/string_format/*.m:
tests/structure_reuse/*.m:
tests/submodules/*.m:
tests/tabling/*.m:
tests/term/*.m:
tests/trailing/*.m:
tests/typeclasses/*.m:
tests/valid/*.m:
tests/warnings/*.{m,exp}:
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 tests
that check compiler error messages, expect the new line numbers.
browser/cterm.m:
browser/tree234_cc.m:
Import only one module per line.
tests/hard_coded/boyer.m:
Fix something I missed.
Estimated hours taken: 1
Branches: main
Fix a bug reported by Samrith, which is that some of the files in
benchmarks/progs/icfp2000, e.g. eval.m, got a compiler abort when compiled
with -O0 --optimize-repeat=0 --optimize-saved-vars. This was because
--optimize-saved-vars relied on jump optimization being done, but
--optimize-repeat=0 disables jump optimization.
compiler/handle_options.m:
Make --optimize-repeat at least one if some other optimization
requires the optimizations controlled by --optimize-repeat.
compiler/optimize.m:
compiler/use_local_vars.m:
Rename some predicates to make their unqualified names more meaningful.
Delete unnecessary module qualifications. Switch to using . instead of
__ as module qualifier.
compiler/mercury_compile.m:
Conform to the change to optimize.m.
compiler/modules.m:
Rename a predicate to avoid a confusing overloading.
compiler/compile_target_code.m:
Conform to the change to modules.m.
tests/valid/eval.m:
New test case to check the fix.
tests/valid/Mmakefile:
Enable the new test case.