Estimated hours taken: 1
Branches: main
Fix bugs in the handling of nested sub-modules with --smart-recompilation.
compiler/recompilation_check.m:
If an error occurs before the nested sub-modules of the top-level
module are known, recompile all of the nested sub-modules.
If there is a syntax error in a `.used' file, recompile all
sub-modules. This makes the above change simpler, and is probably
a good idea anyway -- all outputs from a compilation which produces
output files containing syntax errors are suspect.
compiler/mercury_compile.m:
When working out the list of sub-modules of the main module
in a source file, use all the sub-modules, not just the ones
that are being recompiled.
tests/recompilation/Mmakefile:
tests/recompilation/TESTS:
tests/recompilation/nested_module_2_r*:
Test case.