a module can start with a digit
[fw/sdcc] / src / SDCCsymt.h
index f8efacf5722fdc30919047fe17b6eb51af922055..9522a9ab6fa2c644d175f40c6d446393194eab9a 100644 (file)
@@ -51,6 +51,14 @@ enum {
     TYPEOF_EEPPOINTER
 };
 
+// values for first byte of generic pointer.
+#define GPTYPE_NEAR    0
+#define GPTYPE_FAR     1
+#define GPTYPE_CODE    2
+#define GPTYPE_XSTACK  3
+#define GPTYPE_GPTR    4       // Never used?
+#define GPTYPE_IDATA   5
+
 #define HASHTAB_SIZE 256
 
 /* hash table bucket */
@@ -233,7 +241,6 @@ typedef struct symbol
     unsigned isref:1;          /* has been referenced  */
     unsigned isind:1;          /* is a induction variable */
     unsigned isinvariant:1;    /* is a loop invariant  */
-    unsigned isstrlit:1;       /* is a string literal  */
     unsigned cdef:1;           /* compiler defined symbol */
     unsigned addrtaken:1;      /* address of the symbol was taken */
     unsigned isreqv:1;         /* is the register quivalent of a symbol */
@@ -259,6 +266,7 @@ typedef struct symbol
     unsigned spildir:1;                /* spilt in direct space */
     unsigned ptrreg:1;         /* this symbol assigned to a ptr reg */
     unsigned noSpilLoc:1;      /* cannot be assigned a spil location */
+    unsigned isstrlit;         /* is a string literal and it's usage count  */
     unsigned accuse;           /* can be left in the accumulator
                                   On the Z80 accuse is devided into
                                   ACCUSE_A and ACCUSE_HL as the idea