X-Git-Url: https://deadsoftware.ru/gitweb?p=cpc.git;a=blobdiff_plain;f=C%2FSYSTEM.h;h=9f36508948bab41947010450ee923456e3ef8bc6;hp=f38101343d27f139c86056487cadd1a1b6ce274c;hb=2f6052eb7f36254f3f459addb169dd7c07786cf7;hpb=2a7e13212b097598452e3856d87c73c7adbad454 diff --git a/C/SYSTEM.h b/C/SYSTEM.h index f381013..9f36508 100644 --- a/C/SYSTEM.h +++ b/C/SYSTEM.h @@ -10,48 +10,73 @@ bh 20.12.1999 */ -#pragma warning(disable:4101) // disable "unreferenced variable" warning +#pragma warning(disable:4101) /* disable "unreferenced variable" warning */ #ifdef __GNUC__ # include #endif -#include +#include #include -// extern char *memcpy(); +/* extern char *memcpy(); */ #define export #define import extern /* basic types */ +/* typedef unsigned char BOOLEAN; typedef unsigned char SHORTCHAR; typedef unsigned short CHAR; typedef signed char BYTE; typedef short SHORTINT; typedef int INTEGER; +*/ #if !defined(_WIN64) && ((__SIZEOF_POINTER__ == 8) || defined (_LP64) || defined(__LP64__)) - typedef long LONGINT; // LP64 - typedef unsigned long __U_LONGINT; + /* typedef long LONGINT; */ /* LP64 */ + /* typedef unsigned long __U_LONGINT; */ #else - typedef long long LONGINT; // ILP32 or LLP64 - typedef unsigned long long __U_LONGINT; + /* typedef long long LONGINT; */ /* ILP32 or LLP64 */ + /* typedef unsigned long long __U_LONGINT; */ #endif +/* typedef float SHORTREAL; typedef double REAL; typedef unsigned int SET; typedef void ANYREC; typedef void *ANYPTR; typedef void *SYSTEM_PTR; -typedef INTEGER SYSTEM_ADDRESS; +*/ +typedef uint8_t BOOLEAN; +typedef uint8_t SHORTCHAR; +typedef uint16_t CHAR; +typedef int8_t BYTE; +typedef int16_t SHORTINT; +typedef int32_t INTEGER; +typedef int64_t LONGINT; +typedef float SHORTREAL; +typedef double REAL; +typedef uint32_t SET; +typedef void ANYREC; +typedef void *ANYPTR; +typedef void *SYSTEM_PTR; /* Unsigned variants are for use by shift and rotate macros */ +typedef uint8_t __U_SHORTCHAR; +typedef uint16_t __U_CHAR; +typedef uint8_t __U_BYTE; +typedef uint16_t __U_SHORTINT; +typedef uint32_t __U_INTEGER; +typedef uint64_t __U_LONGINT; +typedef uint32_t __U_SET; +/* typedef unsigned char __U_SHORTCHAR; typedef unsigned short __U_CHAR; typedef unsigned char __U_BYTE; typedef unsigned short __U_SHORTINT; typedef unsigned int __U_INTEGER; typedef unsigned int __U_SET; +*/ extern LONGINT SYSTEM_INF; extern INTEGER SYSTEM_INFS; @@ -251,10 +276,12 @@ extern void Kernel_Trap(INTEGER n); #define __MOVE(s, d, n) memcpy((char*)(d),(char*)(s),n) /* std procs and operator mappings */ -// #define __SHORT(x, y) ((int)((unsigned)(x)+(y)<(y)+(y)?(x):(__HALT(-8),0))) -// #define __SHORTF(x, y) ((int)(__RF((x)+(y),(y)+(y))-(y))) -// #define __CHR(x) ((CHAR)__R(x, 256)) -// #define __CHRF(x) ((CHAR)__RF(x, 256)) +/* +#define __SHORT(x, y) ((int)((unsigned)(x)+(y)<(y)+(y)?(x):(__HALT(-8),0))) +#define __SHORTF(x, y) ((int)(__RF((x)+(y),(y)+(y))-(y))) +#define __CHR(x) ((CHAR)__R(x, 256)) +#define __CHRF(x) ((CHAR)__RF(x, 256)) +*/ #define __DIV(x, y) ((x)>=0?(x)/(y):~(~(x)/(y))) #define __DIVF(x, y) SYSTEM_DIV(x,y) #define __DIVFL(x, y) SYSTEM_DIVL(x,y) @@ -329,7 +356,9 @@ extern void Kernel_Trap(INTEGER n); /* runtime checks */ #define __X(i, ub) (((unsigned)(i)<(unsigned)(ub))?i:(__HALT(-7),0)) #define __XF(i, ub) SYSTEM_XCHK((INTEGER)(i), (INTEGER)(ub)) -// #define __RETCHK __retchk: __HALT(-3) +/* +#define __RETCHK __retchk: __HALT(-3) +*/ #define __RETCHK __HALT(-3) #define __CASECHK __HALT(-2) #define __GUARDP(p, typ, level) ((typ*)(__ISP(p,typ,level)?p:(__HALT(-4),p)))