diff: detect floundering in solutions/2 etc.

Fergus Henderson fjh at cs.mu.oz.au
Mon Oct 13 00:13:37 AEST 1997


I wrote:

> Detect floundering in solutions/2 and nondet if-then-else.
> 
> runtime/mercury_trail.h:
> compiler/llds.m:
> compiler/llds_out.m:
> 	Add new alternative `MR_solve' to MR_untrail_reason.
> 	This is used to for checking for floundering in the
> 	above-mentioned two cases.

Oops, another thing that I forgot to include in the log message & diff:
runtime/mercury_trail.c also needs to be changed to handle MR_solve.
Here's the diff:

Index: mercury_trail.c
===================================================================
RCS file: /home/staff/zs/imp/mercury/runtime/mercury_trail.c,v
retrieving revision 1.4
diff -u -r1.4 mercury_trail.c
--- mercury_trail.c	1997/09/30 14:27:51	1.4
+++ mercury_trail.c	1997/10/12 14:10:46
@@ -30,6 +30,7 @@
     MR_TrailEntry *tr_ptr = MR_trail_ptr;
 
     switch (reason) {
+	case MR_solve:
 	case MR_commit:
 	    /* Just handle the function trail entries */
 	    while (tr_ptr != old_trail_ptr) {

-- 
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