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.
Branches: main 11.01
Fix bug180.
bug180's symptom was a crash in the code generator when compiling ssdb/ssdb.m
with inlining in a deep-profiling grade.
The pre-profiling simplify transformation can introduce new variables and did
not update the varset in the proc_info structure, but did add new entries to
the vartypes map. Then when the deep-profiling transformation executes it
allocates it's own new variables using an old varset, causing it to clobber
existing entries in the vartypes array. This means that variables created by
the simplification transformation that are referenced by goals are now
clobbered by the deep-profiler variables
tests/valid/bug180.m:
tests/valid/Mmakefile:
tests/valid/Mercury.options:
Add a regression test for bug180 to the test suite.
compiler/simplify.m:
Fix bug180 by always updating the proc_info's varset.
compiler/deep_profiling.m:
Use svmap.det_insert rather than svmap.set to detect these types of errors
earlier.
compiler/handle_options.m:
Add a new dump hlds alias to help debug variable-related problems.