diff --git a/C/absmi.c b/C/absmi.c index 4c804c0d6..e9c490d61 100644 --- a/C/absmi.c +++ b/C/absmi.c @@ -10,8 +10,11 @@ * * * File: absmi.c * * comments: Portable abstract machine interpreter * -* Last rev: $Date: 2006-01-18 15:34:53 $,$Author: vsc $ * +* Last rev: $Date: 2006-01-26 19:13:24 $,$Author: vsc $ * * $Log: not supported by cvs2svn $ +* Revision 1.193 2006/01/18 15:34:53 vsc +* avoid sideffects from MkBigInt +* * Revision 1.192 2006/01/17 14:10:40 vsc * YENV may be an HW register (breaks some tabling code) * All YAAM instructions are now brackedted, so Op introduced an { and EndOp introduces an }. This is because Ricardo assumes that. @@ -334,6 +337,8 @@ AritFunctorOfTerm(Term t) { #define TMP_BIG(v) Yap_BigTmp #define RINT(v) return(MkIntegerTerm(v)) #define RFLOAT(v) return(MkFloatTerm(v)) +#if USE_GMP + #define RBIG(v) return(rbig(v)) static inline Term rbig(MP_INT *big) @@ -342,6 +347,7 @@ static inline Term rbig(MP_INT *big) mpz_clear(big); return t; } +#endif #define RERROR() return(TermNil) @@ -1556,6 +1562,10 @@ Yap_absmi(int inp) ipc = NEXTOP(ipc,l); go_on = TRUE; break; + case _jump: + ipc = ipc->u.l.l; + go_on = TRUE; + break; case _retry_c: case _retry_userc: low_level_trace(retry_pred, ipc->u.lds.p, B->cp_args); diff --git a/C/scanner.c b/C/scanner.c index 29d5f811b..aa4d80259 100644 --- a/C/scanner.c +++ b/C/scanner.c @@ -425,7 +425,7 @@ get_num(int *chp, int *chbuffp, int inp_stream, int (*Nxtch) (int), int (*Quoted { char *sp = s; int ch = *chp; - Int val = 0, base = ch - '0'; + Int val = 0L, base = ch - '0'; int might_be_float = TRUE, has_overflow = FALSE; *sp++ = ch; diff --git a/changes-5.1.html b/changes-5.1.html index fe489182f..c3faea8c2 100644 --- a/changes-5.1.html +++ b/changes-5.1.html @@ -16,6 +16,7 @@