diff --git a/bootstrap/unix-44/OPC.c b/bootstrap/unix-44/OPC.c index 10b51482..8949813a 100644 --- a/bootstrap/unix-44/OPC.c +++ b/bootstrap/unix-44/OPC.c @@ -200,7 +200,7 @@ void OPC_Ident (OPT_Object obj) } } } else if ((mode == 5 && obj->typ->form == 4)) { - if (obj->typ == OPT_pinttyp || obj->typ == OPT_ainttyp) { + if (obj->typ == OPT_pinttyp) { OPM_WriteString((CHAR*)"uintptr", 8); } else { OPM_WriteString((CHAR*)"int", 4); diff --git a/bootstrap/unix-44/OPT.c b/bootstrap/unix-44/OPT.c index 32d09e08..f151a183 100644 --- a/bootstrap/unix-44/OPT.c +++ b/bootstrap/unix-44/OPT.c @@ -83,7 +83,7 @@ typedef export void (*OPT_typSize)(OPT_Struct); export OPT_Object OPT_topScope; -export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; export int8 OPT_nofGmod; export OPT_Object OPT_GlbMod[64]; export OPS_Name OPT_SelfName; @@ -1768,7 +1768,6 @@ static void EnumPtrs(void (*P)(void*)) P(OPT_inttyp); P(OPT_linttyp); P(OPT_pinttyp); - P(OPT_ainttyp); P(OPT_int8typ); P(OPT_int16typ); P(OPT_int32typ); @@ -1851,7 +1850,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp); OPT_EnterTyp((CHAR*)"PTR", 11, OPM_PointerSize, &OPT_sysptrtyp); OPT_EnterTyp((CHAR*)"UINTPTR", 4, OPM_PointerSize, &OPT_pinttyp); - OPT_EnterTyp((CHAR*)"ADRINT", 4, OPM_PointerSize, &OPT_ainttyp); OPT_EnterTyp((CHAR*)"INT8", 4, 1, &OPT_int8typ); OPT_EnterTyp((CHAR*)"INT16", 4, 2, &OPT_int16typ); OPT_EnterTyp((CHAR*)"INT32", 4, 4, &OPT_int32typ); diff --git a/bootstrap/unix-44/OPT.h b/bootstrap/unix-44/OPT.h index b12f68e2..41a1b2e4 100644 --- a/bootstrap/unix-44/OPT.h +++ b/bootstrap/unix-44/OPT.h @@ -67,7 +67,7 @@ typedef import void (*OPT_typSize)(OPT_Struct); import OPT_Object OPT_topScope; -import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; import int8 OPT_nofGmod; import OPT_Object OPT_GlbMod[64]; import OPS_Name OPT_SelfName; diff --git a/bootstrap/unix-44/OPV.c b/bootstrap/unix-44/OPV.c index 7a155032..4272132e 100644 --- a/bootstrap/unix-44/OPV.c +++ b/bootstrap/unix-44/OPV.c @@ -286,7 +286,6 @@ void OPV_AdrAndSize (OPT_Object topScope) OPT_inttyp->strobj->linkadr = 2; OPT_linttyp->strobj->linkadr = 2; OPT_pinttyp->strobj->linkadr = 2; - OPT_ainttyp->strobj->linkadr = 2; OPT_int8typ->strobj->linkadr = 2; OPT_int16typ->strobj->linkadr = 2; OPT_int32typ->strobj->linkadr = 2; diff --git a/bootstrap/unix-44/Platform.c b/bootstrap/unix-44/Platform.c index 5b3bea8f..f7f6f6b6 100644 --- a/bootstrap/unix-44/Platform.c +++ b/bootstrap/unix-44/Platform.c @@ -263,7 +263,7 @@ void Platform_GetArg (int16 n, CHAR *val, LONGINT val__len) { Platform_ArgVec av = NIL; if (n < Platform_ArgCount) { - av = __VAL(Platform_ArgVec, Platform_ArgVector); + av = (Platform_ArgVec)(uintptr)Platform_ArgVector; __COPY(*(*av)[__X(n, 1024)], val, val__len); } } diff --git a/bootstrap/unix-44/SYSTEM.h b/bootstrap/unix-44/SYSTEM.h index 2622657f..e7b38a26 100644 --- a/bootstrap/unix-44/SYSTEM.h +++ b/bootstrap/unix-44/SYSTEM.h @@ -67,7 +67,7 @@ typedef float REAL; typedef double LONGREAL; typedef void* SYSTEM_PTR; -typedef uintptr SYSTEM_ADRINT; + // For 32 bit builds, the size of LONGINT depends on a make option: diff --git a/bootstrap/unix-48/OPC.c b/bootstrap/unix-48/OPC.c index 10b51482..8949813a 100644 --- a/bootstrap/unix-48/OPC.c +++ b/bootstrap/unix-48/OPC.c @@ -200,7 +200,7 @@ void OPC_Ident (OPT_Object obj) } } } else if ((mode == 5 && obj->typ->form == 4)) { - if (obj->typ == OPT_pinttyp || obj->typ == OPT_ainttyp) { + if (obj->typ == OPT_pinttyp) { OPM_WriteString((CHAR*)"uintptr", 8); } else { OPM_WriteString((CHAR*)"int", 4); diff --git a/bootstrap/unix-48/OPT.c b/bootstrap/unix-48/OPT.c index 32d09e08..f151a183 100644 --- a/bootstrap/unix-48/OPT.c +++ b/bootstrap/unix-48/OPT.c @@ -83,7 +83,7 @@ typedef export void (*OPT_typSize)(OPT_Struct); export OPT_Object OPT_topScope; -export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; export int8 OPT_nofGmod; export OPT_Object OPT_GlbMod[64]; export OPS_Name OPT_SelfName; @@ -1768,7 +1768,6 @@ static void EnumPtrs(void (*P)(void*)) P(OPT_inttyp); P(OPT_linttyp); P(OPT_pinttyp); - P(OPT_ainttyp); P(OPT_int8typ); P(OPT_int16typ); P(OPT_int32typ); @@ -1851,7 +1850,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp); OPT_EnterTyp((CHAR*)"PTR", 11, OPM_PointerSize, &OPT_sysptrtyp); OPT_EnterTyp((CHAR*)"UINTPTR", 4, OPM_PointerSize, &OPT_pinttyp); - OPT_EnterTyp((CHAR*)"ADRINT", 4, OPM_PointerSize, &OPT_ainttyp); OPT_EnterTyp((CHAR*)"INT8", 4, 1, &OPT_int8typ); OPT_EnterTyp((CHAR*)"INT16", 4, 2, &OPT_int16typ); OPT_EnterTyp((CHAR*)"INT32", 4, 4, &OPT_int32typ); diff --git a/bootstrap/unix-48/OPT.h b/bootstrap/unix-48/OPT.h index b12f68e2..41a1b2e4 100644 --- a/bootstrap/unix-48/OPT.h +++ b/bootstrap/unix-48/OPT.h @@ -67,7 +67,7 @@ typedef import void (*OPT_typSize)(OPT_Struct); import OPT_Object OPT_topScope; -import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; import int8 OPT_nofGmod; import OPT_Object OPT_GlbMod[64]; import OPS_Name OPT_SelfName; diff --git a/bootstrap/unix-48/OPV.c b/bootstrap/unix-48/OPV.c index 7a155032..4272132e 100644 --- a/bootstrap/unix-48/OPV.c +++ b/bootstrap/unix-48/OPV.c @@ -286,7 +286,6 @@ void OPV_AdrAndSize (OPT_Object topScope) OPT_inttyp->strobj->linkadr = 2; OPT_linttyp->strobj->linkadr = 2; OPT_pinttyp->strobj->linkadr = 2; - OPT_ainttyp->strobj->linkadr = 2; OPT_int8typ->strobj->linkadr = 2; OPT_int16typ->strobj->linkadr = 2; OPT_int32typ->strobj->linkadr = 2; diff --git a/bootstrap/unix-48/Platform.c b/bootstrap/unix-48/Platform.c index 5b3bea8f..f7f6f6b6 100644 --- a/bootstrap/unix-48/Platform.c +++ b/bootstrap/unix-48/Platform.c @@ -263,7 +263,7 @@ void Platform_GetArg (int16 n, CHAR *val, LONGINT val__len) { Platform_ArgVec av = NIL; if (n < Platform_ArgCount) { - av = __VAL(Platform_ArgVec, Platform_ArgVector); + av = (Platform_ArgVec)(uintptr)Platform_ArgVector; __COPY(*(*av)[__X(n, 1024)], val, val__len); } } diff --git a/bootstrap/unix-48/SYSTEM.h b/bootstrap/unix-48/SYSTEM.h index 2622657f..e7b38a26 100644 --- a/bootstrap/unix-48/SYSTEM.h +++ b/bootstrap/unix-48/SYSTEM.h @@ -67,7 +67,7 @@ typedef float REAL; typedef double LONGREAL; typedef void* SYSTEM_PTR; -typedef uintptr SYSTEM_ADRINT; + // For 32 bit builds, the size of LONGINT depends on a make option: diff --git a/bootstrap/unix-88/OPC.c b/bootstrap/unix-88/OPC.c index ee075a94..d4a0fc06 100644 --- a/bootstrap/unix-88/OPC.c +++ b/bootstrap/unix-88/OPC.c @@ -201,7 +201,7 @@ void OPC_Ident (OPT_Object obj) } } } else if ((mode == 5 && obj->typ->form == 4)) { - if (obj->typ == OPT_pinttyp || obj->typ == OPT_ainttyp) { + if (obj->typ == OPT_pinttyp) { OPM_WriteString((CHAR*)"uintptr", 8); } else { OPM_WriteString((CHAR*)"int", 4); diff --git a/bootstrap/unix-88/OPT.c b/bootstrap/unix-88/OPT.c index 94145f3d..d5057c1d 100644 --- a/bootstrap/unix-88/OPT.c +++ b/bootstrap/unix-88/OPT.c @@ -84,7 +84,7 @@ typedef export void (*OPT_typSize)(OPT_Struct); export OPT_Object OPT_topScope; -export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; export int8 OPT_nofGmod; export OPT_Object OPT_GlbMod[64]; export OPS_Name OPT_SelfName; @@ -1769,7 +1769,6 @@ static void EnumPtrs(void (*P)(void*)) P(OPT_inttyp); P(OPT_linttyp); P(OPT_pinttyp); - P(OPT_ainttyp); P(OPT_int8typ); P(OPT_int16typ); P(OPT_int32typ); @@ -1852,7 +1851,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp); OPT_EnterTyp((CHAR*)"PTR", 11, OPM_PointerSize, &OPT_sysptrtyp); OPT_EnterTyp((CHAR*)"UINTPTR", 4, OPM_PointerSize, &OPT_pinttyp); - OPT_EnterTyp((CHAR*)"ADRINT", 4, OPM_PointerSize, &OPT_ainttyp); OPT_EnterTyp((CHAR*)"INT8", 4, 1, &OPT_int8typ); OPT_EnterTyp((CHAR*)"INT16", 4, 2, &OPT_int16typ); OPT_EnterTyp((CHAR*)"INT32", 4, 4, &OPT_int32typ); diff --git a/bootstrap/unix-88/OPT.h b/bootstrap/unix-88/OPT.h index e2409b86..aefdfd2a 100644 --- a/bootstrap/unix-88/OPT.h +++ b/bootstrap/unix-88/OPT.h @@ -68,7 +68,7 @@ typedef import void (*OPT_typSize)(OPT_Struct); import OPT_Object OPT_topScope; -import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; import int8 OPT_nofGmod; import OPT_Object OPT_GlbMod[64]; import OPS_Name OPT_SelfName; diff --git a/bootstrap/unix-88/OPV.c b/bootstrap/unix-88/OPV.c index a99c5bfe..7edc861b 100644 --- a/bootstrap/unix-88/OPV.c +++ b/bootstrap/unix-88/OPV.c @@ -287,7 +287,6 @@ void OPV_AdrAndSize (OPT_Object topScope) OPT_inttyp->strobj->linkadr = 2; OPT_linttyp->strobj->linkadr = 2; OPT_pinttyp->strobj->linkadr = 2; - OPT_ainttyp->strobj->linkadr = 2; OPT_int8typ->strobj->linkadr = 2; OPT_int16typ->strobj->linkadr = 2; OPT_int32typ->strobj->linkadr = 2; diff --git a/bootstrap/unix-88/SYSTEM.h b/bootstrap/unix-88/SYSTEM.h index 2622657f..e7b38a26 100644 --- a/bootstrap/unix-88/SYSTEM.h +++ b/bootstrap/unix-88/SYSTEM.h @@ -67,7 +67,7 @@ typedef float REAL; typedef double LONGREAL; typedef void* SYSTEM_PTR; -typedef uintptr SYSTEM_ADRINT; + // For 32 bit builds, the size of LONGINT depends on a make option: diff --git a/bootstrap/windows-48/OPC.c b/bootstrap/windows-48/OPC.c index 10b51482..8949813a 100644 --- a/bootstrap/windows-48/OPC.c +++ b/bootstrap/windows-48/OPC.c @@ -200,7 +200,7 @@ void OPC_Ident (OPT_Object obj) } } } else if ((mode == 5 && obj->typ->form == 4)) { - if (obj->typ == OPT_pinttyp || obj->typ == OPT_ainttyp) { + if (obj->typ == OPT_pinttyp) { OPM_WriteString((CHAR*)"uintptr", 8); } else { OPM_WriteString((CHAR*)"int", 4); diff --git a/bootstrap/windows-48/OPT.c b/bootstrap/windows-48/OPT.c index 32d09e08..f151a183 100644 --- a/bootstrap/windows-48/OPT.c +++ b/bootstrap/windows-48/OPT.c @@ -83,7 +83,7 @@ typedef export void (*OPT_typSize)(OPT_Struct); export OPT_Object OPT_topScope; -export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; export int8 OPT_nofGmod; export OPT_Object OPT_GlbMod[64]; export OPS_Name OPT_SelfName; @@ -1768,7 +1768,6 @@ static void EnumPtrs(void (*P)(void*)) P(OPT_inttyp); P(OPT_linttyp); P(OPT_pinttyp); - P(OPT_ainttyp); P(OPT_int8typ); P(OPT_int16typ); P(OPT_int32typ); @@ -1851,7 +1850,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp); OPT_EnterTyp((CHAR*)"PTR", 11, OPM_PointerSize, &OPT_sysptrtyp); OPT_EnterTyp((CHAR*)"UINTPTR", 4, OPM_PointerSize, &OPT_pinttyp); - OPT_EnterTyp((CHAR*)"ADRINT", 4, OPM_PointerSize, &OPT_ainttyp); OPT_EnterTyp((CHAR*)"INT8", 4, 1, &OPT_int8typ); OPT_EnterTyp((CHAR*)"INT16", 4, 2, &OPT_int16typ); OPT_EnterTyp((CHAR*)"INT32", 4, 4, &OPT_int32typ); diff --git a/bootstrap/windows-48/OPT.h b/bootstrap/windows-48/OPT.h index b12f68e2..41a1b2e4 100644 --- a/bootstrap/windows-48/OPT.h +++ b/bootstrap/windows-48/OPT.h @@ -67,7 +67,7 @@ typedef import void (*OPT_typSize)(OPT_Struct); import OPT_Object OPT_topScope; -import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; import int8 OPT_nofGmod; import OPT_Object OPT_GlbMod[64]; import OPS_Name OPT_SelfName; diff --git a/bootstrap/windows-48/OPV.c b/bootstrap/windows-48/OPV.c index 7a155032..4272132e 100644 --- a/bootstrap/windows-48/OPV.c +++ b/bootstrap/windows-48/OPV.c @@ -286,7 +286,6 @@ void OPV_AdrAndSize (OPT_Object topScope) OPT_inttyp->strobj->linkadr = 2; OPT_linttyp->strobj->linkadr = 2; OPT_pinttyp->strobj->linkadr = 2; - OPT_ainttyp->strobj->linkadr = 2; OPT_int8typ->strobj->linkadr = 2; OPT_int16typ->strobj->linkadr = 2; OPT_int32typ->strobj->linkadr = 2; diff --git a/bootstrap/windows-48/SYSTEM.h b/bootstrap/windows-48/SYSTEM.h index 2622657f..e7b38a26 100644 --- a/bootstrap/windows-48/SYSTEM.h +++ b/bootstrap/windows-48/SYSTEM.h @@ -67,7 +67,7 @@ typedef float REAL; typedef double LONGREAL; typedef void* SYSTEM_PTR; -typedef uintptr SYSTEM_ADRINT; + // For 32 bit builds, the size of LONGINT depends on a make option: diff --git a/bootstrap/windows-88/OPC.c b/bootstrap/windows-88/OPC.c index ee075a94..d4a0fc06 100644 --- a/bootstrap/windows-88/OPC.c +++ b/bootstrap/windows-88/OPC.c @@ -201,7 +201,7 @@ void OPC_Ident (OPT_Object obj) } } } else if ((mode == 5 && obj->typ->form == 4)) { - if (obj->typ == OPT_pinttyp || obj->typ == OPT_ainttyp) { + if (obj->typ == OPT_pinttyp) { OPM_WriteString((CHAR*)"uintptr", 8); } else { OPM_WriteString((CHAR*)"int", 4); diff --git a/bootstrap/windows-88/OPT.c b/bootstrap/windows-88/OPT.c index 94145f3d..d5057c1d 100644 --- a/bootstrap/windows-88/OPT.c +++ b/bootstrap/windows-88/OPT.c @@ -84,7 +84,7 @@ typedef export void (*OPT_typSize)(OPT_Struct); export OPT_Object OPT_topScope; -export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +export OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; export int8 OPT_nofGmod; export OPT_Object OPT_GlbMod[64]; export OPS_Name OPT_SelfName; @@ -1769,7 +1769,6 @@ static void EnumPtrs(void (*P)(void*)) P(OPT_inttyp); P(OPT_linttyp); P(OPT_pinttyp); - P(OPT_ainttyp); P(OPT_int8typ); P(OPT_int16typ); P(OPT_int32typ); @@ -1852,7 +1851,6 @@ export void *OPT__init(void) OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp); OPT_EnterTyp((CHAR*)"PTR", 11, OPM_PointerSize, &OPT_sysptrtyp); OPT_EnterTyp((CHAR*)"UINTPTR", 4, OPM_PointerSize, &OPT_pinttyp); - OPT_EnterTyp((CHAR*)"ADRINT", 4, OPM_PointerSize, &OPT_ainttyp); OPT_EnterTyp((CHAR*)"INT8", 4, 1, &OPT_int8typ); OPT_EnterTyp((CHAR*)"INT16", 4, 2, &OPT_int16typ); OPT_EnterTyp((CHAR*)"INT32", 4, 4, &OPT_int32typ); diff --git a/bootstrap/windows-88/OPT.h b/bootstrap/windows-88/OPT.h index e2409b86..aefdfd2a 100644 --- a/bootstrap/windows-88/OPT.h +++ b/bootstrap/windows-88/OPT.h @@ -68,7 +68,7 @@ typedef import void (*OPT_typSize)(OPT_Struct); import OPT_Object OPT_topScope; -import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_ainttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; +import OPT_Struct OPT_undftyp, OPT_bytetyp, OPT_booltyp, OPT_chartyp, OPT_sinttyp, OPT_inttyp, OPT_linttyp, OPT_pinttyp, OPT_int8typ, OPT_int16typ, OPT_int32typ, OPT_int64typ, OPT_realtyp, OPT_lrltyp, OPT_settyp, OPT_stringtyp, OPT_niltyp, OPT_notyp, OPT_sysptrtyp; import int8 OPT_nofGmod; import OPT_Object OPT_GlbMod[64]; import OPS_Name OPT_SelfName; diff --git a/bootstrap/windows-88/OPV.c b/bootstrap/windows-88/OPV.c index a99c5bfe..7edc861b 100644 --- a/bootstrap/windows-88/OPV.c +++ b/bootstrap/windows-88/OPV.c @@ -287,7 +287,6 @@ void OPV_AdrAndSize (OPT_Object topScope) OPT_inttyp->strobj->linkadr = 2; OPT_linttyp->strobj->linkadr = 2; OPT_pinttyp->strobj->linkadr = 2; - OPT_ainttyp->strobj->linkadr = 2; OPT_int8typ->strobj->linkadr = 2; OPT_int16typ->strobj->linkadr = 2; OPT_int32typ->strobj->linkadr = 2; diff --git a/bootstrap/windows-88/SYSTEM.h b/bootstrap/windows-88/SYSTEM.h index 2622657f..e7b38a26 100644 --- a/bootstrap/windows-88/SYSTEM.h +++ b/bootstrap/windows-88/SYSTEM.h @@ -67,7 +67,7 @@ typedef float REAL; typedef double LONGREAL; typedef void* SYSTEM_PTR; -typedef uintptr SYSTEM_ADRINT; + // For 32 bit builds, the size of LONGINT depends on a make option: diff --git a/src/compiler/OPC.Mod b/src/compiler/OPC.Mod index 5b4f9195..f8c71ee8 100644 --- a/src/compiler/OPC.Mod +++ b/src/compiler/OPC.Mod @@ -117,10 +117,8 @@ MODULE OPC; (* copyright (c) J. Templ 12.7.95 / 3.7.96 *) IF keytab[hashtab[h]] = obj^.name THEN OPM.Write('_') END END ELSIF (mode = OPT.Typ) & (obj.typ.form = OPT.Int) THEN - IF (obj.typ = OPT.pinttyp) OR (obj.typ = OPT.ainttyp) THEN - OPM.WriteString("uintptr") - ELSE - OPM.WriteString("int"); OPM.WriteInt(obj.typ.size*8) + IF obj.typ = OPT.pinttyp THEN OPM.WriteString("uintptr") + ELSE OPM.WriteString("int"); OPM.WriteInt(obj.typ.size*8) END ELSE IF (mode # OPT.Typ) OR (obj^.linkadr # PredefinedType) THEN diff --git a/src/compiler/OPT.Mod b/src/compiler/OPT.Mod index 135d1016..19bfdb47 100644 --- a/src/compiler/OPT.Mod +++ b/src/compiler/OPT.Mod @@ -155,7 +155,7 @@ VAR undftyp*, bytetyp*, booltyp*, chartyp*, sinttyp*, inttyp*, linttyp*, - pinttyp*, ainttyp*, + pinttyp*, int8typ*, int16typ*, int32typ*, int64typ*, realtyp*, lrltyp*, settyp*, stringtyp*, niltyp*, notyp*, sysptrtyp*: Struct; @@ -1189,7 +1189,6 @@ BEGIN topScope := NIL; OpenScope(0, NIL); OPM.errpos := 0; EnterTyp("BYTE", Byte, OPM.ByteSize, bytetyp); EnterTyp("PTR", Pointer, OPM.PointerSize, sysptrtyp); EnterTyp("UINTPTR", Int, OPM.PointerSize, pinttyp); - EnterTyp("ADRINT", Int, OPM.PointerSize, ainttyp); (* Temporary for bootstrapping *) EnterTyp("INT8", Int, 1, int8typ); EnterTyp("INT16", Int, 2, int16typ); EnterTyp("INT32", Int, 4, int32typ); diff --git a/src/compiler/OPV.Mod b/src/compiler/OPV.Mod index cd387568..25cc2898 100644 --- a/src/compiler/OPV.Mod +++ b/src/compiler/OPV.Mod @@ -206,7 +206,6 @@ MODULE OPV; (* J. Templ 16.2.95 / 3.7.96 OPT.inttyp^.strobj^.linkadr := PredefinedType; OPT.linttyp^.strobj^.linkadr := PredefinedType; OPT.pinttyp^.strobj^.linkadr := PredefinedType; - OPT.ainttyp^.strobj^.linkadr := PredefinedType; OPT.int8typ^.strobj^.linkadr := PredefinedType; OPT.int16typ^.strobj^.linkadr := PredefinedType; OPT.int32typ^.strobj^.linkadr := PredefinedType; diff --git a/src/system/Heap.Mod b/src/system/Heap.Mod index 926fdaab..00c106dd 100644 --- a/src/system/Heap.Mod +++ b/src/system/Heap.Mod @@ -187,10 +187,10 @@ MODULE Heap; architectures with 64 bit LONGINT, it loads 32 bits and extends it to LONGINT rather than loading 64 bits. - NOTE - with uintpr work complete this function should be replaces withSYSTEM.GET + NOTE - with uintpr work complete this function should be replaced with SYSTEM.GET as there will be no need to extend addresses to larger types. - *) + PROCEDURE -FetchAddress(pointer: SYSTEM.UINTPTR): SYSTEM.UINTPTR "(uintptr)(*((void**)((uintptr)pointer)))"; PROCEDURE ExtendHeap(blksz: SYSTEM.UINTPTR); diff --git a/src/system/Platformunix.Mod b/src/system/Platformunix.Mod index 76c0db89..f950f2a3 100644 --- a/src/system/Platformunix.Mod +++ b/src/system/Platformunix.Mod @@ -27,13 +27,13 @@ TYPE VAR LittleEndian-: BOOLEAN; - MainStackFrame-: SYSTEM.ADRINT; + MainStackFrame-: SYSTEM.UINTPTR; HaltCode-: LONGINT; PID-: INTEGER; (* Note: Must be updated by Fork implementation *) CWD-: ARRAY 256 OF CHAR; ArgCount-: INTEGER; - ArgVector-: SYSTEM.ADRINT; + ArgVector-: SYSTEM.UINTPTR; HaltHandler: HaltProcedure; TimeStart: LONGINT; diff --git a/src/system/SYSTEM.h b/src/system/SYSTEM.h index 2622657f..e7b38a26 100644 --- a/src/system/SYSTEM.h +++ b/src/system/SYSTEM.h @@ -67,7 +67,7 @@ typedef float REAL; typedef double LONGREAL; typedef void* SYSTEM_PTR; -typedef uintptr SYSTEM_ADRINT; + // For 32 bit builds, the size of LONGINT depends on a make option: