1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-25 17:29:50 +00:00

Include information about the type of the symbol in the flags written to the

object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4813 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2010-08-17 20:54:02 +00:00
parent 112ae0e3db
commit 017bdf970a
2 changed files with 10 additions and 1 deletions

View 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;

View File

@ -71,11 +71,19 @@
#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