Revised symbol scoping
git-svn-id: svn://svn.cc65.org/cc65/trunk@2614 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
#include "expr.h"
|
||||
#include "instr.h"
|
||||
#include "nexttok.h"
|
||||
#include "symbol.h"
|
||||
#include "symtab.h"
|
||||
#include "condasm.h"
|
||||
|
||||
@@ -304,12 +305,8 @@ void DoConditionals (void)
|
||||
D = AllocIf (".IFDEF", 1);
|
||||
NextTok ();
|
||||
if (IfCond) {
|
||||
if (Tok != TOK_IDENT) {
|
||||
ErrorSkip (ERR_IDENT_EXPECTED);
|
||||
} else {
|
||||
SetIfCond (D, SymIsDef (SVal, SCOPE_ANY));
|
||||
NextTok ();
|
||||
}
|
||||
SymEntry* Sym = ParseScopedSymName (SYM_FIND_EXISTING);
|
||||
SetIfCond (D, Sym != 0 && SymIsDef (Sym));
|
||||
}
|
||||
IfCond = GetCurrentIfCond ();
|
||||
break;
|
||||
@@ -343,12 +340,8 @@ void DoConditionals (void)
|
||||
D = AllocIf (".IFNDEF", 1);
|
||||
NextTok ();
|
||||
if (IfCond) {
|
||||
if (Tok != TOK_IDENT) {
|
||||
ErrorSkip (ERR_IDENT_EXPECTED);
|
||||
} else {
|
||||
SetIfCond (D, !SymIsDef (SVal, SCOPE_ANY));
|
||||
NextTok ();
|
||||
}
|
||||
SymEntry* Sym = ParseScopedSymName (SYM_FIND_EXISTING);
|
||||
SetIfCond (D, Sym == 0 || !SymIsDef (Sym));
|
||||
}
|
||||
IfCond = GetCurrentIfCond ();
|
||||
break;
|
||||
@@ -357,12 +350,8 @@ void DoConditionals (void)
|
||||
D = AllocIf (".IFNREF", 1);
|
||||
NextTok ();
|
||||
if (IfCond) {
|
||||
if (Tok != TOK_IDENT) {
|
||||
ErrorSkip (ERR_IDENT_EXPECTED);
|
||||
} else {
|
||||
SetIfCond (D, !SymIsRef (SVal, SCOPE_ANY));
|
||||
NextTok ();
|
||||
}
|
||||
SymEntry* Sym = ParseScopedSymName (SYM_FIND_EXISTING);
|
||||
SetIfCond (D, Sym == 0 || !SymIsRef (Sym));
|
||||
}
|
||||
IfCond = GetCurrentIfCond ();
|
||||
break;
|
||||
@@ -407,12 +396,8 @@ void DoConditionals (void)
|
||||
D = AllocIf (".IFREF", 1);
|
||||
NextTok ();
|
||||
if (IfCond) {
|
||||
if (Tok != TOK_IDENT) {
|
||||
ErrorSkip (ERR_IDENT_EXPECTED);
|
||||
} else {
|
||||
SetIfCond (D, SymIsRef (SVal, SCOPE_ANY));
|
||||
NextTok ();
|
||||
}
|
||||
SymEntry* Sym = ParseScopedSymName (SYM_FIND_EXISTING);
|
||||
SetIfCond (D, Sym != 0 && SymIsRef (Sym));
|
||||
}
|
||||
IfCond = GetCurrentIfCond ();
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user