]> git.sur5r.net Git - cc65/blobdiff - src/ca65/condasm.c
More lineinfo usage.
[cc65] / src / ca65 / condasm.c
index b92db812d783387bddfbbbc2eab932549ae96d26..28c9f4bd4016cd515b0f19304b6f3db7adda5ae1 100644 (file)
@@ -6,10 +6,10 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2000-2004 Ullrich von Bassewitz                                       */
-/*               Römerstraße 52                                              */
-/*               D-70794 Filderstadt                                         */
-/* EMail:        uz@cc65.org                                                 */
+/* (C) 2000-2011, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
@@ -98,7 +98,7 @@ static IfDesc* AllocIf (const char* Directive, int NeedTerm)
 
     /* Initialize elements */
     ID->Flags = NeedTerm? ifNeedTerm : ifNone;
-    ID->Pos   = CurPos;
+    ID->Pos   = CurTok.Pos;
     ID->Name  = Directive;
 
     /* Return the result */
@@ -192,7 +192,7 @@ static void SetElse (IfDesc* ID, int E)
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                          Code                                    */
 /*****************************************************************************/
 
 
@@ -205,7 +205,7 @@ void DoConditionals (void)
     int IfCond = GetCurrentIfCond ();
     do {
 
-       switch (Tok) {
+       switch (CurTok.Tok) {
 
            case TOK_ELSE:
                        D = GetCurrentIf ();
@@ -218,7 +218,7 @@ void DoConditionals (void)
                    /* Allow an .ELSE */
                    InvertIfCond (D);
                    SetElse (D, 1);
-                   D->Pos = CurPos;
+                   D->Pos = CurTok.Pos;
                    D->Name = ".ELSE";
                    IfCond = GetCurrentIfCond ();
                }
@@ -284,7 +284,7 @@ void DoConditionals (void)
                D = AllocIf (".IFBLANK", 1);
                NextTok ();
                if (IfCond) {
-                    if (TokIsSep (Tok)) {
+                    if (TokIsSep (CurTok.Tok)) {
                         SetIfCond (D, 1);
                     } else {
                        SetIfCond (D, 0);
@@ -310,7 +310,7 @@ void DoConditionals (void)
                D = AllocIf (".IFDEF", 1);
                NextTok ();
                if (IfCond) {
-                   SymEntry* Sym = ParseScopedSymName (SYM_FIND_EXISTING);
+                           SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
                    SetIfCond (D, Sym != 0 && SymIsDef (Sym));
                }
                IfCond = GetCurrentIfCond ();
@@ -320,7 +320,7 @@ void DoConditionals (void)
                D = AllocIf (".IFNBLANK", 1);
                NextTok ();
                if (IfCond) {
-                    if (TokIsSep (Tok)) {
+                    if (TokIsSep (CurTok.Tok)) {
                         SetIfCond (D, 0);
                     } else {
                        SetIfCond (D, 1);
@@ -346,7 +346,7 @@ void DoConditionals (void)
                D = AllocIf (".IFNDEF", 1);
                NextTok ();
                if (IfCond) {
-                   SymEntry* Sym = ParseScopedSymName (SYM_FIND_EXISTING);
+                   SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
                    SetIfCond (D, Sym == 0 || !SymIsDef (Sym));
                    ExpectSep ();
                }
@@ -357,7 +357,7 @@ void DoConditionals (void)
                D = AllocIf (".IFNREF", 1);
                NextTok ();
                if (IfCond) {
-                   SymEntry* Sym = ParseScopedSymName (SYM_FIND_EXISTING);
+                   SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
                    SetIfCond (D, Sym == 0 || !SymIsRef (Sym));
                    ExpectSep ();
                }
@@ -408,7 +408,7 @@ void DoConditionals (void)
                D = AllocIf (".IFREF", 1);
                NextTok ();
                if (IfCond) {
-                   SymEntry* Sym = ParseScopedSymName (SYM_FIND_EXISTING);
+                   SymEntry* Sym = ParseAnySymName (SYM_FIND_EXISTING);
                    SetIfCond (D, Sym != 0 && SymIsRef (Sym));
                    ExpectSep ();
                }
@@ -421,7 +421,7 @@ void DoConditionals (void)
 
        }
 
-    } while (IfCond == 0 && Tok != TOK_EOF);
+    } while (IfCond == 0 && CurTok.Tok != TOK_EOF);
 }
 
 
@@ -432,7 +432,7 @@ int CheckConditionals (void)
  * return false otherwise.
  */
 {
-    switch (Tok) {
+    switch (CurTok.Tok) {
         case TOK_ELSE:
         case TOK_ELSEIF:
         case TOK_ENDIF:
@@ -474,7 +474,7 @@ void CheckOpenIfs (void)
            break;
        }
 
-       if (D->Pos.Name != CurPos.Name) {
+       if (D->Pos.Name != CurTok.Pos.Name) {
            /* The .if is from another file, bail out */
            break;
        }
@@ -505,3 +505,4 @@ void CleanupIfStack (unsigned SP)
 
 
 
+