Make .DEF, .REF and friends also work with cheap local symbols.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4767 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2010-07-26 17:28:34 +00:00
parent 38d50cce0b
commit 7d506c84c9
5 changed files with 48 additions and 31 deletions

View File

@@ -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 */
@@ -245,3 +245,24 @@ SymTable* ParseScopedSymTable (void)
SymEntry* ParseAnySymName (int AllocNew)
/* Parse a cheap local symbol or a a (possibly scoped) symbol name, search
* for it in the symbol table and return the symbol table entry.
*/
{
SymEntry* Sym;
/* Distinguish cheap locals and other symbols */
if (Tok == TOK_LOCAL_IDENT) {
Sym = SymFindLocal (SymLast, &SVal, AllocNew);
NextTok ();
} else {
Sym = ParseScopedSymName (AllocNew);
}
/* Return the symbol found */
return Sym;
}