diff --git a/bootstrap/SYSTEM.h b/bootstrap/SYSTEM.h index 6ddf909a..7c55807b 100644 --- a/bootstrap/SYSTEM.h +++ b/bootstrap/SYSTEM.h @@ -244,12 +244,8 @@ static inline double SYSTEM_ABSD(double i) {return i >= 0.0 ? i : -i;} #define __WITHCHK __HALT(-7) -//#define __IS(tag, typ, level) (*(tag-(__BASEOFF-level))==(LONGINT)(address)typ##__typ) -//#define __TYPEOF(p) ((address*)(address)(*(((LONGINT*)(p))-1))) -//#define __ISP(p, typ, level) __IS(__TYPEOF(p),typ,level) - #define __IS(tag, typ, level) (*(tag-(__BASEOFF-level))==(address)typ##__typ) -#define __TYPEOF(p) ((address*)(address)(*(((address*)(p))-1))) +#define __TYPEOF(p) (*(((address**)(p))-1)) #define __ISP(p, typ, level) __IS(__TYPEOF(p),typ,level) diff --git a/src/system/SYSTEM.h b/src/system/SYSTEM.h index 6ddf909a..7c55807b 100644 --- a/src/system/SYSTEM.h +++ b/src/system/SYSTEM.h @@ -244,12 +244,8 @@ static inline double SYSTEM_ABSD(double i) {return i >= 0.0 ? i : -i;} #define __WITHCHK __HALT(-7) -//#define __IS(tag, typ, level) (*(tag-(__BASEOFF-level))==(LONGINT)(address)typ##__typ) -//#define __TYPEOF(p) ((address*)(address)(*(((LONGINT*)(p))-1))) -//#define __ISP(p, typ, level) __IS(__TYPEOF(p),typ,level) - #define __IS(tag, typ, level) (*(tag-(__BASEOFF-level))==(address)typ##__typ) -#define __TYPEOF(p) ((address*)(address)(*(((address*)(p))-1))) +#define __TYPEOF(p) (*(((address**)(p))-1)) #define __ISP(p, typ, level) __IS(__TYPEOF(p),typ,level)