Support 64 bit integer literals on all builds, and fix 64 bit Console.hex display.

This commit is contained in:
David Brown 2016-09-15 15:23:08 +01:00
parent 7fad168e40
commit dc699db9f5
199 changed files with 478 additions and 477 deletions

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin", Configuration_versionLong, 41); __MOVE("1.95 [2016/09/15] for gcc LP64 on cygwin", Configuration_versionLong, 41);
__ENDMOD; __ENDMOD;
} }

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -102,7 +102,8 @@ void Console_Bool (BOOLEAN b)
void Console_Hex (int32 i) void Console_Hex (int32 i)
{ {
int32 k, n; int16 k;
int64 n;
k = -28; k = -28;
while (k <= 0) { while (k <= 0) {
n = __MASK(__ASH(i, k), -16); n = __MASK(__ASH(i, k), -16);

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin tskSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -17,7 +17,7 @@ typedef
export OPS_Name OPS_name; export OPS_Name OPS_name;
export OPS_String OPS_str; export OPS_String OPS_str;
export int16 OPS_numtyp; export int16 OPS_numtyp;
export int32 OPS_intval; export int64 OPS_intval;
export REAL OPS_realval; export REAL OPS_realval;
export LONGREAL OPS_lrlval; export LONGREAL OPS_lrlval;
static CHAR OPS_ch; static CHAR OPS_ch;
@ -132,7 +132,7 @@ static int16 Ord__7 (CHAR ch, BOOLEAN hex)
static void OPS_Number (void) static void OPS_Number (void)
{ {
int16 i, m, n, d, e, maxHdig; int16 i, m, n, d, e;
CHAR dig[24]; CHAR dig[24];
LONGREAL f; LONGREAL f;
CHAR expCh; CHAR expCh;
@ -178,7 +178,7 @@ static void OPS_Number (void)
OPS_numtyp = 1; OPS_numtyp = 1;
if (n <= 2) { if (n <= 2) {
while (i < n) { while (i < n) {
OPS_intval = __ASHL(OPS_intval, 4) + Ord__7(dig[i], 1); OPS_intval = __ASHL(OPS_intval, 4) + (int64)Ord__7(dig[i], 1);
i += 1; i += 1;
} }
} else { } else {
@ -187,13 +187,12 @@ static void OPS_Number (void)
} else if (OPS_ch == 'H') { } else if (OPS_ch == 'H') {
OPM_Get(&OPS_ch); OPM_Get(&OPS_ch);
OPS_numtyp = 2; OPS_numtyp = 2;
maxHdig = 8; if (n <= 16) {
if (n <= maxHdig) { if ((n == 16 && dig[0] > '7')) {
if ((n == maxHdig && dig[0] > '7')) {
OPS_intval = -1; OPS_intval = -1;
} }
while (i < n) { while (i < n) {
OPS_intval = __ASHL(OPS_intval, 4) + Ord__7(dig[i], 1); OPS_intval = __ASHL(OPS_intval, 4) + (int64)Ord__7(dig[i], 1);
i += 1; i += 1;
} }
} else { } else {
@ -204,8 +203,8 @@ static void OPS_Number (void)
while (i < n) { while (i < n) {
d = Ord__7(dig[i], 0); d = Ord__7(dig[i], 0);
i += 1; i += 1;
if (OPS_intval <= __DIV(2147483647 - d, 10)) { if (OPS_intval <= (int64)__DIV(9223372036854775807 - d, 10)) {
OPS_intval = OPS_intval * 10 + d; OPS_intval = OPS_intval * 10 + (int64)d;
} else { } else {
OPS_err(203); OPS_err(203);
} }

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin tspkaSfF */
#ifndef OPS__h #ifndef OPS__h
#define OPS__h #define OPS__h
@ -15,7 +15,7 @@ typedef
import OPS_Name OPS_name; import OPS_Name OPS_name;
import OPS_String OPS_str; import OPS_String OPS_str;
import int16 OPS_numtyp; import int16 OPS_numtyp;
import int32 OPS_intval; import int64 OPS_intval;
import REAL OPS_realval; import REAL OPS_realval;
import LONGREAL OPS_lrlval; import LONGREAL OPS_lrlval;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkamSf */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin", Configuration_versionLong, 41); __MOVE("1.95 [2016/09/15] for gcc LP64 on cygwin", Configuration_versionLong, 41);
__ENDMOD; __ENDMOD;
} }

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -102,7 +102,8 @@ void Console_Bool (BOOLEAN b)
void Console_Hex (int32 i) void Console_Hex (int32 i)
{ {
int32 k, n; int16 k;
int64 n;
k = -28; k = -28;
while (k <= 0) { while (k <= 0) {
n = __MASK(__ASH(i, k), -16); n = __MASK(__ASH(i, k), -16);

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin tskSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int16 #define INTEGER int16
#define LONGINT int32 #define LONGINT int32
@ -17,7 +17,7 @@ typedef
export OPS_Name OPS_name; export OPS_Name OPS_name;
export OPS_String OPS_str; export OPS_String OPS_str;
export int16 OPS_numtyp; export int16 OPS_numtyp;
export int32 OPS_intval; export int64 OPS_intval;
export REAL OPS_realval; export REAL OPS_realval;
export LONGREAL OPS_lrlval; export LONGREAL OPS_lrlval;
static CHAR OPS_ch; static CHAR OPS_ch;
@ -132,7 +132,7 @@ static int16 Ord__7 (CHAR ch, BOOLEAN hex)
static void OPS_Number (void) static void OPS_Number (void)
{ {
int16 i, m, n, d, e, maxHdig; int16 i, m, n, d, e;
CHAR dig[24]; CHAR dig[24];
LONGREAL f; LONGREAL f;
CHAR expCh; CHAR expCh;
@ -178,7 +178,7 @@ static void OPS_Number (void)
OPS_numtyp = 1; OPS_numtyp = 1;
if (n <= 2) { if (n <= 2) {
while (i < n) { while (i < n) {
OPS_intval = __ASHL(OPS_intval, 4) + Ord__7(dig[i], 1); OPS_intval = __ASHL(OPS_intval, 4) + (int64)Ord__7(dig[i], 1);
i += 1; i += 1;
} }
} else { } else {
@ -187,13 +187,12 @@ static void OPS_Number (void)
} else if (OPS_ch == 'H') { } else if (OPS_ch == 'H') {
OPM_Get(&OPS_ch); OPM_Get(&OPS_ch);
OPS_numtyp = 2; OPS_numtyp = 2;
maxHdig = 8; if (n <= 16) {
if (n <= maxHdig) { if ((n == 16 && dig[0] > '7')) {
if ((n == maxHdig && dig[0] > '7')) {
OPS_intval = -1; OPS_intval = -1;
} }
while (i < n) { while (i < n) {
OPS_intval = __ASHL(OPS_intval, 4) + Ord__7(dig[i], 1); OPS_intval = __ASHL(OPS_intval, 4) + (int64)Ord__7(dig[i], 1);
i += 1; i += 1;
} }
} else { } else {
@ -204,8 +203,8 @@ static void OPS_Number (void)
while (i < n) { while (i < n) {
d = Ord__7(dig[i], 0); d = Ord__7(dig[i], 0);
i += 1; i += 1;
if (OPS_intval <= __DIV(2147483647 - d, 10)) { if (OPS_intval <= (int64)__DIV(9223372036854775807 - d, 10)) {
OPS_intval = OPS_intval * 10 + d; OPS_intval = OPS_intval * 10 + (int64)d;
} else { } else {
OPS_err(203); OPS_err(203);
} }

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin tspkaSfF */
#ifndef OPS__h #ifndef OPS__h
#define OPS__h #define OPS__h
@ -15,7 +15,7 @@ typedef
import OPS_Name OPS_name; import OPS_Name OPS_name;
import OPS_String OPS_str; import OPS_String OPS_str;
import int16 OPS_numtyp; import int16 OPS_numtyp;
import int32 OPS_intval; import int64 OPS_intval;
import REAL OPS_realval; import REAL OPS_realval;
import LONGREAL OPS_lrlval; import LONGREAL OPS_lrlval;

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkamSf */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin", Configuration_versionLong, 41); __MOVE("1.95 [2016/09/15] for gcc LP64 on cygwin", Configuration_versionLong, 41);
__ENDMOD; __ENDMOD;
} }

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin xtspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64
@ -102,8 +102,9 @@ void Console_Bool (BOOLEAN b)
void Console_Hex (int64 i) void Console_Hex (int64 i)
{ {
int64 k, n; int32 k;
k = -28; int64 n;
k = -60;
while (k <= 0) { while (k <= 0) {
n = __MASK(__ASH(i, k), -16); n = __MASK(__ASH(i, k), -16);
if (n <= 9) { if (n <= 9) {

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin tskSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tskSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin tspkaSfF */
#define INTEGER int32 #define INTEGER int32
#define LONGINT int64 #define LONGINT int64
@ -132,7 +132,7 @@ static int32 Ord__7 (CHAR ch, BOOLEAN hex)
static void OPS_Number (void) static void OPS_Number (void)
{ {
int32 i, m, n, d, e, maxHdig; int32 i, m, n, d, e;
CHAR dig[24]; CHAR dig[24];
LONGREAL f; LONGREAL f;
CHAR expCh; CHAR expCh;
@ -187,9 +187,8 @@ static void OPS_Number (void)
} else if (OPS_ch == 'H') { } else if (OPS_ch == 'H') {
OPM_Get(&OPS_ch); OPM_Get(&OPS_ch);
OPS_numtyp = 2; OPS_numtyp = 2;
maxHdig = 16; if (n <= 16) {
if (n <= maxHdig) { if ((n == 16 && dig[0] > '7')) {
if ((n == maxHdig && dig[0] > '7')) {
OPS_intval = -1; OPS_intval = -1;
} }
while (i < n) { while (i < n) {

View file

@ -1,4 +1,4 @@
/* voc 1.95 [2016/09/14] for gcc LP64 on cygwin tspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] 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/14] for gcc LP64 on cygwin xtspkaSfF */ /* voc 1.95 [2016/09/15] for gcc LP64 on cygwin xtspkaSfF */
#ifndef OPT__h #ifndef OPT__h
#define OPT__h #define OPT__h

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