diff --git a/.gitignore b/.gitignore index 3f69b59d..0e401127 100644 --- a/.gitignore +++ b/.gitignore @@ -16,9 +16,11 @@ /src/test/**/*.sym /src/test/**/*.stackdump /src/test/confidence/**/result +/src/test/confidence/**/*.asm +/src/test/confidence/**/*.s /.DS_store **/.DS_store **/*.dSYM **/.tmp.* /*.pdb -/*.ilk \ No newline at end of file +/*.ilk diff --git a/bootstrap/unix-44/Configuration.c b/bootstrap/unix-44/Configuration.c index c4a99497..2536116a 100644 --- a/bootstrap/unix-44/Configuration.c +++ b/bootstrap/unix-44/Configuration.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" @@ -13,6 +13,6 @@ export void *Configuration__init(void) __DEFMOD; __REGMOD("Configuration", 0); /* BEGIN */ - __MOVE("1.95 [2016/07/22] for gcc LP64 on cygwin", Configuration_versionLong, 41); + __MOVE("1.95 [2016/08/12] for gcc LP64 on cygwin", Configuration_versionLong, 41); __ENDMOD; } diff --git a/bootstrap/unix-44/Configuration.h b/bootstrap/unix-44/Configuration.h index 9ccb175b..6c75ab3f 100644 --- a/bootstrap/unix-44/Configuration.h +++ b/bootstrap/unix-44/Configuration.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Configuration__h #define Configuration__h diff --git a/bootstrap/unix-44/Console.c b/bootstrap/unix-44/Console.c index 529459d3..3661b489 100644 --- a/bootstrap/unix-44/Console.c +++ b/bootstrap/unix-44/Console.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Platform.h" diff --git a/bootstrap/unix-44/Console.h b/bootstrap/unix-44/Console.h index fe4dd1e8..8b0f8e36 100644 --- a/bootstrap/unix-44/Console.h +++ b/bootstrap/unix-44/Console.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Console__h #define Console__h diff --git a/bootstrap/unix-44/Files.c b/bootstrap/unix-44/Files.c index 564d7975..8a78db2a 100644 --- a/bootstrap/unix-44/Files.c +++ b/bootstrap/unix-44/Files.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" diff --git a/bootstrap/unix-44/Files.h b/bootstrap/unix-44/Files.h index 2539b65b..b3997124 100644 --- a/bootstrap/unix-44/Files.h +++ b/bootstrap/unix-44/Files.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef Files__h #define Files__h diff --git a/bootstrap/unix-44/Heap.c b/bootstrap/unix-44/Heap.c index 2cb7c777..a9da28b5 100644 --- a/bootstrap/unix-44/Heap.c +++ b/bootstrap/unix-44/Heap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #include "SYSTEM.h" struct Heap__1 { diff --git a/bootstrap/unix-44/Heap.h b/bootstrap/unix-44/Heap.h index 7e1bfa5e..b3f7fe42 100644 --- a/bootstrap/unix-44/Heap.h +++ b/bootstrap/unix-44/Heap.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #ifndef Heap__h #define Heap__h diff --git a/bootstrap/unix-44/Modules.c b/bootstrap/unix-44/Modules.c index 94c48dac..14c6d752 100644 --- a/bootstrap/unix-44/Modules.c +++ b/bootstrap/unix-44/Modules.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Console.h" #include "Heap.h" diff --git a/bootstrap/unix-44/Modules.h b/bootstrap/unix-44/Modules.h index 10f4d96d..d5f14370 100644 --- a/bootstrap/unix-44/Modules.h +++ b/bootstrap/unix-44/Modules.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Modules__h #define Modules__h diff --git a/bootstrap/unix-44/OPB.c b/bootstrap/unix-44/OPB.c index ea10b5d7..26ddc322 100644 --- a/bootstrap/unix-44/OPB.c +++ b/bootstrap/unix-44/OPB.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPM.h" #include "OPS.h" @@ -90,8 +90,8 @@ OPT_Node OPB_NewLeaf (OPT_Object obj) node = OPT_NewNode(9); break; default: - OPB_err(127); node = OPT_NewNode(0); + OPB_err(127); break; } node->obj = obj; @@ -1596,8 +1596,9 @@ void OPB_SetElem (OPT_Node *x) static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) { + OPT_Struct y = NIL; INTEGER f, g; - OPT_Struct y = NIL, p = NIL, q = NIL; + OPT_Struct p = NIL, q = NIL; if (OPM_Verbose) { OPM_LogWLn(); OPM_LogWStr((CHAR*)"PROCEDURE CheckAssign", (LONGINT)22); @@ -1642,14 +1643,8 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) } break; case 6: - if (OPM_LIntSize == 4) { - if (!__IN(g, 0x70)) { - OPB_err(113); - } - } else { - if (!__IN(g, 0x70)) { - OPB_err(113); - } + if (!__IN(g, 0x70)) { + OPB_err(113); } break; case 7: diff --git a/bootstrap/unix-44/OPB.h b/bootstrap/unix-44/OPB.h index 4a0aad65..0b4e8a80 100644 --- a/bootstrap/unix-44/OPB.h +++ b/bootstrap/unix-44/OPB.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPB__h #define OPB__h diff --git a/bootstrap/unix-44/OPC.c b/bootstrap/unix-44/OPC.c index 58a32122..d96b0e32 100644 --- a/bootstrap/unix-44/OPC.c +++ b/bootstrap/unix-44/OPC.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "OPM.h" @@ -315,7 +315,7 @@ void OPC_Andent (OPT_Struct typ) static BOOLEAN OPC_Undefined (OPT_Object obj) { BOOLEAN _o_result; - _o_result = (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2) || obj->name[0] == 0x00; + _o_result = obj->name[0] == 0x00 || (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2); return _o_result; } @@ -1238,8 +1238,8 @@ void OPC_GenHdr (OPT_Node n) static void OPC_GenHeaderMsg (void) { INTEGER i; - OPM_WriteString((CHAR*)"/*", (LONGINT)3); - OPM_WriteString((CHAR*)" voc ", (LONGINT)6); + OPM_WriteString((CHAR*)"/* ", (LONGINT)4); + OPM_WriteString((CHAR*)"voc", (LONGINT)4); OPM_Write(' '); OPM_WriteString(Configuration_versionLong, ((LONGINT)(41))); OPM_Write(' '); diff --git a/bootstrap/unix-44/OPC.h b/bootstrap/unix-44/OPC.h index 90b9b2b9..0b3df3a0 100644 --- a/bootstrap/unix-44/OPC.h +++ b/bootstrap/unix-44/OPC.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPC__h #define OPC__h diff --git a/bootstrap/unix-44/OPM.c b/bootstrap/unix-44/OPM.c index 8016a6bb..abef45d6 100644 --- a/bootstrap/unix-44/OPM.c +++ b/bootstrap/unix-44/OPM.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" @@ -36,6 +36,7 @@ static CHAR OPM_OBERON[1024]; static CHAR OPM_MODULES[1024]; +export INTEGER OPM_AlignSize (LONGINT size); static void OPM_Append (Files_Rider *R, LONGINT *R__typ, Files_File F); export void OPM_CloseFiles (void); export void OPM_CloseOldSym (void); @@ -57,7 +58,6 @@ export void OPM_LogWNum (LONGINT i, LONGINT len); export void OPM_LogWStr (CHAR *s, LONGINT s__len); static void OPM_MakeFileName (CHAR *name, LONGINT name__len, CHAR *FName, LONGINT FName__len, CHAR *ext, LONGINT ext__len); export void OPM_Mark (INTEGER n, LONGINT pos); -static INTEGER OPM_Min (INTEGER a, INTEGER b); export void OPM_NewSym (CHAR *modName, LONGINT modName__len); export void OPM_OldSym (CHAR *modName, LONGINT modName__len, BOOLEAN *done); export void OPM_OpenFiles (CHAR *moduleName, LONGINT moduleName__len); @@ -85,7 +85,7 @@ export void OPM_WriteString (CHAR *s, LONGINT s__len); export void OPM_WriteStringVar (CHAR *s, LONGINT s__len); export BOOLEAN OPM_eofSF (void); export void OPM_err (INTEGER n); -static LONGINT OPM_minus (LONGINT i); +static LONGINT OPM_minusop (LONGINT i); static LONGINT OPM_power0 (LONGINT i, LONGINT j); @@ -117,50 +117,38 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) i = 1; while (s[__X(i, s__len)] != 0x00) { switch (s[__X(i, s__len)]) { - case 'e': - *opt = *opt ^ 0x0200; - break; - case 's': - *opt = *opt ^ 0x10; - break; - case 'm': - *opt = *opt ^ 0x0400; - break; - case 'x': - *opt = *opt ^ 0x01; - break; - case 'r': - *opt = *opt ^ 0x04; - break; - case 't': - *opt = *opt ^ 0x08; - break; case 'a': *opt = *opt ^ 0x80; break; - case 'k': - *opt = *opt ^ 0x40; - break; - case 'p': - *opt = *opt ^ 0x20; - break; - case 'S': - *opt = *opt ^ 0x2000; - break; case 'c': *opt = *opt ^ 0x4000; break; - case 'M': - *opt = *opt ^ 0x8000; + case 'e': + *opt = *opt ^ 0x0200; break; case 'f': *opt = *opt ^ 0x010000; break; - case 'F': - *opt = *opt ^ 0x020000; + case 'k': + *opt = *opt ^ 0x40; break; - case 'V': - *opt = *opt ^ 0x040000; + case 'm': + *opt = *opt ^ 0x0400; + break; + case 'p': + *opt = *opt ^ 0x20; + break; + case 'r': + *opt = *opt ^ 0x04; + break; + case 's': + *opt = *opt ^ 0x10; + break; + case 't': + *opt = *opt ^ 0x08; + break; + case 'x': + *opt = *opt ^ 0x01; break; case 'B': if (s[__X(i + 1, s__len)] != 0x00) { @@ -178,6 +166,19 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) __ASSERT(OPM_IntSize == 2 || OPM_IntSize == 4, 0); __ASSERT(OPM_PointerSize == 4 || OPM_PointerSize == 8, 0); __ASSERT(OPM_Alignment == 4 || OPM_Alignment == 8, 0); + Files_SetSearchPath((CHAR*)"", (LONGINT)1); + break; + case 'F': + *opt = *opt ^ 0x020000; + break; + case 'M': + *opt = *opt ^ 0x8000; + break; + case 'S': + *opt = *opt ^ 0x2000; + break; + case 'V': + *opt = *opt ^ 0x040000; break; default: OPM_LogWStr((CHAR*)" warning: option ", (LONGINT)19); @@ -575,7 +576,7 @@ static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONG __DEL(name); } -static LONGINT OPM_minus (LONGINT i) +static LONGINT OPM_minusop (LONGINT i) { LONGINT _o_result; _o_result = -i; @@ -663,17 +664,25 @@ static void OPM_VerboseListSizes (void) OPM_LogWLn(); } -static INTEGER OPM_Min (INTEGER a, INTEGER b) +INTEGER OPM_AlignSize (LONGINT size) { INTEGER _o_result; - if (a < b) { - _o_result = a; - return _o_result; + INTEGER align; + if (size < (LONGINT)OPM_Alignment) { + if (size > 8) { + align = 16; + } else if (size > 4) { + align = 8; + } else if (size > 2) { + align = 4; + } else { + align = (int)size; + } } else { - _o_result = b; - return _o_result; + align = OPM_Alignment; } - __RETCHK; + _o_result = align; + return _o_result; } static void OPM_GetProperties (void) @@ -682,24 +691,24 @@ static void OPM_GetProperties (void) OPM_ProcSize = OPM_PointerSize; OPM_LIntSize = __ASHL(OPM_IntSize, 1); OPM_SetSize = OPM_LIntSize; - OPM_CharAlign = OPM_Min(OPM_Alignment, OPM_CharSize); - OPM_BoolAlign = OPM_Min(OPM_Alignment, OPM_BoolSize); - OPM_SIntAlign = OPM_Min(OPM_Alignment, OPM_SIntSize); - OPM_RecAlign = OPM_Min(OPM_Alignment, OPM_RecSize); - OPM_RealAlign = OPM_Min(OPM_Alignment, OPM_RealSize); - OPM_LRealAlign = OPM_Min(OPM_Alignment, OPM_LRealSize); - OPM_PointerAlign = OPM_Min(OPM_Alignment, OPM_PointerSize); - OPM_ProcAlign = OPM_Min(OPM_Alignment, OPM_ProcSize); - OPM_IntAlign = OPM_Min(OPM_Alignment, OPM_IntSize); - OPM_LIntAlign = OPM_Min(OPM_Alignment, OPM_LIntSize); - OPM_SetAlign = OPM_Min(OPM_Alignment, OPM_SetSize); + OPM_CharAlign = OPM_AlignSize(OPM_CharSize); + OPM_BoolAlign = OPM_AlignSize(OPM_BoolSize); + OPM_SIntAlign = OPM_AlignSize(OPM_SIntSize); + OPM_RecAlign = OPM_AlignSize(OPM_RecSize); + OPM_RealAlign = OPM_AlignSize(OPM_RealSize); + OPM_LRealAlign = OPM_AlignSize(OPM_LRealSize); + OPM_PointerAlign = OPM_AlignSize(OPM_PointerSize); + OPM_ProcAlign = OPM_AlignSize(OPM_ProcSize); + OPM_IntAlign = OPM_AlignSize(OPM_IntSize); + OPM_LIntAlign = OPM_AlignSize(OPM_LIntSize); + OPM_SetAlign = OPM_AlignSize(OPM_SetSize); base = -2; OPM_MinSInt = __ASH(base, __ASHL(OPM_SIntSize, 3) - 2); - OPM_MaxSInt = OPM_minus(OPM_MinSInt + 1); + OPM_MaxSInt = OPM_minusop(OPM_MinSInt + 1); OPM_MinInt = __ASH(base, __ASHL(OPM_IntSize, 3) - 2); - OPM_MaxInt = OPM_minus(OPM_MinInt + 1); + OPM_MaxInt = OPM_minusop(OPM_MinInt + 1); OPM_MinLInt = __ASH(base, __ASHL(OPM_LIntSize, 3) - 2); - OPM_MaxLInt = OPM_minus(OPM_MinLInt + 1); + OPM_MaxLInt = OPM_minusop(OPM_MinLInt + 1); if (OPM_RealSize == 4) { OPM_MaxReal = 3.40282346000000e+038; } else if (OPM_RealSize == 8) { diff --git a/bootstrap/unix-44/OPM.h b/bootstrap/unix-44/OPM.h index fc3808a8..f5668ee4 100644 --- a/bootstrap/unix-44/OPM.h +++ b/bootstrap/unix-44/OPM.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPM__h #define OPM__h @@ -18,6 +18,7 @@ import SET OPM_opt, OPM_glbopt; import BOOLEAN OPM_dontAsm, OPM_dontLink, OPM_mainProg, OPM_mainLinkStat, OPM_notColorOutput, OPM_forceNewSym, OPM_Verbose; +import INTEGER OPM_AlignSize (LONGINT size); import void OPM_CloseFiles (void); import void OPM_CloseOldSym (void); import void OPM_DeleteNewSym (void); diff --git a/bootstrap/unix-44/OPP.c b/bootstrap/unix-44/OPP.c index d6930745..1e81081b 100644 --- a/bootstrap/unix-44/OPP.c +++ b/bootstrap/unix-44/OPP.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPB.h" #include "OPM.h" @@ -438,10 +438,10 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned) if (OPP_sym == 38) { OPP_qualident(&id); if (id->mode == 5) { - if (id->typ != *banned) { - *typ = id->typ; - } else { + if (id->typ == *banned) { OPP_err(58); + } else { + *typ = id->typ; } } else { OPP_err(52); diff --git a/bootstrap/unix-44/OPP.h b/bootstrap/unix-44/OPP.h index 00534e5c..c5e52633 100644 --- a/bootstrap/unix-44/OPP.h +++ b/bootstrap/unix-44/OPP.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPP__h #define OPP__h diff --git a/bootstrap/unix-44/OPS.c b/bootstrap/unix-44/OPS.c index 3be820a5..e4591084 100644 --- a/bootstrap/unix-44/OPS.c +++ b/bootstrap/unix-44/OPS.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #include "SYSTEM.h" #include "OPM.h" diff --git a/bootstrap/unix-44/OPS.h b/bootstrap/unix-44/OPS.h index 3cd6b899..dda82bff 100644 --- a/bootstrap/unix-44/OPS.h +++ b/bootstrap/unix-44/OPS.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef OPS__h #define OPS__h diff --git a/bootstrap/unix-44/OPT.c b/bootstrap/unix-44/OPT.c index e91a1a68..5cc3a8a8 100644 --- a/bootstrap/unix-44/OPT.c +++ b/bootstrap/unix-44/OPT.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPM.h" #include "OPS.h" @@ -1809,6 +1809,7 @@ export void *OPT__init(void) OPT_syslink = OPT_topScope->right; OPT_universe = OPT_topScope; OPT_topScope->right = NIL; + OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp); OPT_EnterTyp((CHAR*)"SET", 9, OPM_SetSize, &OPT_settyp); OPT_EnterTyp((CHAR*)"REAL", 7, OPM_RealSize, &OPT_realtyp); @@ -1816,7 +1817,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"LONGINT", 6, OPM_LIntSize, &OPT_linttyp); OPT_EnterTyp((CHAR*)"LONGREAL", 8, OPM_LRealSize, &OPT_lrltyp); OPT_EnterTyp((CHAR*)"SHORTINT", 4, OPM_SIntSize, &OPT_sinttyp); - OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterBoolConst((CHAR*)"FALSE", ((LONGINT)(0))); OPT_EnterBoolConst((CHAR*)"TRUE", ((LONGINT)(1))); OPT_EnterProc((CHAR*)"HALT", 0); diff --git a/bootstrap/unix-44/OPT.h b/bootstrap/unix-44/OPT.h index 0035ead1..c5edc1b1 100644 --- a/bootstrap/unix-44/OPT.h +++ b/bootstrap/unix-44/OPT.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPT__h #define OPT__h @@ -59,8 +59,7 @@ typedef INTEGER ref, sysflag; LONGINT n, size, align, txtpos; BOOLEAN allocated, pbused, pvused; - char _prvt0[8]; - LONGINT pbfp, pvfp; + char _prvt0[16]; OPT_Struct BaseTyp; OPT_Object link, strobj; } OPT_StrDesc; diff --git a/bootstrap/unix-44/OPV.c b/bootstrap/unix-44/OPV.c index 96f02b38..5aeaec11 100644 --- a/bootstrap/unix-44/OPV.c +++ b/bootstrap/unix-44/OPV.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPC.h" #include "OPM.h" @@ -332,7 +332,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Nmop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Nmop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -402,7 +402,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Ndop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Ndop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -954,7 +954,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec) } break; case 29: - if ((((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size) || !__IN(l->class, 0x17)) { + if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size)) { OPM_Write('('); OPC_Ident(n->typ->strobj); OPM_Write(')'); diff --git a/bootstrap/unix-44/OPV.h b/bootstrap/unix-44/OPV.h index a4f208c5..12702371 100644 --- a/bootstrap/unix-44/OPV.h +++ b/bootstrap/unix-44/OPV.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPV__h #define OPV__h diff --git a/bootstrap/unix-44/Platform.c b/bootstrap/unix-44/Platform.c index 2baa87e7..9b582eb8 100644 --- a/bootstrap/unix-44/Platform.c +++ b/bootstrap/unix-44/Platform.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" typedef diff --git a/bootstrap/unix-44/Platform.h b/bootstrap/unix-44/Platform.h index 7bc6a7f9..c4e0c6b9 100644 --- a/bootstrap/unix-44/Platform.h +++ b/bootstrap/unix-44/Platform.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Platform__h #define Platform__h diff --git a/bootstrap/unix-44/Reals.c b/bootstrap/unix-44/Reals.c index 1ebd0438..79c8cdd0 100644 --- a/bootstrap/unix-44/Reals.c +++ b/bootstrap/unix-44/Reals.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" diff --git a/bootstrap/unix-44/Reals.h b/bootstrap/unix-44/Reals.h index ae81f6e7..3e92a06d 100644 --- a/bootstrap/unix-44/Reals.h +++ b/bootstrap/unix-44/Reals.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Reals__h #define Reals__h diff --git a/bootstrap/unix-44/Strings.c b/bootstrap/unix-44/Strings.c index 6ecc5e7b..2a652c89 100644 --- a/bootstrap/unix-44/Strings.c +++ b/bootstrap/unix-44/Strings.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" diff --git a/bootstrap/unix-44/Strings.h b/bootstrap/unix-44/Strings.h index ee20ae49..4fc1ee1d 100644 --- a/bootstrap/unix-44/Strings.h +++ b/bootstrap/unix-44/Strings.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Strings__h #define Strings__h diff --git a/bootstrap/unix-44/Texts.c b/bootstrap/unix-44/Texts.c index a985d2fc..f4cb302a 100644 --- a/bootstrap/unix-44/Texts.c +++ b/bootstrap/unix-44/Texts.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Files.h" #include "Modules.h" diff --git a/bootstrap/unix-44/Texts.h b/bootstrap/unix-44/Texts.h index 454de29e..3b79d8f8 100644 --- a/bootstrap/unix-44/Texts.h +++ b/bootstrap/unix-44/Texts.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Texts__h #define Texts__h diff --git a/bootstrap/unix-44/Vishap.c b/bootstrap/unix-44/Vishap.c index 4660166b..5796b2ae 100644 --- a/bootstrap/unix-44/Vishap.c +++ b/bootstrap/unix-44/Vishap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkamSf */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkamSf */ #include "SYSTEM.h" #include "Configuration.h" #include "Heap.h" diff --git a/bootstrap/unix-44/errors.c b/bootstrap/unix-44/errors.c index 0122b025..b0c6f226 100644 --- a/bootstrap/unix-44/errors.c +++ b/bootstrap/unix-44/errors.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" typedef diff --git a/bootstrap/unix-44/errors.h b/bootstrap/unix-44/errors.h index 94835309..6bfdf303 100644 --- a/bootstrap/unix-44/errors.h +++ b/bootstrap/unix-44/errors.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef errors__h #define errors__h diff --git a/bootstrap/unix-44/extTools.c b/bootstrap/unix-44/extTools.c index e53881fe..5095a593 100644 --- a/bootstrap/unix-44/extTools.c +++ b/bootstrap/unix-44/extTools.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" diff --git a/bootstrap/unix-44/extTools.h b/bootstrap/unix-44/extTools.h index e393ad88..cbd6d99c 100644 --- a/bootstrap/unix-44/extTools.h +++ b/bootstrap/unix-44/extTools.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef extTools__h #define extTools__h diff --git a/bootstrap/unix-44/vt100.c b/bootstrap/unix-44/vt100.c index f905ffc7..e2fa5210 100644 --- a/bootstrap/unix-44/vt100.c +++ b/bootstrap/unix-44/vt100.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Console.h" #include "Strings.h" diff --git a/bootstrap/unix-44/vt100.h b/bootstrap/unix-44/vt100.h index 2af72bac..1f2bb2d8 100644 --- a/bootstrap/unix-44/vt100.h +++ b/bootstrap/unix-44/vt100.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef vt100__h #define vt100__h diff --git a/bootstrap/unix-48/Configuration.c b/bootstrap/unix-48/Configuration.c index c4a99497..2536116a 100644 --- a/bootstrap/unix-48/Configuration.c +++ b/bootstrap/unix-48/Configuration.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" @@ -13,6 +13,6 @@ export void *Configuration__init(void) __DEFMOD; __REGMOD("Configuration", 0); /* BEGIN */ - __MOVE("1.95 [2016/07/22] for gcc LP64 on cygwin", Configuration_versionLong, 41); + __MOVE("1.95 [2016/08/12] for gcc LP64 on cygwin", Configuration_versionLong, 41); __ENDMOD; } diff --git a/bootstrap/unix-48/Configuration.h b/bootstrap/unix-48/Configuration.h index 9ccb175b..6c75ab3f 100644 --- a/bootstrap/unix-48/Configuration.h +++ b/bootstrap/unix-48/Configuration.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Configuration__h #define Configuration__h diff --git a/bootstrap/unix-48/Console.c b/bootstrap/unix-48/Console.c index 529459d3..3661b489 100644 --- a/bootstrap/unix-48/Console.c +++ b/bootstrap/unix-48/Console.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Platform.h" diff --git a/bootstrap/unix-48/Console.h b/bootstrap/unix-48/Console.h index fe4dd1e8..8b0f8e36 100644 --- a/bootstrap/unix-48/Console.h +++ b/bootstrap/unix-48/Console.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Console__h #define Console__h diff --git a/bootstrap/unix-48/Files.c b/bootstrap/unix-48/Files.c index 564d7975..8a78db2a 100644 --- a/bootstrap/unix-48/Files.c +++ b/bootstrap/unix-48/Files.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" diff --git a/bootstrap/unix-48/Files.h b/bootstrap/unix-48/Files.h index 2539b65b..b3997124 100644 --- a/bootstrap/unix-48/Files.h +++ b/bootstrap/unix-48/Files.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef Files__h #define Files__h diff --git a/bootstrap/unix-48/Heap.c b/bootstrap/unix-48/Heap.c index 2cb7c777..a9da28b5 100644 --- a/bootstrap/unix-48/Heap.c +++ b/bootstrap/unix-48/Heap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #include "SYSTEM.h" struct Heap__1 { diff --git a/bootstrap/unix-48/Heap.h b/bootstrap/unix-48/Heap.h index 7e1bfa5e..b3f7fe42 100644 --- a/bootstrap/unix-48/Heap.h +++ b/bootstrap/unix-48/Heap.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #ifndef Heap__h #define Heap__h diff --git a/bootstrap/unix-48/Modules.c b/bootstrap/unix-48/Modules.c index 94c48dac..14c6d752 100644 --- a/bootstrap/unix-48/Modules.c +++ b/bootstrap/unix-48/Modules.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Console.h" #include "Heap.h" diff --git a/bootstrap/unix-48/Modules.h b/bootstrap/unix-48/Modules.h index 10f4d96d..d5f14370 100644 --- a/bootstrap/unix-48/Modules.h +++ b/bootstrap/unix-48/Modules.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Modules__h #define Modules__h diff --git a/bootstrap/unix-48/OPB.c b/bootstrap/unix-48/OPB.c index ea10b5d7..26ddc322 100644 --- a/bootstrap/unix-48/OPB.c +++ b/bootstrap/unix-48/OPB.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPM.h" #include "OPS.h" @@ -90,8 +90,8 @@ OPT_Node OPB_NewLeaf (OPT_Object obj) node = OPT_NewNode(9); break; default: - OPB_err(127); node = OPT_NewNode(0); + OPB_err(127); break; } node->obj = obj; @@ -1596,8 +1596,9 @@ void OPB_SetElem (OPT_Node *x) static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) { + OPT_Struct y = NIL; INTEGER f, g; - OPT_Struct y = NIL, p = NIL, q = NIL; + OPT_Struct p = NIL, q = NIL; if (OPM_Verbose) { OPM_LogWLn(); OPM_LogWStr((CHAR*)"PROCEDURE CheckAssign", (LONGINT)22); @@ -1642,14 +1643,8 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) } break; case 6: - if (OPM_LIntSize == 4) { - if (!__IN(g, 0x70)) { - OPB_err(113); - } - } else { - if (!__IN(g, 0x70)) { - OPB_err(113); - } + if (!__IN(g, 0x70)) { + OPB_err(113); } break; case 7: diff --git a/bootstrap/unix-48/OPB.h b/bootstrap/unix-48/OPB.h index 4a0aad65..0b4e8a80 100644 --- a/bootstrap/unix-48/OPB.h +++ b/bootstrap/unix-48/OPB.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPB__h #define OPB__h diff --git a/bootstrap/unix-48/OPC.c b/bootstrap/unix-48/OPC.c index 58a32122..d96b0e32 100644 --- a/bootstrap/unix-48/OPC.c +++ b/bootstrap/unix-48/OPC.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "OPM.h" @@ -315,7 +315,7 @@ void OPC_Andent (OPT_Struct typ) static BOOLEAN OPC_Undefined (OPT_Object obj) { BOOLEAN _o_result; - _o_result = (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2) || obj->name[0] == 0x00; + _o_result = obj->name[0] == 0x00 || (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2); return _o_result; } @@ -1238,8 +1238,8 @@ void OPC_GenHdr (OPT_Node n) static void OPC_GenHeaderMsg (void) { INTEGER i; - OPM_WriteString((CHAR*)"/*", (LONGINT)3); - OPM_WriteString((CHAR*)" voc ", (LONGINT)6); + OPM_WriteString((CHAR*)"/* ", (LONGINT)4); + OPM_WriteString((CHAR*)"voc", (LONGINT)4); OPM_Write(' '); OPM_WriteString(Configuration_versionLong, ((LONGINT)(41))); OPM_Write(' '); diff --git a/bootstrap/unix-48/OPC.h b/bootstrap/unix-48/OPC.h index 90b9b2b9..0b3df3a0 100644 --- a/bootstrap/unix-48/OPC.h +++ b/bootstrap/unix-48/OPC.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPC__h #define OPC__h diff --git a/bootstrap/unix-48/OPM.c b/bootstrap/unix-48/OPM.c index 8016a6bb..abef45d6 100644 --- a/bootstrap/unix-48/OPM.c +++ b/bootstrap/unix-48/OPM.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" @@ -36,6 +36,7 @@ static CHAR OPM_OBERON[1024]; static CHAR OPM_MODULES[1024]; +export INTEGER OPM_AlignSize (LONGINT size); static void OPM_Append (Files_Rider *R, LONGINT *R__typ, Files_File F); export void OPM_CloseFiles (void); export void OPM_CloseOldSym (void); @@ -57,7 +58,6 @@ export void OPM_LogWNum (LONGINT i, LONGINT len); export void OPM_LogWStr (CHAR *s, LONGINT s__len); static void OPM_MakeFileName (CHAR *name, LONGINT name__len, CHAR *FName, LONGINT FName__len, CHAR *ext, LONGINT ext__len); export void OPM_Mark (INTEGER n, LONGINT pos); -static INTEGER OPM_Min (INTEGER a, INTEGER b); export void OPM_NewSym (CHAR *modName, LONGINT modName__len); export void OPM_OldSym (CHAR *modName, LONGINT modName__len, BOOLEAN *done); export void OPM_OpenFiles (CHAR *moduleName, LONGINT moduleName__len); @@ -85,7 +85,7 @@ export void OPM_WriteString (CHAR *s, LONGINT s__len); export void OPM_WriteStringVar (CHAR *s, LONGINT s__len); export BOOLEAN OPM_eofSF (void); export void OPM_err (INTEGER n); -static LONGINT OPM_minus (LONGINT i); +static LONGINT OPM_minusop (LONGINT i); static LONGINT OPM_power0 (LONGINT i, LONGINT j); @@ -117,50 +117,38 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) i = 1; while (s[__X(i, s__len)] != 0x00) { switch (s[__X(i, s__len)]) { - case 'e': - *opt = *opt ^ 0x0200; - break; - case 's': - *opt = *opt ^ 0x10; - break; - case 'm': - *opt = *opt ^ 0x0400; - break; - case 'x': - *opt = *opt ^ 0x01; - break; - case 'r': - *opt = *opt ^ 0x04; - break; - case 't': - *opt = *opt ^ 0x08; - break; case 'a': *opt = *opt ^ 0x80; break; - case 'k': - *opt = *opt ^ 0x40; - break; - case 'p': - *opt = *opt ^ 0x20; - break; - case 'S': - *opt = *opt ^ 0x2000; - break; case 'c': *opt = *opt ^ 0x4000; break; - case 'M': - *opt = *opt ^ 0x8000; + case 'e': + *opt = *opt ^ 0x0200; break; case 'f': *opt = *opt ^ 0x010000; break; - case 'F': - *opt = *opt ^ 0x020000; + case 'k': + *opt = *opt ^ 0x40; break; - case 'V': - *opt = *opt ^ 0x040000; + case 'm': + *opt = *opt ^ 0x0400; + break; + case 'p': + *opt = *opt ^ 0x20; + break; + case 'r': + *opt = *opt ^ 0x04; + break; + case 's': + *opt = *opt ^ 0x10; + break; + case 't': + *opt = *opt ^ 0x08; + break; + case 'x': + *opt = *opt ^ 0x01; break; case 'B': if (s[__X(i + 1, s__len)] != 0x00) { @@ -178,6 +166,19 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) __ASSERT(OPM_IntSize == 2 || OPM_IntSize == 4, 0); __ASSERT(OPM_PointerSize == 4 || OPM_PointerSize == 8, 0); __ASSERT(OPM_Alignment == 4 || OPM_Alignment == 8, 0); + Files_SetSearchPath((CHAR*)"", (LONGINT)1); + break; + case 'F': + *opt = *opt ^ 0x020000; + break; + case 'M': + *opt = *opt ^ 0x8000; + break; + case 'S': + *opt = *opt ^ 0x2000; + break; + case 'V': + *opt = *opt ^ 0x040000; break; default: OPM_LogWStr((CHAR*)" warning: option ", (LONGINT)19); @@ -575,7 +576,7 @@ static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONG __DEL(name); } -static LONGINT OPM_minus (LONGINT i) +static LONGINT OPM_minusop (LONGINT i) { LONGINT _o_result; _o_result = -i; @@ -663,17 +664,25 @@ static void OPM_VerboseListSizes (void) OPM_LogWLn(); } -static INTEGER OPM_Min (INTEGER a, INTEGER b) +INTEGER OPM_AlignSize (LONGINT size) { INTEGER _o_result; - if (a < b) { - _o_result = a; - return _o_result; + INTEGER align; + if (size < (LONGINT)OPM_Alignment) { + if (size > 8) { + align = 16; + } else if (size > 4) { + align = 8; + } else if (size > 2) { + align = 4; + } else { + align = (int)size; + } } else { - _o_result = b; - return _o_result; + align = OPM_Alignment; } - __RETCHK; + _o_result = align; + return _o_result; } static void OPM_GetProperties (void) @@ -682,24 +691,24 @@ static void OPM_GetProperties (void) OPM_ProcSize = OPM_PointerSize; OPM_LIntSize = __ASHL(OPM_IntSize, 1); OPM_SetSize = OPM_LIntSize; - OPM_CharAlign = OPM_Min(OPM_Alignment, OPM_CharSize); - OPM_BoolAlign = OPM_Min(OPM_Alignment, OPM_BoolSize); - OPM_SIntAlign = OPM_Min(OPM_Alignment, OPM_SIntSize); - OPM_RecAlign = OPM_Min(OPM_Alignment, OPM_RecSize); - OPM_RealAlign = OPM_Min(OPM_Alignment, OPM_RealSize); - OPM_LRealAlign = OPM_Min(OPM_Alignment, OPM_LRealSize); - OPM_PointerAlign = OPM_Min(OPM_Alignment, OPM_PointerSize); - OPM_ProcAlign = OPM_Min(OPM_Alignment, OPM_ProcSize); - OPM_IntAlign = OPM_Min(OPM_Alignment, OPM_IntSize); - OPM_LIntAlign = OPM_Min(OPM_Alignment, OPM_LIntSize); - OPM_SetAlign = OPM_Min(OPM_Alignment, OPM_SetSize); + OPM_CharAlign = OPM_AlignSize(OPM_CharSize); + OPM_BoolAlign = OPM_AlignSize(OPM_BoolSize); + OPM_SIntAlign = OPM_AlignSize(OPM_SIntSize); + OPM_RecAlign = OPM_AlignSize(OPM_RecSize); + OPM_RealAlign = OPM_AlignSize(OPM_RealSize); + OPM_LRealAlign = OPM_AlignSize(OPM_LRealSize); + OPM_PointerAlign = OPM_AlignSize(OPM_PointerSize); + OPM_ProcAlign = OPM_AlignSize(OPM_ProcSize); + OPM_IntAlign = OPM_AlignSize(OPM_IntSize); + OPM_LIntAlign = OPM_AlignSize(OPM_LIntSize); + OPM_SetAlign = OPM_AlignSize(OPM_SetSize); base = -2; OPM_MinSInt = __ASH(base, __ASHL(OPM_SIntSize, 3) - 2); - OPM_MaxSInt = OPM_minus(OPM_MinSInt + 1); + OPM_MaxSInt = OPM_minusop(OPM_MinSInt + 1); OPM_MinInt = __ASH(base, __ASHL(OPM_IntSize, 3) - 2); - OPM_MaxInt = OPM_minus(OPM_MinInt + 1); + OPM_MaxInt = OPM_minusop(OPM_MinInt + 1); OPM_MinLInt = __ASH(base, __ASHL(OPM_LIntSize, 3) - 2); - OPM_MaxLInt = OPM_minus(OPM_MinLInt + 1); + OPM_MaxLInt = OPM_minusop(OPM_MinLInt + 1); if (OPM_RealSize == 4) { OPM_MaxReal = 3.40282346000000e+038; } else if (OPM_RealSize == 8) { diff --git a/bootstrap/unix-48/OPM.h b/bootstrap/unix-48/OPM.h index fc3808a8..f5668ee4 100644 --- a/bootstrap/unix-48/OPM.h +++ b/bootstrap/unix-48/OPM.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPM__h #define OPM__h @@ -18,6 +18,7 @@ import SET OPM_opt, OPM_glbopt; import BOOLEAN OPM_dontAsm, OPM_dontLink, OPM_mainProg, OPM_mainLinkStat, OPM_notColorOutput, OPM_forceNewSym, OPM_Verbose; +import INTEGER OPM_AlignSize (LONGINT size); import void OPM_CloseFiles (void); import void OPM_CloseOldSym (void); import void OPM_DeleteNewSym (void); diff --git a/bootstrap/unix-48/OPP.c b/bootstrap/unix-48/OPP.c index d6930745..1e81081b 100644 --- a/bootstrap/unix-48/OPP.c +++ b/bootstrap/unix-48/OPP.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPB.h" #include "OPM.h" @@ -438,10 +438,10 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned) if (OPP_sym == 38) { OPP_qualident(&id); if (id->mode == 5) { - if (id->typ != *banned) { - *typ = id->typ; - } else { + if (id->typ == *banned) { OPP_err(58); + } else { + *typ = id->typ; } } else { OPP_err(52); diff --git a/bootstrap/unix-48/OPP.h b/bootstrap/unix-48/OPP.h index 00534e5c..c5e52633 100644 --- a/bootstrap/unix-48/OPP.h +++ b/bootstrap/unix-48/OPP.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPP__h #define OPP__h diff --git a/bootstrap/unix-48/OPS.c b/bootstrap/unix-48/OPS.c index 3be820a5..e4591084 100644 --- a/bootstrap/unix-48/OPS.c +++ b/bootstrap/unix-48/OPS.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #include "SYSTEM.h" #include "OPM.h" diff --git a/bootstrap/unix-48/OPS.h b/bootstrap/unix-48/OPS.h index 3cd6b899..dda82bff 100644 --- a/bootstrap/unix-48/OPS.h +++ b/bootstrap/unix-48/OPS.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef OPS__h #define OPS__h diff --git a/bootstrap/unix-48/OPT.c b/bootstrap/unix-48/OPT.c index e91a1a68..5cc3a8a8 100644 --- a/bootstrap/unix-48/OPT.c +++ b/bootstrap/unix-48/OPT.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPM.h" #include "OPS.h" @@ -1809,6 +1809,7 @@ export void *OPT__init(void) OPT_syslink = OPT_topScope->right; OPT_universe = OPT_topScope; OPT_topScope->right = NIL; + OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp); OPT_EnterTyp((CHAR*)"SET", 9, OPM_SetSize, &OPT_settyp); OPT_EnterTyp((CHAR*)"REAL", 7, OPM_RealSize, &OPT_realtyp); @@ -1816,7 +1817,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"LONGINT", 6, OPM_LIntSize, &OPT_linttyp); OPT_EnterTyp((CHAR*)"LONGREAL", 8, OPM_LRealSize, &OPT_lrltyp); OPT_EnterTyp((CHAR*)"SHORTINT", 4, OPM_SIntSize, &OPT_sinttyp); - OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterBoolConst((CHAR*)"FALSE", ((LONGINT)(0))); OPT_EnterBoolConst((CHAR*)"TRUE", ((LONGINT)(1))); OPT_EnterProc((CHAR*)"HALT", 0); diff --git a/bootstrap/unix-48/OPT.h b/bootstrap/unix-48/OPT.h index 0035ead1..c5edc1b1 100644 --- a/bootstrap/unix-48/OPT.h +++ b/bootstrap/unix-48/OPT.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPT__h #define OPT__h @@ -59,8 +59,7 @@ typedef INTEGER ref, sysflag; LONGINT n, size, align, txtpos; BOOLEAN allocated, pbused, pvused; - char _prvt0[8]; - LONGINT pbfp, pvfp; + char _prvt0[16]; OPT_Struct BaseTyp; OPT_Object link, strobj; } OPT_StrDesc; diff --git a/bootstrap/unix-48/OPV.c b/bootstrap/unix-48/OPV.c index 96f02b38..5aeaec11 100644 --- a/bootstrap/unix-48/OPV.c +++ b/bootstrap/unix-48/OPV.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPC.h" #include "OPM.h" @@ -332,7 +332,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Nmop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Nmop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -402,7 +402,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Ndop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Ndop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -954,7 +954,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec) } break; case 29: - if ((((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size) || !__IN(l->class, 0x17)) { + if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size)) { OPM_Write('('); OPC_Ident(n->typ->strobj); OPM_Write(')'); diff --git a/bootstrap/unix-48/OPV.h b/bootstrap/unix-48/OPV.h index a4f208c5..12702371 100644 --- a/bootstrap/unix-48/OPV.h +++ b/bootstrap/unix-48/OPV.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPV__h #define OPV__h diff --git a/bootstrap/unix-48/Platform.c b/bootstrap/unix-48/Platform.c index 2baa87e7..9b582eb8 100644 --- a/bootstrap/unix-48/Platform.c +++ b/bootstrap/unix-48/Platform.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" typedef diff --git a/bootstrap/unix-48/Platform.h b/bootstrap/unix-48/Platform.h index 7bc6a7f9..c4e0c6b9 100644 --- a/bootstrap/unix-48/Platform.h +++ b/bootstrap/unix-48/Platform.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Platform__h #define Platform__h diff --git a/bootstrap/unix-48/Reals.c b/bootstrap/unix-48/Reals.c index 1ebd0438..79c8cdd0 100644 --- a/bootstrap/unix-48/Reals.c +++ b/bootstrap/unix-48/Reals.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" diff --git a/bootstrap/unix-48/Reals.h b/bootstrap/unix-48/Reals.h index ae81f6e7..3e92a06d 100644 --- a/bootstrap/unix-48/Reals.h +++ b/bootstrap/unix-48/Reals.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Reals__h #define Reals__h diff --git a/bootstrap/unix-48/Strings.c b/bootstrap/unix-48/Strings.c index 6ecc5e7b..2a652c89 100644 --- a/bootstrap/unix-48/Strings.c +++ b/bootstrap/unix-48/Strings.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" diff --git a/bootstrap/unix-48/Strings.h b/bootstrap/unix-48/Strings.h index ee20ae49..4fc1ee1d 100644 --- a/bootstrap/unix-48/Strings.h +++ b/bootstrap/unix-48/Strings.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Strings__h #define Strings__h diff --git a/bootstrap/unix-48/Texts.c b/bootstrap/unix-48/Texts.c index 43955368..9a70708a 100644 --- a/bootstrap/unix-48/Texts.c +++ b/bootstrap/unix-48/Texts.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Files.h" #include "Modules.h" diff --git a/bootstrap/unix-48/Texts.h b/bootstrap/unix-48/Texts.h index 928de612..fb872c58 100644 --- a/bootstrap/unix-48/Texts.h +++ b/bootstrap/unix-48/Texts.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Texts__h #define Texts__h diff --git a/bootstrap/unix-48/Vishap.c b/bootstrap/unix-48/Vishap.c index 4660166b..5796b2ae 100644 --- a/bootstrap/unix-48/Vishap.c +++ b/bootstrap/unix-48/Vishap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkamSf */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkamSf */ #include "SYSTEM.h" #include "Configuration.h" #include "Heap.h" diff --git a/bootstrap/unix-48/errors.c b/bootstrap/unix-48/errors.c index 0122b025..b0c6f226 100644 --- a/bootstrap/unix-48/errors.c +++ b/bootstrap/unix-48/errors.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" typedef diff --git a/bootstrap/unix-48/errors.h b/bootstrap/unix-48/errors.h index 94835309..6bfdf303 100644 --- a/bootstrap/unix-48/errors.h +++ b/bootstrap/unix-48/errors.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef errors__h #define errors__h diff --git a/bootstrap/unix-48/extTools.c b/bootstrap/unix-48/extTools.c index e53881fe..5095a593 100644 --- a/bootstrap/unix-48/extTools.c +++ b/bootstrap/unix-48/extTools.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" diff --git a/bootstrap/unix-48/extTools.h b/bootstrap/unix-48/extTools.h index e393ad88..cbd6d99c 100644 --- a/bootstrap/unix-48/extTools.h +++ b/bootstrap/unix-48/extTools.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef extTools__h #define extTools__h diff --git a/bootstrap/unix-48/vt100.c b/bootstrap/unix-48/vt100.c index f905ffc7..e2fa5210 100644 --- a/bootstrap/unix-48/vt100.c +++ b/bootstrap/unix-48/vt100.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Console.h" #include "Strings.h" diff --git a/bootstrap/unix-48/vt100.h b/bootstrap/unix-48/vt100.h index 2af72bac..1f2bb2d8 100644 --- a/bootstrap/unix-48/vt100.h +++ b/bootstrap/unix-48/vt100.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef vt100__h #define vt100__h diff --git a/bootstrap/unix-88/Configuration.c b/bootstrap/unix-88/Configuration.c index ab2d4040..9928fb25 100644 --- a/bootstrap/unix-88/Configuration.c +++ b/bootstrap/unix-88/Configuration.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" @@ -14,6 +14,6 @@ export void *Configuration__init(void) __DEFMOD; __REGMOD("Configuration", 0); /* BEGIN */ - __MOVE("1.95 [2016/07/22] for gcc LP64 on cygwin", Configuration_versionLong, 41); + __MOVE("1.95 [2016/08/12] for gcc LP64 on cygwin", Configuration_versionLong, 41); __ENDMOD; } diff --git a/bootstrap/unix-88/Configuration.h b/bootstrap/unix-88/Configuration.h index 932a72f5..6181a575 100644 --- a/bootstrap/unix-88/Configuration.h +++ b/bootstrap/unix-88/Configuration.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Configuration__h #define Configuration__h diff --git a/bootstrap/unix-88/Console.c b/bootstrap/unix-88/Console.c index 1c91edd0..f7717b40 100644 --- a/bootstrap/unix-88/Console.c +++ b/bootstrap/unix-88/Console.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Platform.h" diff --git a/bootstrap/unix-88/Console.h b/bootstrap/unix-88/Console.h index 341bc4cb..0aeb8c7f 100644 --- a/bootstrap/unix-88/Console.h +++ b/bootstrap/unix-88/Console.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Console__h #define Console__h diff --git a/bootstrap/unix-88/Files.c b/bootstrap/unix-88/Files.c index 818b1445..b26ce2f8 100644 --- a/bootstrap/unix-88/Files.c +++ b/bootstrap/unix-88/Files.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" diff --git a/bootstrap/unix-88/Files.h b/bootstrap/unix-88/Files.h index fac2b753..7a388916 100644 --- a/bootstrap/unix-88/Files.h +++ b/bootstrap/unix-88/Files.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef Files__h #define Files__h diff --git a/bootstrap/unix-88/Heap.c b/bootstrap/unix-88/Heap.c index 2fef0b01..6acf5102 100644 --- a/bootstrap/unix-88/Heap.c +++ b/bootstrap/unix-88/Heap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/unix-88/Heap.h b/bootstrap/unix-88/Heap.h index c284f0f3..95cc4a05 100644 --- a/bootstrap/unix-88/Heap.h +++ b/bootstrap/unix-88/Heap.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #ifndef Heap__h #define Heap__h diff --git a/bootstrap/unix-88/Modules.c b/bootstrap/unix-88/Modules.c index db12f96d..2150d156 100644 --- a/bootstrap/unix-88/Modules.c +++ b/bootstrap/unix-88/Modules.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Console.h" diff --git a/bootstrap/unix-88/Modules.h b/bootstrap/unix-88/Modules.h index b2fdac26..84d3c6c7 100644 --- a/bootstrap/unix-88/Modules.h +++ b/bootstrap/unix-88/Modules.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Modules__h #define Modules__h diff --git a/bootstrap/unix-88/OPB.c b/bootstrap/unix-88/OPB.c index 9192e087..b774b9ec 100644 --- a/bootstrap/unix-88/OPB.c +++ b/bootstrap/unix-88/OPB.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPM.h" @@ -91,8 +91,8 @@ OPT_Node OPB_NewLeaf (OPT_Object obj) node = OPT_NewNode(9); break; default: - OPB_err(127); node = OPT_NewNode(0); + OPB_err(127); break; } node->obj = obj; @@ -1597,8 +1597,9 @@ void OPB_SetElem (OPT_Node *x) static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) { + OPT_Struct y = NIL; INTEGER f, g; - OPT_Struct y = NIL, p = NIL, q = NIL; + OPT_Struct p = NIL, q = NIL; if (OPM_Verbose) { OPM_LogWLn(); OPM_LogWStr((CHAR*)"PROCEDURE CheckAssign", (LONGINT)22); @@ -1643,14 +1644,8 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) } break; case 6: - if (OPM_LIntSize == 4) { - if (!__IN(g, 0x70)) { - OPB_err(113); - } - } else { - if (!__IN(g, 0x70)) { - OPB_err(113); - } + if (!__IN(g, 0x70)) { + OPB_err(113); } break; case 7: diff --git a/bootstrap/unix-88/OPB.h b/bootstrap/unix-88/OPB.h index 644f8330..15d785cf 100644 --- a/bootstrap/unix-88/OPB.h +++ b/bootstrap/unix-88/OPB.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPB__h #define OPB__h diff --git a/bootstrap/unix-88/OPC.c b/bootstrap/unix-88/OPC.c index 181da1e9..ff97a2cb 100644 --- a/bootstrap/unix-88/OPC.c +++ b/bootstrap/unix-88/OPC.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" @@ -316,7 +316,7 @@ void OPC_Andent (OPT_Struct typ) static BOOLEAN OPC_Undefined (OPT_Object obj) { BOOLEAN _o_result; - _o_result = (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2) || obj->name[0] == 0x00; + _o_result = obj->name[0] == 0x00 || (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2); return _o_result; } @@ -1239,8 +1239,8 @@ void OPC_GenHdr (OPT_Node n) static void OPC_GenHeaderMsg (void) { INTEGER i; - OPM_WriteString((CHAR*)"/*", (LONGINT)3); - OPM_WriteString((CHAR*)" voc ", (LONGINT)6); + OPM_WriteString((CHAR*)"/* ", (LONGINT)4); + OPM_WriteString((CHAR*)"voc", (LONGINT)4); OPM_Write(' '); OPM_WriteString(Configuration_versionLong, ((LONGINT)(41))); OPM_Write(' '); diff --git a/bootstrap/unix-88/OPC.h b/bootstrap/unix-88/OPC.h index 671e1325..8cf4d51e 100644 --- a/bootstrap/unix-88/OPC.h +++ b/bootstrap/unix-88/OPC.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPC__h #define OPC__h diff --git a/bootstrap/unix-88/OPM.c b/bootstrap/unix-88/OPM.c index 73f7ab23..17b93af9 100644 --- a/bootstrap/unix-88/OPM.c +++ b/bootstrap/unix-88/OPM.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" @@ -37,6 +37,7 @@ static CHAR OPM_OBERON[1024]; static CHAR OPM_MODULES[1024]; +export INTEGER OPM_AlignSize (LONGINT size); static void OPM_Append (Files_Rider *R, LONGINT *R__typ, Files_File F); export void OPM_CloseFiles (void); export void OPM_CloseOldSym (void); @@ -58,7 +59,6 @@ export void OPM_LogWNum (LONGINT i, LONGINT len); export void OPM_LogWStr (CHAR *s, LONGINT s__len); static void OPM_MakeFileName (CHAR *name, LONGINT name__len, CHAR *FName, LONGINT FName__len, CHAR *ext, LONGINT ext__len); export void OPM_Mark (INTEGER n, LONGINT pos); -static INTEGER OPM_Min (INTEGER a, INTEGER b); export void OPM_NewSym (CHAR *modName, LONGINT modName__len); export void OPM_OldSym (CHAR *modName, LONGINT modName__len, BOOLEAN *done); export void OPM_OpenFiles (CHAR *moduleName, LONGINT moduleName__len); @@ -86,7 +86,7 @@ export void OPM_WriteString (CHAR *s, LONGINT s__len); export void OPM_WriteStringVar (CHAR *s, LONGINT s__len); export BOOLEAN OPM_eofSF (void); export void OPM_err (INTEGER n); -static LONGINT OPM_minus (LONGINT i); +static LONGINT OPM_minusop (LONGINT i); static LONGINT OPM_power0 (LONGINT i, LONGINT j); @@ -118,50 +118,38 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) i = 1; while (s[__X(i, s__len)] != 0x00) { switch (s[__X(i, s__len)]) { - case 'e': - *opt = *opt ^ 0x0200; - break; - case 's': - *opt = *opt ^ 0x10; - break; - case 'm': - *opt = *opt ^ 0x0400; - break; - case 'x': - *opt = *opt ^ 0x01; - break; - case 'r': - *opt = *opt ^ 0x04; - break; - case 't': - *opt = *opt ^ 0x08; - break; case 'a': *opt = *opt ^ 0x80; break; - case 'k': - *opt = *opt ^ 0x40; - break; - case 'p': - *opt = *opt ^ 0x20; - break; - case 'S': - *opt = *opt ^ 0x2000; - break; case 'c': *opt = *opt ^ 0x4000; break; - case 'M': - *opt = *opt ^ 0x8000; + case 'e': + *opt = *opt ^ 0x0200; break; case 'f': *opt = *opt ^ 0x010000; break; - case 'F': - *opt = *opt ^ 0x020000; + case 'k': + *opt = *opt ^ 0x40; break; - case 'V': - *opt = *opt ^ 0x040000; + case 'm': + *opt = *opt ^ 0x0400; + break; + case 'p': + *opt = *opt ^ 0x20; + break; + case 'r': + *opt = *opt ^ 0x04; + break; + case 's': + *opt = *opt ^ 0x10; + break; + case 't': + *opt = *opt ^ 0x08; + break; + case 'x': + *opt = *opt ^ 0x01; break; case 'B': if (s[__X(i + 1, s__len)] != 0x00) { @@ -179,6 +167,19 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) __ASSERT(OPM_IntSize == 2 || OPM_IntSize == 4, 0); __ASSERT(OPM_PointerSize == 4 || OPM_PointerSize == 8, 0); __ASSERT(OPM_Alignment == 4 || OPM_Alignment == 8, 0); + Files_SetSearchPath((CHAR*)"", (LONGINT)1); + break; + case 'F': + *opt = *opt ^ 0x020000; + break; + case 'M': + *opt = *opt ^ 0x8000; + break; + case 'S': + *opt = *opt ^ 0x2000; + break; + case 'V': + *opt = *opt ^ 0x040000; break; default: OPM_LogWStr((CHAR*)" warning: option ", (LONGINT)19); @@ -576,7 +577,7 @@ static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONG __DEL(name); } -static LONGINT OPM_minus (LONGINT i) +static LONGINT OPM_minusop (LONGINT i) { LONGINT _o_result; _o_result = -i; @@ -664,17 +665,25 @@ static void OPM_VerboseListSizes (void) OPM_LogWLn(); } -static INTEGER OPM_Min (INTEGER a, INTEGER b) +INTEGER OPM_AlignSize (LONGINT size) { INTEGER _o_result; - if (a < b) { - _o_result = a; - return _o_result; + INTEGER align; + if (size < (LONGINT)OPM_Alignment) { + if (size > 8) { + align = 16; + } else if (size > 4) { + align = 8; + } else if (size > 2) { + align = 4; + } else { + align = (int)size; + } } else { - _o_result = b; - return _o_result; + align = OPM_Alignment; } - __RETCHK; + _o_result = align; + return _o_result; } static void OPM_GetProperties (void) @@ -683,24 +692,24 @@ static void OPM_GetProperties (void) OPM_ProcSize = OPM_PointerSize; OPM_LIntSize = __ASHL(OPM_IntSize, 1); OPM_SetSize = OPM_LIntSize; - OPM_CharAlign = OPM_Min(OPM_Alignment, OPM_CharSize); - OPM_BoolAlign = OPM_Min(OPM_Alignment, OPM_BoolSize); - OPM_SIntAlign = OPM_Min(OPM_Alignment, OPM_SIntSize); - OPM_RecAlign = OPM_Min(OPM_Alignment, OPM_RecSize); - OPM_RealAlign = OPM_Min(OPM_Alignment, OPM_RealSize); - OPM_LRealAlign = OPM_Min(OPM_Alignment, OPM_LRealSize); - OPM_PointerAlign = OPM_Min(OPM_Alignment, OPM_PointerSize); - OPM_ProcAlign = OPM_Min(OPM_Alignment, OPM_ProcSize); - OPM_IntAlign = OPM_Min(OPM_Alignment, OPM_IntSize); - OPM_LIntAlign = OPM_Min(OPM_Alignment, OPM_LIntSize); - OPM_SetAlign = OPM_Min(OPM_Alignment, OPM_SetSize); + OPM_CharAlign = OPM_AlignSize(OPM_CharSize); + OPM_BoolAlign = OPM_AlignSize(OPM_BoolSize); + OPM_SIntAlign = OPM_AlignSize(OPM_SIntSize); + OPM_RecAlign = OPM_AlignSize(OPM_RecSize); + OPM_RealAlign = OPM_AlignSize(OPM_RealSize); + OPM_LRealAlign = OPM_AlignSize(OPM_LRealSize); + OPM_PointerAlign = OPM_AlignSize(OPM_PointerSize); + OPM_ProcAlign = OPM_AlignSize(OPM_ProcSize); + OPM_IntAlign = OPM_AlignSize(OPM_IntSize); + OPM_LIntAlign = OPM_AlignSize(OPM_LIntSize); + OPM_SetAlign = OPM_AlignSize(OPM_SetSize); base = -2; OPM_MinSInt = __ASH(base, __ASHL(OPM_SIntSize, 3) - 2); - OPM_MaxSInt = OPM_minus(OPM_MinSInt + 1); + OPM_MaxSInt = OPM_minusop(OPM_MinSInt + 1); OPM_MinInt = __ASH(base, __ASHL(OPM_IntSize, 3) - 2); - OPM_MaxInt = OPM_minus(OPM_MinInt + 1); + OPM_MaxInt = OPM_minusop(OPM_MinInt + 1); OPM_MinLInt = __ASH(base, __ASHL(OPM_LIntSize, 3) - 2); - OPM_MaxLInt = OPM_minus(OPM_MinLInt + 1); + OPM_MaxLInt = OPM_minusop(OPM_MinLInt + 1); if (OPM_RealSize == 4) { OPM_MaxReal = 3.40282346000000e+038; } else if (OPM_RealSize == 8) { diff --git a/bootstrap/unix-88/OPM.h b/bootstrap/unix-88/OPM.h index 031a726d..ca7ac4ae 100644 --- a/bootstrap/unix-88/OPM.h +++ b/bootstrap/unix-88/OPM.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPM__h #define OPM__h @@ -19,6 +19,7 @@ import SET OPM_opt, OPM_glbopt; import BOOLEAN OPM_dontAsm, OPM_dontLink, OPM_mainProg, OPM_mainLinkStat, OPM_notColorOutput, OPM_forceNewSym, OPM_Verbose; +import INTEGER OPM_AlignSize (LONGINT size); import void OPM_CloseFiles (void); import void OPM_CloseOldSym (void); import void OPM_DeleteNewSym (void); diff --git a/bootstrap/unix-88/OPP.c b/bootstrap/unix-88/OPP.c index 9854e906..d0cc66f5 100644 --- a/bootstrap/unix-88/OPP.c +++ b/bootstrap/unix-88/OPP.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPB.h" @@ -439,10 +439,10 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned) if (OPP_sym == 38) { OPP_qualident(&id); if (id->mode == 5) { - if (id->typ != *banned) { - *typ = id->typ; - } else { + if (id->typ == *banned) { OPP_err(58); + } else { + *typ = id->typ; } } else { OPP_err(52); diff --git a/bootstrap/unix-88/OPP.h b/bootstrap/unix-88/OPP.h index 3fc22ca6..3543b7fb 100644 --- a/bootstrap/unix-88/OPP.h +++ b/bootstrap/unix-88/OPP.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPP__h #define OPP__h diff --git a/bootstrap/unix-88/OPS.c b/bootstrap/unix-88/OPS.c index 55314019..3bf438fd 100644 --- a/bootstrap/unix-88/OPS.c +++ b/bootstrap/unix-88/OPS.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPM.h" diff --git a/bootstrap/unix-88/OPS.h b/bootstrap/unix-88/OPS.h index ee049f54..8af5e9f5 100644 --- a/bootstrap/unix-88/OPS.h +++ b/bootstrap/unix-88/OPS.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef OPS__h #define OPS__h diff --git a/bootstrap/unix-88/OPT.c b/bootstrap/unix-88/OPT.c index ce5819e4..a0b925e8 100644 --- a/bootstrap/unix-88/OPT.c +++ b/bootstrap/unix-88/OPT.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPM.h" @@ -1810,6 +1810,7 @@ export void *OPT__init(void) OPT_syslink = OPT_topScope->right; OPT_universe = OPT_topScope; OPT_topScope->right = NIL; + OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp); OPT_EnterTyp((CHAR*)"SET", 9, OPM_SetSize, &OPT_settyp); OPT_EnterTyp((CHAR*)"REAL", 7, OPM_RealSize, &OPT_realtyp); @@ -1817,7 +1818,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"LONGINT", 6, OPM_LIntSize, &OPT_linttyp); OPT_EnterTyp((CHAR*)"LONGREAL", 8, OPM_LRealSize, &OPT_lrltyp); OPT_EnterTyp((CHAR*)"SHORTINT", 4, OPM_SIntSize, &OPT_sinttyp); - OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterBoolConst((CHAR*)"FALSE", ((LONGINT)(0))); OPT_EnterBoolConst((CHAR*)"TRUE", ((LONGINT)(1))); OPT_EnterProc((CHAR*)"HALT", 0); diff --git a/bootstrap/unix-88/OPT.h b/bootstrap/unix-88/OPT.h index 463ce607..d54c14a6 100644 --- a/bootstrap/unix-88/OPT.h +++ b/bootstrap/unix-88/OPT.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPT__h #define OPT__h @@ -60,8 +60,7 @@ typedef INTEGER ref, sysflag; LONGINT n, size, align, txtpos; BOOLEAN allocated, pbused, pvused; - char _prvt0[8]; - LONGINT pbfp, pvfp; + char _prvt0[24]; OPT_Struct BaseTyp; OPT_Object link, strobj; } OPT_StrDesc; diff --git a/bootstrap/unix-88/OPV.c b/bootstrap/unix-88/OPV.c index 0100f58d..d1cec28d 100644 --- a/bootstrap/unix-88/OPV.c +++ b/bootstrap/unix-88/OPV.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPC.h" @@ -333,7 +333,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Nmop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Nmop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -403,7 +403,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Ndop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Ndop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -955,7 +955,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec) } break; case 29: - if ((((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size) || !__IN(l->class, 0x17)) { + if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size)) { OPM_Write('('); OPC_Ident(n->typ->strobj); OPM_Write(')'); diff --git a/bootstrap/unix-88/OPV.h b/bootstrap/unix-88/OPV.h index 2d3f7cd4..09ab2d5e 100644 --- a/bootstrap/unix-88/OPV.h +++ b/bootstrap/unix-88/OPV.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPV__h #define OPV__h diff --git a/bootstrap/unix-88/Platform.c b/bootstrap/unix-88/Platform.c index e42fe8ef..eef2b9eb 100644 --- a/bootstrap/unix-88/Platform.c +++ b/bootstrap/unix-88/Platform.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/unix-88/Platform.h b/bootstrap/unix-88/Platform.h index 570192bf..4af262ab 100644 --- a/bootstrap/unix-88/Platform.h +++ b/bootstrap/unix-88/Platform.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Platform__h #define Platform__h diff --git a/bootstrap/unix-88/Reals.c b/bootstrap/unix-88/Reals.c index 5c8f8117..2df166e5 100644 --- a/bootstrap/unix-88/Reals.c +++ b/bootstrap/unix-88/Reals.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/unix-88/Reals.h b/bootstrap/unix-88/Reals.h index 813b3ef5..23c2778f 100644 --- a/bootstrap/unix-88/Reals.h +++ b/bootstrap/unix-88/Reals.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Reals__h #define Reals__h diff --git a/bootstrap/unix-88/Strings.c b/bootstrap/unix-88/Strings.c index 46e8b812..ab90cd52 100644 --- a/bootstrap/unix-88/Strings.c +++ b/bootstrap/unix-88/Strings.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/unix-88/Strings.h b/bootstrap/unix-88/Strings.h index 56dacf40..d1285c94 100644 --- a/bootstrap/unix-88/Strings.h +++ b/bootstrap/unix-88/Strings.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Strings__h #define Strings__h diff --git a/bootstrap/unix-88/Texts.c b/bootstrap/unix-88/Texts.c index 056a0391..2f177403 100644 --- a/bootstrap/unix-88/Texts.c +++ b/bootstrap/unix-88/Texts.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Files.h" diff --git a/bootstrap/unix-88/Texts.h b/bootstrap/unix-88/Texts.h index 2e2be576..20decccb 100644 --- a/bootstrap/unix-88/Texts.h +++ b/bootstrap/unix-88/Texts.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Texts__h #define Texts__h diff --git a/bootstrap/unix-88/Vishap.c b/bootstrap/unix-88/Vishap.c index 9f66b328..59c7d401 100644 --- a/bootstrap/unix-88/Vishap.c +++ b/bootstrap/unix-88/Vishap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkamSf */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkamSf */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" diff --git a/bootstrap/unix-88/errors.c b/bootstrap/unix-88/errors.c index d6ba2eeb..45523073 100644 --- a/bootstrap/unix-88/errors.c +++ b/bootstrap/unix-88/errors.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/unix-88/errors.h b/bootstrap/unix-88/errors.h index 847af188..005a5cf5 100644 --- a/bootstrap/unix-88/errors.h +++ b/bootstrap/unix-88/errors.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef errors__h #define errors__h diff --git a/bootstrap/unix-88/extTools.c b/bootstrap/unix-88/extTools.c index a9de34cf..591b63d1 100644 --- a/bootstrap/unix-88/extTools.c +++ b/bootstrap/unix-88/extTools.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" diff --git a/bootstrap/unix-88/extTools.h b/bootstrap/unix-88/extTools.h index 84ae119b..361ff3e4 100644 --- a/bootstrap/unix-88/extTools.h +++ b/bootstrap/unix-88/extTools.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef extTools__h #define extTools__h diff --git a/bootstrap/unix-88/vt100.c b/bootstrap/unix-88/vt100.c index 2a02ae93..9ffcb0c3 100644 --- a/bootstrap/unix-88/vt100.c +++ b/bootstrap/unix-88/vt100.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Console.h" diff --git a/bootstrap/unix-88/vt100.h b/bootstrap/unix-88/vt100.h index 365596ac..c349d5fe 100644 --- a/bootstrap/unix-88/vt100.h +++ b/bootstrap/unix-88/vt100.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef vt100__h #define vt100__h diff --git a/bootstrap/windows-48/Configuration.c b/bootstrap/windows-48/Configuration.c index c4a99497..2536116a 100644 --- a/bootstrap/windows-48/Configuration.c +++ b/bootstrap/windows-48/Configuration.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" @@ -13,6 +13,6 @@ export void *Configuration__init(void) __DEFMOD; __REGMOD("Configuration", 0); /* BEGIN */ - __MOVE("1.95 [2016/07/22] for gcc LP64 on cygwin", Configuration_versionLong, 41); + __MOVE("1.95 [2016/08/12] for gcc LP64 on cygwin", Configuration_versionLong, 41); __ENDMOD; } diff --git a/bootstrap/windows-48/Configuration.h b/bootstrap/windows-48/Configuration.h index 9ccb175b..6c75ab3f 100644 --- a/bootstrap/windows-48/Configuration.h +++ b/bootstrap/windows-48/Configuration.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Configuration__h #define Configuration__h diff --git a/bootstrap/windows-48/Console.c b/bootstrap/windows-48/Console.c index 676f93c7..4c85f05a 100644 --- a/bootstrap/windows-48/Console.c +++ b/bootstrap/windows-48/Console.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Platform.h" diff --git a/bootstrap/windows-48/Console.h b/bootstrap/windows-48/Console.h index fe4dd1e8..8b0f8e36 100644 --- a/bootstrap/windows-48/Console.h +++ b/bootstrap/windows-48/Console.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Console__h #define Console__h diff --git a/bootstrap/windows-48/Files.c b/bootstrap/windows-48/Files.c index f15a9971..efceaf7d 100644 --- a/bootstrap/windows-48/Files.c +++ b/bootstrap/windows-48/Files.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" diff --git a/bootstrap/windows-48/Files.h b/bootstrap/windows-48/Files.h index 49ae3db6..3a2a1d8d 100644 --- a/bootstrap/windows-48/Files.h +++ b/bootstrap/windows-48/Files.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef Files__h #define Files__h diff --git a/bootstrap/windows-48/Heap.c b/bootstrap/windows-48/Heap.c index 2cb7c777..a9da28b5 100644 --- a/bootstrap/windows-48/Heap.c +++ b/bootstrap/windows-48/Heap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #include "SYSTEM.h" struct Heap__1 { diff --git a/bootstrap/windows-48/Heap.h b/bootstrap/windows-48/Heap.h index 7e1bfa5e..b3f7fe42 100644 --- a/bootstrap/windows-48/Heap.h +++ b/bootstrap/windows-48/Heap.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #ifndef Heap__h #define Heap__h diff --git a/bootstrap/windows-48/Modules.c b/bootstrap/windows-48/Modules.c index 94c48dac..14c6d752 100644 --- a/bootstrap/windows-48/Modules.c +++ b/bootstrap/windows-48/Modules.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Console.h" #include "Heap.h" diff --git a/bootstrap/windows-48/Modules.h b/bootstrap/windows-48/Modules.h index 10f4d96d..d5f14370 100644 --- a/bootstrap/windows-48/Modules.h +++ b/bootstrap/windows-48/Modules.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Modules__h #define Modules__h diff --git a/bootstrap/windows-48/OPB.c b/bootstrap/windows-48/OPB.c index ea10b5d7..26ddc322 100644 --- a/bootstrap/windows-48/OPB.c +++ b/bootstrap/windows-48/OPB.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPM.h" #include "OPS.h" @@ -90,8 +90,8 @@ OPT_Node OPB_NewLeaf (OPT_Object obj) node = OPT_NewNode(9); break; default: - OPB_err(127); node = OPT_NewNode(0); + OPB_err(127); break; } node->obj = obj; @@ -1596,8 +1596,9 @@ void OPB_SetElem (OPT_Node *x) static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) { + OPT_Struct y = NIL; INTEGER f, g; - OPT_Struct y = NIL, p = NIL, q = NIL; + OPT_Struct p = NIL, q = NIL; if (OPM_Verbose) { OPM_LogWLn(); OPM_LogWStr((CHAR*)"PROCEDURE CheckAssign", (LONGINT)22); @@ -1642,14 +1643,8 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) } break; case 6: - if (OPM_LIntSize == 4) { - if (!__IN(g, 0x70)) { - OPB_err(113); - } - } else { - if (!__IN(g, 0x70)) { - OPB_err(113); - } + if (!__IN(g, 0x70)) { + OPB_err(113); } break; case 7: diff --git a/bootstrap/windows-48/OPB.h b/bootstrap/windows-48/OPB.h index 4a0aad65..0b4e8a80 100644 --- a/bootstrap/windows-48/OPB.h +++ b/bootstrap/windows-48/OPB.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPB__h #define OPB__h diff --git a/bootstrap/windows-48/OPC.c b/bootstrap/windows-48/OPC.c index 58a32122..d96b0e32 100644 --- a/bootstrap/windows-48/OPC.c +++ b/bootstrap/windows-48/OPC.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "OPM.h" @@ -315,7 +315,7 @@ void OPC_Andent (OPT_Struct typ) static BOOLEAN OPC_Undefined (OPT_Object obj) { BOOLEAN _o_result; - _o_result = (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2) || obj->name[0] == 0x00; + _o_result = obj->name[0] == 0x00 || (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2); return _o_result; } @@ -1238,8 +1238,8 @@ void OPC_GenHdr (OPT_Node n) static void OPC_GenHeaderMsg (void) { INTEGER i; - OPM_WriteString((CHAR*)"/*", (LONGINT)3); - OPM_WriteString((CHAR*)" voc ", (LONGINT)6); + OPM_WriteString((CHAR*)"/* ", (LONGINT)4); + OPM_WriteString((CHAR*)"voc", (LONGINT)4); OPM_Write(' '); OPM_WriteString(Configuration_versionLong, ((LONGINT)(41))); OPM_Write(' '); diff --git a/bootstrap/windows-48/OPC.h b/bootstrap/windows-48/OPC.h index 90b9b2b9..0b3df3a0 100644 --- a/bootstrap/windows-48/OPC.h +++ b/bootstrap/windows-48/OPC.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPC__h #define OPC__h diff --git a/bootstrap/windows-48/OPM.c b/bootstrap/windows-48/OPM.c index 8016a6bb..abef45d6 100644 --- a/bootstrap/windows-48/OPM.c +++ b/bootstrap/windows-48/OPM.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" @@ -36,6 +36,7 @@ static CHAR OPM_OBERON[1024]; static CHAR OPM_MODULES[1024]; +export INTEGER OPM_AlignSize (LONGINT size); static void OPM_Append (Files_Rider *R, LONGINT *R__typ, Files_File F); export void OPM_CloseFiles (void); export void OPM_CloseOldSym (void); @@ -57,7 +58,6 @@ export void OPM_LogWNum (LONGINT i, LONGINT len); export void OPM_LogWStr (CHAR *s, LONGINT s__len); static void OPM_MakeFileName (CHAR *name, LONGINT name__len, CHAR *FName, LONGINT FName__len, CHAR *ext, LONGINT ext__len); export void OPM_Mark (INTEGER n, LONGINT pos); -static INTEGER OPM_Min (INTEGER a, INTEGER b); export void OPM_NewSym (CHAR *modName, LONGINT modName__len); export void OPM_OldSym (CHAR *modName, LONGINT modName__len, BOOLEAN *done); export void OPM_OpenFiles (CHAR *moduleName, LONGINT moduleName__len); @@ -85,7 +85,7 @@ export void OPM_WriteString (CHAR *s, LONGINT s__len); export void OPM_WriteStringVar (CHAR *s, LONGINT s__len); export BOOLEAN OPM_eofSF (void); export void OPM_err (INTEGER n); -static LONGINT OPM_minus (LONGINT i); +static LONGINT OPM_minusop (LONGINT i); static LONGINT OPM_power0 (LONGINT i, LONGINT j); @@ -117,50 +117,38 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) i = 1; while (s[__X(i, s__len)] != 0x00) { switch (s[__X(i, s__len)]) { - case 'e': - *opt = *opt ^ 0x0200; - break; - case 's': - *opt = *opt ^ 0x10; - break; - case 'm': - *opt = *opt ^ 0x0400; - break; - case 'x': - *opt = *opt ^ 0x01; - break; - case 'r': - *opt = *opt ^ 0x04; - break; - case 't': - *opt = *opt ^ 0x08; - break; case 'a': *opt = *opt ^ 0x80; break; - case 'k': - *opt = *opt ^ 0x40; - break; - case 'p': - *opt = *opt ^ 0x20; - break; - case 'S': - *opt = *opt ^ 0x2000; - break; case 'c': *opt = *opt ^ 0x4000; break; - case 'M': - *opt = *opt ^ 0x8000; + case 'e': + *opt = *opt ^ 0x0200; break; case 'f': *opt = *opt ^ 0x010000; break; - case 'F': - *opt = *opt ^ 0x020000; + case 'k': + *opt = *opt ^ 0x40; break; - case 'V': - *opt = *opt ^ 0x040000; + case 'm': + *opt = *opt ^ 0x0400; + break; + case 'p': + *opt = *opt ^ 0x20; + break; + case 'r': + *opt = *opt ^ 0x04; + break; + case 's': + *opt = *opt ^ 0x10; + break; + case 't': + *opt = *opt ^ 0x08; + break; + case 'x': + *opt = *opt ^ 0x01; break; case 'B': if (s[__X(i + 1, s__len)] != 0x00) { @@ -178,6 +166,19 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) __ASSERT(OPM_IntSize == 2 || OPM_IntSize == 4, 0); __ASSERT(OPM_PointerSize == 4 || OPM_PointerSize == 8, 0); __ASSERT(OPM_Alignment == 4 || OPM_Alignment == 8, 0); + Files_SetSearchPath((CHAR*)"", (LONGINT)1); + break; + case 'F': + *opt = *opt ^ 0x020000; + break; + case 'M': + *opt = *opt ^ 0x8000; + break; + case 'S': + *opt = *opt ^ 0x2000; + break; + case 'V': + *opt = *opt ^ 0x040000; break; default: OPM_LogWStr((CHAR*)" warning: option ", (LONGINT)19); @@ -575,7 +576,7 @@ static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONG __DEL(name); } -static LONGINT OPM_minus (LONGINT i) +static LONGINT OPM_minusop (LONGINT i) { LONGINT _o_result; _o_result = -i; @@ -663,17 +664,25 @@ static void OPM_VerboseListSizes (void) OPM_LogWLn(); } -static INTEGER OPM_Min (INTEGER a, INTEGER b) +INTEGER OPM_AlignSize (LONGINT size) { INTEGER _o_result; - if (a < b) { - _o_result = a; - return _o_result; + INTEGER align; + if (size < (LONGINT)OPM_Alignment) { + if (size > 8) { + align = 16; + } else if (size > 4) { + align = 8; + } else if (size > 2) { + align = 4; + } else { + align = (int)size; + } } else { - _o_result = b; - return _o_result; + align = OPM_Alignment; } - __RETCHK; + _o_result = align; + return _o_result; } static void OPM_GetProperties (void) @@ -682,24 +691,24 @@ static void OPM_GetProperties (void) OPM_ProcSize = OPM_PointerSize; OPM_LIntSize = __ASHL(OPM_IntSize, 1); OPM_SetSize = OPM_LIntSize; - OPM_CharAlign = OPM_Min(OPM_Alignment, OPM_CharSize); - OPM_BoolAlign = OPM_Min(OPM_Alignment, OPM_BoolSize); - OPM_SIntAlign = OPM_Min(OPM_Alignment, OPM_SIntSize); - OPM_RecAlign = OPM_Min(OPM_Alignment, OPM_RecSize); - OPM_RealAlign = OPM_Min(OPM_Alignment, OPM_RealSize); - OPM_LRealAlign = OPM_Min(OPM_Alignment, OPM_LRealSize); - OPM_PointerAlign = OPM_Min(OPM_Alignment, OPM_PointerSize); - OPM_ProcAlign = OPM_Min(OPM_Alignment, OPM_ProcSize); - OPM_IntAlign = OPM_Min(OPM_Alignment, OPM_IntSize); - OPM_LIntAlign = OPM_Min(OPM_Alignment, OPM_LIntSize); - OPM_SetAlign = OPM_Min(OPM_Alignment, OPM_SetSize); + OPM_CharAlign = OPM_AlignSize(OPM_CharSize); + OPM_BoolAlign = OPM_AlignSize(OPM_BoolSize); + OPM_SIntAlign = OPM_AlignSize(OPM_SIntSize); + OPM_RecAlign = OPM_AlignSize(OPM_RecSize); + OPM_RealAlign = OPM_AlignSize(OPM_RealSize); + OPM_LRealAlign = OPM_AlignSize(OPM_LRealSize); + OPM_PointerAlign = OPM_AlignSize(OPM_PointerSize); + OPM_ProcAlign = OPM_AlignSize(OPM_ProcSize); + OPM_IntAlign = OPM_AlignSize(OPM_IntSize); + OPM_LIntAlign = OPM_AlignSize(OPM_LIntSize); + OPM_SetAlign = OPM_AlignSize(OPM_SetSize); base = -2; OPM_MinSInt = __ASH(base, __ASHL(OPM_SIntSize, 3) - 2); - OPM_MaxSInt = OPM_minus(OPM_MinSInt + 1); + OPM_MaxSInt = OPM_minusop(OPM_MinSInt + 1); OPM_MinInt = __ASH(base, __ASHL(OPM_IntSize, 3) - 2); - OPM_MaxInt = OPM_minus(OPM_MinInt + 1); + OPM_MaxInt = OPM_minusop(OPM_MinInt + 1); OPM_MinLInt = __ASH(base, __ASHL(OPM_LIntSize, 3) - 2); - OPM_MaxLInt = OPM_minus(OPM_MinLInt + 1); + OPM_MaxLInt = OPM_minusop(OPM_MinLInt + 1); if (OPM_RealSize == 4) { OPM_MaxReal = 3.40282346000000e+038; } else if (OPM_RealSize == 8) { diff --git a/bootstrap/windows-48/OPM.h b/bootstrap/windows-48/OPM.h index fc3808a8..f5668ee4 100644 --- a/bootstrap/windows-48/OPM.h +++ b/bootstrap/windows-48/OPM.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPM__h #define OPM__h @@ -18,6 +18,7 @@ import SET OPM_opt, OPM_glbopt; import BOOLEAN OPM_dontAsm, OPM_dontLink, OPM_mainProg, OPM_mainLinkStat, OPM_notColorOutput, OPM_forceNewSym, OPM_Verbose; +import INTEGER OPM_AlignSize (LONGINT size); import void OPM_CloseFiles (void); import void OPM_CloseOldSym (void); import void OPM_DeleteNewSym (void); diff --git a/bootstrap/windows-48/OPP.c b/bootstrap/windows-48/OPP.c index d6930745..1e81081b 100644 --- a/bootstrap/windows-48/OPP.c +++ b/bootstrap/windows-48/OPP.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPB.h" #include "OPM.h" @@ -438,10 +438,10 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned) if (OPP_sym == 38) { OPP_qualident(&id); if (id->mode == 5) { - if (id->typ != *banned) { - *typ = id->typ; - } else { + if (id->typ == *banned) { OPP_err(58); + } else { + *typ = id->typ; } } else { OPP_err(52); diff --git a/bootstrap/windows-48/OPP.h b/bootstrap/windows-48/OPP.h index 00534e5c..c5e52633 100644 --- a/bootstrap/windows-48/OPP.h +++ b/bootstrap/windows-48/OPP.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPP__h #define OPP__h diff --git a/bootstrap/windows-48/OPS.c b/bootstrap/windows-48/OPS.c index 3be820a5..e4591084 100644 --- a/bootstrap/windows-48/OPS.c +++ b/bootstrap/windows-48/OPS.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #include "SYSTEM.h" #include "OPM.h" diff --git a/bootstrap/windows-48/OPS.h b/bootstrap/windows-48/OPS.h index 3cd6b899..dda82bff 100644 --- a/bootstrap/windows-48/OPS.h +++ b/bootstrap/windows-48/OPS.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef OPS__h #define OPS__h diff --git a/bootstrap/windows-48/OPT.c b/bootstrap/windows-48/OPT.c index e91a1a68..5cc3a8a8 100644 --- a/bootstrap/windows-48/OPT.c +++ b/bootstrap/windows-48/OPT.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPM.h" #include "OPS.h" @@ -1809,6 +1809,7 @@ export void *OPT__init(void) OPT_syslink = OPT_topScope->right; OPT_universe = OPT_topScope; OPT_topScope->right = NIL; + OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp); OPT_EnterTyp((CHAR*)"SET", 9, OPM_SetSize, &OPT_settyp); OPT_EnterTyp((CHAR*)"REAL", 7, OPM_RealSize, &OPT_realtyp); @@ -1816,7 +1817,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"LONGINT", 6, OPM_LIntSize, &OPT_linttyp); OPT_EnterTyp((CHAR*)"LONGREAL", 8, OPM_LRealSize, &OPT_lrltyp); OPT_EnterTyp((CHAR*)"SHORTINT", 4, OPM_SIntSize, &OPT_sinttyp); - OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterBoolConst((CHAR*)"FALSE", ((LONGINT)(0))); OPT_EnterBoolConst((CHAR*)"TRUE", ((LONGINT)(1))); OPT_EnterProc((CHAR*)"HALT", 0); diff --git a/bootstrap/windows-48/OPT.h b/bootstrap/windows-48/OPT.h index 0035ead1..c5edc1b1 100644 --- a/bootstrap/windows-48/OPT.h +++ b/bootstrap/windows-48/OPT.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPT__h #define OPT__h @@ -59,8 +59,7 @@ typedef INTEGER ref, sysflag; LONGINT n, size, align, txtpos; BOOLEAN allocated, pbused, pvused; - char _prvt0[8]; - LONGINT pbfp, pvfp; + char _prvt0[16]; OPT_Struct BaseTyp; OPT_Object link, strobj; } OPT_StrDesc; diff --git a/bootstrap/windows-48/OPV.c b/bootstrap/windows-48/OPV.c index 96f02b38..5aeaec11 100644 --- a/bootstrap/windows-48/OPV.c +++ b/bootstrap/windows-48/OPV.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "OPC.h" #include "OPM.h" @@ -332,7 +332,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Nmop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Nmop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -402,7 +402,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Ndop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Ndop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -954,7 +954,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec) } break; case 29: - if ((((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size) || !__IN(l->class, 0x17)) { + if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size)) { OPM_Write('('); OPC_Ident(n->typ->strobj); OPM_Write(')'); diff --git a/bootstrap/windows-48/OPV.h b/bootstrap/windows-48/OPV.h index a4f208c5..12702371 100644 --- a/bootstrap/windows-48/OPV.h +++ b/bootstrap/windows-48/OPV.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPV__h #define OPV__h diff --git a/bootstrap/windows-48/Platform.c b/bootstrap/windows-48/Platform.c index 5b709627..e2b3eaab 100644 --- a/bootstrap/windows-48/Platform.c +++ b/bootstrap/windows-48/Platform.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" typedef diff --git a/bootstrap/windows-48/Platform.h b/bootstrap/windows-48/Platform.h index 96919602..98324b40 100644 --- a/bootstrap/windows-48/Platform.h +++ b/bootstrap/windows-48/Platform.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Platform__h #define Platform__h diff --git a/bootstrap/windows-48/Reals.c b/bootstrap/windows-48/Reals.c index 1ebd0438..79c8cdd0 100644 --- a/bootstrap/windows-48/Reals.c +++ b/bootstrap/windows-48/Reals.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" diff --git a/bootstrap/windows-48/Reals.h b/bootstrap/windows-48/Reals.h index ae81f6e7..3e92a06d 100644 --- a/bootstrap/windows-48/Reals.h +++ b/bootstrap/windows-48/Reals.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Reals__h #define Reals__h diff --git a/bootstrap/windows-48/Strings.c b/bootstrap/windows-48/Strings.c index 6ecc5e7b..2a652c89 100644 --- a/bootstrap/windows-48/Strings.c +++ b/bootstrap/windows-48/Strings.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" diff --git a/bootstrap/windows-48/Strings.h b/bootstrap/windows-48/Strings.h index ee20ae49..4fc1ee1d 100644 --- a/bootstrap/windows-48/Strings.h +++ b/bootstrap/windows-48/Strings.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Strings__h #define Strings__h diff --git a/bootstrap/windows-48/Texts.c b/bootstrap/windows-48/Texts.c index 43955368..9a70708a 100644 --- a/bootstrap/windows-48/Texts.c +++ b/bootstrap/windows-48/Texts.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Files.h" #include "Modules.h" diff --git a/bootstrap/windows-48/Texts.h b/bootstrap/windows-48/Texts.h index 928de612..fb872c58 100644 --- a/bootstrap/windows-48/Texts.h +++ b/bootstrap/windows-48/Texts.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Texts__h #define Texts__h diff --git a/bootstrap/windows-48/Vishap.c b/bootstrap/windows-48/Vishap.c index 4660166b..5796b2ae 100644 --- a/bootstrap/windows-48/Vishap.c +++ b/bootstrap/windows-48/Vishap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkamSf */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkamSf */ #include "SYSTEM.h" #include "Configuration.h" #include "Heap.h" diff --git a/bootstrap/windows-48/errors.c b/bootstrap/windows-48/errors.c index 0122b025..b0c6f226 100644 --- a/bootstrap/windows-48/errors.c +++ b/bootstrap/windows-48/errors.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" typedef diff --git a/bootstrap/windows-48/errors.h b/bootstrap/windows-48/errors.h index 94835309..6bfdf303 100644 --- a/bootstrap/windows-48/errors.h +++ b/bootstrap/windows-48/errors.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef errors__h #define errors__h diff --git a/bootstrap/windows-48/extTools.c b/bootstrap/windows-48/extTools.c index e53881fe..5095a593 100644 --- a/bootstrap/windows-48/extTools.c +++ b/bootstrap/windows-48/extTools.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Configuration.h" #include "Console.h" diff --git a/bootstrap/windows-48/extTools.h b/bootstrap/windows-48/extTools.h index e393ad88..cbd6d99c 100644 --- a/bootstrap/windows-48/extTools.h +++ b/bootstrap/windows-48/extTools.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef extTools__h #define extTools__h diff --git a/bootstrap/windows-48/vt100.c b/bootstrap/windows-48/vt100.c index f905ffc7..e2fa5210 100644 --- a/bootstrap/windows-48/vt100.c +++ b/bootstrap/windows-48/vt100.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #include "SYSTEM.h" #include "Console.h" #include "Strings.h" diff --git a/bootstrap/windows-48/vt100.h b/bootstrap/windows-48/vt100.h index 2af72bac..1f2bb2d8 100644 --- a/bootstrap/windows-48/vt100.h +++ b/bootstrap/windows-48/vt100.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef vt100__h #define vt100__h diff --git a/bootstrap/windows-88/Configuration.c b/bootstrap/windows-88/Configuration.c index ab2d4040..9928fb25 100644 --- a/bootstrap/windows-88/Configuration.c +++ b/bootstrap/windows-88/Configuration.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" @@ -14,6 +14,6 @@ export void *Configuration__init(void) __DEFMOD; __REGMOD("Configuration", 0); /* BEGIN */ - __MOVE("1.95 [2016/07/22] for gcc LP64 on cygwin", Configuration_versionLong, 41); + __MOVE("1.95 [2016/08/12] for gcc LP64 on cygwin", Configuration_versionLong, 41); __ENDMOD; } diff --git a/bootstrap/windows-88/Configuration.h b/bootstrap/windows-88/Configuration.h index 932a72f5..6181a575 100644 --- a/bootstrap/windows-88/Configuration.h +++ b/bootstrap/windows-88/Configuration.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Configuration__h #define Configuration__h diff --git a/bootstrap/windows-88/Console.c b/bootstrap/windows-88/Console.c index 622da4c3..ec469fd9 100644 --- a/bootstrap/windows-88/Console.c +++ b/bootstrap/windows-88/Console.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Platform.h" diff --git a/bootstrap/windows-88/Console.h b/bootstrap/windows-88/Console.h index 341bc4cb..0aeb8c7f 100644 --- a/bootstrap/windows-88/Console.h +++ b/bootstrap/windows-88/Console.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Console__h #define Console__h diff --git a/bootstrap/windows-88/Files.c b/bootstrap/windows-88/Files.c index 2106bb31..25086b45 100644 --- a/bootstrap/windows-88/Files.c +++ b/bootstrap/windows-88/Files.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" diff --git a/bootstrap/windows-88/Files.h b/bootstrap/windows-88/Files.h index 5cea8802..2e07be79 100644 --- a/bootstrap/windows-88/Files.h +++ b/bootstrap/windows-88/Files.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef Files__h #define Files__h diff --git a/bootstrap/windows-88/Heap.c b/bootstrap/windows-88/Heap.c index 2fef0b01..6acf5102 100644 --- a/bootstrap/windows-88/Heap.c +++ b/bootstrap/windows-88/Heap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/windows-88/Heap.h b/bootstrap/windows-88/Heap.h index c284f0f3..95cc4a05 100644 --- a/bootstrap/windows-88/Heap.h +++ b/bootstrap/windows-88/Heap.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tskSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tskSfF */ #ifndef Heap__h #define Heap__h diff --git a/bootstrap/windows-88/Modules.c b/bootstrap/windows-88/Modules.c index db12f96d..2150d156 100644 --- a/bootstrap/windows-88/Modules.c +++ b/bootstrap/windows-88/Modules.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Console.h" diff --git a/bootstrap/windows-88/Modules.h b/bootstrap/windows-88/Modules.h index b2fdac26..84d3c6c7 100644 --- a/bootstrap/windows-88/Modules.h +++ b/bootstrap/windows-88/Modules.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Modules__h #define Modules__h diff --git a/bootstrap/windows-88/OPB.c b/bootstrap/windows-88/OPB.c index 9192e087..b774b9ec 100644 --- a/bootstrap/windows-88/OPB.c +++ b/bootstrap/windows-88/OPB.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPM.h" @@ -91,8 +91,8 @@ OPT_Node OPB_NewLeaf (OPT_Object obj) node = OPT_NewNode(9); break; default: - OPB_err(127); node = OPT_NewNode(0); + OPB_err(127); break; } node->obj = obj; @@ -1597,8 +1597,9 @@ void OPB_SetElem (OPT_Node *x) static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) { + OPT_Struct y = NIL; INTEGER f, g; - OPT_Struct y = NIL, p = NIL, q = NIL; + OPT_Struct p = NIL, q = NIL; if (OPM_Verbose) { OPM_LogWLn(); OPM_LogWStr((CHAR*)"PROCEDURE CheckAssign", (LONGINT)22); @@ -1643,14 +1644,8 @@ static void OPB_CheckAssign (OPT_Struct x, OPT_Node ynode) } break; case 6: - if (OPM_LIntSize == 4) { - if (!__IN(g, 0x70)) { - OPB_err(113); - } - } else { - if (!__IN(g, 0x70)) { - OPB_err(113); - } + if (!__IN(g, 0x70)) { + OPB_err(113); } break; case 7: diff --git a/bootstrap/windows-88/OPB.h b/bootstrap/windows-88/OPB.h index 644f8330..15d785cf 100644 --- a/bootstrap/windows-88/OPB.h +++ b/bootstrap/windows-88/OPB.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPB__h #define OPB__h diff --git a/bootstrap/windows-88/OPC.c b/bootstrap/windows-88/OPC.c index 181da1e9..ff97a2cb 100644 --- a/bootstrap/windows-88/OPC.c +++ b/bootstrap/windows-88/OPC.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" @@ -316,7 +316,7 @@ void OPC_Andent (OPT_Struct typ) static BOOLEAN OPC_Undefined (OPT_Object obj) { BOOLEAN _o_result; - _o_result = (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2) || obj->name[0] == 0x00; + _o_result = obj->name[0] == 0x00 || (((obj->mnolev >= 0 && obj->linkadr != (LONGINT)(3 + OPM_currFile))) && obj->linkadr != 2); return _o_result; } @@ -1239,8 +1239,8 @@ void OPC_GenHdr (OPT_Node n) static void OPC_GenHeaderMsg (void) { INTEGER i; - OPM_WriteString((CHAR*)"/*", (LONGINT)3); - OPM_WriteString((CHAR*)" voc ", (LONGINT)6); + OPM_WriteString((CHAR*)"/* ", (LONGINT)4); + OPM_WriteString((CHAR*)"voc", (LONGINT)4); OPM_Write(' '); OPM_WriteString(Configuration_versionLong, ((LONGINT)(41))); OPM_Write(' '); diff --git a/bootstrap/windows-88/OPC.h b/bootstrap/windows-88/OPC.h index 671e1325..8cf4d51e 100644 --- a/bootstrap/windows-88/OPC.h +++ b/bootstrap/windows-88/OPC.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPC__h #define OPC__h diff --git a/bootstrap/windows-88/OPM.c b/bootstrap/windows-88/OPM.c index 73f7ab23..17b93af9 100644 --- a/bootstrap/windows-88/OPM.c +++ b/bootstrap/windows-88/OPM.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" @@ -37,6 +37,7 @@ static CHAR OPM_OBERON[1024]; static CHAR OPM_MODULES[1024]; +export INTEGER OPM_AlignSize (LONGINT size); static void OPM_Append (Files_Rider *R, LONGINT *R__typ, Files_File F); export void OPM_CloseFiles (void); export void OPM_CloseOldSym (void); @@ -58,7 +59,6 @@ export void OPM_LogWNum (LONGINT i, LONGINT len); export void OPM_LogWStr (CHAR *s, LONGINT s__len); static void OPM_MakeFileName (CHAR *name, LONGINT name__len, CHAR *FName, LONGINT FName__len, CHAR *ext, LONGINT ext__len); export void OPM_Mark (INTEGER n, LONGINT pos); -static INTEGER OPM_Min (INTEGER a, INTEGER b); export void OPM_NewSym (CHAR *modName, LONGINT modName__len); export void OPM_OldSym (CHAR *modName, LONGINT modName__len, BOOLEAN *done); export void OPM_OpenFiles (CHAR *moduleName, LONGINT moduleName__len); @@ -86,7 +86,7 @@ export void OPM_WriteString (CHAR *s, LONGINT s__len); export void OPM_WriteStringVar (CHAR *s, LONGINT s__len); export BOOLEAN OPM_eofSF (void); export void OPM_err (INTEGER n); -static LONGINT OPM_minus (LONGINT i); +static LONGINT OPM_minusop (LONGINT i); static LONGINT OPM_power0 (LONGINT i, LONGINT j); @@ -118,50 +118,38 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) i = 1; while (s[__X(i, s__len)] != 0x00) { switch (s[__X(i, s__len)]) { - case 'e': - *opt = *opt ^ 0x0200; - break; - case 's': - *opt = *opt ^ 0x10; - break; - case 'm': - *opt = *opt ^ 0x0400; - break; - case 'x': - *opt = *opt ^ 0x01; - break; - case 'r': - *opt = *opt ^ 0x04; - break; - case 't': - *opt = *opt ^ 0x08; - break; case 'a': *opt = *opt ^ 0x80; break; - case 'k': - *opt = *opt ^ 0x40; - break; - case 'p': - *opt = *opt ^ 0x20; - break; - case 'S': - *opt = *opt ^ 0x2000; - break; case 'c': *opt = *opt ^ 0x4000; break; - case 'M': - *opt = *opt ^ 0x8000; + case 'e': + *opt = *opt ^ 0x0200; break; case 'f': *opt = *opt ^ 0x010000; break; - case 'F': - *opt = *opt ^ 0x020000; + case 'k': + *opt = *opt ^ 0x40; break; - case 'V': - *opt = *opt ^ 0x040000; + case 'm': + *opt = *opt ^ 0x0400; + break; + case 'p': + *opt = *opt ^ 0x20; + break; + case 'r': + *opt = *opt ^ 0x04; + break; + case 's': + *opt = *opt ^ 0x10; + break; + case 't': + *opt = *opt ^ 0x08; + break; + case 'x': + *opt = *opt ^ 0x01; break; case 'B': if (s[__X(i + 1, s__len)] != 0x00) { @@ -179,6 +167,19 @@ static void OPM_ScanOptions (CHAR *s, LONGINT s__len, SET *opt) __ASSERT(OPM_IntSize == 2 || OPM_IntSize == 4, 0); __ASSERT(OPM_PointerSize == 4 || OPM_PointerSize == 8, 0); __ASSERT(OPM_Alignment == 4 || OPM_Alignment == 8, 0); + Files_SetSearchPath((CHAR*)"", (LONGINT)1); + break; + case 'F': + *opt = *opt ^ 0x020000; + break; + case 'M': + *opt = *opt ^ 0x8000; + break; + case 'S': + *opt = *opt ^ 0x2000; + break; + case 'V': + *opt = *opt ^ 0x040000; break; default: OPM_LogWStr((CHAR*)" warning: option ", (LONGINT)19); @@ -576,7 +577,7 @@ static void OPM_GetProperty (Texts_Scanner *S, LONGINT *S__typ, CHAR *name, LONG __DEL(name); } -static LONGINT OPM_minus (LONGINT i) +static LONGINT OPM_minusop (LONGINT i) { LONGINT _o_result; _o_result = -i; @@ -664,17 +665,25 @@ static void OPM_VerboseListSizes (void) OPM_LogWLn(); } -static INTEGER OPM_Min (INTEGER a, INTEGER b) +INTEGER OPM_AlignSize (LONGINT size) { INTEGER _o_result; - if (a < b) { - _o_result = a; - return _o_result; + INTEGER align; + if (size < (LONGINT)OPM_Alignment) { + if (size > 8) { + align = 16; + } else if (size > 4) { + align = 8; + } else if (size > 2) { + align = 4; + } else { + align = (int)size; + } } else { - _o_result = b; - return _o_result; + align = OPM_Alignment; } - __RETCHK; + _o_result = align; + return _o_result; } static void OPM_GetProperties (void) @@ -683,24 +692,24 @@ static void OPM_GetProperties (void) OPM_ProcSize = OPM_PointerSize; OPM_LIntSize = __ASHL(OPM_IntSize, 1); OPM_SetSize = OPM_LIntSize; - OPM_CharAlign = OPM_Min(OPM_Alignment, OPM_CharSize); - OPM_BoolAlign = OPM_Min(OPM_Alignment, OPM_BoolSize); - OPM_SIntAlign = OPM_Min(OPM_Alignment, OPM_SIntSize); - OPM_RecAlign = OPM_Min(OPM_Alignment, OPM_RecSize); - OPM_RealAlign = OPM_Min(OPM_Alignment, OPM_RealSize); - OPM_LRealAlign = OPM_Min(OPM_Alignment, OPM_LRealSize); - OPM_PointerAlign = OPM_Min(OPM_Alignment, OPM_PointerSize); - OPM_ProcAlign = OPM_Min(OPM_Alignment, OPM_ProcSize); - OPM_IntAlign = OPM_Min(OPM_Alignment, OPM_IntSize); - OPM_LIntAlign = OPM_Min(OPM_Alignment, OPM_LIntSize); - OPM_SetAlign = OPM_Min(OPM_Alignment, OPM_SetSize); + OPM_CharAlign = OPM_AlignSize(OPM_CharSize); + OPM_BoolAlign = OPM_AlignSize(OPM_BoolSize); + OPM_SIntAlign = OPM_AlignSize(OPM_SIntSize); + OPM_RecAlign = OPM_AlignSize(OPM_RecSize); + OPM_RealAlign = OPM_AlignSize(OPM_RealSize); + OPM_LRealAlign = OPM_AlignSize(OPM_LRealSize); + OPM_PointerAlign = OPM_AlignSize(OPM_PointerSize); + OPM_ProcAlign = OPM_AlignSize(OPM_ProcSize); + OPM_IntAlign = OPM_AlignSize(OPM_IntSize); + OPM_LIntAlign = OPM_AlignSize(OPM_LIntSize); + OPM_SetAlign = OPM_AlignSize(OPM_SetSize); base = -2; OPM_MinSInt = __ASH(base, __ASHL(OPM_SIntSize, 3) - 2); - OPM_MaxSInt = OPM_minus(OPM_MinSInt + 1); + OPM_MaxSInt = OPM_minusop(OPM_MinSInt + 1); OPM_MinInt = __ASH(base, __ASHL(OPM_IntSize, 3) - 2); - OPM_MaxInt = OPM_minus(OPM_MinInt + 1); + OPM_MaxInt = OPM_minusop(OPM_MinInt + 1); OPM_MinLInt = __ASH(base, __ASHL(OPM_LIntSize, 3) - 2); - OPM_MaxLInt = OPM_minus(OPM_MinLInt + 1); + OPM_MaxLInt = OPM_minusop(OPM_MinLInt + 1); if (OPM_RealSize == 4) { OPM_MaxReal = 3.40282346000000e+038; } else if (OPM_RealSize == 8) { diff --git a/bootstrap/windows-88/OPM.h b/bootstrap/windows-88/OPM.h index 031a726d..ca7ac4ae 100644 --- a/bootstrap/windows-88/OPM.h +++ b/bootstrap/windows-88/OPM.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPM__h #define OPM__h @@ -19,6 +19,7 @@ import SET OPM_opt, OPM_glbopt; import BOOLEAN OPM_dontAsm, OPM_dontLink, OPM_mainProg, OPM_mainLinkStat, OPM_notColorOutput, OPM_forceNewSym, OPM_Verbose; +import INTEGER OPM_AlignSize (LONGINT size); import void OPM_CloseFiles (void); import void OPM_CloseOldSym (void); import void OPM_DeleteNewSym (void); diff --git a/bootstrap/windows-88/OPP.c b/bootstrap/windows-88/OPP.c index 9854e906..d0cc66f5 100644 --- a/bootstrap/windows-88/OPP.c +++ b/bootstrap/windows-88/OPP.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPB.h" @@ -439,10 +439,10 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned) if (OPP_sym == 38) { OPP_qualident(&id); if (id->mode == 5) { - if (id->typ != *banned) { - *typ = id->typ; - } else { + if (id->typ == *banned) { OPP_err(58); + } else { + *typ = id->typ; } } else { OPP_err(52); diff --git a/bootstrap/windows-88/OPP.h b/bootstrap/windows-88/OPP.h index 3fc22ca6..3543b7fb 100644 --- a/bootstrap/windows-88/OPP.h +++ b/bootstrap/windows-88/OPP.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPP__h #define OPP__h diff --git a/bootstrap/windows-88/OPS.c b/bootstrap/windows-88/OPS.c index 55314019..3bf438fd 100644 --- a/bootstrap/windows-88/OPS.c +++ b/bootstrap/windows-88/OPS.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPM.h" diff --git a/bootstrap/windows-88/OPS.h b/bootstrap/windows-88/OPS.h index ee049f54..8af5e9f5 100644 --- a/bootstrap/windows-88/OPS.h +++ b/bootstrap/windows-88/OPS.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin tspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin tspkaSfF */ #ifndef OPS__h #define OPS__h diff --git a/bootstrap/windows-88/OPT.c b/bootstrap/windows-88/OPT.c index ce5819e4..a0b925e8 100644 --- a/bootstrap/windows-88/OPT.c +++ b/bootstrap/windows-88/OPT.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPM.h" @@ -1810,6 +1810,7 @@ export void *OPT__init(void) OPT_syslink = OPT_topScope->right; OPT_universe = OPT_topScope; OPT_topScope->right = NIL; + OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp); OPT_EnterTyp((CHAR*)"SET", 9, OPM_SetSize, &OPT_settyp); OPT_EnterTyp((CHAR*)"REAL", 7, OPM_RealSize, &OPT_realtyp); @@ -1817,7 +1818,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"LONGINT", 6, OPM_LIntSize, &OPT_linttyp); OPT_EnterTyp((CHAR*)"LONGREAL", 8, OPM_LRealSize, &OPT_lrltyp); OPT_EnterTyp((CHAR*)"SHORTINT", 4, OPM_SIntSize, &OPT_sinttyp); - OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp); OPT_EnterBoolConst((CHAR*)"FALSE", ((LONGINT)(0))); OPT_EnterBoolConst((CHAR*)"TRUE", ((LONGINT)(1))); OPT_EnterProc((CHAR*)"HALT", 0); diff --git a/bootstrap/windows-88/OPT.h b/bootstrap/windows-88/OPT.h index 463ce607..d54c14a6 100644 --- a/bootstrap/windows-88/OPT.h +++ b/bootstrap/windows-88/OPT.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPT__h #define OPT__h @@ -60,8 +60,7 @@ typedef INTEGER ref, sysflag; LONGINT n, size, align, txtpos; BOOLEAN allocated, pbused, pvused; - char _prvt0[8]; - LONGINT pbfp, pvfp; + char _prvt0[24]; OPT_Struct BaseTyp; OPT_Object link, strobj; } OPT_StrDesc; diff --git a/bootstrap/windows-88/OPV.c b/bootstrap/windows-88/OPV.c index 0100f58d..d1cec28d 100644 --- a/bootstrap/windows-88/OPV.c +++ b/bootstrap/windows-88/OPV.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "OPC.h" @@ -333,7 +333,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Nmop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Nmop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -403,7 +403,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN return _o_result; break; default: - OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence Ndop, subclass = ", (LONGINT)51); + OPM_LogWStr((CHAR*)"unhandled case in OPV.Precedence OPM.Ndop, subclass = ", (LONGINT)55); OPM_LogWNum(subclass, ((LONGINT)(0))); OPM_LogWLn(); break; @@ -955,7 +955,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec) } break; case 29: - if ((((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size) || !__IN(l->class, 0x17)) { + if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x6240) && __IN(l->typ->form, 0x6240))) && n->typ->size == l->typ->size)) { OPM_Write('('); OPC_Ident(n->typ->strobj); OPM_Write(')'); diff --git a/bootstrap/windows-88/OPV.h b/bootstrap/windows-88/OPV.h index 2d3f7cd4..09ab2d5e 100644 --- a/bootstrap/windows-88/OPV.h +++ b/bootstrap/windows-88/OPV.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef OPV__h #define OPV__h diff --git a/bootstrap/windows-88/Platform.c b/bootstrap/windows-88/Platform.c index 4c3cb5f0..758d3c2f 100644 --- a/bootstrap/windows-88/Platform.c +++ b/bootstrap/windows-88/Platform.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/windows-88/Platform.h b/bootstrap/windows-88/Platform.h index 4458ef75..71a23b2e 100644 --- a/bootstrap/windows-88/Platform.h +++ b/bootstrap/windows-88/Platform.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Platform__h #define Platform__h diff --git a/bootstrap/windows-88/Reals.c b/bootstrap/windows-88/Reals.c index 5c8f8117..2df166e5 100644 --- a/bootstrap/windows-88/Reals.c +++ b/bootstrap/windows-88/Reals.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/windows-88/Reals.h b/bootstrap/windows-88/Reals.h index 813b3ef5..23c2778f 100644 --- a/bootstrap/windows-88/Reals.h +++ b/bootstrap/windows-88/Reals.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Reals__h #define Reals__h diff --git a/bootstrap/windows-88/Strings.c b/bootstrap/windows-88/Strings.c index 46e8b812..ab90cd52 100644 --- a/bootstrap/windows-88/Strings.c +++ b/bootstrap/windows-88/Strings.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/windows-88/Strings.h b/bootstrap/windows-88/Strings.h index 56dacf40..d1285c94 100644 --- a/bootstrap/windows-88/Strings.h +++ b/bootstrap/windows-88/Strings.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Strings__h #define Strings__h diff --git a/bootstrap/windows-88/Texts.c b/bootstrap/windows-88/Texts.c index 056a0391..2f177403 100644 --- a/bootstrap/windows-88/Texts.c +++ b/bootstrap/windows-88/Texts.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Files.h" diff --git a/bootstrap/windows-88/Texts.h b/bootstrap/windows-88/Texts.h index 2e2be576..20decccb 100644 --- a/bootstrap/windows-88/Texts.h +++ b/bootstrap/windows-88/Texts.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef Texts__h #define Texts__h diff --git a/bootstrap/windows-88/Vishap.c b/bootstrap/windows-88/Vishap.c index 9f66b328..59c7d401 100644 --- a/bootstrap/windows-88/Vishap.c +++ b/bootstrap/windows-88/Vishap.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkamSf */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkamSf */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" diff --git a/bootstrap/windows-88/errors.c b/bootstrap/windows-88/errors.c index d6ba2eeb..45523073 100644 --- a/bootstrap/windows-88/errors.c +++ b/bootstrap/windows-88/errors.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" diff --git a/bootstrap/windows-88/errors.h b/bootstrap/windows-88/errors.h index 847af188..005a5cf5 100644 --- a/bootstrap/windows-88/errors.h +++ b/bootstrap/windows-88/errors.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef errors__h #define errors__h diff --git a/bootstrap/windows-88/extTools.c b/bootstrap/windows-88/extTools.c index a9de34cf..591b63d1 100644 --- a/bootstrap/windows-88/extTools.c +++ b/bootstrap/windows-88/extTools.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Configuration.h" diff --git a/bootstrap/windows-88/extTools.h b/bootstrap/windows-88/extTools.h index 84ae119b..361ff3e4 100644 --- a/bootstrap/windows-88/extTools.h +++ b/bootstrap/windows-88/extTools.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef extTools__h #define extTools__h diff --git a/bootstrap/windows-88/vt100.c b/bootstrap/windows-88/vt100.c index 2a02ae93..9ffcb0c3 100644 --- a/bootstrap/windows-88/vt100.c +++ b/bootstrap/windows-88/vt100.c @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #define LARGE #include "SYSTEM.h" #include "Console.h" diff --git a/bootstrap/windows-88/vt100.h b/bootstrap/windows-88/vt100.h index 365596ac..c349d5fe 100644 --- a/bootstrap/windows-88/vt100.h +++ b/bootstrap/windows-88/vt100.h @@ -1,4 +1,4 @@ -/* voc 1.95 [2016/07/22] for gcc LP64 on cygwin xtspkaSfF */ +/* voc 1.95 [2016/08/12] for gcc LP64 on cygwin xtspkaSfF */ #ifndef vt100__h #define vt100__h diff --git a/makefile b/makefile index 811ecefc..e553629a 100644 --- a/makefile +++ b/makefile @@ -133,6 +133,7 @@ clean: configuration # full: Full build of compiler and libarary. full: configuration @make -f src/tools/make/vishap.make -s installable + @-make -f src/tools/make/vishap.make -s uninstall @make -f src/tools/make/vishap.make -s clean # Make bootstrap compiler from source suitable for current data model @printf "\n\n--- Compiler build started ---\n\n" diff --git a/src/test/confidence/arrayassignment/old.cygwin.ILP32.gcc.s b/src/test/confidence/arrayassignment/old.cygwin.ILP32.gcc.s deleted file mode 100644 index 9d765cf0..00000000 --- a/src/test/confidence/arrayassignment/old.cygwin.ILP32.gcc.s +++ /dev/null @@ -1,224 +0,0 @@ -55 pushl %ebp -89E5 movl %esp, %ebp -83EC10 subl $16, %esp -C745FC00 movl $0, -4(%ebp) -8B55FC movl -4(%ebp), %edx -8B4508 movl 8(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FB movb %al, -5(%ebp) -8B55FC movl -4(%ebp), %edx -8B450C movl 12(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FA movb %al, -6(%ebp) -8345FC01 addl $1, -4(%ebp) -807DFB00 cmpb $0, -5(%ebp) -7508 jne L2 -0FB645FA movzbl -6(%ebp), %eax -F7D8 negl %eax -EB15 jmp L3 -0FB645FB movzbl -5(%ebp), %eax -3A45FA cmpb -6(%ebp), %al -74C9 je L4 -0FB655FB movzbl -5(%ebp), %edx -0FB645FA movzbl -6(%ebp), %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -C9 leave -C3 ret -616100 .ascii "aa\0" -6133303A .ascii "a30: \0" -6132303A .ascii "a20: \0" -6131303A .ascii "a10: \0" -000000 .align 4 -41727261 .ascii "Array assignment test complete.\0" -79206173 -7369676E -6D656E74 -20746573 -55 pushl %ebp -89E5 movl %esp, %ebp -83E4F0 andl $-16, %esp -83EC40 subl $64, %esp -E8000000 call ___main -8D550C leal 12(%ebp), %edx -8B4508 movl 8(%ebp), %eax -98 cwtl -89542404 movl %edx, 4(%esp) -890424 movl %eax, (%esp) -E8000000 call _Platform_Init -E8000000 call _Console__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -C7442404 movl $0, 4(%esp) -00000000 -C7042400 movl $LC0, (%esp) -E8000000 call _Heap_REGMOD -A3800000 movl %eax, _m.2056 -C7050000 movl $544502577, _aa_a30 -00003173 -C7050400 movl $1663053873, _aa_a30+4 -00003130 -C7050800 movl $1848778856, _aa_a30+8 -00006820 -C7050C00 movl $808525924, _aa_a30+12 -00006420 -C7051000 movl $543712032, _aa_a30+16 -00002063 -C7051400 movl $543453747, _aa_a30+20 -00003372 -C7051800 movl $1663053873, _aa_a30+24 -00003130 -66C7051C movw $104, _aa_a30+28 -00000068 -C7442404 movl $6, 4(%esp) -06000000 -C7042403 movl $LC1, (%esp) -E8000000 call _Console_String -C7442404 movl $30, 4(%esp) -1E000000 -C7042400 movl $_aa_a30, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -C7442430 movl $_aa_a30, 48(%esp) -00000000 -C744242C movl $_aa_a20, 44(%esp) -2C000000 -C744243C movl $0, 60(%esp) -00000000 -C7442428 movl $19, 40(%esp) -13000000 -EB05 jmp L6 -8344243C addl $1, 60(%esp) -8B44243C movl 60(%esp), %eax -3B442428 cmpl 40(%esp), %eax -7D20 jge L7 -8B54243C movl 60(%esp), %edx -8B44242C movl 44(%esp), %eax -01D0 addl %edx, %eax -8B4C243C movl 60(%esp), %ecx -8B542430 movl 48(%esp), %edx -01CA addl %ecx, %edx -0FB612 movzbl (%edx), %edx -8810 movb %dl, (%eax) -0FB600 movzbl (%eax), %eax -84C0 testb %al, %al -75D1 jne L8 -8B54243C movl 60(%esp), %edx -8B44242C movl 44(%esp), %eax -01D0 addl %edx, %eax -C60000 movb $0, (%eax) -C7442404 movl $6, 4(%esp) -06000000 -C7042409 movl $LC2, (%esp) -E8000000 call _Console_String -C7442404 movl $20, 4(%esp) -14000000 -C704242C movl $_aa_a20, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -E8000000 call _Console_Ln -C7442424 movl $_aa_a30, 36(%esp) -00000000 -C7442420 movl $_aa_a10, 32(%esp) -20000000 -C7442438 movl $0, 56(%esp) -00000000 -C744241C movl $9, 28(%esp) -09000000 -EB05 jmp L9 -83442438 addl $1, 56(%esp) -8B442438 movl 56(%esp), %eax -3B44241C cmpl 28(%esp), %eax -7D20 jge L10 -8B542438 movl 56(%esp), %edx -8B442420 movl 32(%esp), %eax -01D0 addl %edx, %eax -8B4C2438 movl 56(%esp), %ecx -8B542424 movl 36(%esp), %edx -01CA addl %ecx, %edx -0FB612 movzbl (%edx), %edx -8810 movb %dl, (%eax) -0FB600 movzbl (%eax), %eax -84C0 testb %al, %al -75D1 jne L11 -8B542438 movl 56(%esp), %edx -8B442420 movl 32(%esp), %eax -01D0 addl %edx, %eax -C60000 movb $0, (%eax) -C7442404 movl $6, 4(%esp) -06000000 -C704240F movl $LC3, (%esp) -E8000000 call _Console_String -C7442404 movl $10, 4(%esp) -0A000000 -C7042420 movl $_aa_a10, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -C7442404 movl $6, 4(%esp) -06000000 -C7042409 movl $LC2, (%esp) -E8000000 call _Console_String -C7442404 movl $20, 4(%esp) -14000000 -C704242C movl $_aa_a20, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -E8000000 call _Console_Ln -C7442418 movl $_aa_a30, 24(%esp) -00000000 -C7442414 movl $_aa_a10, 20(%esp) -20000000 -C7442434 movl $0, 52(%esp) -00000000 -C7442410 movl $9, 16(%esp) -09000000 -EB05 jmp L12 -83442434 addl $1, 52(%esp) -8B442434 movl 52(%esp), %eax -3B442410 cmpl 16(%esp), %eax -7D20 jge L13 -8B542434 movl 52(%esp), %edx -8B442414 movl 20(%esp), %eax -01D0 addl %edx, %eax -8B4C2434 movl 52(%esp), %ecx -8B542418 movl 24(%esp), %edx -01CA addl %ecx, %edx -0FB612 movzbl (%edx), %edx -8810 movb %dl, (%eax) -0FB600 movzbl (%eax), %eax -84C0 testb %al, %al -75D1 jne L14 -8B542434 movl 52(%esp), %edx -8B442414 movl 20(%esp), %eax -01D0 addl %edx, %eax -C60000 movb $0, (%eax) -C7442404 movl $6, 4(%esp) -06000000 -C704240F movl $LC3, (%esp) -E8000000 call _Console_String -C7442404 movl $10, 4(%esp) -0A000000 -C7042420 movl $_aa_a10, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -C7442404 movl $6, 4(%esp) -06000000 -C7042409 movl $LC2, (%esp) -E8000000 call _Console_String -C7442404 movl $20, 4(%esp) -14000000 -C704242C movl $_aa_a20, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -E8000000 call _Console_Ln -C7442404 movl $32, 4(%esp) -20000000 -C7042418 movl $LC4, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -E8000000 call _Heap_FINALL -B8000000 movl $0, %eax -C9 leave -C3 ret diff --git a/src/test/confidence/hello/old.cygwin.ILP32.gcc.s b/src/test/confidence/hello/old.cygwin.ILP32.gcc.s deleted file mode 100644 index 618e26e5..00000000 --- a/src/test/confidence/hello/old.cygwin.ILP32.gcc.s +++ /dev/null @@ -1,60 +0,0 @@ -55 pushl %ebp -89E5 movl %esp, %ebp -83EC10 subl $16, %esp -C745FC00 movl $0, -4(%ebp) -8B55FC movl -4(%ebp), %edx -8B4508 movl 8(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FB movb %al, -5(%ebp) -8B55FC movl -4(%ebp), %edx -8B450C movl 12(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FA movb %al, -6(%ebp) -8345FC01 addl $1, -4(%ebp) -807DFB00 cmpb $0, -5(%ebp) -7508 jne L2 -0FB645FA movzbl -6(%ebp), %eax -F7D8 negl %eax -EB15 jmp L3 -0FB645FB movzbl -5(%ebp), %eax -3A45FA cmpb -6(%ebp), %al -74C9 je L4 -0FB655FB movzbl -5(%ebp), %edx -0FB645FA movzbl -6(%ebp), %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -C9 leave -C3 ret -68656C6C .ascii "hello\0" -48656C6C .ascii "Hello.\0" -000000 .text -55 pushl %ebp -89E5 movl %esp, %ebp -83E4F0 andl $-16, %esp -83EC10 subl $16, %esp -E8000000 call ___main -8D550C leal 12(%ebp), %edx -8B4508 movl 8(%ebp), %eax -98 cwtl -89542404 movl %edx, 4(%esp) -890424 movl %eax, (%esp) -E8000000 call _Platform_Init -E8000000 call _Console__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -C7442404 movl $0, 4(%esp) -00000000 -C7042400 movl $LC0, (%esp) -E8000000 call _Heap_REGMOD -A3000000 movl %eax, _m.2052 -C7442404 movl $7, 4(%esp) -07000000 -C7042406 movl $LC1, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -E8000000 call _Heap_FINALL -B8000000 movl $0, %eax -C9 leave -C3 ret diff --git a/src/test/confidence/language/old.cygwin.ILP32.gcc.s b/src/test/confidence/language/old.cygwin.ILP32.gcc.s deleted file mode 100644 index 9a4499d2..00000000 --- a/src/test/confidence/language/old.cygwin.ILP32.gcc.s +++ /dev/null @@ -1,486 +0,0 @@ -55 pushl %ebp -89E5 movl %esp, %ebp -83EC10 subl $16, %esp -C745FC00 movl $0, -4(%ebp) -8B55FC movl -4(%ebp), %edx -8B4508 movl 8(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FB movb %al, -5(%ebp) -8B55FC movl -4(%ebp), %edx -8B450C movl 12(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FA movb %al, -6(%ebp) -8345FC01 addl $1, -4(%ebp) -807DFB00 cmpb $0, -5(%ebp) -7508 jne L2 -0FB645FA movzbl -6(%ebp), %eax -F7D8 negl %eax -EB15 jmp L3 -0FB645FB movzbl -5(%ebp), %eax -3A45FA cmpb -6(%ebp), %al -74C9 je L4 -0FB655FB movzbl -5(%ebp), %edx -0FB645FA movzbl -6(%ebp), %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -C9 leave -C3 ret -55 pushl %ebp -89E5 movl %esp, %ebp -53 pushl %ebx -83EC34 subl $52, %esp -66C745F4 movw $0, -12(%ebp) -C745EC01 movl $1, -20(%ebp) -E9BE0000 jmp L6 -C745E801 movl $1, -24(%ebp) -66837DF4 cmpw $0, -12(%ebp) -780F js L7 -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -EB0F jmp L8 -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3EA shrl %cl, %edx -89D0 movl %edx, %eax -8945E8 movl %eax, -24(%ebp) -8B45E8 movl -24(%ebp), %eax -3B45EC cmpl -20(%ebp), %eax -740C je L9 -C7042410 movl $16, (%esp) -E8000000 call _Platform_AssertFail -C745E801 movl $1, -24(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7827 js L10 -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -89D3 movl %edx, %ebx -89C1 movl %eax, %ecx -D3E3 sall %cl, %ebx -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -B9200000 movl $32, %ecx -29C1 subl %eax, %ecx -89C8 movl %ecx, %eax -89C1 movl %eax, %ecx -D3EA shrl %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -EB21 jmp L11 -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89D3 movl %edx, %ebx -89C1 movl %eax, %ecx -D3EB shrl %cl, %ebx -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -83C020 addl $32, %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -8945E8 movl %eax, -24(%ebp) -8B45E8 movl -24(%ebp), %eax -3B45EC cmpl -20(%ebp), %eax -740C je L12 -C7042411 movl $17, (%esp) -E8000000 call _Platform_AssertFail -D165EC sall -20(%ebp) -0FB745F4 movzwl -12(%ebp), %eax -83C001 addl $1, %eax -668945F4 movw %ax, -12(%ebp) -66837DF4 cmpw $31, -12(%ebp) -0F8E37FF jle L13 -66C745F4 movw $0, -12(%ebp) -66C745F2 movw $1, -14(%ebp) -E9E50000 jmp L14 -66C745E6 movw $1, -26(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7813 js L15 -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -EB13 jmp L16 -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -668945E6 movw %ax, -26(%ebp) -0FB745E6 movzwl -26(%ebp), %eax -663B45F2 cmpw -14(%ebp), %ax -740C je L17 -C7042417 movl $23, (%esp) -E8000000 call _Platform_AssertFail -66C745E6 movw $1, -26(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7831 js L18 -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -89C3 movl %eax, %ebx -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -B9100000 movl $16, %ecx -29C1 subl %eax, %ecx -89C8 movl %ecx, %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -EB2B jmp L19 -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -89C3 movl %eax, %ebx -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -83C010 addl $16, %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -668945E6 movw %ax, -26(%ebp) -0FB745E6 movzwl -26(%ebp), %eax -663B45F2 cmpw -14(%ebp), %ax -740C je L20 -C7042418 movl $24, (%esp) -E8000000 call _Platform_AssertFail -0FBF45F2 movswl -14(%ebp), %eax -01C0 addl %eax, %eax -668945F2 movw %ax, -14(%ebp) -0FB745F4 movzwl -12(%ebp), %eax -83C001 addl $1, %eax -668945F4 movw %ax, -12(%ebp) -66837DF4 cmpw $15, -12(%ebp) -0F8E10FF jle L21 -66C745F4 movw $0, -12(%ebp) -C645F701 movb $1, -9(%ebp) -E9DC0000 jmp L22 -C645E501 movb $1, -27(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7813 js L23 -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -EB13 jmp L24 -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -8845E5 movb %al, -27(%ebp) -0FB645E5 movzbl -27(%ebp), %eax -3A45F7 cmpb -9(%ebp), %al -740C je L25 -C704241E movl $30, (%esp) -E8000000 call _Platform_AssertFail -C645E501 movb $1, -27(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7831 js L26 -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -89C3 movl %eax, %ebx -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -B9080000 movl $8, %ecx -29C1 subl %eax, %ecx -89C8 movl %ecx, %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -EB2B jmp L27 -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -89C3 movl %eax, %ebx -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -83C008 addl $8, %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -8845E5 movb %al, -27(%ebp) -0FB645E5 movzbl -27(%ebp), %eax -3A45F7 cmpb -9(%ebp), %al -740C je L28 -C704241F movl $31, (%esp) -E8000000 call _Platform_AssertFail -0FBE45F7 movsbl -9(%ebp), %eax -01C0 addl %eax, %eax -8845F7 movb %al, -9(%ebp) -0FB745F4 movzwl -12(%ebp), %eax -83C001 addl $1, %eax -668945F4 movw %ax, -12(%ebp) -66837DF4 cmpw $7, -12(%ebp) -0F8E19FF jle L29 -66C745F4 movw $-1, -12(%ebp) -C745EC01 movl $1, -20(%ebp) -8B45EC movl -20(%ebp), %eax -C1E01E sall $30, %eax -8945EC movl %eax, -20(%ebp) -8B45EC movl -20(%ebp), %eax -01C0 addl %eax, %eax -8945E0 movl %eax, -32(%ebp) -E9BC0000 jmp L30 -8B45E0 movl -32(%ebp), %eax -8945E8 movl %eax, -24(%ebp) -66837DF4 cmpw $0, -12(%ebp) -780F js L31 -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -EB0F jmp L32 -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3EA shrl %cl, %edx -89D0 movl %edx, %eax -8945E8 movl %eax, -24(%ebp) -8B45E8 movl -24(%ebp), %eax -3B45EC cmpl -20(%ebp), %eax -740C je L33 -C7042427 movl $39, (%esp) -E8000000 call _Platform_AssertFail -8B45E0 movl -32(%ebp), %eax -8945E8 movl %eax, -24(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7827 js L34 -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -89D3 movl %edx, %ebx -89C1 movl %eax, %ecx -D3E3 sall %cl, %ebx -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -B9200000 movl $32, %ecx -29C1 subl %eax, %ecx -89C8 movl %ecx, %eax -89C1 movl %eax, %ecx -D3EA shrl %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -EB21 jmp L35 -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89D3 movl %edx, %ebx -89C1 movl %eax, %ecx -D3EB shrl %cl, %ebx -8B55E8 movl -24(%ebp), %edx -0FBF45F4 movswl -12(%ebp), %eax -83C020 addl $32, %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -8945E8 movl %eax, -24(%ebp) -8B45E8 movl -24(%ebp), %eax -3B45EC cmpl -20(%ebp), %eax -740C je L36 -C7042428 movl $40, (%esp) -E8000000 call _Platform_AssertFail -D17DEC sarl -20(%ebp) -0FB745F4 movzwl -12(%ebp), %eax -83E801 subl $1, %eax -668945F4 movw %ax, -12(%ebp) -66837DF4 cmpw $-31, -12(%ebp) -0F8D39FF jge L37 -66C745F4 movw $-1, -12(%ebp) -66C745F2 movw $1, -14(%ebp) -0FB745F2 movzwl -14(%ebp), %eax -0FB7C0 movzwl %ax, %eax -C1E00E sall $14, %eax -668945F2 movw %ax, -14(%ebp) -0FBF45F2 movswl -14(%ebp), %eax -01C0 addl %eax, %eax -668945DE movw %ax, -34(%ebp) -E9E30000 jmp L38 -0FB745DE movzwl -34(%ebp), %eax -668945E6 movw %ax, -26(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7813 js L39 -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -EB13 jmp L40 -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -668945E6 movw %ax, -26(%ebp) -0FB745E6 movzwl -26(%ebp), %eax -663B45F2 cmpw -14(%ebp), %ax -740C je L41 -C704242E movl $46, (%esp) -E8000000 call _Platform_AssertFail -0FB745DE movzwl -34(%ebp), %eax -668945E6 movw %ax, -26(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7831 js L42 -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -89C3 movl %eax, %ebx -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -B9100000 movl $16, %ecx -29C1 subl %eax, %ecx -89C8 movl %ecx, %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -EB2B jmp L43 -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -89C3 movl %eax, %ebx -0FB745E6 movzwl -26(%ebp), %eax -0FB7D0 movzwl %ax, %edx -0FBF45F4 movswl -12(%ebp), %eax -83C010 addl $16, %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -668945E6 movw %ax, -26(%ebp) -0FB745E6 movzwl -26(%ebp), %eax -663B45F2 cmpw -14(%ebp), %ax -740C je L44 -C704242F movl $47, (%esp) -E8000000 call _Platform_AssertFail -66D17DF2 sarw -14(%ebp) -0FB745F4 movzwl -12(%ebp), %eax -83E801 subl $1, %eax -668945F4 movw %ax, -12(%ebp) -66837DF4 cmpw $-15, -12(%ebp) -0F8D12FF jge L45 -66C745F4 movw $-1, -12(%ebp) -C645F701 movb $1, -9(%ebp) -0FB645F7 movzbl -9(%ebp), %eax -0FB6C0 movzbl %al, %eax -C1E006 sall $6, %eax -8845F7 movb %al, -9(%ebp) -0FBE45F7 movsbl -9(%ebp), %eax -01C0 addl %eax, %eax -8845DD movb %al, -35(%ebp) -E9DC0000 jmp L46 -0FB645DD movzbl -35(%ebp), %eax -8845E5 movb %al, -27(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7813 js L47 -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -EB13 jmp L48 -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -8845E5 movb %al, -27(%ebp) -0FB645E5 movzbl -27(%ebp), %eax -3A45F7 cmpb -9(%ebp), %al -740C je L49 -C7042435 movl $53, (%esp) -E8000000 call _Platform_AssertFail -0FB645DD movzbl -35(%ebp), %eax -8845E5 movb %al, -27(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7831 js L50 -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -89C3 movl %eax, %ebx -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -B9080000 movl $8, %ecx -29C1 subl %eax, %ecx -89C8 movl %ecx, %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -EB2B jmp L51 -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -F7D8 negl %eax -89C1 movl %eax, %ecx -D3FA sarl %cl, %edx -89D0 movl %edx, %eax -89C3 movl %eax, %ebx -0FB645E5 movzbl -27(%ebp), %eax -0FB6D0 movzbl %al, %edx -0FBF45F4 movswl -12(%ebp), %eax -83C008 addl $8, %eax -89C1 movl %eax, %ecx -D3E2 sall %cl, %edx -89D0 movl %edx, %eax -09D8 orl %ebx, %eax -8845E5 movb %al, -27(%ebp) diff --git a/src/test/confidence/lola/old.cygwin.ILP32.gcc.s b/src/test/confidence/lola/old.cygwin.ILP32.gcc.s deleted file mode 100644 index bd2a8780..00000000 --- a/src/test/confidence/lola/old.cygwin.ILP32.gcc.s +++ /dev/null @@ -1,105 +0,0 @@ -55 pushl %ebp -89E5 movl %esp, %ebp -83EC10 subl $16, %esp -C745FC00 movl $0, -4(%ebp) -8B55FC movl -4(%ebp), %edx -8B4508 movl 8(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FB movb %al, -5(%ebp) -8B55FC movl -4(%ebp), %edx -8B450C movl 12(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FA movb %al, -6(%ebp) -8345FC01 addl $1, -4(%ebp) -807DFB00 cmpb $0, -5(%ebp) -7508 jne L2 -0FB645FA movzbl -6(%ebp), %eax -F7D8 negl %eax -EB15 jmp L3 -0FB645FB movzbl -5(%ebp), %eax -3A45FA cmpb -6(%ebp), %al -74C9 je L4 -0FB655FB movzbl -5(%ebp), %edx -0FB645FA movzbl -6(%ebp), %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -C9 leave -C3 ret -4C6F6C61 .ascii "Lola\0" -000000 .align 4 -4C6F6C61 .ascii "Lola - compile lola source to verilog source.\0" -202D2063 -6F6D7069 -6C65206C -6F6C6120 -75736167 .ascii "usage:\0" -000000 .align 4 -20206C6F .ascii " lola lola-source-file verilog-source-file\0" -6C61206C -6F6C612D -736F7572 -63652D66 -55 pushl %ebp -89E5 movl %esp, %ebp -83E4F0 andl $-16, %esp -83EC10 subl $16, %esp -E8000000 call ___main -8D550C leal 12(%ebp), %edx -8B4508 movl 8(%ebp), %eax -98 cwtl -89542404 movl %edx, 4(%esp) -890424 movl %eax, (%esp) -E8000000 call _Platform_Init -E8000000 call _Console__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -E8000000 call _LSB__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -E8000000 call _LSC__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -E8000000 call _LSV__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -E8000000 call _Platform__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -C7442404 movl $0, 4(%esp) -00000000 -C7042400 movl $LC0, (%esp) -E8000000 call _Heap_REGMOD -A3000000 movl %eax, _m.2287 -0FB70500 movzwl _Platform_ArgCount, %eax -6683F802 cmpw $2, %ax -7F5C jg L6 -C7442404 movl $46, 4(%esp) -2E000000 -C7042408 movl $LC1, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -E8000000 call _Console_Ln -C7442404 movl $7, 4(%esp) -07000000 -C7042436 movl $LC2, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -E8000000 call _Console_Ln -C7442404 movl $44, 4(%esp) -2C000000 -C7042440 movl $LC3, (%esp) -E8000000 call _Console_String -E8000000 call _Console_Ln -E8000000 call _Console_Ln -EB15 jmp L7 -E8000000 call _LSC_Compile -0FB60500 movzbl _LSB_modname, %eax -84C0 testb %al, %al -7405 je L7 -E8000000 call _LSV_List -E8000000 call _Heap_FINALL -B8000000 movl $0, %eax -C9 leave -C3 ret diff --git a/src/test/confidence/signal/old.cygwin.ILP32.gcc.s b/src/test/confidence/signal/old.cygwin.ILP32.gcc.s deleted file mode 100644 index 6d7de14d..00000000 --- a/src/test/confidence/signal/old.cygwin.ILP32.gcc.s +++ /dev/null @@ -1,400 +0,0 @@ -55 pushl %ebp -89E5 movl %esp, %ebp -83EC10 subl $16, %esp -C745FC00 movl $0, -4(%ebp) -8B55FC movl -4(%ebp), %edx -8B4508 movl 8(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FB movb %al, -5(%ebp) -8B55FC movl -4(%ebp), %edx -8B450C movl 12(%ebp), %eax -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -8845FA movb %al, -6(%ebp) -8345FC01 addl $1, -4(%ebp) -807DFB00 cmpb $0, -5(%ebp) -7508 jne L2 -0FB645FA movzbl -6(%ebp), %eax -F7D8 negl %eax -EB15 jmp L3 -0FB645FB movzbl -5(%ebp), %eax -3A45FA cmpb -6(%ebp), %al -74C9 je L4 -0FB655FB movzbl -5(%ebp), %edx -0FB645FA movzbl -6(%ebp), %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -C9 leave -C3 ret -55 pushl %ebp -89E5 movl %esp, %ebp -53 pushl %ebx -83EC24 subl $36, %esp -8B5D0C movl 12(%ebp), %ebx -8B450C movl 12(%ebp), %eax -890424 movl %eax, (%esp) -E8000000 call _Platform_OSAllocate -89C2 movl %eax, %edx -895C2408 movl %ebx, 8(%esp) -8B4508 movl 8(%ebp), %eax -89442404 movl %eax, 4(%esp) -891424 movl %edx, (%esp) -E8000000 call _memcpy -894508 movl %eax, 8(%ebp) -66C745F6 movw $0, -10(%ebp) -EB51 jmp L6 -0FBF55F6 movswl -10(%ebp), %edx -8B450C movl 12(%ebp), %eax -39C2 cmpl %eax, %edx -7306 jnb L7 -0FBF45F6 movswl -10(%ebp), %eax -EB11 jmp L8 -C70424FE movl $-2, (%esp) -E8000000 call _Platform_Halt -B8000000 movl $0, %eax -8B5508 movl 8(%ebp), %edx -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -0FB6D0 movzbl %al, %edx -A1000000 movl _Files_Rider__typ, %eax -89542408 movl %edx, 8(%esp) -89442404 movl %eax, 4(%esp) -C7042404 movl $_SignalTest_rider, (%esp) -E8000000 call _Files_Write -0FB745F6 movzwl -10(%ebp), %eax -83C001 addl $1, %eax -668945F6 movw %ax, -10(%ebp) -0FBF45F6 movswl -10(%ebp), %eax -3B450C cmpl 12(%ebp), %eax -7D32 jge L9 -0FBF55F6 movswl -10(%ebp), %edx -8B450C movl 12(%ebp), %eax -39C2 cmpl %eax, %edx -7306 jnb L10 -0FBF45F6 movswl -10(%ebp), %eax -EB11 jmp L11 -C70424FE movl $-2, (%esp) -E8000000 call _Platform_Halt -B8000000 movl $0, %eax -8B5508 movl 8(%ebp), %edx -01D0 addl %edx, %eax -0FB600 movzbl (%eax), %eax -84C0 testb %al, %al -0F8574FF jne L12 -8B4508 movl 8(%ebp), %eax -890424 movl %eax, (%esp) -E8000000 call _Platform_OSFree -90 nop -83C424 addl $36, %esp -5B popl %ebx -5D popl %ebp -C3 ret -55 pushl %ebp -89E5 movl %esp, %ebp -83EC18 subl $24, %esp -A1000000 movl _Files_Rider__typ, %eax -C7442408 movl $10, 8(%esp) -0A000000 -89442404 movl %eax, 4(%esp) -C7042404 movl $_SignalTest_rider, (%esp) -E8000000 call _Files_Write -90 nop -C9 leave -C3 ret -55 pushl %ebp -89E5 movl %esp, %ebp -53 pushl %ebx -83EC34 subl $52, %esp -66C745F6 movw $0, -10(%ebp) -837D0800 cmpl $0, 8(%ebp) -790F jns L15 -C645D82D movb $45, -40(%ebp) -0FB745F6 movzwl -10(%ebp), %eax -83C001 addl $1, %eax -668945F6 movw %ax, -10(%ebp) -0FB745F6 movzwl -10(%ebp), %eax -6683F81D cmpw $29, %ax -7706 ja L16 -0FBF5DF6 movswl -10(%ebp), %ebx -EB11 jmp L17 -C70424FE movl $-2, (%esp) -E8000000 call _Platform_Halt -BB000000 movl $0, %ebx -837D0800 cmpl $0, 8(%ebp) -782A js L18 -8B4D08 movl 8(%ebp), %ecx -BA676666 movl $1717986919, %edx -89C8 movl %ecx, %eax -F7EA imull %edx -C1FA02 sarl $2, %edx -89C8 movl %ecx, %eax -C1F81F sarl $31, %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -C1E002 sall $2, %eax -01D0 addl %edx, %eax -01C0 addl %eax, %eax -29C1 subl %eax, %ecx -89CA movl %ecx, %edx -89D0 movl %edx, %eax -83C030 addl $48, %eax -EB16 jmp L19 -8B4508 movl 8(%ebp), %eax -C7442404 movl $10, 4(%esp) -0A000000 -890424 movl %eax, (%esp) -E8000000 call _SYSTEM_MOD -83C030 addl $48, %eax -88441DD8 movb %al, -40(%ebp,%ebx) -0FB745F6 movzwl -10(%ebp), %eax -83C001 addl $1, %eax -668945F6 movw %ax, -10(%ebp) -837D0800 cmpl $0, 8(%ebp) -781A js L20 -8B4D08 movl 8(%ebp), %ecx -BA676666 movl $1717986919, %edx -89C8 movl %ecx, %eax -F7EA imull %edx -C1FA02 sarl $2, %edx -89C8 movl %ecx, %eax -C1F81F sarl $31, %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -EB21 jmp L21 -B8090000 movl $9, %eax -2B4508 subl 8(%ebp), %eax -89C1 movl %eax, %ecx -BA676666 movl $1717986919, %edx -89C8 movl %ecx, %eax -F7EA imull %edx -C1FA02 sarl $2, %edx -89C8 movl %ecx, %eax -C1F81F sarl $31, %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -F7D8 negl %eax -894508 movl %eax, 8(%ebp) -E9BA0000 jmp L22 -0FB745F6 movzwl -10(%ebp), %eax -6683F81D cmpw $29, %ax -7706 ja L23 -0FBF5DF6 movswl -10(%ebp), %ebx -EB11 jmp L24 -C70424FE movl $-2, (%esp) -E8000000 call _Platform_Halt -BB000000 movl $0, %ebx -837D0800 cmpl $0, 8(%ebp) -782A js L25 -8B4D08 movl 8(%ebp), %ecx -BA676666 movl $1717986919, %edx -89C8 movl %ecx, %eax -F7EA imull %edx -C1FA02 sarl $2, %edx -89C8 movl %ecx, %eax -C1F81F sarl $31, %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -C1E002 sall $2, %eax -01D0 addl %edx, %eax -01C0 addl %eax, %eax -29C1 subl %eax, %ecx -89CA movl %ecx, %edx -89D0 movl %edx, %eax -83C030 addl $48, %eax -EB16 jmp L26 -8B4508 movl 8(%ebp), %eax -C7442404 movl $10, 4(%esp) -0A000000 -890424 movl %eax, (%esp) -E8000000 call _SYSTEM_MOD -83C030 addl $48, %eax -88441DD8 movb %al, -40(%ebp,%ebx) -0FB745F6 movzwl -10(%ebp), %eax -83C001 addl $1, %eax -668945F6 movw %ax, -10(%ebp) -837D0800 cmpl $0, 8(%ebp) -781A js L27 -8B4D08 movl 8(%ebp), %ecx -BA676666 movl $1717986919, %edx -89C8 movl %ecx, %eax -F7EA imull %edx -C1FA02 sarl $2, %edx -89C8 movl %ecx, %eax -C1F81F sarl $31, %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -EB21 jmp L28 -B8090000 movl $9, %eax -2B4508 subl 8(%ebp), %eax -89C1 movl %eax, %ecx -BA676666 movl $1717986919, %edx -89C8 movl %ecx, %eax -F7EA imull %edx -C1FA02 sarl $2, %edx -89C8 movl %ecx, %eax -C1F81F sarl $31, %eax -29C2 subl %eax, %edx -89D0 movl %edx, %eax -F7D8 negl %eax -894508 movl %eax, 8(%ebp) -837D0800 cmpl $0, 8(%ebp) -0F8F3CFF jg L29 -EB4D jmp L30 -0FB745F6 movzwl -10(%ebp), %eax -83E801 subl $1, %eax -668945F6 movw %ax, -10(%ebp) -0FB745F6 movzwl -10(%ebp), %eax -6683F81D cmpw $29, %ax -7706 ja L31 -0FBF45F6 movswl -10(%ebp), %eax -EB11 jmp L32 -C70424FE movl $-2, (%esp) -E8000000 call _Platform_Halt -B8000000 movl $0, %eax -0FB64405 movzbl -40(%ebp,%eax), %eax -0FB6D0 movzbl %al, %edx -A1000000 movl _Files_Rider__typ, %eax -89542408 movl %edx, 8(%esp) -89442404 movl %eax, 4(%esp) -C7042404 movl $_SignalTest_rider, (%esp) -E8000000 call _Files_Write -66837DF6 cmpw $0, -10(%ebp) -7FAC jg L33 -90 nop -83C434 addl $52, %esp -5B popl %ebx -5D popl %ebp -C3 ret -5369676E .ascii "Signal: \0" -616C3A20 -5369676E .ascii "Signal \0" -616C2000 -55 pushl %ebp -89E5 movl %esp, %ebp -83EC28 subl $40, %esp -8B4508 movl 8(%ebp), %eax -668945F4 movw %ax, -12(%ebp) -E8000000 call _Console_Ln -C7442404 movl $9, 4(%esp) -09000000 -C7042400 movl $LC0, (%esp) -E8000000 call _Console_String -0FBF45F4 movswl -12(%ebp), %eax -C7442404 movl $1, 4(%esp) -01000000 -890424 movl %eax, (%esp) -E8000000 call _Console_Int -E8000000 call _Console_Ln -C7442404 movl $8, 4(%esp) -08000000 -C7042409 movl $LC1, (%esp) -E8B2FCFF call _SignalTest_ws -0FBF45F4 movswl -12(%ebp), %eax -890424 movl %eax, (%esp) -E89FFDFF call _SignalTest_wi -E874FDFF call _SignalTest_wl -90 nop -C9 leave -C3 ret -55 pushl %ebp -89E5 movl %esp, %ebp -83EC28 subl $40, %esp -8B4508 movl 8(%ebp), %eax -668945F4 movw %ax, -12(%ebp) -EB30 jmp L36 -0FBF45F4 movswl -12(%ebp), %eax -C7442404 movl $2, 4(%esp) -02000000 -890424 movl %eax, (%esp) -E8000000 call _Console_Int -E8000000 call _Console_Flush -C70424E8 movl $1000, (%esp) -E8000000 call _Platform_Delay -0FB745F4 movzwl -12(%ebp), %eax -83E801 subl $1, %eax -668945F4 movw %ax, -12(%ebp) -66837DF4 cmpw $0, -12(%ebp) -7FC9 jg L37 -E8000000 call _Console_Ln -90 nop -C9 leave -C3 ret -55 pushl %ebp -89E5 movl %esp, %ebp -83EC28 subl $40, %esp -A1000000 movl _SignalTest_result, %eax -890424 movl %eax, (%esp) -8B4508 movl 8(%ebp), %eax -FFD0 call *%eax -A1000000 movl _Files_Rider__typ, %eax -8B5508 movl 8(%ebp), %edx -89542410 movl %edx, 16(%esp) -C744240C movl $1, 12(%esp) -01000000 -C7442408 movl $20, 8(%esp) -14000000 -89442404 movl %eax, 4(%esp) -C7042404 movl $_SignalTest_rider, (%esp) -E8000000 call _SYSTEM_ENUMR -90 nop -C9 leave -C3 ret -5369676E .ascii "SignalTest\0" -616C5465 -72657375 .ascii "result\0" -00 .text -55 pushl %ebp -89E5 movl %esp, %ebp -83E4F0 andl $-16, %esp -83EC10 subl $16, %esp -E8000000 call ___main -8D550C leal 12(%ebp), %edx -8B4508 movl 8(%ebp), %eax -98 cwtl -89542404 movl %edx, 4(%esp) -890424 movl %eax, (%esp) -E8000000 call _Platform_Init -E8000000 call _Console__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -E8000000 call _Files__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -E8000000 call _Platform__init -890424 movl %eax, (%esp) -E8000000 call _Heap_INCREF -C7442404 movl $_EnumPtrs, 4(%esp) -02040000 -C7042411 movl $LC2, (%esp) -E8000000 call _Heap_REGMOD -A3180000 movl %eax, _m.2428 -C7442404 movl $7, 4(%esp) -07000000 -C704241C movl $LC3, (%esp) -E8000000 call _Files_New -A3000000 movl %eax, _SignalTest_result -8B150000 movl _SignalTest_result, %edx -A1000000 movl _Files_Rider__typ, %eax -C744240C movl $0, 12(%esp) -00000000 -89542408 movl %edx, 8(%esp) -89442404 movl %eax, 4(%esp) -C7042404 movl $_SignalTest_rider, (%esp) -E8000000 call _Files_Set -0FB70500 movzwl _Platform_ArgCount, %eax -6683F801 cmpw $1, %ax -7E18 jle L40 -C704244D movl $_SignalTest_handle, (%esp) -E8000000 call _Platform_SetInterruptHandler -C704244D movl $_SignalTest_handle, (%esp) -E8000000 call _Platform_SetQuitHandler -C7042404 movl $4, (%esp) -E89EFEFF call _SignalTest_Take5 -A1000000 movl _SignalTest_result, %eax -890424 movl %eax, (%esp) -E8000000 call _Files_Register -E8000000 call _Heap_FINALL -B8000000 movl $0, %eax -C9 leave -C3 ret diff --git a/src/tools/make/sourcechanges.sh b/src/tools/make/sourcechanges.sh index b2460d25..08aa873b 100644 --- a/src/tools/make/sourcechanges.sh +++ b/src/tools/make/sourcechanges.sh @@ -14,8 +14,8 @@ changes="0" for f in $1/*; do fn=$(basename $f) - egrep -v "(^/\* voc )|Configuration_|__MOVE.* cmd, |OPM_(IntSize|PointerSize|Alignment) =|Strings_Append.+void\*\)(cmd|OPM_OBERON|extTools_comp)" $f >$fn.old - egrep -v "(^/\* voc )|Configuration_|__MOVE.* cmd, |OPM_(IntSize|PointerSize|Alignment) =|Strings_Append.+void\*\)(cmd|OPM_OBERON|extTools_comp)" $fn >$fn.new + egrep -v "(^/\* voc +)|Configuration_|__MOVE.* cmd, |OPM_(IntSize|PointerSize|Alignment) =|Strings_Append.+void\*\)(cmd|OPM_OBERON|extTools_comp)" $f >$fn.old + egrep -v "(^/\* voc +)|Configuration_|__MOVE.* cmd, |OPM_(IntSize|PointerSize|Alignment) =|Strings_Append.+void\*\)(cmd|OPM_OBERON|extTools_comp)" $fn >$fn.new if ! diff -U 2 -b $fn.old $fn.new >$fn.diff; then echo "" echo ""