More work on high level language debug symbols. They are now passed correctly
via the object files to the linker and written to the debug info file. git-svn-id: svn://svn.cc65.org/cc65/trunk@5285 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -419,15 +419,22 @@ SymEntry* SymFindAny (SymTable* Scope, const StrBuf* Name)
|
||||
{
|
||||
SymEntry* Sym;
|
||||
do {
|
||||
/* Search in the current table */
|
||||
Sym = SymFind (Scope, Name, SYM_FIND_EXISTING);
|
||||
if (Sym) {
|
||||
/* Found, return it */
|
||||
break;
|
||||
}
|
||||
/* Search in the current table. Ignore entries flagged with SF_UNUSED,
|
||||
* because for such symbols there is a real entry in one of the parent
|
||||
* scopes.
|
||||
*/
|
||||
Sym = SymFind (Scope, Name, SYM_FIND_EXISTING);
|
||||
if (Sym) {
|
||||
if (Sym->Flags & SF_UNUSED) {
|
||||
Sym = 0;
|
||||
} else {
|
||||
/* Found, return it */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Not found, search in the parent scope, if we have one */
|
||||
Scope = Scope->Parent;
|
||||
Scope = Scope->Parent;
|
||||
|
||||
} while (Sym == 0 && Scope != 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user