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:
@@ -6,10 +6,10 @@
|
||||
/* */
|
||||
/* */
|
||||
/* */
|
||||
/* (C) 1998-2008 Ullrich von Bassewitz */
|
||||
/* Roemerstrasse 52 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
/* (C) 1998-2010, Ullrich von Bassewitz */
|
||||
/* Roemerstrasse 52 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
/* */
|
||||
/* */
|
||||
/* This software is provided 'as-is', without any expressed or implied */
|
||||
@@ -73,12 +73,14 @@ enum {
|
||||
|
||||
/* A symbol table */
|
||||
typedef struct SymTable SymTable;
|
||||
struct SymTable {
|
||||
struct SymTable {
|
||||
SymTable* Next; /* Pointer to next table in list */
|
||||
SymTable* Left; /* Pointer to smaller entry */
|
||||
SymTable* Right; /* Pointer to greater entry */
|
||||
SymTable* Parent; /* Link to enclosing scope if any */
|
||||
SymTable* Childs; /* Pointer to child scopes */
|
||||
Collection SegRanges; /* Segment ranges for this scope */
|
||||
unsigned Id; /* Scope id */
|
||||
unsigned short Flags; /* Symbol table flags */
|
||||
unsigned char AddrSize; /* Address size */
|
||||
unsigned char Type; /* Type of the scope */
|
||||
@@ -162,6 +164,9 @@ void WriteExports (void);
|
||||
void WriteDbgSyms (void);
|
||||
/* Write a list of all symbols to the object file */
|
||||
|
||||
void WriteScopes (void);
|
||||
/* Write the scope table to the object file */
|
||||
|
||||
|
||||
|
||||
/* End of symtab.h */
|
||||
|
||||
Reference in New Issue
Block a user