X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fport.h;h=c980c6075a10a6681c614585f453aaf0e46bd4ab;hb=b56f90a247a6757d48325172ce79f8a9e696c11b;hp=fa127a4e50f350b69a2280442262f82b4929c5ab;hpb=116a1bfc169e441ed10267f1b0fe8a2336b6dc78;p=fw%2Fsdcc diff --git a/src/port.h b/src/port.h index fa127a4e..c980c607 100644 --- a/src/port.h +++ b/src/port.h @@ -127,7 +127,7 @@ typedef struct { int char_size; int short_size; - int int_size; + unsigned int int_size; int long_size; int ptr_size; //near int fptr_size; //far @@ -138,6 +138,16 @@ typedef struct } s; +/** tags for far, near, xstack, code generic pointers */ + struct + { + int tag_far; + int tag_near; + int tag_xstack; + int tag_code; + } + gp_tags; + /** memory regions related stuff */ struct { @@ -157,6 +167,7 @@ typedef struct const char *xidata_name; // initialized xdata const char *xinit_name; // a code copy of xidata const char *const_name; // const data (code or not) + const char *cabs_name; // const absolute data (code or not) struct memmap *default_local_map; // default location for auto vars struct memmap *default_globl_map; // default location for globl vars int code_ro; /* code space read-only 1=yes */ @@ -191,10 +202,10 @@ typedef struct struct { - /** One more than the smallest - mul/div operation the processor can do nativley - Eg if the processor has an 8 bit mul, nativebelow is 2 */ - unsigned muldiv; + /** One more than the smallest + mul/div operation the processor can do natively + Eg if the processor has an 8 bit mul, native below is 2 */ + unsigned muldiv; unsigned shift; } support; @@ -294,7 +305,7 @@ typedef struct bool (*hasNativeMulFor) (iCode *ic, sym_link *left, sym_link *right); /** Returns true if the port has implemented certain bit - manipulation iCodes (RRC, RLC, SWAP, GETHBIT) + manipulation iCodes (RRC, RLC, SWAP, GETHBIT, GETABIT, GETBYTE, GETWORD) */ bool (*hasExtBitOp) (int op, int size);