[m-rev.] diff: fix some debug test case failures
Zoltan Somogyi
zs at csse.unimelb.edu.au
Thu May 29 17:23:19 AEST 2008
compiler/simplify.m:
Fix a bug I introduced in February when converting
simplify_process_clause_body_goal to state variable notation:
when deciding what tasks to perform on the second pass through
the predicate, start with the overall, original set of tasks,
not the task set used for the first pass, since those have had
some tasks turned off. Excess assignment elimination was among
those tasks. Not removing excess assignments changed the number
of conjuncts in some conjunctions. These affected goal paths,
which is why several of the debugging test cases were failing.
Zoltan.
cvs diff: Diffing compiler
Index: compiler/simplify.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/simplify.m,v
retrieving revision 1.230
diff -u -b -r1.230 simplify.m
--- compiler/simplify.m 26 May 2008 03:44:09 -0000 1.230
+++ compiler/simplify.m 29 May 2008 02:26:57 -0000
@@ -521,6 +521,7 @@
simplify_process_clause_body_goal(!Goal, !Info) :-
some [!Simplifications] (
simplify_info_get_simplifications(!.Info, !:Simplifications),
+ OriginalSimplifications = !.Simplifications,
simplify_info_get_instmap(!.Info, InstMap0),
(
( simplify_do_common_struct(!.Info)
@@ -533,6 +534,7 @@
do_process_clause_body_goal(!Goal, !Info),
+ !:Simplifications = OriginalSimplifications,
!Simplifications ^ do_warn_simple_code := no,
!Simplifications ^ do_warn_duplicate_calls := no,
!Simplifications ^ do_common_struct := no,
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to: mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the reviews
mailing list