From e85d0a393971d91bfac32420243ec2383bc80818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U-WIN-8E8REQR3Q7E=5CV=C3=ADtor=20Santos=20Costa?= Date: Sun, 9 May 2010 00:43:13 +0100 Subject: [PATCH] fix unsafe test --- C/heapgc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 C/heapgc.c diff --git a/C/heapgc.c b/C/heapgc.c old mode 100644 new mode 100755 index 5a98f1e3e..b0ce4ca32 --- a/C/heapgc.c +++ b/C/heapgc.c @@ -1655,7 +1655,7 @@ mark_trail(tr_fr_ptr trail_ptr, tr_fr_ptr trail_base, CELL *gc_H, choiceptr gc_B nondeterministically, I know that after backtracking it will be back to be an unbound variable. The ideal solution would be to unbind all variables. The current solution is to remark it as an attributed variable */ - if (IsAttVar(hp) && !UNMARKED_MARK(hp-1,Yap_bp)) { + if (IN_BETWEEN(Yap_GlobalBase,hp,H) && IsAttVar(hp) && !UNMARKED_MARK(hp-1,Yap_bp)) { total_marked++; PUSH_POINTER(hp-1); if (hp-1 < HGEN) {