More LONGINTS changed to Address. Remove special FetchAddress code in Heap.

This commit is contained in:
David Brown 2016-09-14 13:02:00 +01:00
parent f13130bbd3
commit 7efd5a0158
201 changed files with 1227 additions and 1132 deletions

View file

@ -23,9 +23,6 @@
LONGINT SYSTEM_ABS (LONGINT i) {return __ABS(i);}
double SYSTEM_ABSD(double i) {return __ABS(i);}
int64 SYSTEM_DIV(int64 x, int64 y) int64 SYSTEM_DIV(int64 x, int64 y)
{ {
@ -49,37 +46,6 @@ int64 SYSTEM_MOD(int64 x, int64 y)
else {return -((-x) % (-y));} else {return -((-x) % (-y));}
} }
void SYSTEM_INHERIT(LONGINT *t, LONGINT *t0)
{
t -= __TPROC0OFF;
t0 -= __TPROC0OFF;
while (*t0 != __EOM) {*t = *t0; t--; t0--;}
}
void SYSTEM_ENUMP(void *adr, LONGINT n, void (*P)())
{
while (n > 0) {
P((address)(*((void**)(adr))));
adr = ((void**)adr) + 1;
n--;
}
}
void SYSTEM_ENUMR(void *adr, LONGINT *typ, LONGINT size, LONGINT n, void (*P)())
{
LONGINT *t, off;
typ++;
while (n > 0) {
t = typ;
off = *t;
while (off >= 0) {P(*(address*)((char*)adr+off)); t++; off = *t;}
adr = ((char*)adr) + size;
n--;
}
}
LONGINT SYSTEM_ENTIER(double x) LONGINT SYSTEM_ENTIER(double x)
{ {
LONGINT y; LONGINT y;
@ -91,22 +57,55 @@ LONGINT SYSTEM_ENTIER(double x)
} }
} }
void SYSTEM_INHERIT(address *t, address *t0)
{
t -= __TPROC0OFF;
t0 -= __TPROC0OFF;
while (*t0 != __EOM) {*t = *t0; t--; t0--;}
}
void SYSTEM_ENUMP(void *adr, address n, void (*P)())
{
while (n > 0) {
P((address)(*((void**)(adr))));
adr = ((void**)adr) + 1;
n--;
}
}
void SYSTEM_ENUMR(void *adr, address *typ, address size, address n, void (*P)())
{
address *t, off;
typ++;
while (n > 0) {
t = typ;
off = *t;
while (off >= 0) {P(*(address*)((char*)adr+off)); t++; off = *t;}
adr = ((char*)adr) + size;
n--;
}
}
extern void Heap_Lock(); extern void Heap_Lock();
extern void Heap_Unlock(); extern void Heap_Unlock();
SYSTEM_PTR SYSTEM_NEWARR(LONGINT *typ, LONGINT elemsz, int elemalgn, int nofdim, int nofdyn, ...) SYSTEM_PTR SYSTEM_NEWARR(address *typ, address elemsz, int elemalgn, int nofdim, int nofdyn, ...)
{ {
LONGINT nofelems, size, dataoff, n, nptr, *x, *p, nofptrs, i, *ptab, off; address nofelems, size, dataoff, n, nptr, *x, *p, nofptrs, i, *ptab, off;
va_list ap; va_list ap;
va_start(ap, nofdyn); va_start(ap, nofdyn);
nofelems = 1; nofelems = 1;
while (nofdim > 0) { while (nofdim > 0) {
nofelems = nofelems * va_arg(ap, LONGINT); nofdim--; nofelems = nofelems * va_arg(ap, address); nofdim--;
if (nofelems <= 0) __HALT(-20); if (nofelems <= 0) __HALT(-20);
} }
va_end(ap); va_end(ap);
dataoff = nofdyn * sizeof(LONGINT); dataoff = nofdyn * sizeof(address);
if (elemalgn > sizeof(LONGINT)) { if (elemalgn > sizeof(address)) {
n = dataoff % elemalgn; n = dataoff % elemalgn;
if (n != 0) dataoff += elemalgn - n; if (n != 0) dataoff += elemalgn - n;
} }
@ -116,37 +115,37 @@ SYSTEM_PTR SYSTEM_NEWARR(LONGINT *typ, LONGINT elemsz, int elemalgn, int nofdim,
/* element typ does not contain pointers */ /* element typ does not contain pointers */
x = Heap_NEWBLK(size); x = Heap_NEWBLK(size);
} }
else if (typ == (LONGINT*)POINTER__typ) { else if (typ == (address*)POINTER__typ) {
/* element type is a pointer */ /* element type is a pointer */
x = Heap_NEWBLK(size + nofelems * sizeof(LONGINT)); x = Heap_NEWBLK(size + nofelems * sizeof(address));
p = (LONGINT*)(address)x[-1]; p = (address*)(address)x[-1];
p[-nofelems] = *p; /* build new type desc in situ: 1. copy block size; 2. setup ptr tab; 3. set sentinel; 4. patch tag */ p[-nofelems] = *p; /* build new type desc in situ: 1. copy block size; 2. setup ptr tab; 3. set sentinel; 4. patch tag */
p -= nofelems - 1; n = 1; /* n =1 for skipping the size field */ p -= nofelems - 1; n = 1; /* n =1 for skipping the size field */
while (n <= nofelems) {*p = n*sizeof(LONGINT); p++; n++;} while (n <= nofelems) {*p = n*sizeof(address); p++; n++;}
*p = - (nofelems + 1) * sizeof(LONGINT); /* sentinel */ *p = - (nofelems + 1) * sizeof(address); /* sentinel */
x[-1] -= nofelems * sizeof(LONGINT); x[-1] -= nofelems * sizeof(address);
} }
else { else {
/* element type is a record that contains pointers */ /* element type is a record that contains pointers */
ptab = typ + 1; nofptrs = 0; ptab = typ + 1; nofptrs = 0;
while (ptab[nofptrs] >= 0) {nofptrs++;} /* number of pointers per element */ while (ptab[nofptrs] >= 0) {nofptrs++;} /* number of pointers per element */
nptr = nofelems * nofptrs; /* total number of pointers */ nptr = nofelems * nofptrs; /* total number of pointers */
x = Heap_NEWBLK(size + nptr * sizeof(LONGINT)); x = Heap_NEWBLK(size + nptr * sizeof(address));
p = (LONGINT*)(address)x[- 1]; p = (address*)(address)x[- 1];
p[-nptr] = *p; /* build new type desc in situ; 1. copy block size; 2. setup ptr tab; 3. set sentinel; 4. patch tag */ p[-nptr] = *p; /* build new type desc in situ; 1. copy block size; 2. setup ptr tab; 3. set sentinel; 4. patch tag */
p -= nptr - 1; n = 0; off = dataoff; p -= nptr - 1; n = 0; off = dataoff;
while (n < nofelems) {i = 0; while (n < nofelems) {i = 0;
while (i < nofptrs) {*p = off + ptab[i]; p++; i++;} while (i < nofptrs) {*p = off + ptab[i]; p++; i++;}
off += elemsz; n++; off += elemsz; n++;
} }
*p = - (nptr + 1) * sizeof(LONGINT); /* sentinel */ *p = - (nptr + 1) * sizeof(address); /* sentinel */
x[-1] -= nptr * sizeof(LONGINT); x[-1] -= nptr * sizeof(address);
} }
if (nofdyn != 0) { if (nofdyn != 0) {
/* setup len vector for index checks */ /* setup len vector for index checks */
va_start(ap, nofdyn); va_start(ap, nofdyn);
p = x; p = x;
while (nofdyn > 0) {*p = va_arg(ap, LONGINT); p++, nofdyn--;} while (nofdyn > 0) {*p = va_arg(ap, address); p++, nofdyn--;}
va_end(ap); va_end(ap);
} }
Heap_Unlock(); Heap_Unlock();

View file

@ -92,7 +92,6 @@ typedef float REAL;
typedef double LONGREAL; typedef double LONGREAL;
typedef void* SYSTEM_PTR; typedef void* SYSTEM_PTR;
#define uSET SET
// 'address' is a synonym for an int of pointer size // 'address' is a synonym for an int of pointer size
@ -130,13 +129,13 @@ extern void Platform_AssertFail(LONGINT x);
// Index checking // Index checking
static inline int64 __XF(uint64 i, uint64 ub) {if (i >= ub) {__HALT(-2);} return i;} static inline int64 __XF(uint64 i, uint64 ub) {if (i >= ub) {__HALT(-2);} return i;}
#define __X(i, ub) (((uint64)(i)<(uint64)(ub))?i:(__HALT(-2),0)) #define __X(i, ub) (((i)<(ub))?i:(__HALT(-2),0))
// Range checking, and checked SHORT and CHR functions // Range checking, and checked SHORT and CHR functions
static inline int64 __RF(uint64 i, uint64 ub) {if (i >= ub) {__HALT(-8);} return i;} static inline int64 __RF(uint64 i, uint64 ub) {if (i >= ub) {__HALT(-8);} return i;}
#define __R(i, ub) (((uint64)(i)<(uint64)(ub))?i:(__HALT(-8),0)) #define __R(i, ub) (((i)<(ub))?i:(__HALT(-8),0))
#define __SHORT(x, ub) ((int)((uLONGINT)(x)+(ub)<(ub)+(ub)?(x):(__HALT(-8),0))) #define __SHORT(x, ub) ((int)((uLONGINT)(x)+(ub)<(ub)+(ub)?(x):(__HALT(-8),0)))
#define __SHORTF(x, ub) ((int)(__RF((x)+(ub),(ub)+(ub))-(ub))) #define __SHORTF(x, ub) ((int)(__RF((x)+(ub),(ub)+(ub))-(ub)))
#define __CHR(x) ((CHAR)__R(x, 256)) #define __CHR(x) ((CHAR)__R(x, 256))
@ -144,17 +143,6 @@ static inline int64 __RF(uint64 i, uint64 ub) {if (i >= ub) {__HALT(-8);} return
// Run time system routines in SYSTEM.c
extern LONGINT SYSTEM_ABS (LONGINT i);
extern double SYSTEM_ABSD (double i);
extern void SYSTEM_INHERIT(LONGINT *t, LONGINT *t0);
extern void SYSTEM_ENUMP (void *adr, LONGINT n, void (*P)());
extern void SYSTEM_ENUMR (void *adr, LONGINT *typ, LONGINT size, LONGINT n, void (*P)());
extern LONGINT SYSTEM_ENTIER (double x);
// Signal handling in SYSTEM.c // Signal handling in SYSTEM.c
#ifndef _WIN32 #ifndef _WIN32
@ -211,7 +199,6 @@ static inline int __str_cmp(CHAR *x, CHAR *y){
static inline int64 SYSTEM_ASH(int64 x, int64 n) {return __ASH(x,n);} static inline int64 SYSTEM_ASH(int64 x, int64 n) {return __ASH(x,n);}
#define __ASHF(x, n) SYSTEM_ASH((int64)(x), (int64)(n)) #define __ASHF(x, n) SYSTEM_ASH((int64)(x), (int64)(n))
#define __BIT(x, n) (*(uint64*)(x)>>(n)&1)
#define __MOVE(s, d, n) memcpy((char*)(address)(d),(char*)(address)(s),n) #define __MOVE(s, d, n) memcpy((char*)(address)(d),(char*)(address)(s),n)
@ -225,17 +212,28 @@ extern int64 SYSTEM_MOD(int64 x, int64 y);
#define __MOD(x, y) (((x)>0 && (y)>0) ? (x)%(y) : __MODF(x, y)) #define __MOD(x, y) (((x)>0 && (y)>0) ? (x)%(y) : __MODF(x, y))
extern LONGINT SYSTEM_ENTIER (double x);
#define __ENTIER(x) SYSTEM_ENTIER(x) #define __ENTIER(x) SYSTEM_ENTIER(x)
#define __ABS(x) (((x)<0)?-(x):(x)) #define __ABS(x) (((x)<0)?-(x):(x))
#define __ABSF(x) SYSTEM_ABS((LONGINT)(x))
#define __ABSFD(x) SYSTEM_ABSD((double)(x)) static inline int32 SYSTEM_ABS64(int64 i) {return i >= 0 ? i : -i;}
static inline int64 SYSTEM_ABS32(int32 i) {return i >= 0 ? i : -i;}
#define __ABSF(x) ((sizeof(x) <= 4) ? SYSTEM_ABS32(i) : SYSTEM_ABS64(i))
static inline double SYSTEM_ABSD(double i) {return i >= 0.0 ? i : -i;}
#define __ABSFD(x) SYSTEM_ABSD(x)
#define __CAP(ch) ((CHAR)((ch)&0x5f)) #define __CAP(ch) ((CHAR)((ch)&0x5f))
#define __ODD(x) ((x)&1) #define __ODD(x) ((x)&1)
#define __IN(x, s) ((x)>=0 && (x)<(8*sizeof(SET)) && ((((uSET)(s))>>(x))&1))
#define __SETOF(x) ((SET)1<<(x)) #define __IN(x, s, size) (((unsigned int)(x))<size && ((((uint##size)(s))>>(x))&1))
#define __SETRNG(l, h) ((~(SET)0<<(l))&~(SET)0>>(8*sizeof(SET)-1-(h))) #define __SETOF(x, size) ((uint##size)1<<(x))
#define __SETRNG(l, h, size) ((~(uint##size)0<<(l))&~(uint##size)0>>(size-1-(h)))
#define __MASK(x, m) ((x)&~(m)) #define __MASK(x, m) ((x)&~(m))
#define __BIT(x, n) (*(uint64*)(x)>>(n)&1)
@ -245,6 +243,10 @@ extern int64 SYSTEM_MOD(int64 x, int64 y);
#define __CASECHK __HALT(-4) #define __CASECHK __HALT(-4)
#define __WITHCHK __HALT(-7) #define __WITHCHK __HALT(-7)
#define __IS(tag, typ, level) (*(tag-(__BASEOFF-level))==(LONGINT)(address)typ##__typ)
#define __TYPEOF(p) ((LONGINT*)(address)(*(((LONGINT*)(p))-1)))
#define __ISP(p, typ, level) __IS(__TYPEOF(p),typ,level)
#define __GUARDP(p, typ, level) ((typ*)(__ISP(p,typ,level)?p:(__HALT(-5),p))) #define __GUARDP(p, typ, level) ((typ*)(__ISP(p,typ,level)?p:(__HALT(-5),p)))
#define __GUARDR(r, typ, level) (*((typ*)(__IS(r##__typ,typ,level)?r:(__HALT(-5),r)))) #define __GUARDR(r, typ, level) (*((typ*)(__IS(r##__typ,typ,level)?r:(__HALT(-5),r))))
#define __GUARDA(p, typ, level) ((struct typ*)(__IS(__TYPEOF(p),typ,level)?p:(__HALT(-5),p))) #define __GUARDA(p, typ, level) ((struct typ*)(__IS(__TYPEOF(p),typ,level)?p:(__HALT(-5),p)))
@ -284,51 +286,52 @@ extern SYSTEM_PTR Heap_NEWBLK (address size);
extern SYSTEM_PTR Heap_NEWREC (address tag); extern SYSTEM_PTR Heap_NEWREC (address tag);
extern SYSTEM_PTR SYSTEM_NEWARR(LONGINT*, LONGINT, int, int, int, ...); extern SYSTEM_PTR SYSTEM_NEWARR(LONGINT*, LONGINT, int, int, int, ...);
#define __SYSNEW(p, len) p = Heap_NEWBLK((LONGINT)(len)) #define __SYSNEW(p, len) p = Heap_NEWBLK((address)(len))
#define __NEW(p, t) p = Heap_NEWREC((LONGINT)(address)t##__typ) #define __NEW(p, t) p = Heap_NEWREC((address)t##__typ)
#define __NEWARR SYSTEM_NEWARR #define __NEWARR SYSTEM_NEWARR
/* Type handling */ /* Type handling */
extern void SYSTEM_INHERIT(address *t, address *t0);
extern void SYSTEM_ENUMP (void *adr, address n, void (*P)());
extern void SYSTEM_ENUMR (void *adr, address *typ, address size, address n, void (*P)());
#define __TDESC(t, m, n) \ #define __TDESC(t, m, n) \
static struct t##__desc { \ static struct t##__desc { \
LONGINT tproc[m]; /* Proc for each ptr field */ \ address tproc[m]; /* Proc for each ptr field */ \
LONGINT tag; \ address tag; \
LONGINT next; /* Module table type list points here */ \ address next; /* Module table type list points here */ \
LONGINT level; \ address level; \
LONGINT module; \ address module; \
char name[24]; \ char name[24]; \
LONGINT basep[__MAXEXT]; /* List of bases this extends */ \ address basep[__MAXEXT]; /* List of bases this extends */ \
LONGINT reserved; \ address reserved; \
LONGINT blksz; /* xxx_typ points here */ \ address blksz; /* xxx_typ points here */ \
LONGINT ptr[n+1]; /* Offsets of ptrs up to -ve sentinel */ \ address ptr[n+1]; /* Offsets of ptrs up to -ve sentinel */ \
} t##__desc } t##__desc
#define __BASEOFF (__MAXEXT+1) // blksz as index to base. #define __BASEOFF (__MAXEXT+1) // blksz as index to base.
#define __TPROC0OFF (__BASEOFF+24/sizeof(LONGINT)+5) // blksz as index to tproc IFF m=1. #define __TPROC0OFF (__BASEOFF+24/sizeof(address)+5) // blksz as index to tproc IFF m=1.
#define __EOM 1 #define __EOM 1
#define __TDFLDS(name, size) {__EOM}, 1, 0, 0, 0, name, {0}, 0, size #define __TDFLDS(name, size) {__EOM}, 1, 0, 0, 0, name, {0}, 0, size
#define __ENUMP(adr, n, P) SYSTEM_ENUMP(adr, (LONGINT)(n), P) #define __ENUMP(adr, n, P) SYSTEM_ENUMP(adr, (address)(n), P)
#define __ENUMR(adr, typ, size, n, P) SYSTEM_ENUMR(adr, typ, (LONGINT)(size), (LONGINT)(n), P) #define __ENUMR(adr, typ, size, n, P) SYSTEM_ENUMR(adr, typ, (address)(size), (address)(n), P)
#define __INITYP(t, t0, level) \ #define __INITYP(t, t0, level) \
t##__typ = (LONGINT*)&t##__desc.blksz; \ t##__typ = (address*)&t##__desc.blksz; \
memcpy(t##__desc.basep, t0##__typ - __BASEOFF, level*sizeof(LONGINT)); \ memcpy(t##__desc.basep, t0##__typ - __BASEOFF, level*sizeof(address)); \
t##__desc.basep[level] = (LONGINT)(address)t##__typ; \ t##__desc.basep[level] = (address)t##__typ; \
t##__desc.module = (LONGINT)(address)m; \ t##__desc.module = (address)m; \
if(t##__desc.blksz!=sizeof(struct t)) __HALT(-15); \ if(t##__desc.blksz!=sizeof(struct t)) __HALT(-15); \
t##__desc.blksz = (t##__desc.blksz+5*sizeof(LONGINT)-1)/(4*sizeof(LONGINT))*(4*sizeof(LONGINT)); \ t##__desc.blksz = (t##__desc.blksz+5*sizeof(address)-1)/(4*sizeof(address))*(4*sizeof(address)); \
Heap_REGTYP(m, (LONGINT)(address)&t##__desc.next); \ Heap_REGTYP(m, (address)&t##__desc.next); \
SYSTEM_INHERIT(t##__typ, t0##__typ) SYSTEM_INHERIT(t##__typ, t0##__typ)
#define __IS(tag, typ, level) (*(tag-(__BASEOFF-level))==(LONGINT)(address)typ##__typ)
#define __TYPEOF(p) ((LONGINT*)(address)(*(((LONGINT*)(p))-1)))
#define __ISP(p, typ, level) __IS(__TYPEOF(p),typ,level)
// Oberon-2 type bound procedures support // Oberon-2 type bound procedures support
#define __INITBP(t, proc, num) *(t##__typ-(__TPROC0OFF+num))=(LONGINT)(address)proc #define __INITBP(t, proc, num) *(t##__typ-(__TPROC0OFF+num))=(address)proc
#define __SEND(typ, num, funtyp, parlist) ((funtyp)((address)*(typ-(__TPROC0OFF+num))))parlist #define __SEND(typ, num, funtyp, parlist) ((funtyp)((address)*(typ-(__TPROC0OFF+num))))parlist

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -18,6 +18,6 @@ export void *Configuration__init(void)
__DEFMOD; __DEFMOD;
__REGMOD("Configuration", 0); __REGMOD("Configuration", 0);
/* BEGIN */ /* BEGIN */
__MOVE("1.95 [2016/09/12] for gcc LP64 on cygwin", Configuration_versionLong, 41); __MOVE("1.95 [2016/09/14] for gcc LP64 on cygwin", Configuration_versionLong, 41);
__ENDMOD; __ENDMOD;
} }

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Configuration__h #ifndef Configuration__h
#define Configuration__h #define Configuration__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Console__h #ifndef Console__h
#define Console__h #define Console__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#ifndef Files__h #ifndef Files__h
#define Files__h #define Files__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -82,6 +82,7 @@ export LONGINT *Heap__1__typ;
static void Heap_CheckFin (void); static void Heap_CheckFin (void);
static void Heap_ExtendHeap (address blksz); static void Heap_ExtendHeap (address blksz);
export void Heap_FINALL (void); export void Heap_FINALL (void);
static address Heap_FetchAddress (address pointer);
static void Heap_Finalize (void); static void Heap_Finalize (void);
export void Heap_GC (BOOLEAN markStack); export void Heap_GC (BOOLEAN markStack);
static void Heap_HeapSort (address n, address *a, LONGINT a__len); static void Heap_HeapSort (address n, address *a, LONGINT a__len);
@ -106,7 +107,6 @@ export void Heap_Unlock (void);
extern void *Heap__init(); extern void *Heap__init();
extern address Platform_MainStackFrame; extern address Platform_MainStackFrame;
extern address Platform_OSAllocate(address size); extern address Platform_OSAllocate(address size);
#define Heap_FetchAddress(pointer) (address)(*((void**)((address)pointer)))
#define Heap_HeapModuleInit() Heap__init() #define Heap_HeapModuleInit() Heap__init()
#define Heap_OSAllocate(size) Platform_OSAllocate(size) #define Heap_OSAllocate(size) Platform_OSAllocate(size)
#define Heap_PlatformHalt(code) Platform_Halt(code) #define Heap_PlatformHalt(code) Platform_Halt(code)
@ -188,6 +188,15 @@ static address Heap_NewChunk (address blksz)
return _o_result; return _o_result;
} }
static address Heap_FetchAddress (address pointer)
{
address _o_result;
address r;
__GET(pointer, r, address);
_o_result = r;
return _o_result;
}
static void Heap_ExtendHeap (address blksz) static void Heap_ExtendHeap (address blksz)
{ {
address size, chnk, j, next; address size, chnk, j, next;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */
#ifndef Heap__h #ifndef Heap__h
#define Heap__h #define Heap__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Modules__h #ifndef Modules__h
#define Modules__h #define Modules__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -345,7 +345,7 @@ void OPB_Index (OPT_Node *x, OPT_Node y)
f = y->typ->form; f = y->typ->form;
if ((*x)->class >= 7) { if ((*x)->class >= 7) {
OPB_err(79); OPB_err(79);
} else if (f != 4 || __IN(y->class, 0x0300)) { } else if (f != 4 || __IN(y->class, 0x0300, 32)) {
OPB_err(80); OPB_err(80);
y->typ = OPT_inttyp; y->typ = OPT_inttyp;
} }
@ -372,7 +372,7 @@ void OPB_Field (OPT_Node *x, OPT_Object y)
if ((*x)->class >= 7) { if ((*x)->class >= 7) {
OPB_err(77); OPB_err(77);
} }
if ((y != NIL && __IN(y->mode, 0x2010))) { if ((y != NIL && __IN(y->mode, 0x2010, 32))) {
OPB_BindNodes(2, y->typ, &*x, NIL); OPB_BindNodes(2, y->typ, &*x, NIL);
(*x)->obj = y; (*x)->obj = y;
(*x)->readonly = (*x)->left->readonly || (y->vis == 2 && y->mnolev < 0); (*x)->readonly = (*x)->left->readonly || (y->vis == 2 && y->mnolev < 0);
@ -476,7 +476,7 @@ void OPB_In (OPT_Node *x, OPT_Node y)
if (k < 0 || k > OPM_MaxSet) { if (k < 0 || k > OPM_MaxSet) {
OPB_err(202); OPB_err(202);
} else if (y->class == 7) { } else if (y->class == 7) {
(*x)->conval->intval = OPB_BoolToInt(__IN(k, y->conval->setval)); (*x)->conval->intval = OPB_BoolToInt(__IN(k, y->conval->setval, 32));
(*x)->obj = NIL; (*x)->obj = NIL;
} else { } else {
OPB_BindNodes(12, OPT_booltyp, &*x, y); OPB_BindNodes(12, OPT_booltyp, &*x, y);
@ -572,12 +572,12 @@ void OPB_MOp (int8 op, OPT_Node *x)
} }
break; break;
case 6: case 6:
if (!__IN(f, 0x70)) { if (!__IN(f, 0x70, 32)) {
OPB_err(96); OPB_err(96);
} }
break; break;
case 7: case 7:
if (__IN(f, 0xf0)) { if (__IN(f, 0xf0, 32)) {
if (z->class == 7) { if (z->class == 7) {
if (f == 4) { if (f == 4) {
if (z->conval->intval == (-2147483647-1)) { if (z->conval->intval == (-2147483647-1)) {
@ -586,7 +586,7 @@ void OPB_MOp (int8 op, OPT_Node *x)
z->conval->intval = -z->conval->intval; z->conval->intval = -z->conval->intval;
OPB_SetIntType(z); OPB_SetIntType(z);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
z->conval->realval = -z->conval->realval; z->conval->realval = -z->conval->realval;
} else { } else {
z->conval->setval = ~z->conval->setval; z->conval->setval = ~z->conval->setval;
@ -600,7 +600,7 @@ void OPB_MOp (int8 op, OPT_Node *x)
} }
break; break;
case 21: case 21:
if (__IN(f, 0x70)) { if (__IN(f, 0x70, 32)) {
if (z->class == 7) { if (z->class == 7) {
if (f == 4) { if (f == 4) {
if (z->conval->intval == (-2147483647-1)) { if (z->conval->intval == (-2147483647-1)) {
@ -747,7 +747,7 @@ void OPB_CheckParameters (OPT_Object fp, OPT_Object ap, BOOLEAN checkNames)
static void OPB_CheckProc (OPT_Struct x, OPT_Object y) static void OPB_CheckProc (OPT_Struct x, OPT_Object y)
{ {
if (__IN(y->mode, 0x04c0)) { if (__IN(y->mode, 0x04c0, 32)) {
if (y->mode == 6) { if (y->mode == 6) {
if (y->mnolev == 0) { if (y->mnolev == 0) {
y->mode = 7; y->mode = 7;
@ -923,7 +923,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
} }
break; break;
case 9: case 9:
if (!__IN(g, 0x1800)) { if (!__IN(g, 0x1800, 32)) {
OPB_err(100); OPB_err(100);
} }
break; break;
@ -954,7 +954,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(204); OPB_err(204);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
temp = __ABS(yval->realval) <= (LONGREAL)1; temp = __ABS(yval->realval) <= (LONGREAL)1;
if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 / (LONGREAL)__ABS(yval->realval)) { if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 / (LONGREAL)__ABS(yval->realval)) {
xval->realval = xval->realval * yval->realval; xval->realval = xval->realval * yval->realval;
@ -978,7 +978,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
xval->realval = (LONGREAL)1; xval->realval = (LONGREAL)1;
} }
x->typ = OPT_realtyp; x->typ = OPT_realtyp;
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
temp = __ABS(yval->realval) >= (LONGREAL)1; temp = __ABS(yval->realval) >= (LONGREAL)1;
if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 * __ABS(yval->realval)) { if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 * __ABS(yval->realval)) {
xval->realval = xval->realval / yval->realval; xval->realval = xval->realval / yval->realval;
@ -1032,7 +1032,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(206); OPB_err(206);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
temp = (yval->realval >= (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 - yval->realval); temp = (yval->realval >= (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 - yval->realval);
if (temp || (yval->realval < (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 - yval->realval)) { if (temp || (yval->realval < (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 - yval->realval)) {
xval->realval = xval->realval + yval->realval; xval->realval = xval->realval + yval->realval;
@ -1054,7 +1054,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(207); OPB_err(207);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
temp = (yval->realval >= (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 + yval->realval); temp = (yval->realval >= (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 + yval->realval);
if (temp || (yval->realval < (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 + yval->realval)) { if (temp || (yval->realval < (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 + yval->realval)) {
xval->realval = xval->realval - yval->realval; xval->realval = xval->realval - yval->realval;
@ -1082,28 +1082,28 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
xval->intval = OPB_BoolToInt(ConstCmp__14() != 9); xval->intval = OPB_BoolToInt(ConstCmp__14() != 9);
break; break;
case 11: case 11:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 32)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() == 11); xval->intval = OPB_BoolToInt(ConstCmp__14() == 11);
} }
break; break;
case 12: case 12:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 32)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() != 13); xval->intval = OPB_BoolToInt(ConstCmp__14() != 13);
} }
break; break;
case 13: case 13:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 32)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() == 13); xval->intval = OPB_BoolToInt(ConstCmp__14() == 13);
} }
break; break;
case 14: case 14:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 32)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() != 11); xval->intval = OPB_BoolToInt(ConstCmp__14() != 11);
@ -1136,7 +1136,7 @@ static void OPB_Convert (OPT_Node *x, OPT_Struct typ)
(*x)->conval->intval = 1; (*x)->conval->intval = 1;
} }
} }
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 32)) {
(*x)->conval->realval = (*x)->conval->intval; (*x)->conval->realval = (*x)->conval->intval;
(*x)->conval->intval = -1; (*x)->conval->intval = -1;
} else { } else {
@ -1145,8 +1145,8 @@ static void OPB_Convert (OPT_Node *x, OPT_Struct typ)
OPB_err(220); OPB_err(220);
} }
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
if (__IN(g, 0x60)) { if (__IN(g, 0x60, 32)) {
OPB_CheckRealType(g, 203, (*x)->conval); OPB_CheckRealType(g, 203, (*x)->conval);
} else { } else {
r = (*x)->conval->realval; r = (*x)->conval->realval;
@ -1195,8 +1195,8 @@ static BOOLEAN strings__41 (OPT_Node *x, OPT_Node *y)
{ {
BOOLEAN _o_result; BOOLEAN _o_result;
BOOLEAN ok, xCharArr, yCharArr; BOOLEAN ok, xCharArr, yCharArr;
xCharArr = (__IN((*x)->typ->comp, 0x0c) && (*x)->typ->BaseTyp->form == 3) || *Op__38_s->f == 8; xCharArr = (__IN((*x)->typ->comp, 0x0c, 32) && (*x)->typ->BaseTyp->form == 3) || *Op__38_s->f == 8;
yCharArr = (__IN((*y)->typ->comp, 0x0c) && (*y)->typ->BaseTyp->form == 3) || *Op__38_s->g == 8; yCharArr = (__IN((*y)->typ->comp, 0x0c, 32) && (*y)->typ->BaseTyp->form == 3) || *Op__38_s->g == 8;
if ((((xCharArr && *Op__38_s->g == 3)) && (*y)->class == 7)) { if ((((xCharArr && *Op__38_s->g == 3)) && (*y)->class == 7)) {
OPB_CharToString(*y); OPB_CharToString(*y);
*Op__38_s->g = 8; *Op__38_s->g = 8;
@ -1255,7 +1255,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
case 4: case 4:
if ((g == 4 && y->typ->size < z->typ->size)) { if ((g == 4 && y->typ->size < z->typ->size)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x70)) { } else if (__IN(g, 0x70, 32)) {
OPB_Convert(&z, y->typ); OPB_Convert(&z, y->typ);
} else { } else {
OPB_err(100); OPB_err(100);
@ -1264,23 +1264,23 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
case 5: case 5:
if (g == 4) { if (g == 4) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 32)) {
OPB_Convert(&z, y->typ); OPB_Convert(&z, y->typ);
} else { } else {
OPB_err(100); OPB_err(100);
} }
break; break;
case 6: case 6:
if (__IN(g, 0x70)) { if (__IN(g, 0x70, 32)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 32)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else { } else {
OPB_err(100); OPB_err(100);
} }
break; break;
case 9: case 9:
if (!__IN(g, 0x1800)) { if (!__IN(g, 0x1800, 32)) {
OPB_err(100); OPB_err(100);
} }
break; break;
@ -1341,7 +1341,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
y->obj = NIL; y->obj = NIL;
} }
} }
} else if (!__IN(f, 0xe1)) { } else if (!__IN(f, 0xe1, 32)) {
OPB_err(105); OPB_err(105);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1357,7 +1357,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
OPB_Convert(&z, OPT_realtyp); OPB_Convert(&z, OPT_realtyp);
OPB_Convert(&y, OPT_realtyp); OPB_Convert(&y, OPT_realtyp);
typ = OPT_realtyp; typ = OPT_realtyp;
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
if ((y->class == 7 && y->conval->realval == (LONGREAL)0)) { if ((y->class == 7 && y->conval->realval == (LONGREAL)0)) {
OPB_err(205); OPB_err(205);
} }
@ -1424,7 +1424,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 6: case 6:
if (!__IN(f, 0xf1)) { if (!__IN(f, 0xf1, 32)) {
OPB_err(105); OPB_err(105);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1443,7 +1443,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 7: case 7:
if (!__IN(f, 0xf1)) { if (!__IN(f, 0xf1, 32)) {
OPB_err(106); OPB_err(106);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1467,7 +1467,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 9: case 10: case 9: case 10:
if (__IN(f, 0x1aff) || strings__41(&z, &y)) { if (__IN(f, 0x1aff, 32) || strings__41(&z, &y)) {
typ = OPT_booltyp; typ = OPT_booltyp;
} else { } else {
OPB_err(107); OPB_err(107);
@ -1476,7 +1476,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
NewOp__39(op, typ, &z, y); NewOp__39(op, typ, &z, y);
break; break;
case 11: case 12: case 13: case 14: case 11: case 12: case 13: case 14:
if (__IN(f, 0x79) || strings__41(&z, &y)) { if (__IN(f, 0x79, 32) || strings__41(&z, &y)) {
typ = OPT_booltyp; typ = OPT_booltyp;
} else { } else {
OPM_LogWLn(); OPM_LogWLn();
@ -1518,10 +1518,10 @@ void OPB_SetRange (OPT_Node *x, OPT_Node y)
} }
if (((*x)->class == 7 && y->class == 7)) { if (((*x)->class == 7 && y->class == 7)) {
if (k <= l) { if (k <= l) {
(*x)->conval->setval = __SETRNG(k, l); (*x)->conval->setval = __SETRNG(k, l, 32);
} else { } else {
OPB_err(201); OPB_err(201);
(*x)->conval->setval = __SETRNG(l, k); (*x)->conval->setval = __SETRNG(l, k, 32);
} }
(*x)->obj = NIL; (*x)->obj = NIL;
} else { } else {
@ -1543,7 +1543,7 @@ void OPB_SetElem (OPT_Node *x)
} else if ((*x)->class == 7) { } else if ((*x)->class == 7) {
k = (*x)->conval->intval; k = (*x)->conval->intval;
if ((0 <= k && k <= OPM_MaxSet)) { if ((0 <= k && k <= OPM_MaxSet)) {
(*x)->conval->setval = __SETOF(k); (*x)->conval->setval = __SETOF(k,32);
} else { } else {
OPB_err(202); OPB_err(202);
} }
@ -1588,7 +1588,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
case 0: case 8: case 0: case 8:
break; break;
case 1: case 1:
if (!((__IN(g, 0x1a) && y->size == 1))) { if (!((__IN(g, 0x1a, 32) && y->size == 1))) {
OPB_err(113); OPB_err(113);
} }
break; break;
@ -1603,12 +1603,12 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
} }
break; break;
case 5: case 5:
if (!__IN(g, 0x30)) { if (!__IN(g, 0x30, 32)) {
OPB_err(113); OPB_err(113);
} }
break; break;
case 6: case 6:
if (!__IN(g, 0x70)) { if (!__IN(g, 0x70, 32)) {
OPB_err(113); OPB_err(113);
} }
break; break;
@ -1656,7 +1656,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
if (ynode->conval->intval2 > x->n) { if (ynode->conval->intval2 > x->n) {
OPB_err(114); OPB_err(114);
} }
} else if ((__IN(y->comp, 0x0c) && y->BaseTyp == OPT_chartyp)) { } else if ((__IN(y->comp, 0x0c, 32) && y->BaseTyp == OPT_chartyp)) {
} else { } else {
OPB_err(113); OPB_err(113);
} }
@ -1664,7 +1664,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
OPB_err(113); OPB_err(113);
} }
} else if ((x->comp == 3 && x->BaseTyp == OPT_chartyp)) { } else if ((x->comp == 3 && x->BaseTyp == OPT_chartyp)) {
if ((__IN(y->comp, 0x0c) && y->BaseTyp == OPT_chartyp)) { if ((__IN(y->comp, 0x0c, 32) && y->BaseTyp == OPT_chartyp)) {
} else { } else {
OPB_err(113); OPB_err(113);
} }
@ -1691,7 +1691,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
OPM_LogWLn(); OPM_LogWLn();
break; break;
} }
if ((((((ynode->class == 7 && g < f)) && __IN(g, 0x30))) && __IN(f, 0x70))) { if ((((((ynode->class == 7 && g < f)) && __IN(g, 0x30, 32))) && __IN(f, 0x70, 32))) {
OPB_Convert(&ynode, x); OPB_Convert(&ynode, x);
} }
} }
@ -1729,7 +1729,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
OPB_err(76); OPB_err(76);
} }
f = x->typ->BaseTyp->comp; f = x->typ->BaseTyp->comp;
if (__IN(f, 0x1c)) { if (__IN(f, 0x1c, 32)) {
if (f == 3) { if (f == 3) {
typ = x->typ->BaseTyp; typ = x->typ->BaseTyp;
} }
@ -1762,7 +1762,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
case 5: case 5:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else { } else {
OPB_err(111); OPB_err(111);
@ -1837,7 +1837,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
case 9: case 9:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x11)) { } else if (__IN(f, 0x11, 32)) {
OPB_Convert(&x, OPT_chartyp); OPB_Convert(&x, OPT_chartyp);
} else { } else {
OPB_err(111); OPB_err(111);
@ -1898,7 +1898,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
} }
break; break;
case 17: case 17:
if (!__IN(x->typ->comp, 0x0c)) { if (!__IN(x->typ->comp, 0x0c, 32)) {
OPB_err(131); OPB_err(131);
} }
break; break;
@ -1909,7 +1909,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
} }
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (((!__IN(x->typ->comp, 0x0c) || x->typ->BaseTyp->form != 3) && f != 8)) { } else if (((!__IN(x->typ->comp, 0x0c, 32) || x->typ->BaseTyp->form != 3) && f != 8)) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -1933,7 +1933,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
if (x->class != 8) { if (x->class != 8) {
OPB_err(110); OPB_err(110);
x = OPB_NewIntConst(1); x = OPB_NewIntConst(1);
} else if (__IN(f, 0x18fe) || __IN(x->typ->comp, 0x14)) { } else if (__IN(f, 0x18fe, 32) || __IN(x->typ->comp, 0x14, 32)) {
(*OPB_typSize)(x->typ); (*OPB_typSize)(x->typ);
x->typ->pvused = 1; x->typ->pvused = 1;
x = OPB_NewIntConst(x->typ->size); x = OPB_NewIntConst(x->typ->size);
@ -1948,7 +1948,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
case 22: case 23: case 22: case 23:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (!__IN(f, 0x9a)) { } else if (!__IN(f, 0x9a, 32)) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -1957,7 +1957,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
OPB_err(126); OPB_err(126);
} else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) { } else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else if (!((__IN(x->typ->form, 0x0810) && x->typ->size == OPM_PointerSize))) { } else if (!((__IN(x->typ->form, 0x0810, 32) && x->typ->size == OPM_PointerSize))) {
OPB_err(111); OPB_err(111);
x->typ = OPT_linttyp; x->typ = OPT_linttyp;
} }
@ -1974,7 +1974,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
case 29: case 29:
if (x->class != 8) { if (x->class != 8) {
OPB_err(110); OPB_err(110);
} else if (__IN(f, 0x0501) || x->typ->comp == 3) { } else if (__IN(f, 0x0501, 32) || x->typ->comp == 3) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -2070,11 +2070,11 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
} else if (x->typ->size == 1) { } else if (x->typ->size == 1) {
L = (int16)x->conval->intval; L = (int16)x->conval->intval;
typ = p->typ; typ = p->typ;
while ((L > 0 && __IN(typ->comp, 0x0c))) { while ((L > 0 && __IN(typ->comp, 0x0c, 32))) {
typ = typ->BaseTyp; typ = typ->BaseTyp;
L -= 1; L -= 1;
} }
if (L != 0 || !__IN(typ->comp, 0x0c)) { if (L != 0 || !__IN(typ->comp, 0x0c, 32)) {
OPB_err(132); OPB_err(132);
} else { } else {
x->obj = NIL; x->obj = NIL;
@ -2098,7 +2098,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
case 18: case 18:
if (OPB_NotVar(x)) { if (OPB_NotVar(x)) {
OPB_err(112); OPB_err(112);
} else if ((__IN(x->typ->comp, 0x0c) && x->typ->BaseTyp->form == 3)) { } else if ((__IN(x->typ->comp, 0x0c, 32) && x->typ->BaseTyp->form == 3)) {
if (x->readonly) { if (x->readonly) {
OPB_err(76); OPB_err(76);
} }
@ -2172,7 +2172,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
case 24: case 25: case 26: case 27: case 24: case 25: case 26: case 27:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x18ff)) { } else if (__IN(f, 0x18ff, 32)) {
if (fctno == 24 || fctno == 26) { if (fctno == 24 || fctno == 26) {
if (OPB_NotVar(x)) { if (OPB_NotVar(x)) {
OPB_err(112); OPB_err(112);
@ -2198,7 +2198,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
p->typ = OPT_booltyp; p->typ = OPT_booltyp;
break; break;
case 29: case 29:
if (((x->class == 8 || x->class == 9) || __IN(f, 0x0501)) || x->typ->comp == 3) { if (((x->class == 8 || x->class == 9) || __IN(f, 0x0501, 32)) || x->typ->comp == 3) {
OPB_err(126); OPB_err(126);
} }
if ((x->class != 7 && x->typ->size < p->typ->size)) { if ((x->class != 7 && x->typ->size < p->typ->size)) {
@ -2230,7 +2230,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
OPB_err(126); OPB_err(126);
} else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) { } else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else if (!((__IN(x->typ->form, 0x0810) && x->typ->size == OPM_PointerSize))) { } else if (!((__IN(x->typ->form, 0x0810, 32) && x->typ->size == OPM_PointerSize))) {
OPB_err(111); OPB_err(111);
x->typ = OPT_linttyp; x->typ = OPT_linttyp;
} }
@ -2384,12 +2384,12 @@ static void OPB_DynArrParCheck (OPT_Struct ftyp, OPT_Struct atyp, BOOLEAN fvarpa
ftyp = ftyp->BaseTyp; ftyp = ftyp->BaseTyp;
atyp = atyp->BaseTyp; atyp = atyp->BaseTyp;
if ((fvarpar && ftyp == OPT_bytetyp)) { if ((fvarpar && ftyp == OPT_bytetyp)) {
if (!__IN(f, 0x0c) || !((__IN(atyp->form, 0x1e) && atyp->size == 1))) { if (!__IN(f, 0x0c, 32) || !((__IN(atyp->form, 0x1e, 32) && atyp->size == 1))) {
if (__IN(18, OPM_opt)) { if (__IN(18, OPM_opt, 32)) {
OPB_err(-301); OPB_err(-301);
} }
} }
} else if (__IN(f, 0x0c)) { } else if (__IN(f, 0x0c, 32)) {
if (ftyp->comp == 3) { if (ftyp->comp == 3) {
OPB_DynArrParCheck(ftyp, atyp, fvarpar); OPB_DynArrParCheck(ftyp, atyp, fvarpar);
} else if (ftyp != atyp) { } else if (ftyp != atyp) {
@ -2428,7 +2428,7 @@ static void OPB_CheckReceiver (OPT_Node *x, OPT_Object fp)
void OPB_PrepCall (OPT_Node *x, OPT_Object *fpar) void OPB_PrepCall (OPT_Node *x, OPT_Object *fpar)
{ {
if (((*x)->obj != NIL && __IN((*x)->obj->mode, 0x22c0))) { if (((*x)->obj != NIL && __IN((*x)->obj->mode, 0x22c0, 32))) {
*fpar = (*x)->obj->link; *fpar = (*x)->obj->link;
if ((*x)->obj->mode == 13) { if ((*x)->obj->mode == 13) {
OPB_CheckReceiver(&(*x)->left, *fpar); OPB_CheckReceiver(&(*x)->left, *fpar);
@ -2467,7 +2467,7 @@ void OPB_Param (OPT_Node ap, OPT_Object fp)
OPB_err(111); OPB_err(111);
} }
} else if ((fp->typ == OPT_sysptrtyp && ap->typ->form == 11)) { } else if ((fp->typ == OPT_sysptrtyp && ap->typ->form == 11)) {
} else if ((ap->typ != fp->typ && !((fp->typ->form == 1 && ((__IN(ap->typ->form, 0x1e) && ap->typ->size == 1)))))) { } else if ((ap->typ != fp->typ && !((fp->typ->form == 1 && ((__IN(ap->typ->form, 0x1e, 32) && ap->typ->size == 1)))))) {
OPB_err(123); OPB_err(123);
} else if ((fp->typ->form == 11 && ap->class == 5)) { } else if ((fp->typ->form == 11 && ap->class == 5)) {
OPB_err(123); OPB_err(123);
@ -2494,7 +2494,7 @@ void OPB_StaticLink (int8 dlev)
scope = OPT_topScope; scope = OPT_topScope;
while (dlev > 0) { while (dlev > 0) {
dlev -= 1; dlev -= 1;
scope->link->conval->setval |= __SETOF(3); scope->link->conval->setval |= __SETOF(3,32);
scope = scope->left; scope = scope->left;
} }
} }
@ -2589,7 +2589,7 @@ void OPB_Assign (OPT_Node *x, OPT_Node y)
y->conval->intval = 0; y->conval->intval = 0;
OPB_Index(&*x, OPB_NewIntConst(0)); OPB_Index(&*x, OPB_NewIntConst(0));
} }
if ((((((__IN((*x)->typ->comp, 0x0c) && (*x)->typ->BaseTyp == OPT_chartyp)) && __IN(y->typ->comp, 0x0c))) && y->typ->BaseTyp == OPT_chartyp)) { if ((((((__IN((*x)->typ->comp, 0x0c, 32) && (*x)->typ->BaseTyp == OPT_chartyp)) && __IN(y->typ->comp, 0x0c, 32))) && y->typ->BaseTyp == OPT_chartyp)) {
subcl = 18; subcl = 18;
} else { } else {
subcl = 0; subcl = 0;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPB__h #ifndef OPB__h
#define OPB__h #define OPB__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -93,9 +93,9 @@ static BOOLEAN OPC_Undefined (OPT_Object obj);
void OPC_Init (void) void OPC_Init (void)
{ {
OPC_indentLevel = 0; OPC_indentLevel = 0;
OPC_ptrinit = __IN(5, OPM_opt); OPC_ptrinit = __IN(5, OPM_opt, 32);
OPC_mainprog = OPM_mainProg || OPM_mainLinkStat; OPC_mainprog = OPM_mainProg || OPM_mainLinkStat;
OPC_ansi = __IN(6, OPM_opt); OPC_ansi = __IN(6, OPM_opt, 32);
if (OPC_ansi) { if (OPC_ansi) {
__MOVE("__init(void)", OPC_BodyNameExt, 13); __MOVE("__init(void)", OPC_BodyNameExt, 13);
} else { } else {
@ -196,7 +196,7 @@ void OPC_Ident (OPT_Object obj)
int16 mode, level, h; int16 mode, level, h;
mode = obj->mode; mode = obj->mode;
level = obj->mnolev; level = obj->mnolev;
if ((__IN(mode, 0x62) && level > 0) || __IN(mode, 0x14)) { if ((__IN(mode, 0x62, 32) && level > 0) || __IN(mode, 0x14, 32)) {
OPM_WriteStringVar((void*)obj->name, 256); OPM_WriteStringVar((void*)obj->name, 256);
h = OPC_PerfectHash((void*)obj->name, 256); h = OPC_PerfectHash((void*)obj->name, 256);
if (OPC_hashtab[__X(h, 105)] >= 0) { if (OPC_hashtab[__X(h, 105)] >= 0) {
@ -236,7 +236,7 @@ static void OPC_Stars (OPT_Struct typ, BOOLEAN *openClause)
int16 pointers; int16 pointers;
*openClause = 0; *openClause = 0;
if (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->comp != 4)) { if (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->comp != 4)) {
if (__IN(typ->comp, 0x0c)) { if (__IN(typ->comp, 0x0c, 32)) {
OPC_Stars(typ->BaseTyp, &*openClause); OPC_Stars(typ->BaseTyp, &*openClause);
*openClause = typ->comp == 2; *openClause = typ->comp == 2;
} else if (typ->form == 12) { } else if (typ->form == 12) {
@ -293,7 +293,7 @@ static void OPC_DeclareObj (OPT_Object dcl, BOOLEAN scopeDef)
break; break;
} else if ((form == 11 && typ->BaseTyp->comp != 3)) { } else if ((form == 11 && typ->BaseTyp->comp != 3)) {
openClause = 1; openClause = 1;
} else if (form == 12 || __IN(comp, 0x0c)) { } else if (form == 12 || __IN(comp, 0x0c, 32)) {
if (openClause) { if (openClause) {
OPM_Write(')'); OPM_Write(')');
openClause = 0; openClause = 0;
@ -708,7 +708,7 @@ static void OPC_DefineType (OPT_Struct str)
if (str->BaseTyp->comp != 4) { if (str->BaseTyp->comp != 4) {
OPC_DefineType(str->BaseTyp); OPC_DefineType(str->BaseTyp);
} }
} else if (__IN(str->comp, 0x0c)) { } else if (__IN(str->comp, 0x0c, 32)) {
OPC_DefineType(str->BaseTyp); OPC_DefineType(str->BaseTyp);
} else if (str->form == 12) { } else if (str->form == 12) {
if (str->BaseTyp != OPT_notyp) { if (str->BaseTyp != OPT_notyp) {
@ -1019,7 +1019,7 @@ static void OPC_IdentList (OPT_Object obj, int16 vis)
base = NIL; base = NIL;
first = 1; first = 1;
while ((obj != NIL && obj->mode != 13)) { while ((obj != NIL && obj->mode != 13)) {
if ((__IN(vis, 0x05) || (vis == 1 && obj->vis != 0)) || (vis == 3 && !obj->leaf)) { if ((__IN(vis, 0x05, 32) || (vis == 1 && obj->vis != 0)) || (vis == 3 && !obj->leaf)) {
if (obj->typ != base || (int16)obj->vis != lastvis) { if (obj->typ != base || (int16)obj->vis != lastvis) {
if (!first) { if (!first) {
OPC_EndStat(); OPC_EndStat();
@ -1144,7 +1144,7 @@ static void OPC_ProcPredefs (OPT_Object obj, int8 vis)
{ {
if (obj != NIL) { if (obj != NIL) {
OPC_ProcPredefs(obj->left, vis); OPC_ProcPredefs(obj->left, vis);
if ((((__IN(obj->mode, 0xc0) && obj->vis >= vis)) && (obj->history != 4 || obj->mode == 6))) { if ((((__IN(obj->mode, 0xc0, 32) && obj->vis >= vis)) && (obj->history != 4 || obj->mode == 6))) {
if (vis == 1) { if (vis == 1) {
OPM_WriteString((CHAR*)"import ", 8); OPM_WriteString((CHAR*)"import ", 8);
} else if (obj->vis == 0) { } else if (obj->vis == 0) {
@ -1238,7 +1238,7 @@ static void OPC_GenHeaderMsg (void)
OPM_Write(' '); OPM_Write(' ');
i = 0; i = 0;
while (i <= 31) { while (i <= 31) {
if (__IN(i, OPM_glbopt)) { if (__IN(i, OPM_glbopt, 32)) {
switch (i) { switch (i) {
case 0: case 0:
OPM_Write('x'); OPM_Write('x');
@ -1600,7 +1600,7 @@ void OPC_EnterProc (OPT_Object proc)
} }
var = proc->link; var = proc->link;
while (var != NIL) { while (var != NIL) {
if ((((__IN(var->typ->comp, 0x0c) && var->mode == 1)) && var->typ->sysflag == 0)) { if ((((__IN(var->typ->comp, 0x0c, 32) && var->mode == 1)) && var->typ->sysflag == 0)) {
OPC_BegStat(); OPC_BegStat();
if (var->typ->comp == 2) { if (var->typ->comp == 2) {
OPM_WriteString((CHAR*)"__DUPARR(", 10); OPM_WriteString((CHAR*)"__DUPARR(", 10);
@ -1648,7 +1648,7 @@ void OPC_EnterProc (OPT_Object proc)
OPM_Write('.'); OPM_Write('.');
OPC_Ident(var); OPC_Ident(var);
OPM_WriteString((CHAR*)" = ", 4); OPM_WriteString((CHAR*)" = ", 4);
if (__IN(var->typ->comp, 0x0c)) { if (__IN(var->typ->comp, 0x0c, 32)) {
OPM_WriteString((CHAR*)"(void*)", 8); OPM_WriteString((CHAR*)"(void*)", 8);
} else if (var->mode != 2) { } else if (var->mode != 2) {
OPM_Write('&'); OPM_Write('&');
@ -2006,7 +2006,7 @@ void OPC_Constant (OPT_Const con, int16 form)
do { do {
i -= 1; i -= 1;
hex = __ASHL(hex, 1); hex = __ASHL(hex, 1);
if (__IN(i, s)) { if (__IN(i, s, 32)) {
hex += 1; hex += 1;
} }
} while (!(__MASK(i, -8) == 0)); } while (!(__MASK(i, -8) == 0));

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPC__h #ifndef OPC__h
#define OPC__h #define OPC__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -288,15 +288,15 @@ void OPM_InitOptions (void)
s[0] = 0x00; s[0] = 0x00;
Platform_GetArg(OPM_S, (void*)s, 256); Platform_GetArg(OPM_S, (void*)s, 256);
} }
OPM_dontAsm = __IN(13, OPM_opt); OPM_dontAsm = __IN(13, OPM_opt, 32);
OPM_dontLink = __IN(14, OPM_opt); OPM_dontLink = __IN(14, OPM_opt, 32);
OPM_mainProg = __IN(10, OPM_opt); OPM_mainProg = __IN(10, OPM_opt, 32);
OPM_mainLinkStat = __IN(15, OPM_opt); OPM_mainLinkStat = __IN(15, OPM_opt, 32);
OPM_notColorOutput = __IN(16, OPM_opt); OPM_notColorOutput = __IN(16, OPM_opt, 32);
OPM_forceNewSym = __IN(17, OPM_opt); OPM_forceNewSym = __IN(17, OPM_opt, 32);
OPM_Verbose = __IN(18, OPM_opt); OPM_Verbose = __IN(18, OPM_opt, 32);
if (OPM_mainLinkStat) { if (OPM_mainLinkStat) {
OPM_glbopt |= __SETOF(10); OPM_glbopt |= __SETOF(10,32);
} }
OPM_GetProperties(); OPM_GetProperties();
} }
@ -773,7 +773,7 @@ void OPM_SymWLReal (LONGREAL lr)
void OPM_RegisterNewSym (void) void OPM_RegisterNewSym (void)
{ {
if (__STRCMP(OPM_modName, "SYSTEM") != 0 || __IN(10, OPM_opt)) { if (__STRCMP(OPM_modName, "SYSTEM") != 0 || __IN(10, OPM_opt, 32)) {
Files_Register(OPM_newSFile); Files_Register(OPM_newSFile);
} }
} }
@ -972,10 +972,10 @@ void OPM_CloseFiles (void)
} }
if (OPM_noerr) { if (OPM_noerr) {
if (__STRCMP(OPM_modName, "SYSTEM") == 0) { if (__STRCMP(OPM_modName, "SYSTEM") == 0) {
if (!__IN(10, OPM_opt)) { if (!__IN(10, OPM_opt, 32)) {
Files_Register(OPM_BFile); Files_Register(OPM_BFile);
} }
} else if (!__IN(10, OPM_opt)) { } else if (!__IN(10, OPM_opt, 32)) {
OPM_Append(&OPM_R[2], Files_Rider__typ, OPM_HFile); OPM_Append(&OPM_R[2], Files_Rider__typ, OPM_HFile);
Files_Register(OPM_HIFile); Files_Register(OPM_HIFile);
Files_Register(OPM_BFile); Files_Register(OPM_BFile);

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPM__h #ifndef OPM__h
#define OPM__h #define OPM__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -94,7 +94,7 @@ static void OPP_qualident (OPT_Object *id)
obj->adr = 0; obj->adr = 0;
} else { } else {
lev = obj->mnolev; lev = obj->mnolev;
if ((__IN(obj->mode, 0x06) && lev != OPP_level)) { if ((__IN(obj->mode, 0x06, 32) && lev != OPP_level)) {
obj->leaf = 0; obj->leaf = 0;
if (lev > 0) { if (lev > 0) {
OPB_StaticLink(OPP_level - lev); OPB_StaticLink(OPP_level - lev);
@ -325,7 +325,7 @@ static void OPP_PointerType (OPT_Struct *typ)
} else { } else {
OPP_qualident(&id); OPP_qualident(&id);
if (id->mode == 5) { if (id->mode == 5) {
if (__IN(id->typ->comp, 0x1c)) { if (__IN(id->typ->comp, 0x1c, 32)) {
(*typ)->BaseTyp = id->typ; (*typ)->BaseTyp = id->typ;
} else { } else {
(*typ)->BaseTyp = OPT_undftyp; (*typ)->BaseTyp = OPT_undftyp;
@ -338,7 +338,7 @@ static void OPP_PointerType (OPT_Struct *typ)
} }
} else { } else {
OPP_Type(&(*typ)->BaseTyp, &OPT_notyp); OPP_Type(&(*typ)->BaseTyp, &OPT_notyp);
if (!__IN((*typ)->BaseTyp->comp, 0x1c)) { if (!__IN((*typ)->BaseTyp->comp, 0x1c, 32)) {
(*typ)->BaseTyp = OPT_undftyp; (*typ)->BaseTyp = OPT_undftyp;
OPP_err(57); OPP_err(57);
} }
@ -966,7 +966,7 @@ static void GetCode__19 (void)
} }
} }
} }
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1,32);
} }
static void GetParams__21 (void) static void GetParams__21 (void)
@ -998,7 +998,7 @@ static void Body__17 (void)
OPT_Node procdec = NIL, statseq = NIL; OPT_Node procdec = NIL, statseq = NIL;
int32 c; int32 c;
c = OPM_errpos; c = OPM_errpos;
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1,32);
OPP_CheckSym(39); OPP_CheckSym(39);
OPP_Block(&procdec, &statseq); OPP_Block(&procdec, &statseq);
OPB_Enter(&procdec, statseq, *ProcedureDeclaration__16_s->proc); OPB_Enter(&procdec, statseq, *ProcedureDeclaration__16_s->proc);
@ -1041,7 +1041,7 @@ static void TProcDecl__23 (void)
if ((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mnolev != OPP_level)) { if ((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mnolev != OPP_level)) {
*ProcedureDeclaration__16_s->fwd = NIL; *ProcedureDeclaration__16_s->fwd = NIL;
} }
if ((((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mode == 13)) && !__IN(1, (*ProcedureDeclaration__16_s->fwd)->conval->setval))) { if ((((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mode == 13)) && !__IN(1, (*ProcedureDeclaration__16_s->fwd)->conval->setval, 32))) {
*ProcedureDeclaration__16_s->proc = OPT_NewObj(); *ProcedureDeclaration__16_s->proc = OPT_NewObj();
(*ProcedureDeclaration__16_s->proc)->leaf = 1; (*ProcedureDeclaration__16_s->proc)->leaf = 1;
if ((*ProcedureDeclaration__16_s->fwd)->vis != *ProcedureDeclaration__16_s->vis) { if ((*ProcedureDeclaration__16_s->fwd)->vis != *ProcedureDeclaration__16_s->vis) {
@ -1075,7 +1075,7 @@ static void TProcDecl__23 (void)
if ((((((baseProc->vis == 1 && (*ProcedureDeclaration__16_s->proc)->vis == 0)) && recTyp->strobj != NIL)) && recTyp->strobj->vis == 1)) { if ((((((baseProc->vis == 1 && (*ProcedureDeclaration__16_s->proc)->vis == 0)) && recTyp->strobj != NIL)) && recTyp->strobj->vis == 1)) {
OPP_err(109); OPP_err(109);
} }
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(2); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(2,32);
} }
if (!*ProcedureDeclaration__16_s->forward) { if (!*ProcedureDeclaration__16_s->forward) {
Body__17(); Body__17();
@ -1118,7 +1118,7 @@ static void OPP_ProcedureDeclaration (OPT_Node *x)
} else { } else {
OPP_err(38); OPP_err(38);
} }
if ((__IN(mode, 0x0600) && !OPT_SYSimported)) { if ((__IN(mode, 0x0600, 32) && !OPT_SYSimported)) {
OPP_err(135); OPP_err(135);
} }
OPS_Get(&OPP_sym); OPS_Get(&OPP_sym);
@ -1135,7 +1135,7 @@ static void OPP_ProcedureDeclaration (OPT_Node *x)
if ((fwd != NIL && (fwd->mnolev != OPP_level || fwd->mode == 8))) { if ((fwd != NIL && (fwd->mnolev != OPP_level || fwd->mode == 8))) {
fwd = NIL; fwd = NIL;
} }
if ((((fwd != NIL && __IN(fwd->mode, 0xc0))) && !__IN(1, fwd->conval->setval))) { if ((((fwd != NIL && __IN(fwd->mode, 0xc0, 32))) && !__IN(1, fwd->conval->setval, 32))) {
proc = OPT_NewObj(); proc = OPT_NewObj();
proc->leaf = 1; proc->leaf = 1;
if (fwd->vis != vis) { if (fwd->vis != vis) {
@ -1178,7 +1178,7 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, int16 *n, OPP
for (;;) { for (;;) {
OPP_ConstExpression(&x); OPP_ConstExpression(&x);
f = x->typ->form; f = x->typ->form;
if (__IN(f, 0x18)) { if (__IN(f, 0x18, 32)) {
xval = x->conval->intval; xval = x->conval->intval;
} else { } else {
OPP_err(61); OPP_err(61);
@ -1258,7 +1258,7 @@ static void CasePart__31 (OPT_Node *x)
*StatSeq__30_s->pos = OPM_errpos; *StatSeq__30_s->pos = OPM_errpos;
if ((*x)->class == 8 || (*x)->class == 9) { if ((*x)->class == 8 || (*x)->class == 9) {
OPP_err(126); OPP_err(126);
} else if (!__IN((*x)->typ->form, 0x18)) { } else if (!__IN((*x)->typ->form, 0x18, 32)) {
OPP_err(125); OPP_err(125);
} }
OPP_CheckSym(25); OPP_CheckSym(25);
@ -1675,7 +1675,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq)
if (obj->typ->strobj == NIL) { if (obj->typ->strobj == NIL) {
obj->typ->strobj = obj; obj->typ->strobj = obj;
} }
if (__IN(obj->typ->comp, 0x1c)) { if (__IN(obj->typ->comp, 0x1c, 32)) {
i = 0; i = 0;
while (i < OPP_nofFwdPtr) { while (i < OPP_nofFwdPtr) {
typ = OPP_FwdPtr[__X(i, 64)]; typ = OPP_FwdPtr[__X(i, 64)];

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPP__h #ifndef OPP__h
#define OPP__h #define OPP__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#ifndef OPS__h #ifndef OPS__h
#define OPS__h #define OPS__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -274,9 +274,9 @@ void OPT_Init (OPS_Name name, SET opt)
__COPY(name, OPT_topScope->name, 256); __COPY(name, OPT_topScope->name, 256);
OPT_GlbMod[0] = OPT_topScope; OPT_GlbMod[0] = OPT_topScope;
OPT_nofGmod = 1; OPT_nofGmod = 1;
OPT_newsf = __IN(4, opt); OPT_newsf = __IN(4, opt, 32);
OPT_findpc = __IN(8, opt); OPT_findpc = __IN(8, opt, 32);
OPT_extsf = OPT_newsf || __IN(9, opt); OPT_extsf = OPT_newsf || __IN(9, opt, 32);
OPT_sfpresent = 1; OPT_sfpresent = 1;
} }
@ -609,7 +609,7 @@ void OPT_FPrintStr (OPT_Struct typ)
pvfp = pbfp; pvfp = pbfp;
} }
} else if (f == 12) { } else if (f == 12) {
} else if (__IN(c, 0x0c)) { } else if (__IN(c, 0x0c, 32)) {
OPT_FPrintStr(btyp); OPT_FPrintStr(btyp);
OPM_FPrint(&pbfp, btyp->pvfp); OPM_FPrint(&pbfp, btyp->pvfp);
pvfp = pbfp; pvfp = pbfp;
@ -680,7 +680,7 @@ void OPT_FPrintObj (OPT_Object obj)
OPM_FPrint(&fprint, obj->vis); OPM_FPrint(&fprint, obj->vis);
OPT_FPrintStr(obj->typ); OPT_FPrintStr(obj->typ);
OPM_FPrint(&fprint, obj->typ->pbfp); OPM_FPrint(&fprint, obj->typ->pbfp);
} else if (__IN(obj->mode, 0x0480)) { } else if (__IN(obj->mode, 0x0480, 32)) {
OPT_FPrintSign(&fprint, obj->typ, obj->link); OPT_FPrintSign(&fprint, obj->typ, obj->link);
} else if (obj->mode == 9) { } else if (obj->mode == 9) {
OPT_FPrintSign(&fprint, obj->typ, obj->link); OPT_FPrintSign(&fprint, obj->typ, obj->link);
@ -1573,7 +1573,7 @@ static void OPT_OutObj (OPT_Object obj)
OPT_ConstExt ext = NIL; OPT_ConstExt ext = NIL;
if (obj != NIL) { if (obj != NIL) {
OPT_OutObj(obj->left); OPT_OutObj(obj->left);
if (__IN(obj->mode, 0x06ea)) { if (__IN(obj->mode, 0x06ea, 32)) {
if (obj->history == 4) { if (obj->history == 4) {
OPT_FPrintErr(obj, 250); OPT_FPrintErr(obj, 250);
} else if (obj->vis != 0) { } else if (obj->vis != 0) {

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPT__h #ifndef OPT__h
#define OPT__h #define OPT__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -130,10 +130,10 @@ void OPV_Init (void)
OPV_stamp = 0; OPV_stamp = 0;
OPV_recno = 0; OPV_recno = 0;
OPV_nofExitLabels = 0; OPV_nofExitLabels = 0;
OPV_assert = __IN(7, OPM_opt); OPV_assert = __IN(7, OPM_opt, 32);
OPV_inxchk = __IN(0, OPM_opt); OPV_inxchk = __IN(0, OPM_opt, 32);
OPV_mainprog = __IN(10, OPM_opt); OPV_mainprog = __IN(10, OPM_opt, 32);
OPV_ansi = __IN(6, OPM_opt); OPV_ansi = __IN(6, OPM_opt, 32);
} }
static void OPV_GetTProcNum (OPT_Object obj) static void OPV_GetTProcNum (OPT_Object obj)
@ -150,7 +150,7 @@ static void OPV_GetTProcNum (OPT_Object obj)
OPT_FindField(obj->name, typ->BaseTyp, &redef); OPT_FindField(obj->name, typ->BaseTyp, &redef);
if (redef != NIL) { if (redef != NIL) {
obj->adr = __ASHL(__ASHR(redef->adr, 16), 16); obj->adr = __ASHL(__ASHR(redef->adr, 16), 16);
if (!__IN(2, obj->conval->setval)) { if (!__IN(2, obj->conval->setval, 32)) {
OPM_err(119); OPM_err(119);
} }
} else { } else {
@ -230,12 +230,12 @@ static void OPV_Traverse (OPT_Object obj, OPT_Object outerScope, BOOLEAN exporte
OPV_TypSize(obj->typ); OPV_TypSize(obj->typ);
} }
if (!exported) { if (!exported) {
if ((__IN(mode, 0x60) && obj->mnolev > 0)) { if ((__IN(mode, 0x60, 32) && obj->mnolev > 0)) {
OPV_Stamp(obj->name); OPV_Stamp(obj->name);
} }
if (__IN(mode, 0x26)) { if (__IN(mode, 0x26, 32)) {
obj->scope = outerScope; obj->scope = outerScope;
} else if (__IN(mode, 0x26c0)) { } else if (__IN(mode, 0x26c0, 32)) {
if (obj->conval->setval == 0x0) { if (obj->conval->setval == 0x0) {
OPM_err(129); OPM_err(129);
} }
@ -289,7 +289,7 @@ static int16 OPV_Precedence (int16 class, int16 subclass, int16 form, int16 comp
return _o_result; return _o_result;
break; break;
case 5: case 5:
if (__IN(3, OPM_opt)) { if (__IN(3, OPM_opt, 32)) {
_o_result = 10; _o_result = 10;
return _o_result; return _o_result;
} else { } else {
@ -298,7 +298,7 @@ static int16 OPV_Precedence (int16 class, int16 subclass, int16 form, int16 comp
} }
break; break;
case 1: case 1:
if (__IN(comp, 0x0c)) { if (__IN(comp, 0x0c, 32)) {
_o_result = 10; _o_result = 10;
return _o_result; return _o_result;
} else { } else {
@ -445,7 +445,7 @@ static BOOLEAN OPV_SideEffects (OPT_Node n)
static void OPV_Entier (OPT_Node n, int16 prec) static void OPV_Entier (OPT_Node n, int16 prec)
{ {
if (__IN(n->typ->form, 0x60)) { if (__IN(n->typ->form, 0x60, 32)) {
OPM_WriteString((CHAR*)"__ENTIER(", 10); OPM_WriteString((CHAR*)"__ENTIER(", 10);
OPV_expr(n, -1); OPV_expr(n, -1);
OPM_Write(')'); OPM_Write(')');
@ -471,9 +471,11 @@ static void OPV_Convert (OPT_Node n, OPT_Struct newtype, int16 prec)
if (to == 7) { if (to == 7) {
OPM_WriteString((CHAR*)"__SETOF(", 9); OPM_WriteString((CHAR*)"__SETOF(", 9);
OPV_Entier(n, -1); OPV_Entier(n, -1);
OPM_WriteString((CHAR*)",", 2);
OPM_WriteInt(__ASHL(newtype->size, 3));
OPM_Write(')'); OPM_Write(')');
} else if (to == 4) { } else if (to == 4) {
if ((newtype->size < n->typ->size && __IN(2, OPM_opt))) { if ((newtype->size < n->typ->size && __IN(2, OPM_opt, 32))) {
OPM_WriteString((CHAR*)"__SHORT", 8); OPM_WriteString((CHAR*)"__SHORT", 8);
if (OPV_SideEffects(n)) { if (OPV_SideEffects(n)) {
OPM_Write('F'); OPM_Write('F');
@ -488,7 +490,7 @@ static void OPV_Convert (OPT_Node n, OPT_Struct newtype, int16 prec)
OPV_Entier(n, 9); OPV_Entier(n, 9);
} }
} else if (to == 3) { } else if (to == 3) {
if (__IN(2, OPM_opt)) { if (__IN(2, OPM_opt, 32)) {
OPM_WriteString((CHAR*)"__CHR", 6); OPM_WriteString((CHAR*)"__CHR", 6);
if (OPV_SideEffects(n)) { if (OPV_SideEffects(n)) {
OPM_Write('F'); OPM_Write('F');
@ -511,7 +513,7 @@ static void OPV_TypeOf (OPT_Node n)
OPM_WriteString((CHAR*)"__TYPEOF(", 10); OPM_WriteString((CHAR*)"__TYPEOF(", 10);
OPV_expr(n, -1); OPV_expr(n, -1);
OPM_Write(')'); OPM_Write(')');
} else if (__IN(n->class, 0x15)) { } else if (__IN(n->class, 0x15, 32)) {
OPC_Andent(n->typ); OPC_Andent(n->typ);
OPM_WriteString((CHAR*)"__typ", 6); OPM_WriteString((CHAR*)"__typ", 6);
} else if (n->class == 3) { } else if (n->class == 3) {
@ -572,7 +574,7 @@ static void OPV_design (OPT_Node n, int16 prec)
OPC_CompleteIdent(n->obj); OPC_CompleteIdent(n->obj);
break; break;
case 1: case 1:
if (!__IN(comp, 0x0c)) { if (!__IN(comp, 0x0c, 32)) {
OPM_Write('*'); OPM_Write('*');
} }
OPC_CompleteIdent(n->obj); OPC_CompleteIdent(n->obj);
@ -651,7 +653,7 @@ static void OPV_design (OPT_Node n, int16 prec)
case 5: case 5:
typ = n->typ; typ = n->typ;
obj = n->left->obj; obj = n->left->obj;
if (__IN(3, OPM_opt)) { if (__IN(3, OPM_opt, 32)) {
if (typ->comp == 4) { if (typ->comp == 4) {
OPM_WriteString((CHAR*)"__GUARDR(", 10); OPM_WriteString((CHAR*)"__GUARDR(", 10);
if ((int16)obj->mnolev != OPM_level) { if ((int16)obj->mnolev != OPM_level) {
@ -690,7 +692,7 @@ static void OPV_design (OPT_Node n, int16 prec)
} }
break; break;
case 6: case 6:
if (__IN(3, OPM_opt)) { if (__IN(3, OPM_opt, 32)) {
if (n->left->class == 1) { if (n->left->class == 1) {
OPM_WriteString((CHAR*)"__GUARDEQR(", 12); OPM_WriteString((CHAR*)"__GUARDEQR(", 12);
OPC_CompleteIdent(n->left->obj); OPC_CompleteIdent(n->left->obj);
@ -749,7 +751,7 @@ static void OPV_ActualPar (OPT_Node n, OPT_Object fp)
OPM_WriteString((CHAR*)"*)", 3); OPM_WriteString((CHAR*)"*)", 3);
prec = 10; prec = 10;
} }
if (!__IN(n->typ->comp, 0x0c)) { if (!__IN(n->typ->comp, 0x0c, 32)) {
if (mode == 2) { if (mode == 2) {
if ((OPV_ansi && typ != n->typ)) { if ((OPV_ansi && typ != n->typ)) {
OPM_WriteString((CHAR*)"(void*)", 8); OPM_WriteString((CHAR*)"(void*)", 8);
@ -757,13 +759,13 @@ static void OPV_ActualPar (OPT_Node n, OPT_Object fp)
OPM_Write('&'); OPM_Write('&');
prec = 9; prec = 9;
} else if (OPV_ansi) { } else if (OPV_ansi) {
if ((__IN(comp, 0x0c) && n->class == 7)) { if ((__IN(comp, 0x0c, 32) && n->class == 7)) {
OPM_WriteString((CHAR*)"(CHAR*)", 8); OPM_WriteString((CHAR*)"(CHAR*)", 8);
} else if ((((form == 11 && typ != n->typ)) && n->typ != OPT_niltyp)) { } else if ((((form == 11 && typ != n->typ)) && n->typ != OPT_niltyp)) {
OPM_WriteString((CHAR*)"(void*)", 8); OPM_WriteString((CHAR*)"(void*)", 8);
} }
} else { } else {
if ((__IN(form, 0x60) && n->typ->form == 4)) { if ((__IN(form, 0x60, 32) && n->typ->form == 4)) {
OPM_WriteString((CHAR*)"(double)", 9); OPM_WriteString((CHAR*)"(double)", 9);
prec = 9; prec = 9;
} else if (form == 4) { } else if (form == 4) {
@ -846,7 +848,7 @@ static void OPV_expr (OPT_Node n, int16 prec)
l = n->left; l = n->left;
r = n->right; r = n->right;
exprPrec = OPV_Precedence(class, subclass, form, n->typ->comp); exprPrec = OPV_Precedence(class, subclass, form, n->typ->comp);
if ((exprPrec <= prec && __IN(class, 0x3ce0))) { if ((exprPrec <= prec && __IN(class, 0x3ce0, 32))) {
OPM_Write('('); OPM_Write('(');
} }
switch (class) { switch (class) {
@ -858,6 +860,8 @@ static void OPV_expr (OPT_Node n, int16 prec)
OPV_expr(l, -1); OPV_expr(l, -1);
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
OPV_expr(r, -1); OPV_expr(r, -1);
OPM_WriteString((CHAR*)", ", 3);
OPM_WriteInt(__ASHL(n->typ->size, 3));
OPM_Write(')'); OPM_Write(')');
break; break;
case 11: case 11:
@ -924,18 +928,18 @@ static void OPV_expr (OPT_Node n, int16 prec)
if (l->class == 1) { if (l->class == 1) {
OPC_CompleteIdent(l->obj); OPC_CompleteIdent(l->obj);
} else { } else {
if ((l->typ->form != 8 && !__IN(l->typ->comp, 0x0c))) { if ((l->typ->form != 8 && !__IN(l->typ->comp, 0x0c, 32))) {
OPM_Write('&'); OPM_Write('&');
} }
OPV_expr(l, exprPrec); OPV_expr(l, exprPrec);
} }
break; break;
case 29: case 29:
if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x1890) && __IN(l->typ->form, 0x1890))) && n->typ->size == l->typ->size)) { if (!__IN(l->class, 0x17, 32) || (((__IN(n->typ->form, 0x1890, 32) && __IN(l->typ->form, 0x1890, 32))) && n->typ->size == l->typ->size)) {
OPM_Write('('); OPM_Write('(');
OPC_Ident(n->typ->strobj); OPC_Ident(n->typ->strobj);
OPM_Write(')'); OPM_Write(')');
if (__IN(n->typ->form, 0x1800) || __IN(l->typ->form, 0x1800)) { if (__IN(n->typ->form, 0x1800, 32) || __IN(l->typ->form, 0x1800, 32)) {
OPM_WriteString((CHAR*)"(address)", 10); OPM_WriteString((CHAR*)"(address)", 10);
} }
OPV_expr(l, exprPrec); OPV_expr(l, exprPrec);
@ -1032,20 +1036,24 @@ static void OPV_expr (OPT_Node n, int16 prec)
} }
OPV_expr(l, -1); OPV_expr(l, -1);
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
if ((((__IN(subclass, 0x18020000) && r->class == 7)) && r->conval->intval < 0)) { if ((((__IN(subclass, 0x18020000, 32) && r->class == 7)) && r->conval->intval < 0)) {
OPM_WriteInt(-r->conval->intval); OPM_WriteInt(-r->conval->intval);
} else { } else {
OPV_expr(r, -1); OPV_expr(r, -1);
} }
if (__IN(subclass, 0x18000000)) { if (__IN(subclass, 0x18008000, 32)) {
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
if (subclass == 15) {
OPM_WriteInt(__ASHL(r->typ->size, 3));
} else {
OPM_WriteInt(__ASHL(l->typ->size, 3)); OPM_WriteInt(__ASHL(l->typ->size, 3));
} }
}
OPM_Write(')'); OPM_Write(')');
break; break;
case 9: case 10: case 11: case 12: case 13: case 9: case 10: case 11: case 12: case 13:
case 14: case 14:
if (__IN(l->typ->form, 0x2100)) { if (__IN(l->typ->form, 0x2100, 32)) {
OPM_WriteString((CHAR*)"__STRCMP(", 10); OPM_WriteString((CHAR*)"__STRCMP(", 10);
OPV_expr(l, -1); OPV_expr(l, -1);
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
@ -1142,7 +1150,7 @@ static void OPV_expr (OPT_Node n, int16 prec)
OPV_design(n, prec); OPV_design(n, prec);
break; break;
} }
if ((exprPrec <= prec && __IN(class, 0x3ca0))) { if ((exprPrec <= prec && __IN(class, 0x3ca0, 32))) {
OPM_Write(')'); OPM_Write(')');
} }
} }
@ -1432,7 +1440,7 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
OPC_Andent(n->left->typ->BaseTyp); OPC_Andent(n->left->typ->BaseTyp);
OPM_WriteString((CHAR*)")", 2); OPM_WriteString((CHAR*)")", 2);
} else if (__IN(n->left->typ->BaseTyp->comp, 0x0c)) { } else if (__IN(n->left->typ->BaseTyp->comp, 0x0c, 32)) {
OPV_NewArr(n->left, n->right); OPV_NewArr(n->left, n->right);
} }
break; break;
@ -1446,6 +1454,8 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
OPC_SetInclude(n->subcl == 16); OPC_SetInclude(n->subcl == 16);
OPM_WriteString((CHAR*)"__SETOF(", 9); OPM_WriteString((CHAR*)"__SETOF(", 9);
OPV_expr(n->right, -1); OPV_expr(n->right, -1);
OPM_WriteString((CHAR*)",", 2);
OPM_WriteInt(__ASHL(n->left->typ->size, 3));
OPM_Write(')'); OPM_Write(')');
break; break;
case 18: case 18:
@ -1623,7 +1633,7 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
OPM_LogWLn(); OPM_LogWLn();
break; break;
} }
if (!__IN(n->class, 0x09744000)) { if (!__IN(n->class, 0x09744000, 32)) {
OPC_EndStat(); OPC_EndStat();
} }
n = n->link; n = n->link;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPV__h #ifndef OPV__h
#define OPV__h #define OPV__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Platform__h #ifndef Platform__h
#define Platform__h #define Platform__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Reals__h #ifndef Reals__h
#define Reals__h #define Reals__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Strings__h #ifndef Strings__h
#define Strings__h #define Strings__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -578,13 +578,13 @@ void Texts_ChangeLooks (Texts_Text T, int32 beg, int32 end, SET sel, Texts_Fonts
T->cache = c; T->cache = c;
T->corg = co; T->corg = co;
while (un != vn) { while (un != vn) {
if ((__IN(0, sel) && fnt != NIL)) { if ((__IN(0, sel, 32) && fnt != NIL)) {
un->fnt = fnt; un->fnt = fnt;
} }
if (__IN(1, sel)) { if (__IN(1, sel, 32)) {
un->col = col; un->col = col;
} }
if (__IN(2, sel)) { if (__IN(2, sel, 32)) {
un->voff = voff; un->voff = voff;
} }
Texts_Merge(T, u, &un); Texts_Merge(T, u, &un);

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Texts__h #ifndef Texts__h
#define Texts__h #define Texts__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkamSf */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkamSf */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef errors__h #ifndef errors__h
#define errors__h #define errors__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef extTools__h #ifndef extTools__h
#define extTools__h #define extTools__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef vt100__h #ifndef vt100__h
#define vt100__h #define vt100__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -18,6 +18,6 @@ export void *Configuration__init(void)
__DEFMOD; __DEFMOD;
__REGMOD("Configuration", 0); __REGMOD("Configuration", 0);
/* BEGIN */ /* BEGIN */
__MOVE("1.95 [2016/09/12] for gcc LP64 on cygwin", Configuration_versionLong, 41); __MOVE("1.95 [2016/09/14] for gcc LP64 on cygwin", Configuration_versionLong, 41);
__ENDMOD; __ENDMOD;
} }

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Configuration__h #ifndef Configuration__h
#define Configuration__h #define Configuration__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Console__h #ifndef Console__h
#define Console__h #define Console__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#ifndef Files__h #ifndef Files__h
#define Files__h #define Files__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -82,6 +82,7 @@ export LONGINT *Heap__1__typ;
static void Heap_CheckFin (void); static void Heap_CheckFin (void);
static void Heap_ExtendHeap (address blksz); static void Heap_ExtendHeap (address blksz);
export void Heap_FINALL (void); export void Heap_FINALL (void);
static address Heap_FetchAddress (address pointer);
static void Heap_Finalize (void); static void Heap_Finalize (void);
export void Heap_GC (BOOLEAN markStack); export void Heap_GC (BOOLEAN markStack);
static void Heap_HeapSort (address n, address *a, LONGINT a__len); static void Heap_HeapSort (address n, address *a, LONGINT a__len);
@ -106,7 +107,6 @@ export void Heap_Unlock (void);
extern void *Heap__init(); extern void *Heap__init();
extern address Platform_MainStackFrame; extern address Platform_MainStackFrame;
extern address Platform_OSAllocate(address size); extern address Platform_OSAllocate(address size);
#define Heap_FetchAddress(pointer) (address)(*((void**)((address)pointer)))
#define Heap_HeapModuleInit() Heap__init() #define Heap_HeapModuleInit() Heap__init()
#define Heap_OSAllocate(size) Platform_OSAllocate(size) #define Heap_OSAllocate(size) Platform_OSAllocate(size)
#define Heap_PlatformHalt(code) Platform_Halt(code) #define Heap_PlatformHalt(code) Platform_Halt(code)
@ -188,6 +188,15 @@ static address Heap_NewChunk (address blksz)
return _o_result; return _o_result;
} }
static address Heap_FetchAddress (address pointer)
{
address _o_result;
address r;
__GET(pointer, r, address);
_o_result = r;
return _o_result;
}
static void Heap_ExtendHeap (address blksz) static void Heap_ExtendHeap (address blksz)
{ {
address size, chnk, j, next; address size, chnk, j, next;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */
#ifndef Heap__h #ifndef Heap__h
#define Heap__h #define Heap__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Modules__h #ifndef Modules__h
#define Modules__h #define Modules__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -345,7 +345,7 @@ void OPB_Index (OPT_Node *x, OPT_Node y)
f = y->typ->form; f = y->typ->form;
if ((*x)->class >= 7) { if ((*x)->class >= 7) {
OPB_err(79); OPB_err(79);
} else if (f != 4 || __IN(y->class, 0x0300)) { } else if (f != 4 || __IN(y->class, 0x0300, 32)) {
OPB_err(80); OPB_err(80);
y->typ = OPT_inttyp; y->typ = OPT_inttyp;
} }
@ -372,7 +372,7 @@ void OPB_Field (OPT_Node *x, OPT_Object y)
if ((*x)->class >= 7) { if ((*x)->class >= 7) {
OPB_err(77); OPB_err(77);
} }
if ((y != NIL && __IN(y->mode, 0x2010))) { if ((y != NIL && __IN(y->mode, 0x2010, 32))) {
OPB_BindNodes(2, y->typ, &*x, NIL); OPB_BindNodes(2, y->typ, &*x, NIL);
(*x)->obj = y; (*x)->obj = y;
(*x)->readonly = (*x)->left->readonly || (y->vis == 2 && y->mnolev < 0); (*x)->readonly = (*x)->left->readonly || (y->vis == 2 && y->mnolev < 0);
@ -476,7 +476,7 @@ void OPB_In (OPT_Node *x, OPT_Node y)
if (k < 0 || k > OPM_MaxSet) { if (k < 0 || k > OPM_MaxSet) {
OPB_err(202); OPB_err(202);
} else if (y->class == 7) { } else if (y->class == 7) {
(*x)->conval->intval = OPB_BoolToInt(__IN(k, y->conval->setval)); (*x)->conval->intval = OPB_BoolToInt(__IN(k, y->conval->setval, 32));
(*x)->obj = NIL; (*x)->obj = NIL;
} else { } else {
OPB_BindNodes(12, OPT_booltyp, &*x, y); OPB_BindNodes(12, OPT_booltyp, &*x, y);
@ -572,12 +572,12 @@ void OPB_MOp (int8 op, OPT_Node *x)
} }
break; break;
case 6: case 6:
if (!__IN(f, 0x70)) { if (!__IN(f, 0x70, 32)) {
OPB_err(96); OPB_err(96);
} }
break; break;
case 7: case 7:
if (__IN(f, 0xf0)) { if (__IN(f, 0xf0, 32)) {
if (z->class == 7) { if (z->class == 7) {
if (f == 4) { if (f == 4) {
if (z->conval->intval == (-2147483647-1)) { if (z->conval->intval == (-2147483647-1)) {
@ -586,7 +586,7 @@ void OPB_MOp (int8 op, OPT_Node *x)
z->conval->intval = -z->conval->intval; z->conval->intval = -z->conval->intval;
OPB_SetIntType(z); OPB_SetIntType(z);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
z->conval->realval = -z->conval->realval; z->conval->realval = -z->conval->realval;
} else { } else {
z->conval->setval = ~z->conval->setval; z->conval->setval = ~z->conval->setval;
@ -600,7 +600,7 @@ void OPB_MOp (int8 op, OPT_Node *x)
} }
break; break;
case 21: case 21:
if (__IN(f, 0x70)) { if (__IN(f, 0x70, 32)) {
if (z->class == 7) { if (z->class == 7) {
if (f == 4) { if (f == 4) {
if (z->conval->intval == (-2147483647-1)) { if (z->conval->intval == (-2147483647-1)) {
@ -747,7 +747,7 @@ void OPB_CheckParameters (OPT_Object fp, OPT_Object ap, BOOLEAN checkNames)
static void OPB_CheckProc (OPT_Struct x, OPT_Object y) static void OPB_CheckProc (OPT_Struct x, OPT_Object y)
{ {
if (__IN(y->mode, 0x04c0)) { if (__IN(y->mode, 0x04c0, 32)) {
if (y->mode == 6) { if (y->mode == 6) {
if (y->mnolev == 0) { if (y->mnolev == 0) {
y->mode = 7; y->mode = 7;
@ -923,7 +923,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
} }
break; break;
case 9: case 9:
if (!__IN(g, 0x1800)) { if (!__IN(g, 0x1800, 32)) {
OPB_err(100); OPB_err(100);
} }
break; break;
@ -954,7 +954,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(204); OPB_err(204);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
temp = __ABS(yval->realval) <= (LONGREAL)1; temp = __ABS(yval->realval) <= (LONGREAL)1;
if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 / (LONGREAL)__ABS(yval->realval)) { if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 / (LONGREAL)__ABS(yval->realval)) {
xval->realval = xval->realval * yval->realval; xval->realval = xval->realval * yval->realval;
@ -978,7 +978,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
xval->realval = (LONGREAL)1; xval->realval = (LONGREAL)1;
} }
x->typ = OPT_realtyp; x->typ = OPT_realtyp;
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
temp = __ABS(yval->realval) >= (LONGREAL)1; temp = __ABS(yval->realval) >= (LONGREAL)1;
if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 * __ABS(yval->realval)) { if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 * __ABS(yval->realval)) {
xval->realval = xval->realval / yval->realval; xval->realval = xval->realval / yval->realval;
@ -1032,7 +1032,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(206); OPB_err(206);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
temp = (yval->realval >= (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 - yval->realval); temp = (yval->realval >= (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 - yval->realval);
if (temp || (yval->realval < (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 - yval->realval)) { if (temp || (yval->realval < (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 - yval->realval)) {
xval->realval = xval->realval + yval->realval; xval->realval = xval->realval + yval->realval;
@ -1054,7 +1054,7 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(207); OPB_err(207);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
temp = (yval->realval >= (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 + yval->realval); temp = (yval->realval >= (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 + yval->realval);
if (temp || (yval->realval < (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 + yval->realval)) { if (temp || (yval->realval < (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 + yval->realval)) {
xval->realval = xval->realval - yval->realval; xval->realval = xval->realval - yval->realval;
@ -1082,28 +1082,28 @@ static void OPB_ConstOp (int16 op, OPT_Node x, OPT_Node y)
xval->intval = OPB_BoolToInt(ConstCmp__14() != 9); xval->intval = OPB_BoolToInt(ConstCmp__14() != 9);
break; break;
case 11: case 11:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 32)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() == 11); xval->intval = OPB_BoolToInt(ConstCmp__14() == 11);
} }
break; break;
case 12: case 12:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 32)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() != 13); xval->intval = OPB_BoolToInt(ConstCmp__14() != 13);
} }
break; break;
case 13: case 13:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 32)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() == 13); xval->intval = OPB_BoolToInt(ConstCmp__14() == 13);
} }
break; break;
case 14: case 14:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 32)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() != 11); xval->intval = OPB_BoolToInt(ConstCmp__14() != 11);
@ -1136,7 +1136,7 @@ static void OPB_Convert (OPT_Node *x, OPT_Struct typ)
(*x)->conval->intval = 1; (*x)->conval->intval = 1;
} }
} }
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 32)) {
(*x)->conval->realval = (*x)->conval->intval; (*x)->conval->realval = (*x)->conval->intval;
(*x)->conval->intval = -1; (*x)->conval->intval = -1;
} else { } else {
@ -1145,8 +1145,8 @@ static void OPB_Convert (OPT_Node *x, OPT_Struct typ)
OPB_err(220); OPB_err(220);
} }
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
if (__IN(g, 0x60)) { if (__IN(g, 0x60, 32)) {
OPB_CheckRealType(g, 203, (*x)->conval); OPB_CheckRealType(g, 203, (*x)->conval);
} else { } else {
r = (*x)->conval->realval; r = (*x)->conval->realval;
@ -1195,8 +1195,8 @@ static BOOLEAN strings__41 (OPT_Node *x, OPT_Node *y)
{ {
BOOLEAN _o_result; BOOLEAN _o_result;
BOOLEAN ok, xCharArr, yCharArr; BOOLEAN ok, xCharArr, yCharArr;
xCharArr = (__IN((*x)->typ->comp, 0x0c) && (*x)->typ->BaseTyp->form == 3) || *Op__38_s->f == 8; xCharArr = (__IN((*x)->typ->comp, 0x0c, 32) && (*x)->typ->BaseTyp->form == 3) || *Op__38_s->f == 8;
yCharArr = (__IN((*y)->typ->comp, 0x0c) && (*y)->typ->BaseTyp->form == 3) || *Op__38_s->g == 8; yCharArr = (__IN((*y)->typ->comp, 0x0c, 32) && (*y)->typ->BaseTyp->form == 3) || *Op__38_s->g == 8;
if ((((xCharArr && *Op__38_s->g == 3)) && (*y)->class == 7)) { if ((((xCharArr && *Op__38_s->g == 3)) && (*y)->class == 7)) {
OPB_CharToString(*y); OPB_CharToString(*y);
*Op__38_s->g = 8; *Op__38_s->g = 8;
@ -1255,7 +1255,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
case 4: case 4:
if ((g == 4 && y->typ->size < z->typ->size)) { if ((g == 4 && y->typ->size < z->typ->size)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x70)) { } else if (__IN(g, 0x70, 32)) {
OPB_Convert(&z, y->typ); OPB_Convert(&z, y->typ);
} else { } else {
OPB_err(100); OPB_err(100);
@ -1264,23 +1264,23 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
case 5: case 5:
if (g == 4) { if (g == 4) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 32)) {
OPB_Convert(&z, y->typ); OPB_Convert(&z, y->typ);
} else { } else {
OPB_err(100); OPB_err(100);
} }
break; break;
case 6: case 6:
if (__IN(g, 0x70)) { if (__IN(g, 0x70, 32)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 32)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else { } else {
OPB_err(100); OPB_err(100);
} }
break; break;
case 9: case 9:
if (!__IN(g, 0x1800)) { if (!__IN(g, 0x1800, 32)) {
OPB_err(100); OPB_err(100);
} }
break; break;
@ -1341,7 +1341,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
y->obj = NIL; y->obj = NIL;
} }
} }
} else if (!__IN(f, 0xe1)) { } else if (!__IN(f, 0xe1, 32)) {
OPB_err(105); OPB_err(105);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1357,7 +1357,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
OPB_Convert(&z, OPT_realtyp); OPB_Convert(&z, OPT_realtyp);
OPB_Convert(&y, OPT_realtyp); OPB_Convert(&y, OPT_realtyp);
typ = OPT_realtyp; typ = OPT_realtyp;
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
if ((y->class == 7 && y->conval->realval == (LONGREAL)0)) { if ((y->class == 7 && y->conval->realval == (LONGREAL)0)) {
OPB_err(205); OPB_err(205);
} }
@ -1424,7 +1424,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 6: case 6:
if (!__IN(f, 0xf1)) { if (!__IN(f, 0xf1, 32)) {
OPB_err(105); OPB_err(105);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1443,7 +1443,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 7: case 7:
if (!__IN(f, 0xf1)) { if (!__IN(f, 0xf1, 32)) {
OPB_err(106); OPB_err(106);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1467,7 +1467,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 9: case 10: case 9: case 10:
if (__IN(f, 0x1aff) || strings__41(&z, &y)) { if (__IN(f, 0x1aff, 32) || strings__41(&z, &y)) {
typ = OPT_booltyp; typ = OPT_booltyp;
} else { } else {
OPB_err(107); OPB_err(107);
@ -1476,7 +1476,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
NewOp__39(op, typ, &z, y); NewOp__39(op, typ, &z, y);
break; break;
case 11: case 12: case 13: case 14: case 11: case 12: case 13: case 14:
if (__IN(f, 0x79) || strings__41(&z, &y)) { if (__IN(f, 0x79, 32) || strings__41(&z, &y)) {
typ = OPT_booltyp; typ = OPT_booltyp;
} else { } else {
OPM_LogWLn(); OPM_LogWLn();
@ -1518,10 +1518,10 @@ void OPB_SetRange (OPT_Node *x, OPT_Node y)
} }
if (((*x)->class == 7 && y->class == 7)) { if (((*x)->class == 7 && y->class == 7)) {
if (k <= l) { if (k <= l) {
(*x)->conval->setval = __SETRNG(k, l); (*x)->conval->setval = __SETRNG(k, l, 32);
} else { } else {
OPB_err(201); OPB_err(201);
(*x)->conval->setval = __SETRNG(l, k); (*x)->conval->setval = __SETRNG(l, k, 32);
} }
(*x)->obj = NIL; (*x)->obj = NIL;
} else { } else {
@ -1543,7 +1543,7 @@ void OPB_SetElem (OPT_Node *x)
} else if ((*x)->class == 7) { } else if ((*x)->class == 7) {
k = (*x)->conval->intval; k = (*x)->conval->intval;
if ((0 <= k && k <= OPM_MaxSet)) { if ((0 <= k && k <= OPM_MaxSet)) {
(*x)->conval->setval = __SETOF(k); (*x)->conval->setval = __SETOF(k,32);
} else { } else {
OPB_err(202); OPB_err(202);
} }
@ -1588,7 +1588,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
case 0: case 8: case 0: case 8:
break; break;
case 1: case 1:
if (!((__IN(g, 0x1a) && y->size == 1))) { if (!((__IN(g, 0x1a, 32) && y->size == 1))) {
OPB_err(113); OPB_err(113);
} }
break; break;
@ -1603,12 +1603,12 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
} }
break; break;
case 5: case 5:
if (!__IN(g, 0x30)) { if (!__IN(g, 0x30, 32)) {
OPB_err(113); OPB_err(113);
} }
break; break;
case 6: case 6:
if (!__IN(g, 0x70)) { if (!__IN(g, 0x70, 32)) {
OPB_err(113); OPB_err(113);
} }
break; break;
@ -1656,7 +1656,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
if (ynode->conval->intval2 > x->n) { if (ynode->conval->intval2 > x->n) {
OPB_err(114); OPB_err(114);
} }
} else if ((__IN(y->comp, 0x0c) && y->BaseTyp == OPT_chartyp)) { } else if ((__IN(y->comp, 0x0c, 32) && y->BaseTyp == OPT_chartyp)) {
} else { } else {
OPB_err(113); OPB_err(113);
} }
@ -1664,7 +1664,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
OPB_err(113); OPB_err(113);
} }
} else if ((x->comp == 3 && x->BaseTyp == OPT_chartyp)) { } else if ((x->comp == 3 && x->BaseTyp == OPT_chartyp)) {
if ((__IN(y->comp, 0x0c) && y->BaseTyp == OPT_chartyp)) { if ((__IN(y->comp, 0x0c, 32) && y->BaseTyp == OPT_chartyp)) {
} else { } else {
OPB_err(113); OPB_err(113);
} }
@ -1691,7 +1691,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
OPM_LogWLn(); OPM_LogWLn();
break; break;
} }
if ((((((ynode->class == 7 && g < f)) && __IN(g, 0x30))) && __IN(f, 0x70))) { if ((((((ynode->class == 7 && g < f)) && __IN(g, 0x30, 32))) && __IN(f, 0x70, 32))) {
OPB_Convert(&ynode, x); OPB_Convert(&ynode, x);
} }
} }
@ -1729,7 +1729,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
OPB_err(76); OPB_err(76);
} }
f = x->typ->BaseTyp->comp; f = x->typ->BaseTyp->comp;
if (__IN(f, 0x1c)) { if (__IN(f, 0x1c, 32)) {
if (f == 3) { if (f == 3) {
typ = x->typ->BaseTyp; typ = x->typ->BaseTyp;
} }
@ -1762,7 +1762,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
case 5: case 5:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 32)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else { } else {
OPB_err(111); OPB_err(111);
@ -1837,7 +1837,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
case 9: case 9:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x11)) { } else if (__IN(f, 0x11, 32)) {
OPB_Convert(&x, OPT_chartyp); OPB_Convert(&x, OPT_chartyp);
} else { } else {
OPB_err(111); OPB_err(111);
@ -1898,7 +1898,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
} }
break; break;
case 17: case 17:
if (!__IN(x->typ->comp, 0x0c)) { if (!__IN(x->typ->comp, 0x0c, 32)) {
OPB_err(131); OPB_err(131);
} }
break; break;
@ -1909,7 +1909,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
} }
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (((!__IN(x->typ->comp, 0x0c) || x->typ->BaseTyp->form != 3) && f != 8)) { } else if (((!__IN(x->typ->comp, 0x0c, 32) || x->typ->BaseTyp->form != 3) && f != 8)) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -1933,7 +1933,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
if (x->class != 8) { if (x->class != 8) {
OPB_err(110); OPB_err(110);
x = OPB_NewIntConst(1); x = OPB_NewIntConst(1);
} else if (__IN(f, 0x18fe) || __IN(x->typ->comp, 0x14)) { } else if (__IN(f, 0x18fe, 32) || __IN(x->typ->comp, 0x14, 32)) {
(*OPB_typSize)(x->typ); (*OPB_typSize)(x->typ);
x->typ->pvused = 1; x->typ->pvused = 1;
x = OPB_NewIntConst(x->typ->size); x = OPB_NewIntConst(x->typ->size);
@ -1948,7 +1948,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
case 22: case 23: case 22: case 23:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (!__IN(f, 0x9a)) { } else if (!__IN(f, 0x9a, 32)) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -1957,7 +1957,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
OPB_err(126); OPB_err(126);
} else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) { } else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else if (!((__IN(x->typ->form, 0x0810) && x->typ->size == OPM_PointerSize))) { } else if (!((__IN(x->typ->form, 0x0810, 32) && x->typ->size == OPM_PointerSize))) {
OPB_err(111); OPB_err(111);
x->typ = OPT_linttyp; x->typ = OPT_linttyp;
} }
@ -1974,7 +1974,7 @@ void OPB_StPar0 (OPT_Node *par0, int16 fctno)
case 29: case 29:
if (x->class != 8) { if (x->class != 8) {
OPB_err(110); OPB_err(110);
} else if (__IN(f, 0x0501) || x->typ->comp == 3) { } else if (__IN(f, 0x0501, 32) || x->typ->comp == 3) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -2070,11 +2070,11 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
} else if (x->typ->size == 1) { } else if (x->typ->size == 1) {
L = (int16)x->conval->intval; L = (int16)x->conval->intval;
typ = p->typ; typ = p->typ;
while ((L > 0 && __IN(typ->comp, 0x0c))) { while ((L > 0 && __IN(typ->comp, 0x0c, 32))) {
typ = typ->BaseTyp; typ = typ->BaseTyp;
L -= 1; L -= 1;
} }
if (L != 0 || !__IN(typ->comp, 0x0c)) { if (L != 0 || !__IN(typ->comp, 0x0c, 32)) {
OPB_err(132); OPB_err(132);
} else { } else {
x->obj = NIL; x->obj = NIL;
@ -2098,7 +2098,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
case 18: case 18:
if (OPB_NotVar(x)) { if (OPB_NotVar(x)) {
OPB_err(112); OPB_err(112);
} else if ((__IN(x->typ->comp, 0x0c) && x->typ->BaseTyp->form == 3)) { } else if ((__IN(x->typ->comp, 0x0c, 32) && x->typ->BaseTyp->form == 3)) {
if (x->readonly) { if (x->readonly) {
OPB_err(76); OPB_err(76);
} }
@ -2172,7 +2172,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
case 24: case 25: case 26: case 27: case 24: case 25: case 26: case 27:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x18ff)) { } else if (__IN(f, 0x18ff, 32)) {
if (fctno == 24 || fctno == 26) { if (fctno == 24 || fctno == 26) {
if (OPB_NotVar(x)) { if (OPB_NotVar(x)) {
OPB_err(112); OPB_err(112);
@ -2198,7 +2198,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
p->typ = OPT_booltyp; p->typ = OPT_booltyp;
break; break;
case 29: case 29:
if (((x->class == 8 || x->class == 9) || __IN(f, 0x0501)) || x->typ->comp == 3) { if (((x->class == 8 || x->class == 9) || __IN(f, 0x0501, 32)) || x->typ->comp == 3) {
OPB_err(126); OPB_err(126);
} }
if ((x->class != 7 && x->typ->size < p->typ->size)) { if ((x->class != 7 && x->typ->size < p->typ->size)) {
@ -2230,7 +2230,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
OPB_err(126); OPB_err(126);
} else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) { } else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else if (!((__IN(x->typ->form, 0x0810) && x->typ->size == OPM_PointerSize))) { } else if (!((__IN(x->typ->form, 0x0810, 32) && x->typ->size == OPM_PointerSize))) {
OPB_err(111); OPB_err(111);
x->typ = OPT_linttyp; x->typ = OPT_linttyp;
} }
@ -2384,12 +2384,12 @@ static void OPB_DynArrParCheck (OPT_Struct ftyp, OPT_Struct atyp, BOOLEAN fvarpa
ftyp = ftyp->BaseTyp; ftyp = ftyp->BaseTyp;
atyp = atyp->BaseTyp; atyp = atyp->BaseTyp;
if ((fvarpar && ftyp == OPT_bytetyp)) { if ((fvarpar && ftyp == OPT_bytetyp)) {
if (!__IN(f, 0x0c) || !((__IN(atyp->form, 0x1e) && atyp->size == 1))) { if (!__IN(f, 0x0c, 32) || !((__IN(atyp->form, 0x1e, 32) && atyp->size == 1))) {
if (__IN(18, OPM_opt)) { if (__IN(18, OPM_opt, 32)) {
OPB_err(-301); OPB_err(-301);
} }
} }
} else if (__IN(f, 0x0c)) { } else if (__IN(f, 0x0c, 32)) {
if (ftyp->comp == 3) { if (ftyp->comp == 3) {
OPB_DynArrParCheck(ftyp, atyp, fvarpar); OPB_DynArrParCheck(ftyp, atyp, fvarpar);
} else if (ftyp != atyp) { } else if (ftyp != atyp) {
@ -2428,7 +2428,7 @@ static void OPB_CheckReceiver (OPT_Node *x, OPT_Object fp)
void OPB_PrepCall (OPT_Node *x, OPT_Object *fpar) void OPB_PrepCall (OPT_Node *x, OPT_Object *fpar)
{ {
if (((*x)->obj != NIL && __IN((*x)->obj->mode, 0x22c0))) { if (((*x)->obj != NIL && __IN((*x)->obj->mode, 0x22c0, 32))) {
*fpar = (*x)->obj->link; *fpar = (*x)->obj->link;
if ((*x)->obj->mode == 13) { if ((*x)->obj->mode == 13) {
OPB_CheckReceiver(&(*x)->left, *fpar); OPB_CheckReceiver(&(*x)->left, *fpar);
@ -2467,7 +2467,7 @@ void OPB_Param (OPT_Node ap, OPT_Object fp)
OPB_err(111); OPB_err(111);
} }
} else if ((fp->typ == OPT_sysptrtyp && ap->typ->form == 11)) { } else if ((fp->typ == OPT_sysptrtyp && ap->typ->form == 11)) {
} else if ((ap->typ != fp->typ && !((fp->typ->form == 1 && ((__IN(ap->typ->form, 0x1e) && ap->typ->size == 1)))))) { } else if ((ap->typ != fp->typ && !((fp->typ->form == 1 && ((__IN(ap->typ->form, 0x1e, 32) && ap->typ->size == 1)))))) {
OPB_err(123); OPB_err(123);
} else if ((fp->typ->form == 11 && ap->class == 5)) { } else if ((fp->typ->form == 11 && ap->class == 5)) {
OPB_err(123); OPB_err(123);
@ -2494,7 +2494,7 @@ void OPB_StaticLink (int8 dlev)
scope = OPT_topScope; scope = OPT_topScope;
while (dlev > 0) { while (dlev > 0) {
dlev -= 1; dlev -= 1;
scope->link->conval->setval |= __SETOF(3); scope->link->conval->setval |= __SETOF(3,32);
scope = scope->left; scope = scope->left;
} }
} }
@ -2589,7 +2589,7 @@ void OPB_Assign (OPT_Node *x, OPT_Node y)
y->conval->intval = 0; y->conval->intval = 0;
OPB_Index(&*x, OPB_NewIntConst(0)); OPB_Index(&*x, OPB_NewIntConst(0));
} }
if ((((((__IN((*x)->typ->comp, 0x0c) && (*x)->typ->BaseTyp == OPT_chartyp)) && __IN(y->typ->comp, 0x0c))) && y->typ->BaseTyp == OPT_chartyp)) { if ((((((__IN((*x)->typ->comp, 0x0c, 32) && (*x)->typ->BaseTyp == OPT_chartyp)) && __IN(y->typ->comp, 0x0c, 32))) && y->typ->BaseTyp == OPT_chartyp)) {
subcl = 18; subcl = 18;
} else { } else {
subcl = 0; subcl = 0;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPB__h #ifndef OPB__h
#define OPB__h #define OPB__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -93,9 +93,9 @@ static BOOLEAN OPC_Undefined (OPT_Object obj);
void OPC_Init (void) void OPC_Init (void)
{ {
OPC_indentLevel = 0; OPC_indentLevel = 0;
OPC_ptrinit = __IN(5, OPM_opt); OPC_ptrinit = __IN(5, OPM_opt, 32);
OPC_mainprog = OPM_mainProg || OPM_mainLinkStat; OPC_mainprog = OPM_mainProg || OPM_mainLinkStat;
OPC_ansi = __IN(6, OPM_opt); OPC_ansi = __IN(6, OPM_opt, 32);
if (OPC_ansi) { if (OPC_ansi) {
__MOVE("__init(void)", OPC_BodyNameExt, 13); __MOVE("__init(void)", OPC_BodyNameExt, 13);
} else { } else {
@ -196,7 +196,7 @@ void OPC_Ident (OPT_Object obj)
int16 mode, level, h; int16 mode, level, h;
mode = obj->mode; mode = obj->mode;
level = obj->mnolev; level = obj->mnolev;
if ((__IN(mode, 0x62) && level > 0) || __IN(mode, 0x14)) { if ((__IN(mode, 0x62, 32) && level > 0) || __IN(mode, 0x14, 32)) {
OPM_WriteStringVar((void*)obj->name, 256); OPM_WriteStringVar((void*)obj->name, 256);
h = OPC_PerfectHash((void*)obj->name, 256); h = OPC_PerfectHash((void*)obj->name, 256);
if (OPC_hashtab[__X(h, 105)] >= 0) { if (OPC_hashtab[__X(h, 105)] >= 0) {
@ -236,7 +236,7 @@ static void OPC_Stars (OPT_Struct typ, BOOLEAN *openClause)
int16 pointers; int16 pointers;
*openClause = 0; *openClause = 0;
if (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->comp != 4)) { if (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->comp != 4)) {
if (__IN(typ->comp, 0x0c)) { if (__IN(typ->comp, 0x0c, 32)) {
OPC_Stars(typ->BaseTyp, &*openClause); OPC_Stars(typ->BaseTyp, &*openClause);
*openClause = typ->comp == 2; *openClause = typ->comp == 2;
} else if (typ->form == 12) { } else if (typ->form == 12) {
@ -293,7 +293,7 @@ static void OPC_DeclareObj (OPT_Object dcl, BOOLEAN scopeDef)
break; break;
} else if ((form == 11 && typ->BaseTyp->comp != 3)) { } else if ((form == 11 && typ->BaseTyp->comp != 3)) {
openClause = 1; openClause = 1;
} else if (form == 12 || __IN(comp, 0x0c)) { } else if (form == 12 || __IN(comp, 0x0c, 32)) {
if (openClause) { if (openClause) {
OPM_Write(')'); OPM_Write(')');
openClause = 0; openClause = 0;
@ -708,7 +708,7 @@ static void OPC_DefineType (OPT_Struct str)
if (str->BaseTyp->comp != 4) { if (str->BaseTyp->comp != 4) {
OPC_DefineType(str->BaseTyp); OPC_DefineType(str->BaseTyp);
} }
} else if (__IN(str->comp, 0x0c)) { } else if (__IN(str->comp, 0x0c, 32)) {
OPC_DefineType(str->BaseTyp); OPC_DefineType(str->BaseTyp);
} else if (str->form == 12) { } else if (str->form == 12) {
if (str->BaseTyp != OPT_notyp) { if (str->BaseTyp != OPT_notyp) {
@ -1019,7 +1019,7 @@ static void OPC_IdentList (OPT_Object obj, int16 vis)
base = NIL; base = NIL;
first = 1; first = 1;
while ((obj != NIL && obj->mode != 13)) { while ((obj != NIL && obj->mode != 13)) {
if ((__IN(vis, 0x05) || (vis == 1 && obj->vis != 0)) || (vis == 3 && !obj->leaf)) { if ((__IN(vis, 0x05, 32) || (vis == 1 && obj->vis != 0)) || (vis == 3 && !obj->leaf)) {
if (obj->typ != base || (int16)obj->vis != lastvis) { if (obj->typ != base || (int16)obj->vis != lastvis) {
if (!first) { if (!first) {
OPC_EndStat(); OPC_EndStat();
@ -1144,7 +1144,7 @@ static void OPC_ProcPredefs (OPT_Object obj, int8 vis)
{ {
if (obj != NIL) { if (obj != NIL) {
OPC_ProcPredefs(obj->left, vis); OPC_ProcPredefs(obj->left, vis);
if ((((__IN(obj->mode, 0xc0) && obj->vis >= vis)) && (obj->history != 4 || obj->mode == 6))) { if ((((__IN(obj->mode, 0xc0, 32) && obj->vis >= vis)) && (obj->history != 4 || obj->mode == 6))) {
if (vis == 1) { if (vis == 1) {
OPM_WriteString((CHAR*)"import ", 8); OPM_WriteString((CHAR*)"import ", 8);
} else if (obj->vis == 0) { } else if (obj->vis == 0) {
@ -1238,7 +1238,7 @@ static void OPC_GenHeaderMsg (void)
OPM_Write(' '); OPM_Write(' ');
i = 0; i = 0;
while (i <= 31) { while (i <= 31) {
if (__IN(i, OPM_glbopt)) { if (__IN(i, OPM_glbopt, 32)) {
switch (i) { switch (i) {
case 0: case 0:
OPM_Write('x'); OPM_Write('x');
@ -1600,7 +1600,7 @@ void OPC_EnterProc (OPT_Object proc)
} }
var = proc->link; var = proc->link;
while (var != NIL) { while (var != NIL) {
if ((((__IN(var->typ->comp, 0x0c) && var->mode == 1)) && var->typ->sysflag == 0)) { if ((((__IN(var->typ->comp, 0x0c, 32) && var->mode == 1)) && var->typ->sysflag == 0)) {
OPC_BegStat(); OPC_BegStat();
if (var->typ->comp == 2) { if (var->typ->comp == 2) {
OPM_WriteString((CHAR*)"__DUPARR(", 10); OPM_WriteString((CHAR*)"__DUPARR(", 10);
@ -1648,7 +1648,7 @@ void OPC_EnterProc (OPT_Object proc)
OPM_Write('.'); OPM_Write('.');
OPC_Ident(var); OPC_Ident(var);
OPM_WriteString((CHAR*)" = ", 4); OPM_WriteString((CHAR*)" = ", 4);
if (__IN(var->typ->comp, 0x0c)) { if (__IN(var->typ->comp, 0x0c, 32)) {
OPM_WriteString((CHAR*)"(void*)", 8); OPM_WriteString((CHAR*)"(void*)", 8);
} else if (var->mode != 2) { } else if (var->mode != 2) {
OPM_Write('&'); OPM_Write('&');
@ -2006,7 +2006,7 @@ void OPC_Constant (OPT_Const con, int16 form)
do { do {
i -= 1; i -= 1;
hex = __ASHL(hex, 1); hex = __ASHL(hex, 1);
if (__IN(i, s)) { if (__IN(i, s, 32)) {
hex += 1; hex += 1;
} }
} while (!(__MASK(i, -8) == 0)); } while (!(__MASK(i, -8) == 0));

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPC__h #ifndef OPC__h
#define OPC__h #define OPC__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -288,15 +288,15 @@ void OPM_InitOptions (void)
s[0] = 0x00; s[0] = 0x00;
Platform_GetArg(OPM_S, (void*)s, 256); Platform_GetArg(OPM_S, (void*)s, 256);
} }
OPM_dontAsm = __IN(13, OPM_opt); OPM_dontAsm = __IN(13, OPM_opt, 32);
OPM_dontLink = __IN(14, OPM_opt); OPM_dontLink = __IN(14, OPM_opt, 32);
OPM_mainProg = __IN(10, OPM_opt); OPM_mainProg = __IN(10, OPM_opt, 32);
OPM_mainLinkStat = __IN(15, OPM_opt); OPM_mainLinkStat = __IN(15, OPM_opt, 32);
OPM_notColorOutput = __IN(16, OPM_opt); OPM_notColorOutput = __IN(16, OPM_opt, 32);
OPM_forceNewSym = __IN(17, OPM_opt); OPM_forceNewSym = __IN(17, OPM_opt, 32);
OPM_Verbose = __IN(18, OPM_opt); OPM_Verbose = __IN(18, OPM_opt, 32);
if (OPM_mainLinkStat) { if (OPM_mainLinkStat) {
OPM_glbopt |= __SETOF(10); OPM_glbopt |= __SETOF(10,32);
} }
OPM_GetProperties(); OPM_GetProperties();
} }
@ -773,7 +773,7 @@ void OPM_SymWLReal (LONGREAL lr)
void OPM_RegisterNewSym (void) void OPM_RegisterNewSym (void)
{ {
if (__STRCMP(OPM_modName, "SYSTEM") != 0 || __IN(10, OPM_opt)) { if (__STRCMP(OPM_modName, "SYSTEM") != 0 || __IN(10, OPM_opt, 32)) {
Files_Register(OPM_newSFile); Files_Register(OPM_newSFile);
} }
} }
@ -972,10 +972,10 @@ void OPM_CloseFiles (void)
} }
if (OPM_noerr) { if (OPM_noerr) {
if (__STRCMP(OPM_modName, "SYSTEM") == 0) { if (__STRCMP(OPM_modName, "SYSTEM") == 0) {
if (!__IN(10, OPM_opt)) { if (!__IN(10, OPM_opt, 32)) {
Files_Register(OPM_BFile); Files_Register(OPM_BFile);
} }
} else if (!__IN(10, OPM_opt)) { } else if (!__IN(10, OPM_opt, 32)) {
OPM_Append(&OPM_R[2], Files_Rider__typ, OPM_HFile); OPM_Append(&OPM_R[2], Files_Rider__typ, OPM_HFile);
Files_Register(OPM_HIFile); Files_Register(OPM_HIFile);
Files_Register(OPM_BFile); Files_Register(OPM_BFile);

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPM__h #ifndef OPM__h
#define OPM__h #define OPM__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -94,7 +94,7 @@ static void OPP_qualident (OPT_Object *id)
obj->adr = 0; obj->adr = 0;
} else { } else {
lev = obj->mnolev; lev = obj->mnolev;
if ((__IN(obj->mode, 0x06) && lev != OPP_level)) { if ((__IN(obj->mode, 0x06, 32) && lev != OPP_level)) {
obj->leaf = 0; obj->leaf = 0;
if (lev > 0) { if (lev > 0) {
OPB_StaticLink(OPP_level - lev); OPB_StaticLink(OPP_level - lev);
@ -325,7 +325,7 @@ static void OPP_PointerType (OPT_Struct *typ)
} else { } else {
OPP_qualident(&id); OPP_qualident(&id);
if (id->mode == 5) { if (id->mode == 5) {
if (__IN(id->typ->comp, 0x1c)) { if (__IN(id->typ->comp, 0x1c, 32)) {
(*typ)->BaseTyp = id->typ; (*typ)->BaseTyp = id->typ;
} else { } else {
(*typ)->BaseTyp = OPT_undftyp; (*typ)->BaseTyp = OPT_undftyp;
@ -338,7 +338,7 @@ static void OPP_PointerType (OPT_Struct *typ)
} }
} else { } else {
OPP_Type(&(*typ)->BaseTyp, &OPT_notyp); OPP_Type(&(*typ)->BaseTyp, &OPT_notyp);
if (!__IN((*typ)->BaseTyp->comp, 0x1c)) { if (!__IN((*typ)->BaseTyp->comp, 0x1c, 32)) {
(*typ)->BaseTyp = OPT_undftyp; (*typ)->BaseTyp = OPT_undftyp;
OPP_err(57); OPP_err(57);
} }
@ -966,7 +966,7 @@ static void GetCode__19 (void)
} }
} }
} }
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1,32);
} }
static void GetParams__21 (void) static void GetParams__21 (void)
@ -998,7 +998,7 @@ static void Body__17 (void)
OPT_Node procdec = NIL, statseq = NIL; OPT_Node procdec = NIL, statseq = NIL;
int32 c; int32 c;
c = OPM_errpos; c = OPM_errpos;
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1,32);
OPP_CheckSym(39); OPP_CheckSym(39);
OPP_Block(&procdec, &statseq); OPP_Block(&procdec, &statseq);
OPB_Enter(&procdec, statseq, *ProcedureDeclaration__16_s->proc); OPB_Enter(&procdec, statseq, *ProcedureDeclaration__16_s->proc);
@ -1041,7 +1041,7 @@ static void TProcDecl__23 (void)
if ((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mnolev != OPP_level)) { if ((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mnolev != OPP_level)) {
*ProcedureDeclaration__16_s->fwd = NIL; *ProcedureDeclaration__16_s->fwd = NIL;
} }
if ((((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mode == 13)) && !__IN(1, (*ProcedureDeclaration__16_s->fwd)->conval->setval))) { if ((((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mode == 13)) && !__IN(1, (*ProcedureDeclaration__16_s->fwd)->conval->setval, 32))) {
*ProcedureDeclaration__16_s->proc = OPT_NewObj(); *ProcedureDeclaration__16_s->proc = OPT_NewObj();
(*ProcedureDeclaration__16_s->proc)->leaf = 1; (*ProcedureDeclaration__16_s->proc)->leaf = 1;
if ((*ProcedureDeclaration__16_s->fwd)->vis != *ProcedureDeclaration__16_s->vis) { if ((*ProcedureDeclaration__16_s->fwd)->vis != *ProcedureDeclaration__16_s->vis) {
@ -1075,7 +1075,7 @@ static void TProcDecl__23 (void)
if ((((((baseProc->vis == 1 && (*ProcedureDeclaration__16_s->proc)->vis == 0)) && recTyp->strobj != NIL)) && recTyp->strobj->vis == 1)) { if ((((((baseProc->vis == 1 && (*ProcedureDeclaration__16_s->proc)->vis == 0)) && recTyp->strobj != NIL)) && recTyp->strobj->vis == 1)) {
OPP_err(109); OPP_err(109);
} }
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(2); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(2,32);
} }
if (!*ProcedureDeclaration__16_s->forward) { if (!*ProcedureDeclaration__16_s->forward) {
Body__17(); Body__17();
@ -1118,7 +1118,7 @@ static void OPP_ProcedureDeclaration (OPT_Node *x)
} else { } else {
OPP_err(38); OPP_err(38);
} }
if ((__IN(mode, 0x0600) && !OPT_SYSimported)) { if ((__IN(mode, 0x0600, 32) && !OPT_SYSimported)) {
OPP_err(135); OPP_err(135);
} }
OPS_Get(&OPP_sym); OPS_Get(&OPP_sym);
@ -1135,7 +1135,7 @@ static void OPP_ProcedureDeclaration (OPT_Node *x)
if ((fwd != NIL && (fwd->mnolev != OPP_level || fwd->mode == 8))) { if ((fwd != NIL && (fwd->mnolev != OPP_level || fwd->mode == 8))) {
fwd = NIL; fwd = NIL;
} }
if ((((fwd != NIL && __IN(fwd->mode, 0xc0))) && !__IN(1, fwd->conval->setval))) { if ((((fwd != NIL && __IN(fwd->mode, 0xc0, 32))) && !__IN(1, fwd->conval->setval, 32))) {
proc = OPT_NewObj(); proc = OPT_NewObj();
proc->leaf = 1; proc->leaf = 1;
if (fwd->vis != vis) { if (fwd->vis != vis) {
@ -1178,7 +1178,7 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, int16 *n, OPP
for (;;) { for (;;) {
OPP_ConstExpression(&x); OPP_ConstExpression(&x);
f = x->typ->form; f = x->typ->form;
if (__IN(f, 0x18)) { if (__IN(f, 0x18, 32)) {
xval = x->conval->intval; xval = x->conval->intval;
} else { } else {
OPP_err(61); OPP_err(61);
@ -1258,7 +1258,7 @@ static void CasePart__31 (OPT_Node *x)
*StatSeq__30_s->pos = OPM_errpos; *StatSeq__30_s->pos = OPM_errpos;
if ((*x)->class == 8 || (*x)->class == 9) { if ((*x)->class == 8 || (*x)->class == 9) {
OPP_err(126); OPP_err(126);
} else if (!__IN((*x)->typ->form, 0x18)) { } else if (!__IN((*x)->typ->form, 0x18, 32)) {
OPP_err(125); OPP_err(125);
} }
OPP_CheckSym(25); OPP_CheckSym(25);
@ -1675,7 +1675,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq)
if (obj->typ->strobj == NIL) { if (obj->typ->strobj == NIL) {
obj->typ->strobj = obj; obj->typ->strobj = obj;
} }
if (__IN(obj->typ->comp, 0x1c)) { if (__IN(obj->typ->comp, 0x1c, 32)) {
i = 0; i = 0;
while (i < OPP_nofFwdPtr) { while (i < OPP_nofFwdPtr) {
typ = OPP_FwdPtr[__X(i, 64)]; typ = OPP_FwdPtr[__X(i, 64)];

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPP__h #ifndef OPP__h
#define OPP__h #define OPP__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#ifndef OPS__h #ifndef OPS__h
#define OPS__h #define OPS__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -274,9 +274,9 @@ void OPT_Init (OPS_Name name, SET opt)
__COPY(name, OPT_topScope->name, 256); __COPY(name, OPT_topScope->name, 256);
OPT_GlbMod[0] = OPT_topScope; OPT_GlbMod[0] = OPT_topScope;
OPT_nofGmod = 1; OPT_nofGmod = 1;
OPT_newsf = __IN(4, opt); OPT_newsf = __IN(4, opt, 32);
OPT_findpc = __IN(8, opt); OPT_findpc = __IN(8, opt, 32);
OPT_extsf = OPT_newsf || __IN(9, opt); OPT_extsf = OPT_newsf || __IN(9, opt, 32);
OPT_sfpresent = 1; OPT_sfpresent = 1;
} }
@ -609,7 +609,7 @@ void OPT_FPrintStr (OPT_Struct typ)
pvfp = pbfp; pvfp = pbfp;
} }
} else if (f == 12) { } else if (f == 12) {
} else if (__IN(c, 0x0c)) { } else if (__IN(c, 0x0c, 32)) {
OPT_FPrintStr(btyp); OPT_FPrintStr(btyp);
OPM_FPrint(&pbfp, btyp->pvfp); OPM_FPrint(&pbfp, btyp->pvfp);
pvfp = pbfp; pvfp = pbfp;
@ -680,7 +680,7 @@ void OPT_FPrintObj (OPT_Object obj)
OPM_FPrint(&fprint, obj->vis); OPM_FPrint(&fprint, obj->vis);
OPT_FPrintStr(obj->typ); OPT_FPrintStr(obj->typ);
OPM_FPrint(&fprint, obj->typ->pbfp); OPM_FPrint(&fprint, obj->typ->pbfp);
} else if (__IN(obj->mode, 0x0480)) { } else if (__IN(obj->mode, 0x0480, 32)) {
OPT_FPrintSign(&fprint, obj->typ, obj->link); OPT_FPrintSign(&fprint, obj->typ, obj->link);
} else if (obj->mode == 9) { } else if (obj->mode == 9) {
OPT_FPrintSign(&fprint, obj->typ, obj->link); OPT_FPrintSign(&fprint, obj->typ, obj->link);
@ -1573,7 +1573,7 @@ static void OPT_OutObj (OPT_Object obj)
OPT_ConstExt ext = NIL; OPT_ConstExt ext = NIL;
if (obj != NIL) { if (obj != NIL) {
OPT_OutObj(obj->left); OPT_OutObj(obj->left);
if (__IN(obj->mode, 0x06ea)) { if (__IN(obj->mode, 0x06ea, 32)) {
if (obj->history == 4) { if (obj->history == 4) {
OPT_FPrintErr(obj, 250); OPT_FPrintErr(obj, 250);
} else if (obj->vis != 0) { } else if (obj->vis != 0) {

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPT__h #ifndef OPT__h
#define OPT__h #define OPT__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -130,10 +130,10 @@ void OPV_Init (void)
OPV_stamp = 0; OPV_stamp = 0;
OPV_recno = 0; OPV_recno = 0;
OPV_nofExitLabels = 0; OPV_nofExitLabels = 0;
OPV_assert = __IN(7, OPM_opt); OPV_assert = __IN(7, OPM_opt, 32);
OPV_inxchk = __IN(0, OPM_opt); OPV_inxchk = __IN(0, OPM_opt, 32);
OPV_mainprog = __IN(10, OPM_opt); OPV_mainprog = __IN(10, OPM_opt, 32);
OPV_ansi = __IN(6, OPM_opt); OPV_ansi = __IN(6, OPM_opt, 32);
} }
static void OPV_GetTProcNum (OPT_Object obj) static void OPV_GetTProcNum (OPT_Object obj)
@ -150,7 +150,7 @@ static void OPV_GetTProcNum (OPT_Object obj)
OPT_FindField(obj->name, typ->BaseTyp, &redef); OPT_FindField(obj->name, typ->BaseTyp, &redef);
if (redef != NIL) { if (redef != NIL) {
obj->adr = __ASHL(__ASHR(redef->adr, 16), 16); obj->adr = __ASHL(__ASHR(redef->adr, 16), 16);
if (!__IN(2, obj->conval->setval)) { if (!__IN(2, obj->conval->setval, 32)) {
OPM_err(119); OPM_err(119);
} }
} else { } else {
@ -230,12 +230,12 @@ static void OPV_Traverse (OPT_Object obj, OPT_Object outerScope, BOOLEAN exporte
OPV_TypSize(obj->typ); OPV_TypSize(obj->typ);
} }
if (!exported) { if (!exported) {
if ((__IN(mode, 0x60) && obj->mnolev > 0)) { if ((__IN(mode, 0x60, 32) && obj->mnolev > 0)) {
OPV_Stamp(obj->name); OPV_Stamp(obj->name);
} }
if (__IN(mode, 0x26)) { if (__IN(mode, 0x26, 32)) {
obj->scope = outerScope; obj->scope = outerScope;
} else if (__IN(mode, 0x26c0)) { } else if (__IN(mode, 0x26c0, 32)) {
if (obj->conval->setval == 0x0) { if (obj->conval->setval == 0x0) {
OPM_err(129); OPM_err(129);
} }
@ -289,7 +289,7 @@ static int16 OPV_Precedence (int16 class, int16 subclass, int16 form, int16 comp
return _o_result; return _o_result;
break; break;
case 5: case 5:
if (__IN(3, OPM_opt)) { if (__IN(3, OPM_opt, 32)) {
_o_result = 10; _o_result = 10;
return _o_result; return _o_result;
} else { } else {
@ -298,7 +298,7 @@ static int16 OPV_Precedence (int16 class, int16 subclass, int16 form, int16 comp
} }
break; break;
case 1: case 1:
if (__IN(comp, 0x0c)) { if (__IN(comp, 0x0c, 32)) {
_o_result = 10; _o_result = 10;
return _o_result; return _o_result;
} else { } else {
@ -445,7 +445,7 @@ static BOOLEAN OPV_SideEffects (OPT_Node n)
static void OPV_Entier (OPT_Node n, int16 prec) static void OPV_Entier (OPT_Node n, int16 prec)
{ {
if (__IN(n->typ->form, 0x60)) { if (__IN(n->typ->form, 0x60, 32)) {
OPM_WriteString((CHAR*)"__ENTIER(", 10); OPM_WriteString((CHAR*)"__ENTIER(", 10);
OPV_expr(n, -1); OPV_expr(n, -1);
OPM_Write(')'); OPM_Write(')');
@ -471,9 +471,11 @@ static void OPV_Convert (OPT_Node n, OPT_Struct newtype, int16 prec)
if (to == 7) { if (to == 7) {
OPM_WriteString((CHAR*)"__SETOF(", 9); OPM_WriteString((CHAR*)"__SETOF(", 9);
OPV_Entier(n, -1); OPV_Entier(n, -1);
OPM_WriteString((CHAR*)",", 2);
OPM_WriteInt(__ASHL(newtype->size, 3));
OPM_Write(')'); OPM_Write(')');
} else if (to == 4) { } else if (to == 4) {
if ((newtype->size < n->typ->size && __IN(2, OPM_opt))) { if ((newtype->size < n->typ->size && __IN(2, OPM_opt, 32))) {
OPM_WriteString((CHAR*)"__SHORT", 8); OPM_WriteString((CHAR*)"__SHORT", 8);
if (OPV_SideEffects(n)) { if (OPV_SideEffects(n)) {
OPM_Write('F'); OPM_Write('F');
@ -488,7 +490,7 @@ static void OPV_Convert (OPT_Node n, OPT_Struct newtype, int16 prec)
OPV_Entier(n, 9); OPV_Entier(n, 9);
} }
} else if (to == 3) { } else if (to == 3) {
if (__IN(2, OPM_opt)) { if (__IN(2, OPM_opt, 32)) {
OPM_WriteString((CHAR*)"__CHR", 6); OPM_WriteString((CHAR*)"__CHR", 6);
if (OPV_SideEffects(n)) { if (OPV_SideEffects(n)) {
OPM_Write('F'); OPM_Write('F');
@ -511,7 +513,7 @@ static void OPV_TypeOf (OPT_Node n)
OPM_WriteString((CHAR*)"__TYPEOF(", 10); OPM_WriteString((CHAR*)"__TYPEOF(", 10);
OPV_expr(n, -1); OPV_expr(n, -1);
OPM_Write(')'); OPM_Write(')');
} else if (__IN(n->class, 0x15)) { } else if (__IN(n->class, 0x15, 32)) {
OPC_Andent(n->typ); OPC_Andent(n->typ);
OPM_WriteString((CHAR*)"__typ", 6); OPM_WriteString((CHAR*)"__typ", 6);
} else if (n->class == 3) { } else if (n->class == 3) {
@ -572,7 +574,7 @@ static void OPV_design (OPT_Node n, int16 prec)
OPC_CompleteIdent(n->obj); OPC_CompleteIdent(n->obj);
break; break;
case 1: case 1:
if (!__IN(comp, 0x0c)) { if (!__IN(comp, 0x0c, 32)) {
OPM_Write('*'); OPM_Write('*');
} }
OPC_CompleteIdent(n->obj); OPC_CompleteIdent(n->obj);
@ -651,7 +653,7 @@ static void OPV_design (OPT_Node n, int16 prec)
case 5: case 5:
typ = n->typ; typ = n->typ;
obj = n->left->obj; obj = n->left->obj;
if (__IN(3, OPM_opt)) { if (__IN(3, OPM_opt, 32)) {
if (typ->comp == 4) { if (typ->comp == 4) {
OPM_WriteString((CHAR*)"__GUARDR(", 10); OPM_WriteString((CHAR*)"__GUARDR(", 10);
if ((int16)obj->mnolev != OPM_level) { if ((int16)obj->mnolev != OPM_level) {
@ -690,7 +692,7 @@ static void OPV_design (OPT_Node n, int16 prec)
} }
break; break;
case 6: case 6:
if (__IN(3, OPM_opt)) { if (__IN(3, OPM_opt, 32)) {
if (n->left->class == 1) { if (n->left->class == 1) {
OPM_WriteString((CHAR*)"__GUARDEQR(", 12); OPM_WriteString((CHAR*)"__GUARDEQR(", 12);
OPC_CompleteIdent(n->left->obj); OPC_CompleteIdent(n->left->obj);
@ -749,7 +751,7 @@ static void OPV_ActualPar (OPT_Node n, OPT_Object fp)
OPM_WriteString((CHAR*)"*)", 3); OPM_WriteString((CHAR*)"*)", 3);
prec = 10; prec = 10;
} }
if (!__IN(n->typ->comp, 0x0c)) { if (!__IN(n->typ->comp, 0x0c, 32)) {
if (mode == 2) { if (mode == 2) {
if ((OPV_ansi && typ != n->typ)) { if ((OPV_ansi && typ != n->typ)) {
OPM_WriteString((CHAR*)"(void*)", 8); OPM_WriteString((CHAR*)"(void*)", 8);
@ -757,13 +759,13 @@ static void OPV_ActualPar (OPT_Node n, OPT_Object fp)
OPM_Write('&'); OPM_Write('&');
prec = 9; prec = 9;
} else if (OPV_ansi) { } else if (OPV_ansi) {
if ((__IN(comp, 0x0c) && n->class == 7)) { if ((__IN(comp, 0x0c, 32) && n->class == 7)) {
OPM_WriteString((CHAR*)"(CHAR*)", 8); OPM_WriteString((CHAR*)"(CHAR*)", 8);
} else if ((((form == 11 && typ != n->typ)) && n->typ != OPT_niltyp)) { } else if ((((form == 11 && typ != n->typ)) && n->typ != OPT_niltyp)) {
OPM_WriteString((CHAR*)"(void*)", 8); OPM_WriteString((CHAR*)"(void*)", 8);
} }
} else { } else {
if ((__IN(form, 0x60) && n->typ->form == 4)) { if ((__IN(form, 0x60, 32) && n->typ->form == 4)) {
OPM_WriteString((CHAR*)"(double)", 9); OPM_WriteString((CHAR*)"(double)", 9);
prec = 9; prec = 9;
} else if (form == 4) { } else if (form == 4) {
@ -846,7 +848,7 @@ static void OPV_expr (OPT_Node n, int16 prec)
l = n->left; l = n->left;
r = n->right; r = n->right;
exprPrec = OPV_Precedence(class, subclass, form, n->typ->comp); exprPrec = OPV_Precedence(class, subclass, form, n->typ->comp);
if ((exprPrec <= prec && __IN(class, 0x3ce0))) { if ((exprPrec <= prec && __IN(class, 0x3ce0, 32))) {
OPM_Write('('); OPM_Write('(');
} }
switch (class) { switch (class) {
@ -858,6 +860,8 @@ static void OPV_expr (OPT_Node n, int16 prec)
OPV_expr(l, -1); OPV_expr(l, -1);
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
OPV_expr(r, -1); OPV_expr(r, -1);
OPM_WriteString((CHAR*)", ", 3);
OPM_WriteInt(__ASHL(n->typ->size, 3));
OPM_Write(')'); OPM_Write(')');
break; break;
case 11: case 11:
@ -924,18 +928,18 @@ static void OPV_expr (OPT_Node n, int16 prec)
if (l->class == 1) { if (l->class == 1) {
OPC_CompleteIdent(l->obj); OPC_CompleteIdent(l->obj);
} else { } else {
if ((l->typ->form != 8 && !__IN(l->typ->comp, 0x0c))) { if ((l->typ->form != 8 && !__IN(l->typ->comp, 0x0c, 32))) {
OPM_Write('&'); OPM_Write('&');
} }
OPV_expr(l, exprPrec); OPV_expr(l, exprPrec);
} }
break; break;
case 29: case 29:
if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x1890) && __IN(l->typ->form, 0x1890))) && n->typ->size == l->typ->size)) { if (!__IN(l->class, 0x17, 32) || (((__IN(n->typ->form, 0x1890, 32) && __IN(l->typ->form, 0x1890, 32))) && n->typ->size == l->typ->size)) {
OPM_Write('('); OPM_Write('(');
OPC_Ident(n->typ->strobj); OPC_Ident(n->typ->strobj);
OPM_Write(')'); OPM_Write(')');
if (__IN(n->typ->form, 0x1800) || __IN(l->typ->form, 0x1800)) { if (__IN(n->typ->form, 0x1800, 32) || __IN(l->typ->form, 0x1800, 32)) {
OPM_WriteString((CHAR*)"(address)", 10); OPM_WriteString((CHAR*)"(address)", 10);
} }
OPV_expr(l, exprPrec); OPV_expr(l, exprPrec);
@ -1032,20 +1036,24 @@ static void OPV_expr (OPT_Node n, int16 prec)
} }
OPV_expr(l, -1); OPV_expr(l, -1);
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
if ((((__IN(subclass, 0x18020000) && r->class == 7)) && r->conval->intval < 0)) { if ((((__IN(subclass, 0x18020000, 32) && r->class == 7)) && r->conval->intval < 0)) {
OPM_WriteInt(-r->conval->intval); OPM_WriteInt(-r->conval->intval);
} else { } else {
OPV_expr(r, -1); OPV_expr(r, -1);
} }
if (__IN(subclass, 0x18000000)) { if (__IN(subclass, 0x18008000, 32)) {
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
if (subclass == 15) {
OPM_WriteInt(__ASHL(r->typ->size, 3));
} else {
OPM_WriteInt(__ASHL(l->typ->size, 3)); OPM_WriteInt(__ASHL(l->typ->size, 3));
} }
}
OPM_Write(')'); OPM_Write(')');
break; break;
case 9: case 10: case 11: case 12: case 13: case 9: case 10: case 11: case 12: case 13:
case 14: case 14:
if (__IN(l->typ->form, 0x2100)) { if (__IN(l->typ->form, 0x2100, 32)) {
OPM_WriteString((CHAR*)"__STRCMP(", 10); OPM_WriteString((CHAR*)"__STRCMP(", 10);
OPV_expr(l, -1); OPV_expr(l, -1);
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
@ -1142,7 +1150,7 @@ static void OPV_expr (OPT_Node n, int16 prec)
OPV_design(n, prec); OPV_design(n, prec);
break; break;
} }
if ((exprPrec <= prec && __IN(class, 0x3ca0))) { if ((exprPrec <= prec && __IN(class, 0x3ca0, 32))) {
OPM_Write(')'); OPM_Write(')');
} }
} }
@ -1432,7 +1440,7 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
OPM_WriteString((CHAR*)", ", 3); OPM_WriteString((CHAR*)", ", 3);
OPC_Andent(n->left->typ->BaseTyp); OPC_Andent(n->left->typ->BaseTyp);
OPM_WriteString((CHAR*)")", 2); OPM_WriteString((CHAR*)")", 2);
} else if (__IN(n->left->typ->BaseTyp->comp, 0x0c)) { } else if (__IN(n->left->typ->BaseTyp->comp, 0x0c, 32)) {
OPV_NewArr(n->left, n->right); OPV_NewArr(n->left, n->right);
} }
break; break;
@ -1446,6 +1454,8 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
OPC_SetInclude(n->subcl == 16); OPC_SetInclude(n->subcl == 16);
OPM_WriteString((CHAR*)"__SETOF(", 9); OPM_WriteString((CHAR*)"__SETOF(", 9);
OPV_expr(n->right, -1); OPV_expr(n->right, -1);
OPM_WriteString((CHAR*)",", 2);
OPM_WriteInt(__ASHL(n->left->typ->size, 3));
OPM_Write(')'); OPM_Write(')');
break; break;
case 18: case 18:
@ -1623,7 +1633,7 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
OPM_LogWLn(); OPM_LogWLn();
break; break;
} }
if (!__IN(n->class, 0x09744000)) { if (!__IN(n->class, 0x09744000, 32)) {
OPC_EndStat(); OPC_EndStat();
} }
n = n->link; n = n->link;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPV__h #ifndef OPV__h
#define OPV__h #define OPV__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Platform__h #ifndef Platform__h
#define Platform__h #define Platform__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Reals__h #ifndef Reals__h
#define Reals__h #define Reals__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Strings__h #ifndef Strings__h
#define Strings__h #define Strings__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -578,13 +578,13 @@ void Texts_ChangeLooks (Texts_Text T, int32 beg, int32 end, SET sel, Texts_Fonts
T->cache = c; T->cache = c;
T->corg = co; T->corg = co;
while (un != vn) { while (un != vn) {
if ((__IN(0, sel) && fnt != NIL)) { if ((__IN(0, sel, 32) && fnt != NIL)) {
un->fnt = fnt; un->fnt = fnt;
} }
if (__IN(1, sel)) { if (__IN(1, sel, 32)) {
un->col = col; un->col = col;
} }
if (__IN(2, sel)) { if (__IN(2, sel, 32)) {
un->voff = voff; un->voff = voff;
} }
Texts_Merge(T, u, &un); Texts_Merge(T, u, &un);

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Texts__h #ifndef Texts__h
#define Texts__h #define Texts__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkamSf */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkamSf */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef errors__h #ifndef errors__h
#define errors__h #define errors__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef extTools__h #ifndef extTools__h
#define extTools__h #define extTools__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef vt100__h #ifndef vt100__h
#define vt100__h #define vt100__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64
@ -18,6 +18,6 @@ export void *Configuration__init(void)
__DEFMOD; __DEFMOD;
__REGMOD("Configuration", 0); __REGMOD("Configuration", 0);
/* BEGIN */ /* BEGIN */
__MOVE("1.95 [2016/09/12] for gcc LP64 on cygwin", Configuration_versionLong, 41); __MOVE("1.95 [2016/09/14] for gcc LP64 on cygwin", Configuration_versionLong, 41);
__ENDMOD; __ENDMOD;
} }

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Configuration__h #ifndef Configuration__h
#define Configuration__h #define Configuration__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Console__h #ifndef Console__h
#define Console__h #define Console__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#ifndef Files__h #ifndef Files__h
#define Files__h #define Files__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64
@ -82,6 +82,7 @@ export LONGINT *Heap__1__typ;
static void Heap_CheckFin (void); static void Heap_CheckFin (void);
static void Heap_ExtendHeap (address blksz); static void Heap_ExtendHeap (address blksz);
export void Heap_FINALL (void); export void Heap_FINALL (void);
static address Heap_FetchAddress (address pointer);
static void Heap_Finalize (void); static void Heap_Finalize (void);
export void Heap_GC (BOOLEAN markStack); export void Heap_GC (BOOLEAN markStack);
static void Heap_HeapSort (address n, address *a, LONGINT a__len); static void Heap_HeapSort (address n, address *a, LONGINT a__len);
@ -106,7 +107,6 @@ export void Heap_Unlock (void);
extern void *Heap__init(); extern void *Heap__init();
extern address Platform_MainStackFrame; extern address Platform_MainStackFrame;
extern address Platform_OSAllocate(address size); extern address Platform_OSAllocate(address size);
#define Heap_FetchAddress(pointer) (address)(*((void**)((address)pointer)))
#define Heap_HeapModuleInit() Heap__init() #define Heap_HeapModuleInit() Heap__init()
#define Heap_OSAllocate(size) Platform_OSAllocate(size) #define Heap_OSAllocate(size) Platform_OSAllocate(size)
#define Heap_PlatformHalt(code) Platform_Halt(code) #define Heap_PlatformHalt(code) Platform_Halt(code)
@ -188,6 +188,15 @@ static address Heap_NewChunk (address blksz)
return _o_result; return _o_result;
} }
static address Heap_FetchAddress (address pointer)
{
address _o_result;
address r;
__GET(pointer, r, address);
_o_result = r;
return _o_result;
}
static void Heap_ExtendHeap (address blksz) static void Heap_ExtendHeap (address blksz)
{ {
address size, chnk, j, next; address size, chnk, j, next;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */
#ifndef Heap__h #ifndef Heap__h
#define Heap__h #define Heap__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef Modules__h #ifndef Modules__h
#define Modules__h #define Modules__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64
@ -345,7 +345,7 @@ void OPB_Index (OPT_Node *x, OPT_Node y)
f = y->typ->form; f = y->typ->form;
if ((*x)->class >= 7) { if ((*x)->class >= 7) {
OPB_err(79); OPB_err(79);
} else if (f != 4 || __IN(y->class, 0x0300)) { } else if (f != 4 || __IN(y->class, 0x0300, 64)) {
OPB_err(80); OPB_err(80);
y->typ = OPT_inttyp; y->typ = OPT_inttyp;
} }
@ -372,7 +372,7 @@ void OPB_Field (OPT_Node *x, OPT_Object y)
if ((*x)->class >= 7) { if ((*x)->class >= 7) {
OPB_err(77); OPB_err(77);
} }
if ((y != NIL && __IN(y->mode, 0x2010))) { if ((y != NIL && __IN(y->mode, 0x2010, 64))) {
OPB_BindNodes(2, y->typ, &*x, NIL); OPB_BindNodes(2, y->typ, &*x, NIL);
(*x)->obj = y; (*x)->obj = y;
(*x)->readonly = (*x)->left->readonly || (y->vis == 2 && y->mnolev < 0); (*x)->readonly = (*x)->left->readonly || (y->vis == 2 && y->mnolev < 0);
@ -476,7 +476,7 @@ void OPB_In (OPT_Node *x, OPT_Node y)
if (k < 0 || k > (int64)OPM_MaxSet) { if (k < 0 || k > (int64)OPM_MaxSet) {
OPB_err(202); OPB_err(202);
} else if (y->class == 7) { } else if (y->class == 7) {
(*x)->conval->intval = OPB_BoolToInt(__IN(k, y->conval->setval)); (*x)->conval->intval = OPB_BoolToInt(__IN(k, y->conval->setval, 64));
(*x)->obj = NIL; (*x)->obj = NIL;
} else { } else {
OPB_BindNodes(12, OPT_booltyp, &*x, y); OPB_BindNodes(12, OPT_booltyp, &*x, y);
@ -572,12 +572,12 @@ void OPB_MOp (int8 op, OPT_Node *x)
} }
break; break;
case 6: case 6:
if (!__IN(f, 0x70)) { if (!__IN(f, 0x70, 64)) {
OPB_err(96); OPB_err(96);
} }
break; break;
case 7: case 7:
if (__IN(f, 0xf0)) { if (__IN(f, 0xf0, 64)) {
if (z->class == 7) { if (z->class == 7) {
if (f == 4) { if (f == 4) {
if (z->conval->intval == (-9223372036854775807-1)) { if (z->conval->intval == (-9223372036854775807-1)) {
@ -586,7 +586,7 @@ void OPB_MOp (int8 op, OPT_Node *x)
z->conval->intval = -z->conval->intval; z->conval->intval = -z->conval->intval;
OPB_SetIntType(z); OPB_SetIntType(z);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 64)) {
z->conval->realval = -z->conval->realval; z->conval->realval = -z->conval->realval;
} else { } else {
z->conval->setval = ~z->conval->setval; z->conval->setval = ~z->conval->setval;
@ -600,7 +600,7 @@ void OPB_MOp (int8 op, OPT_Node *x)
} }
break; break;
case 21: case 21:
if (__IN(f, 0x70)) { if (__IN(f, 0x70, 64)) {
if (z->class == 7) { if (z->class == 7) {
if (f == 4) { if (f == 4) {
if (z->conval->intval == (-9223372036854775807-1)) { if (z->conval->intval == (-9223372036854775807-1)) {
@ -747,7 +747,7 @@ void OPB_CheckParameters (OPT_Object fp, OPT_Object ap, BOOLEAN checkNames)
static void OPB_CheckProc (OPT_Struct x, OPT_Object y) static void OPB_CheckProc (OPT_Struct x, OPT_Object y)
{ {
if (__IN(y->mode, 0x04c0)) { if (__IN(y->mode, 0x04c0, 64)) {
if (y->mode == 6) { if (y->mode == 6) {
if (y->mnolev == 0) { if (y->mnolev == 0) {
y->mode = 7; y->mode = 7;
@ -923,7 +923,7 @@ static void OPB_ConstOp (int32 op, OPT_Node x, OPT_Node y)
} }
break; break;
case 9: case 9:
if (!__IN(g, 0x1800)) { if (!__IN(g, 0x1800, 64)) {
OPB_err(100); OPB_err(100);
} }
break; break;
@ -954,7 +954,7 @@ static void OPB_ConstOp (int32 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(204); OPB_err(204);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 64)) {
temp = __ABS(yval->realval) <= (LONGREAL)1; temp = __ABS(yval->realval) <= (LONGREAL)1;
if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 / (LONGREAL)__ABS(yval->realval)) { if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 / (LONGREAL)__ABS(yval->realval)) {
xval->realval = xval->realval * yval->realval; xval->realval = xval->realval * yval->realval;
@ -978,7 +978,7 @@ static void OPB_ConstOp (int32 op, OPT_Node x, OPT_Node y)
xval->realval = (LONGREAL)1; xval->realval = (LONGREAL)1;
} }
x->typ = OPT_realtyp; x->typ = OPT_realtyp;
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 64)) {
temp = __ABS(yval->realval) >= (LONGREAL)1; temp = __ABS(yval->realval) >= (LONGREAL)1;
if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 * __ABS(yval->realval)) { if (temp || __ABS(xval->realval) <= 1.79769296342094e+308 * __ABS(yval->realval)) {
xval->realval = xval->realval / yval->realval; xval->realval = xval->realval / yval->realval;
@ -1032,7 +1032,7 @@ static void OPB_ConstOp (int32 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(206); OPB_err(206);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 64)) {
temp = (yval->realval >= (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 - yval->realval); temp = (yval->realval >= (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 - yval->realval);
if (temp || (yval->realval < (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 - yval->realval)) { if (temp || (yval->realval < (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 - yval->realval)) {
xval->realval = xval->realval + yval->realval; xval->realval = xval->realval + yval->realval;
@ -1054,7 +1054,7 @@ static void OPB_ConstOp (int32 op, OPT_Node x, OPT_Node y)
} else { } else {
OPB_err(207); OPB_err(207);
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 64)) {
temp = (yval->realval >= (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 + yval->realval); temp = (yval->realval >= (LONGREAL)0 && xval->realval >= -1.79769296342094e+308 + yval->realval);
if (temp || (yval->realval < (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 + yval->realval)) { if (temp || (yval->realval < (LONGREAL)0 && xval->realval <= 1.79769296342094e+308 + yval->realval)) {
xval->realval = xval->realval - yval->realval; xval->realval = xval->realval - yval->realval;
@ -1082,28 +1082,28 @@ static void OPB_ConstOp (int32 op, OPT_Node x, OPT_Node y)
xval->intval = OPB_BoolToInt(ConstCmp__14() != 9); xval->intval = OPB_BoolToInt(ConstCmp__14() != 9);
break; break;
case 11: case 11:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 64)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() == 11); xval->intval = OPB_BoolToInt(ConstCmp__14() == 11);
} }
break; break;
case 12: case 12:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 64)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() != 13); xval->intval = OPB_BoolToInt(ConstCmp__14() != 13);
} }
break; break;
case 13: case 13:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 64)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() == 13); xval->intval = OPB_BoolToInt(ConstCmp__14() == 13);
} }
break; break;
case 14: case 14:
if (__IN(f, 0x0a84)) { if (__IN(f, 0x0a84, 64)) {
OPB_err(108); OPB_err(108);
} else { } else {
xval->intval = OPB_BoolToInt(ConstCmp__14() != 11); xval->intval = OPB_BoolToInt(ConstCmp__14() != 11);
@ -1136,7 +1136,7 @@ static void OPB_Convert (OPT_Node *x, OPT_Struct typ)
(*x)->conval->intval = 1; (*x)->conval->intval = 1;
} }
} }
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 64)) {
(*x)->conval->realval = (*x)->conval->intval; (*x)->conval->realval = (*x)->conval->intval;
(*x)->conval->intval = -1; (*x)->conval->intval = -1;
} else { } else {
@ -1145,8 +1145,8 @@ static void OPB_Convert (OPT_Node *x, OPT_Struct typ)
OPB_err(220); OPB_err(220);
} }
} }
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 64)) {
if (__IN(g, 0x60)) { if (__IN(g, 0x60, 64)) {
OPB_CheckRealType(g, 203, (*x)->conval); OPB_CheckRealType(g, 203, (*x)->conval);
} else { } else {
r = (*x)->conval->realval; r = (*x)->conval->realval;
@ -1195,8 +1195,8 @@ static BOOLEAN strings__41 (OPT_Node *x, OPT_Node *y)
{ {
BOOLEAN _o_result; BOOLEAN _o_result;
BOOLEAN ok, xCharArr, yCharArr; BOOLEAN ok, xCharArr, yCharArr;
xCharArr = (__IN((*x)->typ->comp, 0x0c) && (*x)->typ->BaseTyp->form == 3) || *Op__38_s->f == 8; xCharArr = (__IN((*x)->typ->comp, 0x0c, 64) && (*x)->typ->BaseTyp->form == 3) || *Op__38_s->f == 8;
yCharArr = (__IN((*y)->typ->comp, 0x0c) && (*y)->typ->BaseTyp->form == 3) || *Op__38_s->g == 8; yCharArr = (__IN((*y)->typ->comp, 0x0c, 64) && (*y)->typ->BaseTyp->form == 3) || *Op__38_s->g == 8;
if ((((xCharArr && *Op__38_s->g == 3)) && (*y)->class == 7)) { if ((((xCharArr && *Op__38_s->g == 3)) && (*y)->class == 7)) {
OPB_CharToString(*y); OPB_CharToString(*y);
*Op__38_s->g = 8; *Op__38_s->g = 8;
@ -1255,7 +1255,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
case 4: case 4:
if ((g == 4 && y->typ->size < z->typ->size)) { if ((g == 4 && y->typ->size < z->typ->size)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x70)) { } else if (__IN(g, 0x70, 64)) {
OPB_Convert(&z, y->typ); OPB_Convert(&z, y->typ);
} else { } else {
OPB_err(100); OPB_err(100);
@ -1264,23 +1264,23 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
case 5: case 5:
if (g == 4) { if (g == 4) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 64)) {
OPB_Convert(&z, y->typ); OPB_Convert(&z, y->typ);
} else { } else {
OPB_err(100); OPB_err(100);
} }
break; break;
case 6: case 6:
if (__IN(g, 0x70)) { if (__IN(g, 0x70, 64)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else if (__IN(g, 0x60)) { } else if (__IN(g, 0x60, 64)) {
OPB_Convert(&y, z->typ); OPB_Convert(&y, z->typ);
} else { } else {
OPB_err(100); OPB_err(100);
} }
break; break;
case 9: case 9:
if (!__IN(g, 0x1800)) { if (!__IN(g, 0x1800, 64)) {
OPB_err(100); OPB_err(100);
} }
break; break;
@ -1341,7 +1341,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
y->obj = NIL; y->obj = NIL;
} }
} }
} else if (!__IN(f, 0xe1)) { } else if (!__IN(f, 0xe1, 64)) {
OPB_err(105); OPB_err(105);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1357,7 +1357,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
OPB_Convert(&z, OPT_realtyp); OPB_Convert(&z, OPT_realtyp);
OPB_Convert(&y, OPT_realtyp); OPB_Convert(&y, OPT_realtyp);
typ = OPT_realtyp; typ = OPT_realtyp;
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 64)) {
if ((y->class == 7 && y->conval->realval == (LONGREAL)0)) { if ((y->class == 7 && y->conval->realval == (LONGREAL)0)) {
OPB_err(205); OPB_err(205);
} }
@ -1424,7 +1424,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 6: case 6:
if (!__IN(f, 0xf1)) { if (!__IN(f, 0xf1, 64)) {
OPB_err(105); OPB_err(105);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1443,7 +1443,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 7: case 7:
if (!__IN(f, 0xf1)) { if (!__IN(f, 0xf1, 64)) {
OPB_err(106); OPB_err(106);
typ = OPT_undftyp; typ = OPT_undftyp;
} }
@ -1467,7 +1467,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
} }
break; break;
case 9: case 10: case 9: case 10:
if (__IN(f, 0x1aff) || strings__41(&z, &y)) { if (__IN(f, 0x1aff, 64) || strings__41(&z, &y)) {
typ = OPT_booltyp; typ = OPT_booltyp;
} else { } else {
OPB_err(107); OPB_err(107);
@ -1476,7 +1476,7 @@ void OPB_Op (int8 op, OPT_Node *x, OPT_Node y)
NewOp__39(op, typ, &z, y); NewOp__39(op, typ, &z, y);
break; break;
case 11: case 12: case 13: case 14: case 11: case 12: case 13: case 14:
if (__IN(f, 0x79) || strings__41(&z, &y)) { if (__IN(f, 0x79, 64) || strings__41(&z, &y)) {
typ = OPT_booltyp; typ = OPT_booltyp;
} else { } else {
OPM_LogWLn(); OPM_LogWLn();
@ -1518,10 +1518,10 @@ void OPB_SetRange (OPT_Node *x, OPT_Node y)
} }
if (((*x)->class == 7 && y->class == 7)) { if (((*x)->class == 7 && y->class == 7)) {
if (k <= l) { if (k <= l) {
(*x)->conval->setval = __SETRNG(k, l); (*x)->conval->setval = __SETRNG(k, l, 64);
} else { } else {
OPB_err(201); OPB_err(201);
(*x)->conval->setval = __SETRNG(l, k); (*x)->conval->setval = __SETRNG(l, k, 64);
} }
(*x)->obj = NIL; (*x)->obj = NIL;
} else { } else {
@ -1543,7 +1543,7 @@ void OPB_SetElem (OPT_Node *x)
} else if ((*x)->class == 7) { } else if ((*x)->class == 7) {
k = (*x)->conval->intval; k = (*x)->conval->intval;
if ((0 <= k && k <= (int64)OPM_MaxSet)) { if ((0 <= k && k <= (int64)OPM_MaxSet)) {
(*x)->conval->setval = __SETOF(k); (*x)->conval->setval = __SETOF(k,64);
} else { } else {
OPB_err(202); OPB_err(202);
} }
@ -1588,7 +1588,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
case 0: case 8: case 0: case 8:
break; break;
case 1: case 1:
if (!((__IN(g, 0x1a) && y->size == 1))) { if (!((__IN(g, 0x1a, 64) && y->size == 1))) {
OPB_err(113); OPB_err(113);
} }
break; break;
@ -1603,12 +1603,12 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
} }
break; break;
case 5: case 5:
if (!__IN(g, 0x30)) { if (!__IN(g, 0x30, 64)) {
OPB_err(113); OPB_err(113);
} }
break; break;
case 6: case 6:
if (!__IN(g, 0x70)) { if (!__IN(g, 0x70, 64)) {
OPB_err(113); OPB_err(113);
} }
break; break;
@ -1656,7 +1656,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
if (ynode->conval->intval2 > x->n) { if (ynode->conval->intval2 > x->n) {
OPB_err(114); OPB_err(114);
} }
} else if ((__IN(y->comp, 0x0c) && y->BaseTyp == OPT_chartyp)) { } else if ((__IN(y->comp, 0x0c, 64) && y->BaseTyp == OPT_chartyp)) {
} else { } else {
OPB_err(113); OPB_err(113);
} }
@ -1664,7 +1664,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
OPB_err(113); OPB_err(113);
} }
} else if ((x->comp == 3 && x->BaseTyp == OPT_chartyp)) { } else if ((x->comp == 3 && x->BaseTyp == OPT_chartyp)) {
if ((__IN(y->comp, 0x0c) && y->BaseTyp == OPT_chartyp)) { if ((__IN(y->comp, 0x0c, 64) && y->BaseTyp == OPT_chartyp)) {
} else { } else {
OPB_err(113); OPB_err(113);
} }
@ -1691,7 +1691,7 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode)
OPM_LogWLn(); OPM_LogWLn();
break; break;
} }
if ((((((ynode->class == 7 && g < f)) && __IN(g, 0x30))) && __IN(f, 0x70))) { if ((((((ynode->class == 7 && g < f)) && __IN(g, 0x30, 64))) && __IN(f, 0x70, 64))) {
OPB_Convert(&ynode, x); OPB_Convert(&ynode, x);
} }
} }
@ -1729,7 +1729,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
OPB_err(76); OPB_err(76);
} }
f = x->typ->BaseTyp->comp; f = x->typ->BaseTyp->comp;
if (__IN(f, 0x1c)) { if (__IN(f, 0x1c, 64)) {
if (f == 3) { if (f == 3) {
typ = x->typ->BaseTyp; typ = x->typ->BaseTyp;
} }
@ -1762,7 +1762,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
case 5: case 5:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x60)) { } else if (__IN(f, 0x60, 64)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else { } else {
OPB_err(111); OPB_err(111);
@ -1837,7 +1837,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
case 9: case 9:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x11)) { } else if (__IN(f, 0x11, 64)) {
OPB_Convert(&x, OPT_chartyp); OPB_Convert(&x, OPT_chartyp);
} else { } else {
OPB_err(111); OPB_err(111);
@ -1898,7 +1898,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
} }
break; break;
case 17: case 17:
if (!__IN(x->typ->comp, 0x0c)) { if (!__IN(x->typ->comp, 0x0c, 64)) {
OPB_err(131); OPB_err(131);
} }
break; break;
@ -1909,7 +1909,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
} }
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (((!__IN(x->typ->comp, 0x0c) || x->typ->BaseTyp->form != 3) && f != 8)) { } else if (((!__IN(x->typ->comp, 0x0c, 64) || x->typ->BaseTyp->form != 3) && f != 8)) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -1933,7 +1933,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
if (x->class != 8) { if (x->class != 8) {
OPB_err(110); OPB_err(110);
x = OPB_NewIntConst(1); x = OPB_NewIntConst(1);
} else if (__IN(f, 0x18fe) || __IN(x->typ->comp, 0x14)) { } else if (__IN(f, 0x18fe, 64) || __IN(x->typ->comp, 0x14, 64)) {
(*OPB_typSize)(x->typ); (*OPB_typSize)(x->typ);
x->typ->pvused = 1; x->typ->pvused = 1;
x = OPB_NewIntConst(x->typ->size); x = OPB_NewIntConst(x->typ->size);
@ -1948,7 +1948,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
case 22: case 23: case 22: case 23:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (!__IN(f, 0x9a)) { } else if (!__IN(f, 0x9a, 64)) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -1957,7 +1957,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
OPB_err(126); OPB_err(126);
} else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) { } else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else if (!((__IN(x->typ->form, 0x0810) && x->typ->size == (int64)OPM_PointerSize))) { } else if (!((__IN(x->typ->form, 0x0810, 64) && x->typ->size == (int64)OPM_PointerSize))) {
OPB_err(111); OPB_err(111);
x->typ = OPT_linttyp; x->typ = OPT_linttyp;
} }
@ -1974,7 +1974,7 @@ void OPB_StPar0 (OPT_Node *par0, int32 fctno)
case 29: case 29:
if (x->class != 8) { if (x->class != 8) {
OPB_err(110); OPB_err(110);
} else if (__IN(f, 0x0501) || x->typ->comp == 3) { } else if (__IN(f, 0x0501, 64) || x->typ->comp == 3) {
OPB_err(111); OPB_err(111);
} }
break; break;
@ -2070,11 +2070,11 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
} else if (x->typ->size == 1) { } else if (x->typ->size == 1) {
L = (int32)x->conval->intval; L = (int32)x->conval->intval;
typ = p->typ; typ = p->typ;
while ((L > 0 && __IN(typ->comp, 0x0c))) { while ((L > 0 && __IN(typ->comp, 0x0c, 64))) {
typ = typ->BaseTyp; typ = typ->BaseTyp;
L -= 1; L -= 1;
} }
if (L != 0 || !__IN(typ->comp, 0x0c)) { if (L != 0 || !__IN(typ->comp, 0x0c, 64)) {
OPB_err(132); OPB_err(132);
} else { } else {
x->obj = NIL; x->obj = NIL;
@ -2098,7 +2098,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
case 18: case 18:
if (OPB_NotVar(x)) { if (OPB_NotVar(x)) {
OPB_err(112); OPB_err(112);
} else if ((__IN(x->typ->comp, 0x0c) && x->typ->BaseTyp->form == 3)) { } else if ((__IN(x->typ->comp, 0x0c, 64) && x->typ->BaseTyp->form == 3)) {
if (x->readonly) { if (x->readonly) {
OPB_err(76); OPB_err(76);
} }
@ -2172,7 +2172,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
case 24: case 25: case 26: case 27: case 24: case 25: case 26: case 27:
if (x->class == 8 || x->class == 9) { if (x->class == 8 || x->class == 9) {
OPB_err(126); OPB_err(126);
} else if (__IN(f, 0x18ff)) { } else if (__IN(f, 0x18ff, 64)) {
if (fctno == 24 || fctno == 26) { if (fctno == 24 || fctno == 26) {
if (OPB_NotVar(x)) { if (OPB_NotVar(x)) {
OPB_err(112); OPB_err(112);
@ -2198,7 +2198,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
p->typ = OPT_booltyp; p->typ = OPT_booltyp;
break; break;
case 29: case 29:
if (((x->class == 8 || x->class == 9) || __IN(f, 0x0501)) || x->typ->comp == 3) { if (((x->class == 8 || x->class == 9) || __IN(f, 0x0501, 64)) || x->typ->comp == 3) {
OPB_err(126); OPB_err(126);
} }
if ((x->class != 7 && x->typ->size < p->typ->size)) { if ((x->class != 7 && x->typ->size < p->typ->size)) {
@ -2230,7 +2230,7 @@ void OPB_StPar1 (OPT_Node *par0, OPT_Node x, int8 fctno)
OPB_err(126); OPB_err(126);
} else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) { } else if ((((x->class == 7 && f == 4)) && x->typ->size < OPT_linttyp->size)) {
OPB_Convert(&x, OPT_linttyp); OPB_Convert(&x, OPT_linttyp);
} else if (!((__IN(x->typ->form, 0x0810) && x->typ->size == (int64)OPM_PointerSize))) { } else if (!((__IN(x->typ->form, 0x0810, 64) && x->typ->size == (int64)OPM_PointerSize))) {
OPB_err(111); OPB_err(111);
x->typ = OPT_linttyp; x->typ = OPT_linttyp;
} }
@ -2384,12 +2384,12 @@ static void OPB_DynArrParCheck (OPT_Struct ftyp, OPT_Struct atyp, BOOLEAN fvarpa
ftyp = ftyp->BaseTyp; ftyp = ftyp->BaseTyp;
atyp = atyp->BaseTyp; atyp = atyp->BaseTyp;
if ((fvarpar && ftyp == OPT_bytetyp)) { if ((fvarpar && ftyp == OPT_bytetyp)) {
if (!__IN(f, 0x0c) || !((__IN(atyp->form, 0x1e) && atyp->size == 1))) { if (!__IN(f, 0x0c, 64) || !((__IN(atyp->form, 0x1e, 64) && atyp->size == 1))) {
if (__IN(18, OPM_opt)) { if (__IN(18, OPM_opt, 64)) {
OPB_err(-301); OPB_err(-301);
} }
} }
} else if (__IN(f, 0x0c)) { } else if (__IN(f, 0x0c, 64)) {
if (ftyp->comp == 3) { if (ftyp->comp == 3) {
OPB_DynArrParCheck(ftyp, atyp, fvarpar); OPB_DynArrParCheck(ftyp, atyp, fvarpar);
} else if (ftyp != atyp) { } else if (ftyp != atyp) {
@ -2428,7 +2428,7 @@ static void OPB_CheckReceiver (OPT_Node *x, OPT_Object fp)
void OPB_PrepCall (OPT_Node *x, OPT_Object *fpar) void OPB_PrepCall (OPT_Node *x, OPT_Object *fpar)
{ {
if (((*x)->obj != NIL && __IN((*x)->obj->mode, 0x22c0))) { if (((*x)->obj != NIL && __IN((*x)->obj->mode, 0x22c0, 64))) {
*fpar = (*x)->obj->link; *fpar = (*x)->obj->link;
if ((*x)->obj->mode == 13) { if ((*x)->obj->mode == 13) {
OPB_CheckReceiver(&(*x)->left, *fpar); OPB_CheckReceiver(&(*x)->left, *fpar);
@ -2467,7 +2467,7 @@ void OPB_Param (OPT_Node ap, OPT_Object fp)
OPB_err(111); OPB_err(111);
} }
} else if ((fp->typ == OPT_sysptrtyp && ap->typ->form == 11)) { } else if ((fp->typ == OPT_sysptrtyp && ap->typ->form == 11)) {
} else if ((ap->typ != fp->typ && !((fp->typ->form == 1 && ((__IN(ap->typ->form, 0x1e) && ap->typ->size == 1)))))) { } else if ((ap->typ != fp->typ && !((fp->typ->form == 1 && ((__IN(ap->typ->form, 0x1e, 64) && ap->typ->size == 1)))))) {
OPB_err(123); OPB_err(123);
} else if ((fp->typ->form == 11 && ap->class == 5)) { } else if ((fp->typ->form == 11 && ap->class == 5)) {
OPB_err(123); OPB_err(123);
@ -2494,7 +2494,7 @@ void OPB_StaticLink (int8 dlev)
scope = OPT_topScope; scope = OPT_topScope;
while (dlev > 0) { while (dlev > 0) {
dlev -= 1; dlev -= 1;
scope->link->conval->setval |= __SETOF(3); scope->link->conval->setval |= __SETOF(3,64);
scope = scope->left; scope = scope->left;
} }
} }
@ -2589,7 +2589,7 @@ void OPB_Assign (OPT_Node *x, OPT_Node y)
y->conval->intval = 0; y->conval->intval = 0;
OPB_Index(&*x, OPB_NewIntConst(0)); OPB_Index(&*x, OPB_NewIntConst(0));
} }
if ((((((__IN((*x)->typ->comp, 0x0c) && (*x)->typ->BaseTyp == OPT_chartyp)) && __IN(y->typ->comp, 0x0c))) && y->typ->BaseTyp == OPT_chartyp)) { if ((((((__IN((*x)->typ->comp, 0x0c, 64) && (*x)->typ->BaseTyp == OPT_chartyp)) && __IN(y->typ->comp, 0x0c, 64))) && y->typ->BaseTyp == OPT_chartyp)) {
subcl = 18; subcl = 18;
} else { } else {
subcl = 0; subcl = 0;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPB__h #ifndef OPB__h
#define OPB__h #define OPB__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64
@ -93,9 +93,9 @@ static BOOLEAN OPC_Undefined (OPT_Object obj);
void OPC_Init (void) void OPC_Init (void)
{ {
OPC_indentLevel = 0; OPC_indentLevel = 0;
OPC_ptrinit = __IN(5, OPM_opt); OPC_ptrinit = __IN(5, OPM_opt, 64);
OPC_mainprog = OPM_mainProg || OPM_mainLinkStat; OPC_mainprog = OPM_mainProg || OPM_mainLinkStat;
OPC_ansi = __IN(6, OPM_opt); OPC_ansi = __IN(6, OPM_opt, 64);
if (OPC_ansi) { if (OPC_ansi) {
__MOVE("__init(void)", OPC_BodyNameExt, 13); __MOVE("__init(void)", OPC_BodyNameExt, 13);
} else { } else {
@ -196,7 +196,7 @@ void OPC_Ident (OPT_Object obj)
int32 mode, level, h; int32 mode, level, h;
mode = obj->mode; mode = obj->mode;
level = obj->mnolev; level = obj->mnolev;
if ((__IN(mode, 0x62) && level > 0) || __IN(mode, 0x14)) { if ((__IN(mode, 0x62, 64) && level > 0) || __IN(mode, 0x14, 64)) {
OPM_WriteStringVar((void*)obj->name, 256); OPM_WriteStringVar((void*)obj->name, 256);
h = OPC_PerfectHash((void*)obj->name, 256); h = OPC_PerfectHash((void*)obj->name, 256);
if (OPC_hashtab[__X(h, 105)] >= 0) { if (OPC_hashtab[__X(h, 105)] >= 0) {
@ -236,7 +236,7 @@ static void OPC_Stars (OPT_Struct typ, BOOLEAN *openClause)
int32 pointers; int32 pointers;
*openClause = 0; *openClause = 0;
if (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->comp != 4)) { if (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->comp != 4)) {
if (__IN(typ->comp, 0x0c)) { if (__IN(typ->comp, 0x0c, 64)) {
OPC_Stars(typ->BaseTyp, &*openClause); OPC_Stars(typ->BaseTyp, &*openClause);
*openClause = typ->comp == 2; *openClause = typ->comp == 2;
} else if (typ->form == 12) { } else if (typ->form == 12) {
@ -293,7 +293,7 @@ static void OPC_DeclareObj (OPT_Object dcl, BOOLEAN scopeDef)
break; break;
} else if ((form == 11 && typ->BaseTyp->comp != 3)) { } else if ((form == 11 && typ->BaseTyp->comp != 3)) {
openClause = 1; openClause = 1;
} else if (form == 12 || __IN(comp, 0x0c)) { } else if (form == 12 || __IN(comp, 0x0c, 64)) {
if (openClause) { if (openClause) {
OPM_Write(')'); OPM_Write(')');
openClause = 0; openClause = 0;
@ -708,7 +708,7 @@ static void OPC_DefineType (OPT_Struct str)
if (str->BaseTyp->comp != 4) { if (str->BaseTyp->comp != 4) {
OPC_DefineType(str->BaseTyp); OPC_DefineType(str->BaseTyp);
} }
} else if (__IN(str->comp, 0x0c)) { } else if (__IN(str->comp, 0x0c, 64)) {
OPC_DefineType(str->BaseTyp); OPC_DefineType(str->BaseTyp);
} else if (str->form == 12) { } else if (str->form == 12) {
if (str->BaseTyp != OPT_notyp) { if (str->BaseTyp != OPT_notyp) {
@ -1019,7 +1019,7 @@ static void OPC_IdentList (OPT_Object obj, int32 vis)
base = NIL; base = NIL;
first = 1; first = 1;
while ((obj != NIL && obj->mode != 13)) { while ((obj != NIL && obj->mode != 13)) {
if ((__IN(vis, 0x05) || (vis == 1 && obj->vis != 0)) || (vis == 3 && !obj->leaf)) { if ((__IN(vis, 0x05, 64) || (vis == 1 && obj->vis != 0)) || (vis == 3 && !obj->leaf)) {
if (obj->typ != base || obj->vis != lastvis) { if (obj->typ != base || obj->vis != lastvis) {
if (!first) { if (!first) {
OPC_EndStat(); OPC_EndStat();
@ -1144,7 +1144,7 @@ static void OPC_ProcPredefs (OPT_Object obj, int8 vis)
{ {
if (obj != NIL) { if (obj != NIL) {
OPC_ProcPredefs(obj->left, vis); OPC_ProcPredefs(obj->left, vis);
if ((((__IN(obj->mode, 0xc0) && obj->vis >= vis)) && (obj->history != 4 || obj->mode == 6))) { if ((((__IN(obj->mode, 0xc0, 64) && obj->vis >= vis)) && (obj->history != 4 || obj->mode == 6))) {
if (vis == 1) { if (vis == 1) {
OPM_WriteString((CHAR*)"import ", 8); OPM_WriteString((CHAR*)"import ", 8);
} else if (obj->vis == 0) { } else if (obj->vis == 0) {
@ -1238,7 +1238,7 @@ static void OPC_GenHeaderMsg (void)
OPM_Write(' '); OPM_Write(' ');
i = 0; i = 0;
while (i <= 63) { while (i <= 63) {
if (__IN(i, OPM_glbopt)) { if (__IN(i, OPM_glbopt, 64)) {
switch (i) { switch (i) {
case 0: case 0:
OPM_Write('x'); OPM_Write('x');
@ -1600,7 +1600,7 @@ void OPC_EnterProc (OPT_Object proc)
} }
var = proc->link; var = proc->link;
while (var != NIL) { while (var != NIL) {
if ((((__IN(var->typ->comp, 0x0c) && var->mode == 1)) && var->typ->sysflag == 0)) { if ((((__IN(var->typ->comp, 0x0c, 64) && var->mode == 1)) && var->typ->sysflag == 0)) {
OPC_BegStat(); OPC_BegStat();
if (var->typ->comp == 2) { if (var->typ->comp == 2) {
OPM_WriteString((CHAR*)"__DUPARR(", 10); OPM_WriteString((CHAR*)"__DUPARR(", 10);
@ -1648,7 +1648,7 @@ void OPC_EnterProc (OPT_Object proc)
OPM_Write('.'); OPM_Write('.');
OPC_Ident(var); OPC_Ident(var);
OPM_WriteString((CHAR*)" = ", 4); OPM_WriteString((CHAR*)" = ", 4);
if (__IN(var->typ->comp, 0x0c)) { if (__IN(var->typ->comp, 0x0c, 64)) {
OPM_WriteString((CHAR*)"(void*)", 8); OPM_WriteString((CHAR*)"(void*)", 8);
} else if (var->mode != 2) { } else if (var->mode != 2) {
OPM_Write('&'); OPM_Write('&');
@ -2006,7 +2006,7 @@ void OPC_Constant (OPT_Const con, int32 form)
do { do {
i -= 1; i -= 1;
hex = __ASHL(hex, 1); hex = __ASHL(hex, 1);
if (__IN(i, s)) { if (__IN(i, s, 64)) {
hex += 1; hex += 1;
} }
} while (!(__MASK(i, -8) == 0)); } while (!(__MASK(i, -8) == 0));

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPC__h #ifndef OPC__h
#define OPC__h #define OPC__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64
@ -288,15 +288,15 @@ void OPM_InitOptions (void)
s[0] = 0x00; s[0] = 0x00;
Platform_GetArg(OPM_S, (void*)s, 256); Platform_GetArg(OPM_S, (void*)s, 256);
} }
OPM_dontAsm = __IN(13, OPM_opt); OPM_dontAsm = __IN(13, OPM_opt, 64);
OPM_dontLink = __IN(14, OPM_opt); OPM_dontLink = __IN(14, OPM_opt, 64);
OPM_mainProg = __IN(10, OPM_opt); OPM_mainProg = __IN(10, OPM_opt, 64);
OPM_mainLinkStat = __IN(15, OPM_opt); OPM_mainLinkStat = __IN(15, OPM_opt, 64);
OPM_notColorOutput = __IN(16, OPM_opt); OPM_notColorOutput = __IN(16, OPM_opt, 64);
OPM_forceNewSym = __IN(17, OPM_opt); OPM_forceNewSym = __IN(17, OPM_opt, 64);
OPM_Verbose = __IN(18, OPM_opt); OPM_Verbose = __IN(18, OPM_opt, 64);
if (OPM_mainLinkStat) { if (OPM_mainLinkStat) {
OPM_glbopt |= __SETOF(10); OPM_glbopt |= __SETOF(10,64);
} }
OPM_GetProperties(); OPM_GetProperties();
} }
@ -771,7 +771,7 @@ void OPM_SymWLReal (LONGREAL lr)
void OPM_RegisterNewSym (void) void OPM_RegisterNewSym (void)
{ {
if (__STRCMP(OPM_modName, "SYSTEM") != 0 || __IN(10, OPM_opt)) { if (__STRCMP(OPM_modName, "SYSTEM") != 0 || __IN(10, OPM_opt, 64)) {
Files_Register(OPM_newSFile); Files_Register(OPM_newSFile);
} }
} }
@ -970,10 +970,10 @@ void OPM_CloseFiles (void)
} }
if (OPM_noerr) { if (OPM_noerr) {
if (__STRCMP(OPM_modName, "SYSTEM") == 0) { if (__STRCMP(OPM_modName, "SYSTEM") == 0) {
if (!__IN(10, OPM_opt)) { if (!__IN(10, OPM_opt, 64)) {
Files_Register(OPM_BFile); Files_Register(OPM_BFile);
} }
} else if (!__IN(10, OPM_opt)) { } else if (!__IN(10, OPM_opt, 64)) {
OPM_Append(&OPM_R[2], Files_Rider__typ, OPM_HFile); OPM_Append(&OPM_R[2], Files_Rider__typ, OPM_HFile);
Files_Register(OPM_HIFile); Files_Register(OPM_HIFile);
Files_Register(OPM_BFile); Files_Register(OPM_BFile);

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPM__h #ifndef OPM__h
#define OPM__h #define OPM__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64
@ -94,7 +94,7 @@ static void OPP_qualident (OPT_Object *id)
obj->adr = 0; obj->adr = 0;
} else { } else {
lev = obj->mnolev; lev = obj->mnolev;
if ((__IN(obj->mode, 0x06) && lev != OPP_level)) { if ((__IN(obj->mode, 0x06, 64) && lev != OPP_level)) {
obj->leaf = 0; obj->leaf = 0;
if (lev > 0) { if (lev > 0) {
OPB_StaticLink(OPP_level - lev); OPB_StaticLink(OPP_level - lev);
@ -325,7 +325,7 @@ static void OPP_PointerType (OPT_Struct *typ)
} else { } else {
OPP_qualident(&id); OPP_qualident(&id);
if (id->mode == 5) { if (id->mode == 5) {
if (__IN(id->typ->comp, 0x1c)) { if (__IN(id->typ->comp, 0x1c, 64)) {
(*typ)->BaseTyp = id->typ; (*typ)->BaseTyp = id->typ;
} else { } else {
(*typ)->BaseTyp = OPT_undftyp; (*typ)->BaseTyp = OPT_undftyp;
@ -338,7 +338,7 @@ static void OPP_PointerType (OPT_Struct *typ)
} }
} else { } else {
OPP_Type(&(*typ)->BaseTyp, &OPT_notyp); OPP_Type(&(*typ)->BaseTyp, &OPT_notyp);
if (!__IN((*typ)->BaseTyp->comp, 0x1c)) { if (!__IN((*typ)->BaseTyp->comp, 0x1c, 64)) {
(*typ)->BaseTyp = OPT_undftyp; (*typ)->BaseTyp = OPT_undftyp;
OPP_err(57); OPP_err(57);
} }
@ -966,7 +966,7 @@ static void GetCode__19 (void)
} }
} }
} }
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1,64);
} }
static void GetParams__21 (void) static void GetParams__21 (void)
@ -998,7 +998,7 @@ static void Body__17 (void)
OPT_Node procdec = NIL, statseq = NIL; OPT_Node procdec = NIL, statseq = NIL;
int64 c; int64 c;
c = OPM_errpos; c = OPM_errpos;
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(1,64);
OPP_CheckSym(39); OPP_CheckSym(39);
OPP_Block(&procdec, &statseq); OPP_Block(&procdec, &statseq);
OPB_Enter(&procdec, statseq, *ProcedureDeclaration__16_s->proc); OPB_Enter(&procdec, statseq, *ProcedureDeclaration__16_s->proc);
@ -1041,7 +1041,7 @@ static void TProcDecl__23 (void)
if ((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mnolev != OPP_level)) { if ((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mnolev != OPP_level)) {
*ProcedureDeclaration__16_s->fwd = NIL; *ProcedureDeclaration__16_s->fwd = NIL;
} }
if ((((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mode == 13)) && !__IN(1, (*ProcedureDeclaration__16_s->fwd)->conval->setval))) { if ((((*ProcedureDeclaration__16_s->fwd != NIL && (*ProcedureDeclaration__16_s->fwd)->mode == 13)) && !__IN(1, (*ProcedureDeclaration__16_s->fwd)->conval->setval, 64))) {
*ProcedureDeclaration__16_s->proc = OPT_NewObj(); *ProcedureDeclaration__16_s->proc = OPT_NewObj();
(*ProcedureDeclaration__16_s->proc)->leaf = 1; (*ProcedureDeclaration__16_s->proc)->leaf = 1;
if ((*ProcedureDeclaration__16_s->fwd)->vis != *ProcedureDeclaration__16_s->vis) { if ((*ProcedureDeclaration__16_s->fwd)->vis != *ProcedureDeclaration__16_s->vis) {
@ -1075,7 +1075,7 @@ static void TProcDecl__23 (void)
if ((((((baseProc->vis == 1 && (*ProcedureDeclaration__16_s->proc)->vis == 0)) && recTyp->strobj != NIL)) && recTyp->strobj->vis == 1)) { if ((((((baseProc->vis == 1 && (*ProcedureDeclaration__16_s->proc)->vis == 0)) && recTyp->strobj != NIL)) && recTyp->strobj->vis == 1)) {
OPP_err(109); OPP_err(109);
} }
(*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(2); (*ProcedureDeclaration__16_s->proc)->conval->setval |= __SETOF(2,64);
} }
if (!*ProcedureDeclaration__16_s->forward) { if (!*ProcedureDeclaration__16_s->forward) {
Body__17(); Body__17();
@ -1118,7 +1118,7 @@ static void OPP_ProcedureDeclaration (OPT_Node *x)
} else { } else {
OPP_err(38); OPP_err(38);
} }
if ((__IN(mode, 0x0600) && !OPT_SYSimported)) { if ((__IN(mode, 0x0600, 64) && !OPT_SYSimported)) {
OPP_err(135); OPP_err(135);
} }
OPS_Get(&OPP_sym); OPS_Get(&OPP_sym);
@ -1135,7 +1135,7 @@ static void OPP_ProcedureDeclaration (OPT_Node *x)
if ((fwd != NIL && (fwd->mnolev != OPP_level || fwd->mode == 8))) { if ((fwd != NIL && (fwd->mnolev != OPP_level || fwd->mode == 8))) {
fwd = NIL; fwd = NIL;
} }
if ((((fwd != NIL && __IN(fwd->mode, 0xc0))) && !__IN(1, fwd->conval->setval))) { if ((((fwd != NIL && __IN(fwd->mode, 0xc0, 64))) && !__IN(1, fwd->conval->setval, 64))) {
proc = OPT_NewObj(); proc = OPT_NewObj();
proc->leaf = 1; proc->leaf = 1;
if (fwd->vis != vis) { if (fwd->vis != vis) {
@ -1178,7 +1178,7 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, int32 *n, OPP
for (;;) { for (;;) {
OPP_ConstExpression(&x); OPP_ConstExpression(&x);
f = x->typ->form; f = x->typ->form;
if (__IN(f, 0x18)) { if (__IN(f, 0x18, 64)) {
xval = x->conval->intval; xval = x->conval->intval;
} else { } else {
OPP_err(61); OPP_err(61);
@ -1258,7 +1258,7 @@ static void CasePart__31 (OPT_Node *x)
*StatSeq__30_s->pos = OPM_errpos; *StatSeq__30_s->pos = OPM_errpos;
if ((*x)->class == 8 || (*x)->class == 9) { if ((*x)->class == 8 || (*x)->class == 9) {
OPP_err(126); OPP_err(126);
} else if (!__IN((*x)->typ->form, 0x18)) { } else if (!__IN((*x)->typ->form, 0x18, 64)) {
OPP_err(125); OPP_err(125);
} }
OPP_CheckSym(25); OPP_CheckSym(25);
@ -1675,7 +1675,7 @@ static void OPP_Block (OPT_Node *procdec, OPT_Node *statseq)
if (obj->typ->strobj == NIL) { if (obj->typ->strobj == NIL) {
obj->typ->strobj = obj; obj->typ->strobj = obj;
} }
if (__IN(obj->typ->comp, 0x1c)) { if (__IN(obj->typ->comp, 0x1c, 64)) {
i = 0; i = 0;
while (i < OPP_nofFwdPtr) { while (i < OPP_nofFwdPtr) {
typ = OPP_FwdPtr[__X(i, 64)]; typ = OPP_FwdPtr[__X(i, 64)];

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPP__h #ifndef OPP__h
#define OPP__h #define OPP__h

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/12] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */
#ifndef OPS__h #ifndef OPS__h
#define OPS__h #define OPS__h

Some files were not shown because too many files have changed in this diff Show more