diff options
author | Ash Wolf <ninji@wuffs.org> | 2023-01-13 01:36:56 +0000 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2023-01-13 01:36:56 +0000 |
commit | 9d985413ce2b60a1a8cf001913ee8dac81c03aac (patch) | |
tree | 348ab31884f2dd89d285e06c42e656e35835ff38 /includes/compiler/CompilerTools.h | |
parent | 3a6db389b250439a0cce6b45ef1424a5728f5d18 (diff) | |
download | MWCC-9d985413ce2b60a1a8cf001913ee8dac81c03aac.tar.gz MWCC-9d985413ce2b60a1a8cf001913ee8dac81c03aac.zip |
fix lots more issues, add endian conversions to ObjGenMachO, add 64-bit kludge to Switch.c
Diffstat (limited to '')
-rw-r--r-- | includes/compiler/CompilerTools.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/includes/compiler/CompilerTools.h b/includes/compiler/CompilerTools.h index b218925..1338f29 100644 --- a/includes/compiler/CompilerTools.h +++ b/includes/compiler/CompilerTools.h @@ -3,6 +3,10 @@ #include "compiler/common.h" +#ifdef __LITTLE_ENDIAN__ +#define ENDIAN_CONVERSION +#endif + extern void CompilerGetPString(short index, unsigned char *string); extern void CompilerGetCString(short index, char *string); extern unsigned char *CTool_CtoPstr(char *cstr); @@ -49,6 +53,20 @@ struct GList { extern long hash_name_id; extern HashNameNode **name_hash_nodes; + +#ifdef __LP64__ +#define CW_64_BIT_SUPPORT +#endif + +// These don't exist in the original source, but are kind of necessary in the 2020s +#ifdef CW_64_BIT_SUPPORT +extern void *CTool_ResolveIndexToPointer(UInt32 index); +extern UInt32 CTool_CreateIndexFromPointer(void *ptr); +#else +#define CTool_ResolveIndexToPointer(index) ((void *) (index)) +#define CTool_CreateIndexFromPointer(ptr) ((UInt32) (ptr)) +#endif + extern void (*GListErrorProc)(void); extern short InitGList(GList *gl, SInt32 size); |