diff: back out a buggy change to modules.m

Fergus Henderson fjh at cs.mu.OZ.AU
Fri Mar 6 20:04:45 AEDT 1998


Fix a bug that I introduced in modules.m.
The log message for my previous change was:

        - generate_dependencies was using the transitive implementation
	  dependencies rather than the transitive interface dependencies
	  to compute the `.int3' dependencies when writing `.d' files
	  (this bug was introduced during crs's changes to support
	  `.trans_opt' files)

Unfortunately using the transitive interface dependencies is not quite
right either.  You need to take the composition of the implementation
dependencies and the transitive interface dependencies.
For the moment I'll just back out this change, since the impact of the
previous bug was much less than the impact of the one I replaced it with.

Index: modules.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/modules.m,v
retrieving revision 1.60
diff -u -u -r1.60 modules.m
--- modules.m	1998/03/05 06:01:09	1.60
+++ modules.m	1998/03/06 08:53:16
@@ -1339,18 +1339,18 @@
 		{ relation__init(ImplDepsRel0) },
 		{ map__values(DepsMap, DepsList) },
 		{ deps_list_to_deps_rel(DepsList, DepsMap, 
-			IntDepsRel0, IntDepsRel, ImplDepsRel0, ImplDepsRel) },
-		{ relation__atsort(IntDepsRel, IntDepsOrdering0) },
+			IntDepsRel0, _IntDepsRel, ImplDepsRel0, ImplDepsRel) },
 		{ relation__atsort(ImplDepsRel, ImplDepsOrdering0) },
 		maybe_output_module_order(Module, ImplDepsOrdering0),
 		{ list__map(set__to_sorted_list, ImplDepsOrdering0, 
 			ImplDepsOrdering) },
-		{ list__map(set__to_sorted_list, IntDepsOrdering0, 
-			IntDepsOrdering) },
 		{ list__condense(ImplDepsOrdering, TransOptDepsOrdering0) },
 		get_opt_deps(TransOptDepsOrdering0, IntermodDirs, ".trans_opt",
 			TransOptDepsOrdering),
-		generate_dependencies_write_d_files(IntDepsOrdering,
+		% XXX using ImplDepsOrdering here is wrong.
+		% IntDeps is to little, ImplDeps is too much.
+		% (Better too much than too little, though.)
+		generate_dependencies_write_d_files(ImplDepsOrdering,
 			TransOptDepsOrdering, DepsMap)
 	).
 

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list