]> git.sur5r.net Git - cc65/blobdiff - src/common/symdefs.h
Mark the symbol that is the name of a scope with the size of that scope
[cc65] / src / common / symdefs.h
index 3b9018a6e1edac14bdf66f08813ece8237775aa8..b0a8648f19b1e47578d8723907688285de25eba8 100644 (file)
@@ -6,7 +6,7 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2010, Ullrich von Bassewitz                                      */
+/* (C) 1998-2011, Ullrich von Bassewitz                                      */
 /*                Roemerstrasse 52                                           */
 /*                D-70794 Filderstadt                                        */
 /* EMail:         uz@cc65.org                                                */
 #define SYM_GET_CONDES_COUNT(x) ((x) & SYM_CONDES_MASK)
 #define SYM_INC_CONDES_COUNT(x) ((x)++)
 
+/* Size of symbol available? */      
+#define SYM_SIZELESS            0x00U   /* No symbol size available */
+#define SYM_SIZE                0x08U   /* Symbol has a size */
+#define SYM_MASK_SIZE           0x08U   /* Size mask */
+
+#define SYM_HAS_SIZE(x)         (((x) & SYM_MASK_SIZE) == SYM_SIZE)
+
 /* Symbol value type */
 #define SYM_CONST              0x00U   /* Mask bit for const values */
 #define SYM_EXPR               0x10U   /* Mask bit for expr values */
@@ -71,7 +78,7 @@
 #define SYM_IS_EQUATE(x)        (((x) & SYM_MASK_LABEL) == SYM_EQUATE)
 #define SYM_IS_LABEL(x)         (((x) & SYM_MASK_LABEL) == SYM_LABEL)
 
-/* Symbol type */                                       
+/* Symbol type */
 #define SYM_STD                 0x00U   /* Standard symbol */
 #define SYM_CHEAP_LOCAL         0x40U   /* Cheap local symbol */
 #define SYM_MASK_TYPE           0x40U   /* Value mask */