Merge ../YAPDroid/yap
This commit is contained in:
commit
ca814eef07
@ -633,6 +633,7 @@ type_of_verb(rest,passive).
|
||||
|
||||
*/
|
||||
|
||||
#include <Yatom.h>
|
||||
#include "absmi.h"
|
||||
#include "YapCompile.h"
|
||||
#if DEBUG
|
||||
@ -2940,13 +2941,15 @@ yamop *Yap_PredIsIndexable(PredEntry *ap, UInt NSlots, yamop *next_pc) {
|
||||
cint.cls = NULL;
|
||||
LOCAL_Error_Size = 0;
|
||||
|
||||
if (ap->cs.p_code.NOfClauses < 2)
|
||||
return NULL;
|
||||
if ((setjres = sigsetjmp(cint.CompilerBotch, 0)) == 3) {
|
||||
restore_machine_regs();
|
||||
recover_from_failed_susp_on_cls(&cint, 0);
|
||||
if (!Yap_gcl(LOCAL_Error_Size, ap->ArityOfPE + NSlots, ENV, next_pc)) {
|
||||
CleanCls(&cint);
|
||||
Yap_Error(RESOURCE_ERROR_STACK, TermNil, LOCAL_ErrorMessage);
|
||||
return FAILCODE;
|
||||
return NULL;
|
||||
}
|
||||
} else if (setjres == 2) {
|
||||
restore_machine_regs();
|
||||
|
@ -1351,6 +1351,7 @@ TokEntry *Yap_tokenizer(struct stream_desc *st, bool store_comments,
|
||||
p = NULL; /* Just to make lint happy */
|
||||
ch = getchr(st);
|
||||
while (chtype(ch) == BS) {
|
||||
och=ch;
|
||||
ch = getchr(st);
|
||||
}
|
||||
*tposp = Yap_StreamPosition(st - GLOBAL_Stream);
|
||||
|
13
H/Yatom.h
13
H/Yatom.h
@ -20,28 +20,21 @@
|
||||
#ifndef YATOM_H
|
||||
#define YATOM_H 1
|
||||
|
||||
#ifdef USE_OFFSETS
|
||||
|
||||
INLINE_ONLY inline EXTERN Atom AbsAtom(AtomEntry *p);
|
||||
INLINE_ONLY inline EXTERN AtomEntry *RepAtom(Atom a);
|
||||
|
||||
|
||||
#ifdef USE_OFFSETS
|
||||
INLINE_ONLY inline EXTERN Atom AbsAtom(AtomEntry *p) {
|
||||
return (Atom)(Addr(p) - AtomBase);
|
||||
}
|
||||
|
||||
INLINE_ONLY inline EXTERN AtomEntry *RepAtom(Atom a);
|
||||
|
||||
INLINE_ONLY inline EXTERN AtomEntry *RepAtom(Atom a) {
|
||||
return (AtomEntry *) (AtomBase + Unsigned (a);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
INLINE_ONLY inline EXTERN Atom AbsAtom(AtomEntry *p);
|
||||
|
||||
INLINE_ONLY inline EXTERN Atom AbsAtom(AtomEntry *p) { return (Atom)(p); }
|
||||
|
||||
INLINE_ONLY inline EXTERN AtomEntry *RepAtom(Atom a);
|
||||
|
||||
INLINE_ONLY inline EXTERN AtomEntry *RepAtom(Atom a) {
|
||||
return (AtomEntry *)(a);
|
||||
}
|
||||
|
Reference in New Issue
Block a user