diff --git a/bootstrap/unix-44/Files.c b/bootstrap/unix-44/Files.c index 81252466..7a06dc47 100644 --- a/bootstrap/unix-44/Files.c +++ b/bootstrap/unix-44/Files.c @@ -88,8 +88,7 @@ export void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +export void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); @@ -915,15 +914,15 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len) } while (!b); } -void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) +void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) { int8 s, b; int64 q; s = 0; q = 0; Files_Read(&*R, R__typ, (void*)&b); - while ((int16)b >= 128) { - q += (int64)__ASH(((int16)b - 128), s); + while (b < 0) { + q += (int64)__ASH(((int16)b + 128), s); s += 7; Files_Read(&*R, R__typ, (void*)&b); } @@ -932,23 +931,6 @@ void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x __MOVE((address)&q, (address)x, x__len); } -void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x) -{ - int8 s; - CHAR ch; - int32 n; - s = 0; - n = 0; - Files_Read(&*R, R__typ, (void*)&ch); - while ((int16)ch >= 128) { - n += __ASH(((int16)ch - 128), s); - s += 7; - Files_Read(&*R, R__typ, (void*)&ch); - } - n += __ASH((__MASK((int16)ch, -64) - __ASHL(__ASHR((int16)ch, 6), 6)), s); - *x = n; -} - void Files_WriteBool (Files_Rider *R, address *R__typ, BOOLEAN x) { Files_Write(&*R, R__typ, __VAL(CHAR, x)); diff --git a/bootstrap/unix-44/Files.h b/bootstrap/unix-44/Files.h index af64d06f..69903ae1 100644 --- a/bootstrap/unix-44/Files.h +++ b/bootstrap/unix-44/Files.h @@ -45,8 +45,7 @@ import void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +import void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); diff --git a/bootstrap/unix-44/OPM.c b/bootstrap/unix-44/OPM.c index 7e770a33..1457a09c 100644 --- a/bootstrap/unix-44/OPM.c +++ b/bootstrap/unix-44/OPM.c @@ -745,7 +745,7 @@ int32 OPM_SymRInt (void) { int32 _o_result; int32 k; - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, &k); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 4); _o_result = k; return _o_result; } @@ -754,19 +754,19 @@ int64 OPM_SymRInt64 (void) { int64 _o_result; int64 k; - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); _o_result = k; return _o_result; } void OPM_SymRSet64 (uint64 *s) { - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); } void OPM_SymRSet (uint32 *s) { - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 4); } void OPM_SymRReal (REAL *r) diff --git a/bootstrap/unix-44/extTools.c b/bootstrap/unix-44/extTools.c index fe7eb545..b082e82c 100644 --- a/bootstrap/unix-44/extTools.c +++ b/bootstrap/unix-44/extTools.c @@ -64,7 +64,7 @@ static void extTools_execute (CHAR *title, LONGINT title__len, CHAR *cmd, LONGIN static void extTools_InitialiseCompilerCommand (CHAR *s, LONGINT s__len) { - __COPY("gcc -g -O1", s, s__len); + __COPY("gcc -g", s, s__len); Strings_Append((CHAR*)" -I \"", 6, (void*)s, s__len); Strings_Append(OPM_ResourceDir, 1024, (void*)s, s__len); Strings_Append((CHAR*)"/include\" ", 11, (void*)s, s__len); diff --git a/bootstrap/unix-48/Files.c b/bootstrap/unix-48/Files.c index 81252466..7a06dc47 100644 --- a/bootstrap/unix-48/Files.c +++ b/bootstrap/unix-48/Files.c @@ -88,8 +88,7 @@ export void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +export void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); @@ -915,15 +914,15 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len) } while (!b); } -void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) +void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) { int8 s, b; int64 q; s = 0; q = 0; Files_Read(&*R, R__typ, (void*)&b); - while ((int16)b >= 128) { - q += (int64)__ASH(((int16)b - 128), s); + while (b < 0) { + q += (int64)__ASH(((int16)b + 128), s); s += 7; Files_Read(&*R, R__typ, (void*)&b); } @@ -932,23 +931,6 @@ void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x __MOVE((address)&q, (address)x, x__len); } -void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x) -{ - int8 s; - CHAR ch; - int32 n; - s = 0; - n = 0; - Files_Read(&*R, R__typ, (void*)&ch); - while ((int16)ch >= 128) { - n += __ASH(((int16)ch - 128), s); - s += 7; - Files_Read(&*R, R__typ, (void*)&ch); - } - n += __ASH((__MASK((int16)ch, -64) - __ASHL(__ASHR((int16)ch, 6), 6)), s); - *x = n; -} - void Files_WriteBool (Files_Rider *R, address *R__typ, BOOLEAN x) { Files_Write(&*R, R__typ, __VAL(CHAR, x)); diff --git a/bootstrap/unix-48/Files.h b/bootstrap/unix-48/Files.h index af64d06f..69903ae1 100644 --- a/bootstrap/unix-48/Files.h +++ b/bootstrap/unix-48/Files.h @@ -45,8 +45,7 @@ import void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +import void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); diff --git a/bootstrap/unix-48/OPM.c b/bootstrap/unix-48/OPM.c index 7e770a33..1457a09c 100644 --- a/bootstrap/unix-48/OPM.c +++ b/bootstrap/unix-48/OPM.c @@ -745,7 +745,7 @@ int32 OPM_SymRInt (void) { int32 _o_result; int32 k; - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, &k); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 4); _o_result = k; return _o_result; } @@ -754,19 +754,19 @@ int64 OPM_SymRInt64 (void) { int64 _o_result; int64 k; - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); _o_result = k; return _o_result; } void OPM_SymRSet64 (uint64 *s) { - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); } void OPM_SymRSet (uint32 *s) { - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 4); } void OPM_SymRReal (REAL *r) diff --git a/bootstrap/unix-48/extTools.c b/bootstrap/unix-48/extTools.c index fe7eb545..b082e82c 100644 --- a/bootstrap/unix-48/extTools.c +++ b/bootstrap/unix-48/extTools.c @@ -64,7 +64,7 @@ static void extTools_execute (CHAR *title, LONGINT title__len, CHAR *cmd, LONGIN static void extTools_InitialiseCompilerCommand (CHAR *s, LONGINT s__len) { - __COPY("gcc -g -O1", s, s__len); + __COPY("gcc -g", s, s__len); Strings_Append((CHAR*)" -I \"", 6, (void*)s, s__len); Strings_Append(OPM_ResourceDir, 1024, (void*)s, s__len); Strings_Append((CHAR*)"/include\" ", 11, (void*)s, s__len); diff --git a/bootstrap/unix-88/Files.c b/bootstrap/unix-88/Files.c index 75dee180..a884abf3 100644 --- a/bootstrap/unix-88/Files.c +++ b/bootstrap/unix-88/Files.c @@ -88,8 +88,7 @@ export void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +export void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); @@ -915,15 +914,15 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len) } while (!b); } -void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) +void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) { int8 s, b; int64 q; s = 0; q = 0; Files_Read(&*R, R__typ, (void*)&b); - while ((int16)b >= 128) { - q += (int64)__ASH(((int16)b - 128), s); + while (b < 0) { + q += (int64)__ASH(((int16)b + 128), s); s += 7; Files_Read(&*R, R__typ, (void*)&b); } @@ -932,23 +931,6 @@ void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x __MOVE((address)&q, (address)x, x__len); } -void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x) -{ - int8 s; - CHAR ch; - int32 n; - s = 0; - n = 0; - Files_Read(&*R, R__typ, (void*)&ch); - while ((int16)ch >= 128) { - n += __ASH(((int16)ch - 128), s); - s += 7; - Files_Read(&*R, R__typ, (void*)&ch); - } - n += __ASH((__MASK((int16)ch, -64) - __ASHL(__ASHR((int16)ch, 6), 6)), s); - *x = n; -} - void Files_WriteBool (Files_Rider *R, address *R__typ, BOOLEAN x) { Files_Write(&*R, R__typ, __VAL(CHAR, x)); diff --git a/bootstrap/unix-88/Files.h b/bootstrap/unix-88/Files.h index 0ba00834..02e44bed 100644 --- a/bootstrap/unix-88/Files.h +++ b/bootstrap/unix-88/Files.h @@ -47,8 +47,7 @@ import void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +import void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); diff --git a/bootstrap/unix-88/OPM.c b/bootstrap/unix-88/OPM.c index deeaaa1d..0c2ad2b1 100644 --- a/bootstrap/unix-88/OPM.c +++ b/bootstrap/unix-88/OPM.c @@ -745,7 +745,7 @@ int32 OPM_SymRInt (void) { int32 _o_result; int32 k; - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, &k); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 4); _o_result = k; return _o_result; } @@ -754,19 +754,19 @@ int64 OPM_SymRInt64 (void) { int64 _o_result; int64 k; - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); _o_result = k; return _o_result; } void OPM_SymRSet64 (uint64 *s) { - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); } void OPM_SymRSet (uint32 *s) { - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 4); } void OPM_SymRReal (REAL *r) diff --git a/bootstrap/unix-88/extTools.c b/bootstrap/unix-88/extTools.c index fe7eb545..b082e82c 100644 --- a/bootstrap/unix-88/extTools.c +++ b/bootstrap/unix-88/extTools.c @@ -64,7 +64,7 @@ static void extTools_execute (CHAR *title, LONGINT title__len, CHAR *cmd, LONGIN static void extTools_InitialiseCompilerCommand (CHAR *s, LONGINT s__len) { - __COPY("gcc -g -O1", s, s__len); + __COPY("gcc -g", s, s__len); Strings_Append((CHAR*)" -I \"", 6, (void*)s, s__len); Strings_Append(OPM_ResourceDir, 1024, (void*)s, s__len); Strings_Append((CHAR*)"/include\" ", 11, (void*)s, s__len); diff --git a/bootstrap/windows-48/Files.c b/bootstrap/windows-48/Files.c index 003173fa..6163931f 100644 --- a/bootstrap/windows-48/Files.c +++ b/bootstrap/windows-48/Files.c @@ -88,8 +88,7 @@ export void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +export void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); @@ -915,15 +914,15 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len) } while (!b); } -void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) +void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) { int8 s, b; int64 q; s = 0; q = 0; Files_Read(&*R, R__typ, (void*)&b); - while ((int16)b >= 128) { - q += (int64)__ASH(((int16)b - 128), s); + while (b < 0) { + q += (int64)__ASH(((int16)b + 128), s); s += 7; Files_Read(&*R, R__typ, (void*)&b); } @@ -932,23 +931,6 @@ void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x __MOVE((address)&q, (address)x, x__len); } -void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x) -{ - int8 s; - CHAR ch; - int32 n; - s = 0; - n = 0; - Files_Read(&*R, R__typ, (void*)&ch); - while ((int16)ch >= 128) { - n += __ASH(((int16)ch - 128), s); - s += 7; - Files_Read(&*R, R__typ, (void*)&ch); - } - n += __ASH((__MASK((int16)ch, -64) - __ASHL(__ASHR((int16)ch, 6), 6)), s); - *x = n; -} - void Files_WriteBool (Files_Rider *R, address *R__typ, BOOLEAN x) { Files_Write(&*R, R__typ, __VAL(CHAR, x)); diff --git a/bootstrap/windows-48/Files.h b/bootstrap/windows-48/Files.h index 12fa2cfa..56c229a3 100644 --- a/bootstrap/windows-48/Files.h +++ b/bootstrap/windows-48/Files.h @@ -45,8 +45,7 @@ import void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +import void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); diff --git a/bootstrap/windows-48/OPM.c b/bootstrap/windows-48/OPM.c index 7e770a33..1457a09c 100644 --- a/bootstrap/windows-48/OPM.c +++ b/bootstrap/windows-48/OPM.c @@ -745,7 +745,7 @@ int32 OPM_SymRInt (void) { int32 _o_result; int32 k; - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, &k); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 4); _o_result = k; return _o_result; } @@ -754,19 +754,19 @@ int64 OPM_SymRInt64 (void) { int64 _o_result; int64 k; - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); _o_result = k; return _o_result; } void OPM_SymRSet64 (uint64 *s) { - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); } void OPM_SymRSet (uint32 *s) { - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 4); } void OPM_SymRReal (REAL *r) diff --git a/bootstrap/windows-48/extTools.c b/bootstrap/windows-48/extTools.c index fe7eb545..b082e82c 100644 --- a/bootstrap/windows-48/extTools.c +++ b/bootstrap/windows-48/extTools.c @@ -64,7 +64,7 @@ static void extTools_execute (CHAR *title, LONGINT title__len, CHAR *cmd, LONGIN static void extTools_InitialiseCompilerCommand (CHAR *s, LONGINT s__len) { - __COPY("gcc -g -O1", s, s__len); + __COPY("gcc -g", s, s__len); Strings_Append((CHAR*)" -I \"", 6, (void*)s, s__len); Strings_Append(OPM_ResourceDir, 1024, (void*)s, s__len); Strings_Append((CHAR*)"/include\" ", 11, (void*)s, s__len); diff --git a/bootstrap/windows-88/Files.c b/bootstrap/windows-88/Files.c index 36fc4d53..ff0e4a78 100644 --- a/bootstrap/windows-88/Files.c +++ b/bootstrap/windows-88/Files.c @@ -88,8 +88,7 @@ export void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); export void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); export void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); export void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -export void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -export void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +export void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); export void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); export void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); export void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); @@ -915,15 +914,15 @@ void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len) } while (!b); } -void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) +void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len) { int8 s, b; int64 q; s = 0; q = 0; Files_Read(&*R, R__typ, (void*)&b); - while ((int16)b >= 128) { - q += (int64)__ASH(((int16)b - 128), s); + while (b < 0) { + q += (int64)__ASH(((int16)b + 128), s); s += 7; Files_Read(&*R, R__typ, (void*)&b); } @@ -932,23 +931,6 @@ void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x __MOVE((address)&q, (address)x, x__len); } -void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x) -{ - int8 s; - CHAR ch; - int32 n; - s = 0; - n = 0; - Files_Read(&*R, R__typ, (void*)&ch); - while ((int16)ch >= 128) { - n += __ASH(((int16)ch - 128), s); - s += 7; - Files_Read(&*R, R__typ, (void*)&ch); - } - n += __ASH((__MASK((int16)ch, -64) - __ASHL(__ASHR((int16)ch, 6), 6)), s); - *x = n; -} - void Files_WriteBool (Files_Rider *R, address *R__typ, BOOLEAN x) { Files_Write(&*R, R__typ, __VAL(CHAR, x)); diff --git a/bootstrap/windows-88/Files.h b/bootstrap/windows-88/Files.h index 35d709e7..e00e603f 100644 --- a/bootstrap/windows-88/Files.h +++ b/bootstrap/windows-88/Files.h @@ -47,8 +47,7 @@ import void Files_ReadInt (Files_Rider *R, address *R__typ, int16 *x); import void Files_ReadLInt (Files_Rider *R, address *R__typ, int32 *x); import void Files_ReadLReal (Files_Rider *R, address *R__typ, LONGREAL *x); import void Files_ReadLine (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); -import void Files_ReadNum (Files_Rider *R, address *R__typ, int32 *x); -import void Files_ReadNum64 (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); +import void Files_ReadNum (Files_Rider *R, address *R__typ, SYSTEM_BYTE *x, LONGINT x__len); import void Files_ReadReal (Files_Rider *R, address *R__typ, REAL *x); import void Files_ReadSet (Files_Rider *R, address *R__typ, uint32 *x); import void Files_ReadString (Files_Rider *R, address *R__typ, CHAR *x, LONGINT x__len); diff --git a/bootstrap/windows-88/OPM.c b/bootstrap/windows-88/OPM.c index deeaaa1d..0c2ad2b1 100644 --- a/bootstrap/windows-88/OPM.c +++ b/bootstrap/windows-88/OPM.c @@ -745,7 +745,7 @@ int32 OPM_SymRInt (void) { int32 _o_result; int32 k; - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, &k); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 4); _o_result = k; return _o_result; } @@ -754,19 +754,19 @@ int64 OPM_SymRInt64 (void) { int64 _o_result; int64 k; - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&k, 8); _o_result = k; return _o_result; } void OPM_SymRSet64 (uint64 *s) { - Files_ReadNum64(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 8); } void OPM_SymRSet (uint32 *s) { - Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (int32*)&*s); + Files_ReadNum(&OPM_oldSF, Files_Rider__typ, (void*)&*s, 4); } void OPM_SymRReal (REAL *r) diff --git a/bootstrap/windows-88/extTools.c b/bootstrap/windows-88/extTools.c index fe7eb545..b082e82c 100644 --- a/bootstrap/windows-88/extTools.c +++ b/bootstrap/windows-88/extTools.c @@ -64,7 +64,7 @@ static void extTools_execute (CHAR *title, LONGINT title__len, CHAR *cmd, LONGIN static void extTools_InitialiseCompilerCommand (CHAR *s, LONGINT s__len) { - __COPY("gcc -g -O1", s, s__len); + __COPY("gcc -g", s, s__len); Strings_Append((CHAR*)" -I \"", 6, (void*)s, s__len); Strings_Append(OPM_ResourceDir, 1024, (void*)s, s__len); Strings_Append((CHAR*)"/include\" ", 11, (void*)s, s__len); diff --git a/src/compiler/OPM.Mod b/src/compiler/OPM.Mod index 6db573f6..a2beb450 100644 --- a/src/compiler/OPM.Mod +++ b/src/compiler/OPM.Mod @@ -600,16 +600,16 @@ MODULE OPM; (* RC 6.3.89 / 28.6.89, J.Templ 10.7.89 / 22.7.96 *) PROCEDURE SymRInt64*(): SYSTEM.INT64; VAR k: SYSTEM.INT64; - BEGIN Files.ReadNum64(oldSF, k); RETURN k + BEGIN Files.ReadNum(oldSF, k); RETURN k END SymRInt64; (* todo - combine RSet64 and RSet *) PROCEDURE SymRSet64*(VAR s: SYSTEM.SET64); - BEGIN Files.ReadNum64(oldSF, s) + BEGIN Files.ReadNum(oldSF, s) END SymRSet64; PROCEDURE SymRSet*(VAR s: SET); - BEGIN Files.ReadNum(oldSF, SYSTEM.VAL(LONGINT, s)) + BEGIN Files.ReadNum(oldSF, s) END SymRSet; PROCEDURE SymRReal*(VAR r: REAL); diff --git a/src/runtime/Files.Mod b/src/runtime/Files.Mod index 893abf1f..a8246ace 100644 --- a/src/runtime/Files.Mod +++ b/src/runtime/Files.Mod @@ -657,7 +657,7 @@ Especially Length would become fairly complex. PROCEDURE ReadNum*(VAR R: Rider; VAR x: ARRAY OF SYSTEM.BYTE); VAR s, b: SYSTEM.INT8; q: SYSTEM.INT64; BEGIN s := 0; q := 0; Read(R, b); - WHILE b >= 128 DO INC(q, ASH(b-128, s)); INC(s, 7); Read(R, b) END; + WHILE b < 0 DO INC(q, ASH(b+128, s)); INC(s, 7); Read(R, b) END; INC(q, ASH(b MOD 64 - b DIV 64 * 64, s)); ASSERT(LEN(x) <= 8); SYSTEM.MOVE(SYSTEM.ADR(q), SYSTEM.ADR(x), LEN(x)) (* Assumes little endian representation of q and x. *) diff --git a/src/system/Files.Mod b/src/system/Files.Mod index 94ef014a..e4add256 100644 --- a/src/system/Files.Mod +++ b/src/system/Files.Mod @@ -654,23 +654,14 @@ Especially Length would become fairly complex. UNTIL b END ReadLine; - (* todo combine ReadNum and ReadNum64 *) - PROCEDURE ReadNum64*(VAR R: Rider; VAR x: ARRAY OF SYSTEM.BYTE); + PROCEDURE ReadNum*(VAR R: Rider; VAR x: ARRAY OF SYSTEM.BYTE); VAR s, b: SYSTEM.INT8; q: SYSTEM.INT64; - BEGIN s := 0; q := 0; Read(R, b); - WHILE b >= 128 DO INC(q, ASH(b-128, s)); INC(s, 7); Read(R, b) END; + BEGIN + s := 0; q := 0; Read(R, b); + WHILE b < 0 DO INC(q, ASH(b+128, s)); INC(s, 7); Read(R, b) END; INC(q, ASH(b MOD 64 - b DIV 64 * 64, s)); ASSERT(LEN(x) <= 8); SYSTEM.MOVE(SYSTEM.ADR(q), SYSTEM.ADR(x), LEN(x)) (* Assumes little endian representation of q and x. *) - END ReadNum64; - - - PROCEDURE ReadNum* (VAR R: Rider; VAR x: LONGINT); - VAR s: SHORTINT; ch: CHAR; n: LONGINT; - BEGIN s := 0; n := 0; Read(R, ch); - WHILE ORD(ch) >= 128 DO INC(n, ASH(ORD(ch) - 128, s) ); INC(s, 7); Read(R, ch) END; - INC(n, ASH(ORD(ch) MOD 64 - ORD(ch) DIV 64 * 64, s) ); - x := n END ReadNum; PROCEDURE WriteBool* (VAR R: Rider; x: BOOLEAN); diff --git a/src/tools/make/configure.c b/src/tools/make/configure.c index b8d261dd..d3ccc2d1 100644 --- a/src/tools/make/configure.c +++ b/src/tools/make/configure.c @@ -126,7 +126,7 @@ void determineOS() { #endif } -#define optimize " -O1" +#define optimize "" // " -O1" void determineCCompiler() { snprintf(libspec, sizeof(libspec), " -l %s", oname);