* src/mcs51/peeph.def: renamed rule 400 to 500, moved rule 253.x to 400.x for better...
[fw/sdcc] / src / SDCCmem.h
index ebdc158e878213f7b288aae0b1081b6eed7010c3..9b212424d6d996d2e0007df9f757b79a3d54ee62 100644 (file)
@@ -36,29 +36,43 @@ extern FILE *junkFile;
 #define  CODE_NAME     port->mem.code_name
 #define  DATA_NAME     port->mem.data_name
 #define  IDATA_NAME    port->mem.idata_name
+#define  PDATA_NAME    port->mem.pdata_name
 #define  XDATA_NAME    port->mem.xdata_name
+#define  XIDATA_NAME   port->mem.xidata_name
+#define  XINIT_NAME    port->mem.xinit_name
 #define  BIT_NAME      port->mem.bit_name
 #define  REG_NAME      port->mem.reg_name
 #define  STATIC_NAME   port->mem.static_name
 #define         HOME_NAME     port->mem.home_name
+#define  OVERLAY_NAME  port->mem.overlay_name
+#define  CONST_NAME    port->mem.const_name
+#define  CABS_NAME     port->mem.cabs_name
+#define  XABS_NAME     port->mem.xabs_name
+#define  IABS_NAME     port->mem.iabs_name
 
 /* forward definition for variables */
-extern memmap *xstack;         /* xternal stack data         */
-extern memmap *istack;         /* internal stack             */
-extern memmap *code;           /* code segment               */
-extern memmap *data;           /* internal data upto 128     */
-extern memmap *xdata;          /* external data              */
-extern memmap *idata;          /* internal data upto 256     */
-extern memmap *bit;            /* bit addressable space      */
-extern memmap *statsg;         /* static code segment        */
-extern memmap *sfr;            /* register space             */
-extern memmap *sfrbit;         /* sfr bit space              */
-extern memmap *reg;            /* register space             */
-extern memmap *generic;                /* unknown                    */
-extern memmap *overlay;                /* the overlay segment        */
-extern memmap *eeprom;         /* eepromp space              */
-extern memmap *eeprom;         /* eepromp space              */
-extern memmap *home;           /* Non-banked home space      */
+extern memmap *xstack;         /* xternal stack data           */
+extern memmap *istack;         /* internal stack               */
+extern memmap *code;           /* code segment                 */
+extern memmap *data;           /* internal data upto 128       */
+extern memmap *pdata;          /* paged external data upto 256 */
+extern memmap *xdata;          /* external data                */
+extern memmap *xidata;          /* the initialized xdata        */
+extern memmap *xinit;           /* the initializers for xidata  */
+extern memmap *idata;          /* internal data upto 256       */
+extern memmap *bit;            /* bit addressable space        */
+extern memmap *statsg;         /* static code segment          */
+extern memmap *c_abs;          /* constant absolute data       */
+extern memmap *x_abs;          /* absolute xdata/pdata         */
+extern memmap *i_abs;          /* absolute idata upto 256      */
+extern memmap *d_abs;          /* absolute data upto 128       */
+extern memmap *sfr;            /* register space               */
+extern memmap *sfrbit;         /* sfr bit space                */
+extern memmap *reg;            /* register space               */
+extern memmap *generic;                /* unknown                      */
+extern memmap *overlay;                /* the overlay segment          */
+extern memmap *eeprom;         /* eeprom space                 */
+extern memmap *home;           /* Non-banked home space        */
 
 extern int fatalError;
 
@@ -75,7 +89,7 @@ extern int maxRegBank;
 #define IN_CODESPACE(map)       (map && map->codesp)
 #define IN_REGSP(map)          (map && map->regsp)
 #define PTR_TYPE(map)           (map ? (map->ptrType ? map->ptrType : POINTER)\
-                                     : GPOINTER)
+                                     : port->unqualified_pointer)
 
 /* forward decls for functions    */
 memmap *allocMap (char, char, char, char, char, char, unsigned, const char *, char, int);
@@ -91,4 +105,5 @@ void overlay2data ();
 void redoStackOffsets ();
 void printAllocInfo (struct symbol *, FILE *);
 void doOverlays (struct eBBlock **, int count);
+void deleteFromSeg(struct symbol *);
 #endif