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: 4
Branches: main
Fix a problem exposed by the exists_cast transformation.
compiler/saved_vars.m:
Don't duplicate variables holding type_infos if type_info liveness
is set. Doing so could leave the rtti_varmaps in an inconsistent
state, since there may no longer be a unique location which holds
the type_info for a given type. This can cause an exception to be
thrown by liveness.m, for example, when compiling version_store.m
in a debug grade with --optimize-saved-vars-const set.
library/Mercury.options:
Undo the workaround for this bug.
tests/valid/Mercury.options:
tests/valid/Mmakefile:
tests/valid/exists_cast_bug.m:
A test case. This is compiled with deep tracing and
--optimize-saved-vars-const even if version_store is not.
tests/valid/aditi_calls_mercury.m:
Modify this test case so that the Aditi predicate no longer uses
polymorphism. Without this, we get the error "the code uses
polymorphism or type-classes which are not supported by Aditi".