Maintain some additional information for scopes. Write a dummy scope section

into the object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4808 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2010-08-17 16:58:41 +00:00
parent 41c119deca
commit e55b19fa8b
5 changed files with 51 additions and 20 deletions

View File

@@ -83,7 +83,10 @@ struct SymEntry {
SymEntry* Right; /* Lexically larger entry */
SymEntry* List; /* List of all entries */
SymEntry* Locals; /* Root of subtree for local symbols */
struct SymTable* SymTab; /* Table this symbol is in, 0 for locals */
union {
struct SymTable* Tab; /* Table this symbol is in */
struct SymEntry* Entry;
} Sym;
FilePos Pos; /* File position for this symbol */
FilePos* GuessedUse[1]; /* File position where symbol
* address size was guessed, and the
@@ -98,7 +101,7 @@ struct SymEntry {
unsigned char ExportSize; /* Export address size */
unsigned char AddrSize; /* Address size of label */
unsigned char ConDesPrio[CD_TYPE_COUNT]; /* ConDes priorities... */
/* ...actually value+1 (used as flag) */
/* ...actually value+1 (used as flag) */
unsigned Name; /* Name index in global string pool */
};
@@ -353,4 +356,4 @@ INLINE const FilePos* GetSymPos (const SymEntry* S)