[m-dev.] for review: fix possible bug in make_hlds.m

Simon Taylor stayl at cs.mu.OZ.AU
Thu May 13 11:33:29 AEST 1999


Estimated hours taken: 0.1

compiler/make_hlds.m:
	Fix a possible bug - when updating the import_status
	of a type with an abstract declaration, the new hlds_type_defn
	used the new tvarset and type parameters with the
	old hlds_type_body.

Index: compiler/make_hlds.m
===================================================================
RCS file: /home/staff/zs/imp/mercury/compiler/make_hlds.m,v
retrieving revision 1.293
diff -u -u -r1.293 make_hlds.m
--- make_hlds.m	1999/04/23 01:02:47	1.293
+++ make_hlds.m	1999/05/12 01:01:41
@@ -1612,7 +1612,8 @@
 	(
 		% if there was an existing non-abstract definition for the type
 		{ map__search(Types0, TypeId, T2) },
-		{ hlds_data__get_type_defn_tparams(T2, Params) },
+		{ hlds_data__get_type_defn_tvarset(T2, TVarSet_2) },
+		{ hlds_data__get_type_defn_tparams(T2, Params_2) },
 		{ hlds_data__get_type_defn_body(T2, Body_2) },
 		{ hlds_data__get_type_defn_context(T2, OrigContext) },
 		{ hlds_data__get_type_defn_status(T2, OrigStatus) },
@@ -1628,8 +1629,8 @@
 			->
 				Module = Module0
 			;
-				hlds_data__set_type_defn(TVarSet, Params,
-					Body_2, OrigStatus, OrigContext, T3),
+				hlds_data__set_type_defn(TVarSet_2, Params_2,
+					Body_2, Status, OrigContext, T3),
 				map__det_update(Types0, TypeId, T3, Types),
 				module_info_set_types(Module0, Types, Module)
 			}
--------------------------------------------------------------------------
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