]> git.sur5r.net Git - cc65/commitdiff
Include information about the type of the symbol in the flags written to the
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 17 Aug 2010 20:54:02 +0000 (20:54 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 17 Aug 2010 20:54:02 +0000 (20:54 +0000)
object file.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4813 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ca65/symentry.c
src/common/symdefs.h

index b957c0a678612195e1eaf84308aa97add6398e6e..3df040d28e0ccbca0c7f6c8ddd284663d4d908d9 100644 (file)
@@ -685,6 +685,7 @@ unsigned GetSymInfoFlags (const SymEntry* S, long* ConstVal)
     unsigned Flags = 0;
     Flags |= SymIsConst (S, ConstVal)? SYM_CONST : SYM_EXPR;
     Flags |= (S->Flags & SF_LABEL)? SYM_LABEL : SYM_EQUATE;
+    Flags |= (S->Flags & SF_LOCAL)? SYM_CHEAP_LOCAL : SYM_STD;
 
     /* Return the result */
     return Flags;
index 6ffb4515ea5cfcb70bc6477d4321cf2fb81a4857..3b9018a6e1edac14bdf66f08813ece8237775aa8 100644 (file)
 #define SYM_IS_EQUATE(x)        (((x) & SYM_MASK_LABEL) == SYM_EQUATE)
 #define SYM_IS_LABEL(x)         (((x) & SYM_MASK_LABEL) == SYM_LABEL)
 
+/* Symbol type */                                       
+#define SYM_STD                 0x00U   /* Standard symbol */
+#define SYM_CHEAP_LOCAL         0x40U   /* Cheap local symbol */
+#define SYM_MASK_TYPE           0x40U   /* Value mask */
+
+#define SYM_IS_STD(x)           (((x) & SYM_MASK_TYPE) == SYM_STD)
+#define SYM_IS_CHEAP_LOCAL      (((x) & SYM_MASK_TYPE) == SYM_CHEAP_LOCAL)
+
 
 
 /* End of symdefs.h */
 
 #endif
-                
+