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.
support tabling.
(The Makefiles in tests directory should prevent this, but in at least one
grade on neptune this isn't currently happening and it's rendering that
machine unusable - I'll fix the Makefile issue separately.)
tests/tabling/*.m:
Add require_feature_set pragmas to all the tabling tests to ensure
they aren't accidently run in grades that don't support tabling.
Branches: main
The bodies of table reset and statistics procedures generated by the
compiler were being written to `.opt' files. However, those procedures
need access to C variables which are local to their defining modules.
compiler/add_pragma.m:
Set the `may_not_duplicate' attribute on table reset and
statistics procedures.
compiler/intermod.m:
Don't write foreign procedures to `.opt' files if they have the
`may_not_duplicate' attribute.
tests/tabling/Mercury.options:
tests/tabling/Mmakefile:
tests/tabling/reset_stats_intermod.exp:
tests/tabling/reset_stats_intermod.m:
tests/tabling/reset_stats_intermod_2.m:
Add test case.