[m-dev.] bootstrap failed
Simon TAYLOR
stayl at students.cs.mu.oz.au
Tue Feb 18 15:07:36 AEDT 1997
Hi Fergus,
> The nightly bootstrap check failed. Lots of problems compiling the
> stage 2 library. It looks like the problems are probably caused by
> your changes to quantification.
Estimated hours taken: 0.2
compiler/make_hlds.m
Fix a stupid mistake that broke the compiler.
compiler/mode_util.m
Stop $typed_ground and $typed_inst appearing in error messages.
Index: make_hlds.m
===================================================================
RCS file: /home/staff/zs/imp/mercury/compiler/make_hlds.m,v
retrieving revision 1.219
diff -u -r1.219 make_hlds.m
--- make_hlds.m 1997/02/17 01:26:41 1.219
+++ make_hlds.m 1997/02/17 22:26:26
@@ -921,13 +921,13 @@
;
{ ConsDefns2 = [ConsDefn | ConsDefns1] }
),
- { map__set(Ctors0, ConsId, [ConsDefn | ConsDefns1], Ctors1) },
+ { map__set(Ctors0, ConsId, ConsDefns2, Ctors1) },
{ ConsId = cons(qualified(_, ConsName), Arity) ->
% Add an unqualified version of the cons_id to the cons_table.
UnqualifiedConsId = cons(unqualified(ConsName), Arity),
- ( map__search(Ctors1, UnqualifiedConsId, ConsDefns2) ->
+ ( map__search(Ctors1, UnqualifiedConsId, ConsDefns3) ->
map__set(Ctors1, UnqualifiedConsId,
- [ConsDefn | ConsDefns2], Ctors2)
+ [ConsDefn | ConsDefns3], Ctors2)
;
map__set(Ctors1, UnqualifiedConsId,
[ConsDefn], Ctors2)
Index: mode_util.m
===================================================================
RCS file: /home/staff/zs/imp/mercury/compiler/mode_util.m,v
retrieving revision 1.80
diff -u -r1.80 mode_util.m
--- mode_util.m 1997/02/17 01:26:48 1.80
+++ mode_util.m 1997/02/18 04:03:30
@@ -1784,8 +1784,9 @@
strip_builtin_qualifiers_from_inst(bound(Uniq, BoundInsts0),
bound(Uniq, BoundInsts)) :-
strip_builtin_qualifiers_from_bound_inst_list(BoundInsts0, BoundInsts).
-strip_builtin_qualifiers_from_inst(defined_inst(Name0), defined_inst(Name)) :-
- strip_builtin_qualifiers_from_inst_name(Name0, Name).
+strip_builtin_qualifiers_from_inst(defined_inst(Name0), Inst) :-
+ strip_builtin_qualifiers_from_inst_name(Name0,
+ defined_inst(Name0), Inst).
strip_builtin_qualifiers_from_inst(abstract_inst(Name0, Args0),
abstract_inst(Name, Args)) :-
strip_builtin_qualifier_from_sym_name(Name0, Name),
@@ -1804,16 +1805,23 @@
BoundInst = functor(ConsId, Insts),
list__map(strip_builtin_qualifiers_from_inst, Insts0, Insts).
-:- pred strip_builtin_qualifiers_from_inst_name(inst_name::in, inst_name::out)
- is det.
-strip_builtin_qualifiers_from_inst_name(InstName0, InstName) :-
+:- pred strip_builtin_qualifiers_from_inst_name(inst_name::in, (inst)::in,
+ (inst)::out) is det.
+
+strip_builtin_qualifiers_from_inst_name(InstName0, Inst0, Inst) :-
( InstName0 = user_inst(SymName0, Insts0) ->
strip_builtin_qualifier_from_sym_name(SymName0, SymName),
strip_builtin_qualifiers_from_inst_list(Insts0, Insts),
- InstName = user_inst(SymName, Insts)
+ Inst = defined_inst(user_inst(SymName, Insts))
+ ; InstName0 = typed_inst(_, InstName1) ->
+ % Don't output the $typed_inst in error messages.
+ strip_builtin_qualifiers_from_inst_name(InstName1, Inst0, Inst)
+ ; InstName0 = typed_ground(Uniq, _Type) ->
+ % Don't output the $typed_ground in error messages.
+ Inst = ground(Uniq, no)
;
% for the compiler-generated insts, don't bother.
- InstName = InstName0
+ Inst = Inst0
).
:- pred strip_builtin_qualifiers_from_pred_inst(maybe(pred_inst_info)::in,
More information about the developers
mailing list