[m-dev.] diff: ignore failure of `inst_matches_initial' after mode checking

David Overton dmo at cs.mu.OZ.AU
Tue Oct 24 16:56:29 AEDT 2000


Estimated hours taken: 0.1

compiler/mode_util.m:
	Ignore failure of `inst_matches_initial' when called during
	`recompute_instmap_delta'.  `inst_matches_initial' should never fail
	here, but it does sometimes due to problems in the mode system, most
	noticeably the lack of alias tracking.

	This was causing several previously working programs to fail to compile.
	This change simply allows these programs to compile again, but the
	change should be undone when the mode system improves.

Index: mode_util.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/mode_util.m,v
retrieving revision 1.132
diff -u -r1.132 mode_util.m
--- mode_util.m	2000/10/13 13:55:40	1.132
+++ mode_util.m	2000/10/24 01:18:49
@@ -1551,7 +1551,14 @@
 			ModuleInfo2 = ModuleInfo1,
 			Sub2 = Sub1
 		;
-			error("compute_inst_var_sub: inst_matches_initial failed")
+			% error("compute_inst_var_sub: inst_matches_initial failed")
+			% XXX  We shouldn't ever get here, but unfortunately the
+			% mode system currently has several problems (most
+			% noticeably lack of alias tracking for unique modes)
+			% which mean inst_matches_initial can sometimes fail
+			% here.
+			ModuleInfo2 = ModuleInfo0,
+			Sub2 = Sub0
 		)
 	;
 		ModuleInfo2 = ModuleInfo0,
-- 
David Overton      Department of Computer Science & Software Engineering
PhD Student        The University of Melbourne, Victoria 3010, Australia
+61 3 8344 9159    http://www.cs.mu.oz.au/~dmo
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list