mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 01:13:30 +00:00
When enabled, the compiler emits a warning for modules that contain
both include_module declarations, and other constructs. In other words,
it warns about modules that include submodules but are not "packages".
compiler/make_hlds_passes.m:
Implement the new option.
compiler/options.m:
Add the new option.
NEWS.md:
Announce the new option.
compiler/option_categories.m:
Add a new subcategory for the new option.
compiler/print_help.m:
Print the new option in the new category.
tests/warnings/help_text.err_exp:
Expect the documentation of the new option.
browser/Mercury.options:
compiler/Mercury.options:
library/Mercury.options:
mdbcomp/Mercury.options:
Add commented-out-for-now lines that disable the new option
for modules that include submodules but are intentionally
not packages. The three reasons for the latter are
- that the only thing in the module other than include_module
declarations is a predicate to print a version id, so a package
wouldn't improve things (browser, mdb, library/library.m),
- that changing the module into a package is not worthwhile
because the module is obsolete (compiler), and
- that changing the module into a package would cause significant
disruption for our users (the other modules in the library).