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:
@@ -685,6 +685,7 @@ unsigned GetSymInfoFlags (const SymEntry* S, long* ConstVal)
|
|||||||
unsigned Flags = 0;
|
unsigned Flags = 0;
|
||||||
Flags |= SymIsConst (S, ConstVal)? SYM_CONST : SYM_EXPR;
|
Flags |= SymIsConst (S, ConstVal)? SYM_CONST : SYM_EXPR;
|
||||||
Flags |= (S->Flags & SF_LABEL)? SYM_LABEL : SYM_EQUATE;
|
Flags |= (S->Flags & SF_LABEL)? SYM_LABEL : SYM_EQUATE;
|
||||||
|
Flags |= (S->Flags & SF_LOCAL)? SYM_CHEAP_LOCAL : SYM_STD;
|
||||||
|
|
||||||
/* Return the result */
|
/* Return the result */
|
||||||
return Flags;
|
return Flags;
|
||||||
|
|||||||
@@ -71,11 +71,19 @@
|
|||||||
#define SYM_IS_EQUATE(x) (((x) & SYM_MASK_LABEL) == SYM_EQUATE)
|
#define SYM_IS_EQUATE(x) (((x) & SYM_MASK_LABEL) == SYM_EQUATE)
|
||||||
#define SYM_IS_LABEL(x) (((x) & SYM_MASK_LABEL) == SYM_LABEL)
|
#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 */
|
/* End of symdefs.h */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user