[m-rev.] diff: modules.m error message
Zoltan Somogyi
zs at cs.mu.OZ.AU
Thu Oct 27 12:21:33 AEST 2005
compiler/handle_options.m:
Convert an error message to use error_util.
tests/invalid/duplicate_module_test.err_exp
tests/invalid/nested_impl_in_int.err_exp:
Update the expected output for these tests.
Zoltan.
cvs diff: Diffing .
cvs diff: Diffing analysis
cvs diff: Diffing bindist
cvs diff: Diffing boehm_gc
cvs diff: Diffing boehm_gc/Mac_files
cvs diff: Diffing boehm_gc/cord
cvs diff: Diffing boehm_gc/cord/private
cvs diff: Diffing boehm_gc/doc
cvs diff: Diffing boehm_gc/include
cvs diff: Diffing boehm_gc/include/private
cvs diff: Diffing boehm_gc/tests
cvs diff: Diffing browser
cvs diff: Diffing bytecode
cvs diff: Diffing compiler
Index: compiler/modules.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/modules.m,v
retrieving revision 1.352
diff -u -b -r1.352 modules.m
--- compiler/modules.m 25 Oct 2005 06:33:00 -0000 1.352
+++ compiler/modules.m 26 Oct 2005 06:30:35 -0000
@@ -3974,10 +3974,10 @@
io::di, io::uo) is det.
generate_dependencies(ModuleName, DepsMap0, !IO) :-
- % first, build up a map of the dependencies.
+ % First, build up a map of the dependencies.
generate_deps_map([ModuleName], DepsMap0, DepsMap, !IO),
%
- % check whether we could read the main `.m' file
+ % Check whether we could read the main `.m' file.
%
map__lookup(DepsMap, ModuleName, deps(_, ModuleImports)),
module_imports_get_error(ModuleImports, Error),
@@ -3994,8 +3994,8 @@
DepsMap, !IO),
%
- % compute the interface deps relation and
- % the implementation deps relation from the deps map
+ % Compute the interface deps relation and the implementation deps
+ % relation from the deps map.
%
relation__init(IntDepsRel0),
relation__init(ImplDepsRel0),
@@ -4004,10 +4004,10 @@
IntDepsRel0, IntDepsRel, ImplDepsRel0, ImplDepsRel),
%
- % compute the trans-opt deps ordering, by doing an
- % approximate topological sort of the implementation deps,
- % and then finding the subset of those for which of those
- % we have (or can make) trans-opt files.
+ % Compute the trans-opt deps ordering, by doing an approximate
+ % topological sort of the implementation deps, and then finding
+ % the subset of those for which of those we have (or can make)
+ % trans-opt files.
%
relation__atsort(ImplDepsRel, ImplDepsOrdering0),
maybe_output_module_order(ModuleName, ImplDepsOrdering0, !IO),
@@ -4023,12 +4023,11 @@
% write_list(ImplDepsAL, "\n", print, !IO), nl(!IO),
%
- % compute the indirect dependencies: they are equal to the
- % composition of the implementation dependencies
- % with the transitive closure of the implementation
- % dependencies. (We used to take the transitive closure
- % of the interface dependencies, but we now include
- % implementation details in the interface files).
+ % Compute the indirect dependencies: they are equal to the composition
+ % of the implementation dependencies with the transitive closure of the
+ % implementation dependencies. (We used to take the transitive closure
+ % of the interface dependencies, but we now include implementation
+ % details in the interface files).
%
relation__tc(ImplDepsRel, TransImplDepsRel),
relation__compose(ImplDepsRel, TransImplDepsRel, IndirectDepsRel),
@@ -4068,6 +4067,7 @@
% % Output the various relations into a file which can be
% % processed by the dot package to draw the relations.
+% %
% :- pred write_relations(string::in, relation(sym_name)::in,
% relation(sym_name)::in, relation(sym_name)::in,
% relation(sym_name)::in, relation(sym_name)::in, io::di, io::uo) is det.
@@ -4168,7 +4168,7 @@
% These are all computed from the DepsMap.
% TransOptOrder gives the ordering that is used to determine
% which other modules the .trans_opt files may depend on.
-
+ %
:- pred generate_dependencies_write_d_files(list(deps)::in,
deps_rel::in, deps_rel::in, deps_rel::in, deps_rel::in,
list(module_name)::in, deps_map::in, io::di, io::uo) is det.
@@ -4192,10 +4192,9 @@
!IO),
(
Intermod = yes,
- % Be conservative with inter-module optimization
- % -- assume a module depends on the `.int', `.int2'
- % and `.opt' files for all transitively imported
- % modules.
+ % Be conservative with inter-module optimization -- assume a
+ % module depends on the `.int', `.int2' and `.opt' files
+ % for all transitively imported modules.
IntDeps = IndirectOptDeps,
ImplDeps = IndirectOptDeps,
IndirectDeps = IndirectOptDeps
@@ -4213,8 +4212,8 @@
; Target = java, Lang = java
; Target = il, Lang = il
),
- % Assume we need the `.mh' files for all imported
- % modules (we will if they define foreign types).
+ % Assume we need the `.mh' files for all imported modules
+ % (we will if they define foreign types).
ForeignImports = list__map(
(func(ThisDep) = foreign_import_module(Lang, ThisDep,
term__context_init)),
@@ -4226,10 +4225,9 @@
module_imports_set_indirect_deps(IndirectDeps, !Module),
%
- % Compute the trans-opt dependencies for this module.
- % To avoid the possibility of cycles, each module is
- % only allowed to depend on modules that occur later
- % than it in the TransOptOrder.
+ % Compute the trans-opt dependencies for this module. To avoid
+ % the possibility of cycles, each module is only allowed to depend
+ % on modules that occur later than it in the TransOptOrder.
%
FindModule = (pred(OtherModule::in) is semidet :-
ModuleName \= OtherModule
@@ -4242,11 +4240,9 @@
TransOptDeps = []
),
- %
% Note that even if a fatal error occured for one of the files
- % that the current Module depends on, a .d file is still
- % produced, even though it probably contains incorrect
- % information.
+ % that the current Module depends on, a .d file is still produced,
+ % even though it probably contains incorrect information.
module_imports_get_error(!.Module, Error),
( Error \= fatal_module_errors ->
write_dependency_file(!.Module, set__list_to_set(IndirectOptDeps),
@@ -4320,6 +4316,7 @@
% Construct a pair of dependency relations (the interface dependencies
% and the implementation dependencies) for all the modules in the
% program.
+ %
:- pred deps_list_to_deps_rel(list(deps)::in, deps_map::in,
deps_rel::in, deps_rel::out, deps_rel::in, deps_rel::out) is det.
@@ -4369,7 +4366,7 @@
),
deps_list_to_deps_rel(DepsList, DepsMap, !IntRel, !ImplRel).
- % add interface dependencies to the interface deps relation
+ % Add interface dependencies to the interface deps relation.
%
:- pred add_int_deps(relation_key::in, module_imports::in,
deps_rel::in, deps_rel::out) is det.
@@ -4379,15 +4376,15 @@
list__foldl(AddDep, ModuleImports ^ parent_deps, Rel0, Rel1),
list__foldl(AddDep, ModuleImports ^ int_deps, Rel1, Rel).
- % add direct implementation dependencies for a module to the
- % impl. deps relation
+ % Add direct implementation dependencies for a module to the
+ % implementation deps relation.
%
:- pred add_impl_deps(relation_key::in, module_imports::in,
deps_rel::in, deps_rel::out) is det.
add_impl_deps(ModuleKey, ModuleImports, !Rel) :-
- % the implementation dependencies are a superset of the
- % interface dependencies, so first we add the interface deps
+ % The implementation dependencies are a superset of the
+ % interface dependencies, so first we add the interface deps.
add_int_deps(ModuleKey, ModuleImports, !Rel),
% then we add the impl deps
module_imports_get_impl_deps(ModuleImports, ImplDeps),
@@ -4448,6 +4445,7 @@
% Write out the `.dv' file, using the information collected in the
% deps_map data structure.
+ %
:- pred generate_dependencies_write_dv_file(file_name::in, module_name::in,
deps_map::in, io::di, io::uo) is det.
@@ -4476,6 +4474,7 @@
% Write out the `.dep' file, using the information collected in the
% deps_map data structure.
+ %
:- pred generate_dependencies_write_dep_file(file_name::in, module_name::in,
deps_map::in, io::di, io::uo) is det.
@@ -4489,8 +4488,7 @@
io__open_output(DepFileName, DepResult, !IO),
(
DepResult = ok(DepStream),
- generate_dep_file(SourceFileName, ModuleName, DepsMap,
- DepStream, !IO),
+ generate_dep_file(SourceFileName, ModuleName, DepsMap, DepStream, !IO),
io__close_output(DepStream, !IO),
maybe_write_string(Verbose, "% done.\n", !IO)
;
@@ -4884,9 +4882,8 @@
write_compact_dependencies_list(Modules,
"$(mihs_subdir)", ".mih", Basis, DepStream, !IO)
;
- % For the IL and Java targets, currently we don't
- % generate `.mih' files at all; although perhaps
- % we should...
+ % For the IL and Java targets, currently we don't generate
+ % `.mih' files at all; although perhaps we should...
true
)
;
@@ -6051,7 +6048,7 @@
% Look up a module in the dependency map.
% If we don't know its dependencies, read the module and
% save the dependencies in the dependency map.
-
+ %
:- pred lookup_dependencies(module_name::in, bool::in, bool::out,
deps_map::in, deps_map::out, module_imports::out,
io::di, io::uo) is det.
@@ -6099,7 +6096,7 @@
% Read a module to determine the (direct) dependencies
% of that module and any nested sub-modules it contains.
-
+ %
:- pred read_dependencies(module_name::in, bool::in, list(module_imports)::out,
io::di, io::uo) is det.
@@ -6141,7 +6138,7 @@
InterfaceUseDeps0, InterfaceUseDeps),
list__append(InterfaceImportDeps, InterfaceUseDeps, InterfaceDeps),
- % we don't fill in the indirect dependencies yet
+ % We don't fill in the indirect dependencies yet.
IndirectDeps = [],
get_children(Items, IncludeDeps),
@@ -6982,30 +6979,28 @@
ThisModuleItems, OtherItems, SubModules, !IO) :-
(
%
- % check for a `module' declaration, which signals
- % the start of a nested module
+ % Check for a `module' declaration, which signals
+ % the start of a nested module.
%
Item = module_defn(VarSet, module(SubModuleName)) - Context
->
%
- % parse in the items for the nested submodule
+ % Parse in the items for the nested submodule.
%
split_into_submodules_2(SubModuleName, Items1, InInterface0,
Items2, SubModules0, !IO),
%
- % parse in the remaining items for this module
+ % Parse in the remaining items for this module.
%
split_into_submodules_3(ModuleName, Items2, InParentInterface,
InInterface0, ThisModuleItems0, Items3, SubModules1, !IO),
%
- % combine the sub-module declarations from the previous two
- % steps
+ % Combine the sub-module declarations from the previous two steps.
%
list__foldl(add_submodule, SubModules0, SubModules1, SubModules),
%
- % replace the nested submodule with an `include_module'
- % declaration
+ % Replace the nested submodule with an `include_module' declaration.
%
IncludeSubMod = module_defn(VarSet,
include_module([SubModuleName])) - Context,
@@ -7013,7 +7008,7 @@
OtherItems = Items3
;
%
- % check for a matching `end_module' declaration
+ % Check for a matching `end_module' declaration.
%
Item = module_defn(_VarSet, end_module(ModuleName)) - _
->
@@ -7025,14 +7020,13 @@
map__init(SubModules)
;
%
- % otherwise, process the next item in this module
+ % Otherwise, process the next item in this module.
%
%
- % update the flag which records whether
- % we're currently in the interface section,
- % and report an error if there is an `implementation'
- % section inside an `interface' section.
+ % Update the flag which records whether we're currently in the
+ % interface section, and report an error if there is an
+ % `implementation' section inside an `interface' section.
%
( Item = module_defn(_, interface) - _Context ->
InInterface1 = yes
@@ -7063,14 +7057,14 @@
),
%
- % parse the remaining items for this module,
+ % Parse the remaining items for this module.
%
split_into_submodules_3(ModuleName, Items1,
InParentInterface, InInterface1,
ThisModuleItems0, Items2, SubModules, !IO),
%
- % put the current item back onto the
- % front of the item list for this module
+ % Put the current item back onto the front of the item list
+ % for this module.
%
ThisModuleItems = [Item | ThisModuleItems0],
OtherItems = Items2
@@ -7108,20 +7102,12 @@
;
error("report_error_implementation_in_interface")
),
- prog_out__write_context(Context, !IO),
- io__write_string("In interface for module `", !IO),
- prog_out__write_sym_name(ParentModule, !IO),
- io__write_string("':\n", !IO),
- prog_out__write_context(Context, !IO),
- io__write_string(" in definition of sub-module `", !IO),
- io__write_string(ChildModule, !IO),
- io__write_string("':\n", !IO),
- prog_out__write_context(Context, !IO),
- io__write_string(
- " error: `:- implementation.' declaration for sub-module\n", !IO),
- prog_out__write_context(Context, !IO),
- io__write_string(
- " occurs in interface section of parent module.\n", !IO),
+ Pieces = [words("In interface for module"), sym_name(ParentModule),
+ suffix(":"), nl,
+ words("in definition of sub-module `" ++ ChildModule ++ "':"), nl,
+ words("error: `:- implementation.' declaration for sub-module\n"),
+ words("occurs in interface section of parent module.")],
+ write_error_pieces(Context, 0, Pieces, !IO),
io__set_exit_status(1, !IO).
:- pred report_duplicate_modules(set(module_name)::in, item_list::in,
@@ -7153,21 +7139,10 @@
;
error("report_error_duplicate_module_decl")
),
- % The error message should look this this:
- % foo.m:123: In module `foo':
- % foo.m:123: error: sub-module `bar' declared as both
- % foo.m:123: a separate sub-module and a nested sub-module.
- prog_out__write_context(Context, !IO),
- io__write_string("In module `", !IO),
- prog_out__write_sym_name(ParentModule, !IO),
- io__write_string("':\n", !IO),
- prog_out__write_context(Context, !IO),
- io__write_string(" error: sub-module `", !IO),
- io__write_string(ChildModule, !IO),
- io__write_string("' declared as both\n", !IO),
- prog_out__write_context(Context, !IO),
- io__write_string(" a separate sub-module and a nested sub-module.\n",
- !IO),
+ Pieces = [words("In module"), sym_name(ParentModule), suffix(":"), nl,
+ words("error: sub-module `" ++ ChildModule ++ "' declared"),
+ words("as both a separate sub-module and a nested sub-module.")],
+ write_error_pieces(Context, 0, Pieces, !IO),
io__set_exit_status(1, !IO).
:- pred report_items_after_end_module(prog_context::in, io::di, io::uo) is det.
@@ -7500,12 +7475,11 @@
yes(abstract_noncanonical_type(solver_type)))
).
- % All instance declarations must be written
- % to `.int' files as abstract instance
- % declarations because the method names
- % have not yet been module qualified.
- % This could cause the wrong predicate to be
+ % All instance declarations must be written to `.int' files as
+ % abstract instance declarations, because the method names have not yet
+ % been module qualified. This could cause the wrong predicate to be
% used if calls to the method are specialized.
+ %
:- pred make_abstract_instance(item::in, item::out) is semidet.
make_abstract_instance(Item0, Item) :-
cvs diff: Diffing compiler/notes
cvs diff: Diffing debian
cvs diff: Diffing debian/patches
cvs diff: Diffing deep_profiler
cvs diff: Diffing deep_profiler/notes
cvs diff: Diffing doc
cvs diff: Diffing extras
cvs diff: Diffing extras/aditi
cvs diff: Diffing extras/cgi
cvs diff: Diffing extras/complex_numbers
cvs diff: Diffing extras/complex_numbers/samples
cvs diff: Diffing extras/complex_numbers/tests
cvs diff: Diffing extras/concurrency
cvs diff: Diffing extras/curs
cvs diff: Diffing extras/curs/samples
cvs diff: Diffing extras/curses
cvs diff: Diffing extras/curses/sample
cvs diff: Diffing extras/dynamic_linking
cvs diff: Diffing extras/error
cvs diff: Diffing extras/graphics
cvs diff: Diffing extras/graphics/easyx
cvs diff: Diffing extras/graphics/easyx/samples
cvs diff: Diffing extras/graphics/mercury_glut
cvs diff: Diffing extras/graphics/mercury_opengl
cvs diff: Diffing extras/graphics/mercury_tcltk
cvs diff: Diffing extras/graphics/samples
cvs diff: Diffing extras/graphics/samples/calc
cvs diff: Diffing extras/graphics/samples/gears
cvs diff: Diffing extras/graphics/samples/maze
cvs diff: Diffing extras/graphics/samples/pent
cvs diff: Diffing extras/lazy_evaluation
cvs diff: Diffing extras/lex
cvs diff: Diffing extras/lex/samples
cvs diff: Diffing extras/lex/tests
cvs diff: Diffing extras/logged_output
cvs diff: Diffing extras/moose
cvs diff: Diffing extras/moose/samples
cvs diff: Diffing extras/moose/tests
cvs diff: Diffing extras/morphine
cvs diff: Diffing extras/morphine/non-regression-tests
cvs diff: Diffing extras/morphine/scripts
cvs diff: Diffing extras/morphine/source
cvs diff: Diffing extras/odbc
cvs diff: Diffing extras/posix
cvs diff: Diffing extras/quickcheck
cvs diff: Diffing extras/quickcheck/tutes
cvs diff: Diffing extras/references
cvs diff: Diffing extras/references/samples
cvs diff: Diffing extras/references/tests
cvs diff: Diffing extras/solver_types
cvs diff: Diffing extras/solver_types/library
cvs diff: Diffing extras/stream
cvs diff: Diffing extras/trailed_update
cvs diff: Diffing extras/trailed_update/samples
cvs diff: Diffing extras/trailed_update/tests
cvs diff: Diffing extras/windows_installer_generator
cvs diff: Diffing extras/windows_installer_generator/sample
cvs diff: Diffing extras/windows_installer_generator/sample/images
cvs diff: Diffing extras/xml
cvs diff: Diffing extras/xml/samples
cvs diff: Diffing extras/xml_stylesheets
cvs diff: Diffing java
cvs diff: Diffing java/runtime
cvs diff: Diffing library
cvs diff: Diffing mdbcomp
cvs diff: Diffing profiler
cvs diff: Diffing robdd
cvs diff: Diffing runtime
cvs diff: Diffing runtime/GETOPT
cvs diff: Diffing runtime/machdeps
cvs diff: Diffing samples
cvs diff: Diffing samples/c_interface
cvs diff: Diffing samples/c_interface/c_calls_mercury
cvs diff: Diffing samples/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/mercury_calls_c
cvs diff: Diffing samples/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/diff
cvs diff: Diffing samples/muz
cvs diff: Diffing samples/rot13
cvs diff: Diffing samples/solutions
cvs diff: Diffing samples/tests
cvs diff: Diffing samples/tests/c_interface
cvs diff: Diffing samples/tests/c_interface/c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/tests/c_interface/mercury_calls_c
cvs diff: Diffing samples/tests/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/tests/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/tests/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/tests/diff
cvs diff: Diffing samples/tests/muz
cvs diff: Diffing samples/tests/rot13
cvs diff: Diffing samples/tests/solutions
cvs diff: Diffing samples/tests/toplevel
cvs diff: Diffing scripts
cvs diff: Diffing slice
cvs diff: Diffing tests
cvs diff: Diffing tests/benchmarks
cvs diff: Diffing tests/debugger
cvs diff: Diffing tests/debugger/declarative
cvs diff: Diffing tests/dppd
cvs diff: Diffing tests/general
cvs diff: Diffing tests/general/accumulator
cvs diff: Diffing tests/general/string_format
cvs diff: Diffing tests/general/structure_reuse
cvs diff: Diffing tests/grade_subdirs
cvs diff: Diffing tests/hard_coded
cvs diff: Diffing tests/hard_coded/exceptions
cvs diff: Diffing tests/hard_coded/purity
cvs diff: Diffing tests/hard_coded/sub-modules
cvs diff: Diffing tests/hard_coded/typeclasses
cvs diff: Diffing tests/invalid
Index: tests/invalid/duplicate_module_test.err_exp
===================================================================
RCS file: /home/mercury/mercury1/repository/tests/invalid/duplicate_module_test.err_exp,v
retrieving revision 1.2
diff -u -b -r1.2 duplicate_module_test.err_exp
--- tests/invalid/duplicate_module_test.err_exp 14 Sep 2005 05:26:44 -0000 1.2
+++ tests/invalid/duplicate_module_test.err_exp 26 Oct 2005 13:36:52 -0000
@@ -1,18 +1,18 @@
duplicate_module.m:014: In module `duplicate_module':
-duplicate_module.m:014: error: sub-module `child' declared as both
-duplicate_module.m:014: a separate sub-module and a nested sub-module.
+duplicate_module.m:014: error: sub-module `child' declared as both a separate
+duplicate_module.m:014: sub-module and a nested sub-module.
duplicate_module.m:016: In module `duplicate_module':
-duplicate_module.m:016: error: sub-module `child' declared as both
-duplicate_module.m:016: a separate sub-module and a nested sub-module.
+duplicate_module.m:016: error: sub-module `child' declared as both a separate
+duplicate_module.m:016: sub-module and a nested sub-module.
duplicate_module.m:032: In module `duplicate_module':
-duplicate_module.m:032: error: sub-module `child2' declared as both
-duplicate_module.m:032: a separate sub-module and a nested sub-module.
+duplicate_module.m:032: error: sub-module `child2' declared as both a
+duplicate_module.m:032: separate sub-module and a nested sub-module.
duplicate_module.m:034: In module `duplicate_module':
-duplicate_module.m:034: error: sub-module `child2' declared as both
-duplicate_module.m:034: a separate sub-module and a nested sub-module.
+duplicate_module.m:034: error: sub-module `child2' declared as both a
+duplicate_module.m:034: separate sub-module and a nested sub-module.
duplicate_module.m:050: In module `duplicate_module':
-duplicate_module.m:050: error: sub-module `child3' declared as both
-duplicate_module.m:050: a separate sub-module and a nested sub-module.
+duplicate_module.m:050: error: sub-module `child3' declared as both a
+duplicate_module.m:050: separate sub-module and a nested sub-module.
duplicate_module.m:052: In module `duplicate_module':
-duplicate_module.m:052: error: sub-module `child3' declared as both
-duplicate_module.m:052: a separate sub-module and a nested sub-module.
+duplicate_module.m:052: error: sub-module `child3' declared as both a
+duplicate_module.m:052: separate sub-module and a nested sub-module.
Index: tests/invalid/nested_impl_in_int.err_exp
===================================================================
RCS file: /home/mercury/mercury1/repository/tests/invalid/nested_impl_in_int.err_exp,v
retrieving revision 1.2
diff -u -b -r1.2 nested_impl_in_int.err_exp
--- tests/invalid/nested_impl_in_int.err_exp 14 Sep 2005 05:26:49 -0000 1.2
+++ tests/invalid/nested_impl_in_int.err_exp 26 Oct 2005 13:37:13 -0000
@@ -1,8 +1,10 @@
nested_impl_in_int.m:020: In interface for module `nested_impl_in_int':
nested_impl_in_int.m:020: in definition of sub-module `child':
-nested_impl_in_int.m:020: error: `:- implementation.' declaration for sub-module
-nested_impl_in_int.m:020: occurs in interface section of parent module.
+nested_impl_in_int.m:020: error: `:- implementation.' declaration for
+nested_impl_in_int.m:020: sub-module occurs in interface section of parent
+nested_impl_in_int.m:020: module.
nested_impl_in_int.m:037: In interface for module `nested_impl_in_int':
nested_impl_in_int.m:037: in definition of sub-module `child2':
-nested_impl_in_int.m:037: error: `:- implementation.' declaration for sub-module
-nested_impl_in_int.m:037: occurs in interface section of parent module.
+nested_impl_in_int.m:037: error: `:- implementation.' declaration for
+nested_impl_in_int.m:037: sub-module occurs in interface section of parent
+nested_impl_in_int.m:037: module.
cvs diff: Diffing tests/invalid/purity
cvs diff: Diffing tests/misc_tests
cvs diff: Diffing tests/mmc_make
cvs diff: Diffing tests/mmc_make/lib
cvs diff: Diffing tests/recompilation
cvs diff: Diffing tests/tabling
cvs diff: Diffing tests/term
cvs diff: Diffing tests/valid
cvs diff: Diffing tests/warnings
cvs diff: Diffing tools
cvs diff: Diffing trace
cvs diff: Diffing util
cvs diff: Diffing vim
cvs diff: Diffing vim/after
cvs diff: Diffing vim/ftplugin
cvs diff: Diffing vim/syntax
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list