From 8b846c9a5a9d7992e2010b4f8dcb28651ff5731a Mon Sep 17 00:00:00 2001 From: Norayr Chilingarian Date: Sun, 25 Jan 2015 16:22:23 +0400 Subject: [PATCH] untraced pointer -- noch --- src/lib/ulm/armv6j/ulmTypes.Mod | 10 +++++++++- src/lib/ulm/armv6j_hardfp/ulmTypes.Mod | 10 +++++++++- src/lib/ulm/armv7a_hardfp/ulmTypes.Mod | 10 +++++++++- src/lib/ulm/powerpc/ulmTypes.Mod | 10 +++++++++- src/lib/ulm/x86/ulmTypes.Mod | 10 +++++++++- src/lib/ulm/x86_64/ulmTypes.Mod | 12 ++++++++++-- 6 files changed, 55 insertions(+), 7 deletions(-) diff --git a/src/lib/ulm/armv6j/ulmTypes.Mod b/src/lib/ulm/armv6j/ulmTypes.Mod index 3b4a8e19..fe2d6eca 100644 --- a/src/lib/ulm/armv6j/ulmTypes.Mod +++ b/src/lib/ulm/armv6j/ulmTypes.Mod @@ -51,7 +51,15 @@ MODULE ulmTypes; TYPE Address* = LONGINT (*SYS.ADDRESS*); - UntracedAddress* = LONGINT; (*SYS.UNTRACEDADDRESS;*) + (* ulm compiler can accept + VAR p : SYSTEM.ADDRESS; // SYSTEM.PTR in ETH and V4 versions + ... + p := SYSTEM.ADR(something); + and this is how it is used in ulm oberon system library, + while SYSTEM.ADR returns LONGINT in ETH and V4 versions. + Thus I leave it as LONGINT for now, before coming up with better solution -- noch *) + UntracedAddress* = POINTER[1] TO UntracedAddressDesc; (*SYS.UNTRACEDADDRESS;*) + UntracedAddressDesc* = RECORD[1] END; Count* = LONGINT; Size* = Count; Byte* = SYS.BYTE; diff --git a/src/lib/ulm/armv6j_hardfp/ulmTypes.Mod b/src/lib/ulm/armv6j_hardfp/ulmTypes.Mod index 3b4a8e19..fe2d6eca 100644 --- a/src/lib/ulm/armv6j_hardfp/ulmTypes.Mod +++ b/src/lib/ulm/armv6j_hardfp/ulmTypes.Mod @@ -51,7 +51,15 @@ MODULE ulmTypes; TYPE Address* = LONGINT (*SYS.ADDRESS*); - UntracedAddress* = LONGINT; (*SYS.UNTRACEDADDRESS;*) + (* ulm compiler can accept + VAR p : SYSTEM.ADDRESS; // SYSTEM.PTR in ETH and V4 versions + ... + p := SYSTEM.ADR(something); + and this is how it is used in ulm oberon system library, + while SYSTEM.ADR returns LONGINT in ETH and V4 versions. + Thus I leave it as LONGINT for now, before coming up with better solution -- noch *) + UntracedAddress* = POINTER[1] TO UntracedAddressDesc; (*SYS.UNTRACEDADDRESS;*) + UntracedAddressDesc* = RECORD[1] END; Count* = LONGINT; Size* = Count; Byte* = SYS.BYTE; diff --git a/src/lib/ulm/armv7a_hardfp/ulmTypes.Mod b/src/lib/ulm/armv7a_hardfp/ulmTypes.Mod index 3b4a8e19..fe2d6eca 100644 --- a/src/lib/ulm/armv7a_hardfp/ulmTypes.Mod +++ b/src/lib/ulm/armv7a_hardfp/ulmTypes.Mod @@ -51,7 +51,15 @@ MODULE ulmTypes; TYPE Address* = LONGINT (*SYS.ADDRESS*); - UntracedAddress* = LONGINT; (*SYS.UNTRACEDADDRESS;*) + (* ulm compiler can accept + VAR p : SYSTEM.ADDRESS; // SYSTEM.PTR in ETH and V4 versions + ... + p := SYSTEM.ADR(something); + and this is how it is used in ulm oberon system library, + while SYSTEM.ADR returns LONGINT in ETH and V4 versions. + Thus I leave it as LONGINT for now, before coming up with better solution -- noch *) + UntracedAddress* = POINTER[1] TO UntracedAddressDesc; (*SYS.UNTRACEDADDRESS;*) + UntracedAddressDesc* = RECORD[1] END; Count* = LONGINT; Size* = Count; Byte* = SYS.BYTE; diff --git a/src/lib/ulm/powerpc/ulmTypes.Mod b/src/lib/ulm/powerpc/ulmTypes.Mod index b98b1b36..0d2db20e 100644 --- a/src/lib/ulm/powerpc/ulmTypes.Mod +++ b/src/lib/ulm/powerpc/ulmTypes.Mod @@ -51,7 +51,15 @@ MODULE ulmTypes; TYPE Address* = LONGINT (*SYS.ADDRESS*); - UntracedAddress* = LONGINT; (*SYS.UNTRACEDADDRESS;*) + (* ulm compiler can accept + VAR p : SYSTEM.ADDRESS; // SYSTEM.PTR in ETH and V4 versions + ... + p := SYSTEM.ADR(something); + and this is how it is used in ulm oberon system library, + while SYSTEM.ADR returns LONGINT in ETH and V4 versions. + Thus I leave it as LONGINT for now, before coming up with better solution -- noch *) + UntracedAddress* = POINTER[1] TO UntracedAddressDesc; (*SYS.UNTRACEDADDRESS;*) + UntracedAddressDesc* = RECORD[1] END; Count* = LONGINT; Size* = Count; Byte* = SYS.BYTE; diff --git a/src/lib/ulm/x86/ulmTypes.Mod b/src/lib/ulm/x86/ulmTypes.Mod index 3b4a8e19..a9aa73d0 100644 --- a/src/lib/ulm/x86/ulmTypes.Mod +++ b/src/lib/ulm/x86/ulmTypes.Mod @@ -51,7 +51,15 @@ MODULE ulmTypes; TYPE Address* = LONGINT (*SYS.ADDRESS*); - UntracedAddress* = LONGINT; (*SYS.UNTRACEDADDRESS;*) + (* ulm compiler can accept + VAR p : SYSTEM.ADDRESS; // SYSTEM.PTR in ETH and V4 versions + ... + p := SYSTEM.ADR(something); + and this is how it is used in ulm oberon system library, + while SYSTEM.ADR returns LONGINT in ETH and V4 versions. + Thus I leave it as LONGINT for now, before coming up with better solution -- noch *) + UntracedAddress* = POINTER[1] TO UntracedAddressDesc; (*SYS.UNTRACEDADDRESS;*) + UntracedAddressDesc* = RECORD[1] END; Count* = LONGINT; Size* = Count; Byte* = SYS.BYTE; diff --git a/src/lib/ulm/x86_64/ulmTypes.Mod b/src/lib/ulm/x86_64/ulmTypes.Mod index 017a6ca7..0b947f30 100644 --- a/src/lib/ulm/x86_64/ulmTypes.Mod +++ b/src/lib/ulm/x86_64/ulmTypes.Mod @@ -50,8 +50,16 @@ MODULE ulmTypes; IMPORT SYS := SYSTEM; TYPE - Address* = LONGINT (*SYS.ADDRESS*); - UntracedAddress* = LONGINT; (*SYS.UNTRACEDADDRESS;*) + Address* = (*SYS.PTR*) LONGINT (*SYS.ADDRESS*); + (* ulm compiler can accept + VAR p : SYSTEM.ADDRESS; // SYSTEM.PTR in ETH and V4 versions + ... + p := SYSTEM.ADR(something); + and this is how it is used in ulm oberon system library, + while SYSTEM.ADR returns LONGINT in ETH and V4 versions. + Thus I leave it as LONGINT for now, before coming up with better solution -- noch *) + UntracedAddress* = POINTER[1] TO UntracedAddressDesc; (*SYS.UNTRACEDADDRESS;*) + UntracedAddressDesc* = RECORD[1] END; Count* = LONGINT; Size* = Count; Byte* = SYS.BYTE;