From 5c2e5c524b25c6f6a4d2f4f36883555ab9b6e815 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Thu, 26 Mar 2009 00:37:57 +0000 Subject: [PATCH] recognise exceptions within comparisons. --- C/absmi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/C/absmi.c b/C/absmi.c index 34c1916c1..d45b0b1b6 100644 --- a/C/absmi.c +++ b/C/absmi.c @@ -11271,7 +11271,7 @@ Yap_absmi(int inp) d0 = (CELL) (f) (d0,d1); setregs(); } - if (!d0) { + if (!d0 || PREG == FAILCODE) { if (PREG != FAILCODE) PREG = PREG->u.plxxs.f; JMPNext(); @@ -11344,7 +11344,7 @@ Yap_absmi(int inp) d0 = (CELL) (f) (d0,d1); setregs(); } - if (!d0) { + if (!d0 || PREG == FAILCODE) { if (PREG != FAILCODE) PREG = PREG->u.plxys.f; JMPNext(); @@ -11417,7 +11417,7 @@ Yap_absmi(int inp) d0 = (CELL) (f) (d0,d1); setregs(); } - if (!d0) { + if (!d0 || PREG == FAILCODE) { if (PREG != FAILCODE) PREG = PREG->u.plxys.f; JMPNext(); @@ -11491,9 +11491,9 @@ Yap_absmi(int inp) CmpPredicate f = PREG->u.plyys.p->cs.d_code; saveregs(); d0 = (CELL) (f) (d0,d1); + setregs(); } - setregs(); - if (!d0) { + if (!d0 || PREG == FAILCODE) { if (PREG != FAILCODE) PREG = PREG->u.plyys.f; JMPNext();