fix bad compilation of arithmetic in disjunctions

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@361 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2002-02-14 04:32:09 +00:00
parent 84b445d4db
commit e74b412591
2 changed files with 7 additions and 3 deletions

View File

@@ -1041,7 +1041,7 @@ c_bifun(Int Op, Term t1, Term t2, Term t3, int mod)
save_machine_regs();
longjmp(CompilerBotch,1);
}
} else if (IsNewVar(t3) /* && cur_branch == 0 */) {
} else if (IsNewVar(t3) && cur_branch == 0 /* otherwise you may have trouble with z(X) :- ( Z is X*2 ; write(Z)) */) {
c_var(t3,f_flag,(unsigned int)Op);
if (Op == _functor) {
emit(empty_call_op, Zero, Zero);