mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 17:33:38 +00:00
compiler/module_imports.m:
The module_and_imports structure used to have a field, mf_nested_children,
which stored a set of module names, but which had confusing semantics:
it had two different meanings in two different circumstances.
Replace that field with a value of a new type, maybe_top_module, which
has two separate function symbols for those two circumstances:
when a module is the top module in its source file, and when it is not.
compiler/mercury_compile_main.m:
Conform to the change above.
Put related arguments next to each other.
compiler/grab_modules.m:
compiler/make.dependencies.m:
compiler/make.module_dep_file.m:
compiler/make.module_target.m:
compiler/recompilation.check.m:
compiler/write_deps_file.m:
Conform to the change above.
tests/recompilation/test_functions:
Impose a limit of 10 minutes of CPU time on each process. This should
help catch infinite loops, such as happened during the development
of this diff.
Fix indentation, and clarify some comments.
tests/recompilation/README:
Fix stray blank line.
24 lines
913 B
Plaintext
24 lines
913 B
Plaintext
This directory contains tests for the `--smart-recompilation' option.
|
|
The output with `--verbose-recompilation' is checked to make sure
|
|
that recompilation occurs when expected.
|
|
|
|
Most of the tests consist of two modules, a main module and a module
|
|
imported from the main module. The `.1' or `.2' after
|
|
the file name is a version number.
|
|
The tests are run as follows:
|
|
Compile the program using the `.1' versions of each module.
|
|
Check the expected output.
|
|
Update the imported module to version `.2'.
|
|
Check the expected output.
|
|
Check that the `.err' files contain the correct
|
|
`--verbose-recompilation' messages.
|
|
|
|
Tests with names ending in `_nr' result in no recompilation
|
|
of the main module after the change to the imported module.
|
|
|
|
Tests with names ending in `_r' should recompile the main module.
|
|
|
|
Tests with names ending in `_re' should recompile the main module,
|
|
reporting an error in the recompilation.
|
|
|