WIN32 fixes
compiler bug fixes extend interface git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1632 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
13
C/save.c
13
C/save.c
@@ -1467,6 +1467,7 @@ CloseRestore(void)
|
||||
Yap_PrologMode = UserMode;
|
||||
}
|
||||
|
||||
#if !defined(_WIN32)
|
||||
static int
|
||||
check_opcodes(OPCODE old_ops[])
|
||||
{
|
||||
@@ -1479,11 +1480,13 @@ check_opcodes(OPCODE old_ops[])
|
||||
break;
|
||||
}
|
||||
}
|
||||
return(have_shifted);
|
||||
return have_shifted;
|
||||
#else
|
||||
return(FALSE);
|
||||
/* be conservative */
|
||||
return TRUE;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
RestoreHeap(OPCODE old_ops[])
|
||||
@@ -1492,7 +1495,13 @@ RestoreHeap(OPCODE old_ops[])
|
||||
Term mod = CurrentModule;
|
||||
|
||||
CurrentModule = PROLOG_MODULE;
|
||||
#if defined(_WIN32)
|
||||
/* It seems that under WIN32 opcodes may not have moved but the
|
||||
remaining code may have bmoved */
|
||||
opcodes_moved = TRUE;
|
||||
#else
|
||||
opcodes_moved = check_opcodes(old_ops);
|
||||
#endif
|
||||
/* opcodes_moved has side-effects and should be tried first */
|
||||
if (heap_moved) {
|
||||
RestoreFreeSpace();
|
||||
|
||||
Reference in New Issue
Block a user