From: uz Date: Sun, 31 Jul 2011 17:10:33 +0000 (+0000) Subject: Remove SCOPE_PROC. It's a .SCOPE with an owner symbol. X-Git-Tag: V2.13.3~364 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=97cb02596411d70de44322172a2215303d327b79;p=cc65 Remove SCOPE_PROC. It's a .SCOPE with an owner symbol. git-svn-id: svn://svn.cc65.org/cc65/trunk@5098 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/src/ca65/pseudo.c b/src/ca65/pseudo.c index 03905986c..81e5273ce 100644 --- a/src/ca65/pseudo.c +++ b/src/ca65/pseudo.c @@ -817,7 +817,7 @@ static void DoEnd (void) static void DoEndProc (void) /* Leave a lexical level */ { - if (GetCurrentSymTabType () != SCOPE_PROC) { + if (CurrentScope->Type != SCOPE_SCOPE || CurrentScope->OwnerSym == 0) { /* No local scope */ ErrorSkip ("No open .PROC"); } else { @@ -830,7 +830,7 @@ static void DoEndProc (void) static void DoEndScope (void) /* Leave a lexical level */ { - if ( GetCurrentSymTabType () != SCOPE_SCOPE) { + if (CurrentScope->Type != SCOPE_SCOPE || CurrentScope->OwnerSym != 0) { /* No local scope */ ErrorSkip ("No open .SCOPE"); } else { @@ -1539,7 +1539,7 @@ static void DoProc (void) } /* Enter a new scope */ - SymEnterLevel (&Name, SCOPE_PROC, AddrSize, Sym); + SymEnterLevel (&Name, SCOPE_SCOPE, AddrSize, Sym); /* Free memory for Name */ SB_Done (&Name); diff --git a/src/ca65/symtab.c b/src/ca65/symtab.c index d038d7cf3..5b92538e1 100644 --- a/src/ca65/symtab.c +++ b/src/ca65/symtab.c @@ -421,15 +421,6 @@ SymEntry* SymFindAny (SymTable* Scope, const StrBuf* Name) -unsigned char GetCurrentSymTabType () -/* Return the type of the current symbol table */ -{ - CHECK (CurrentScope != 0); - return CurrentScope->Type; -} - - - static void SymCheckUndefined (SymEntry* S) /* Handle an undefined symbol */ { diff --git a/src/ca65/symtab.h b/src/ca65/symtab.h index 18469cc65..36d37133b 100644 --- a/src/ca65/symtab.h +++ b/src/ca65/symtab.h @@ -137,9 +137,6 @@ INLINE unsigned char GetSymTabType (const SymTable* S) # define GetSymTabType(S) ((S)->Type) #endif -unsigned char GetCurrentSymTabType (); -/* Return the type of the current symbol table */ - void SymCheck (void); /* Run through all symbols and check for anomalies and errors */ diff --git a/src/common/scopedefs.h b/src/common/scopedefs.h index 7732a4652..b36b788d6 100644 --- a/src/common/scopedefs.h +++ b/src/common/scopedefs.h @@ -56,8 +56,7 @@ enum { SCOPE_GLOBAL, /* Global level */ SCOPE_FILE, /* File level */ - SCOPE_PROC, /* .PROC */ - SCOPE_SCOPE, /* .SCOPE */ + SCOPE_SCOPE, /* .SCOPE/.PROC */ SCOPE_HAS_DATA = SCOPE_SCOPE, /* Last scope that contains data */ SCOPE_STRUCT, /* .STRUCT/.UNION */ SCOPE_ENUM, /* .ENUM */