]> git.sur5r.net Git - cc65/commitdiff
Add recursive scanning for .define style macros: Replacement using .define is
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 8 Jun 2011 21:09:40 +0000 (21:09 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 8 Jun 2011 21:09:40 +0000 (21:09 +0000)
done not only when the macro is parsed, but also when it is expanded.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5045 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ca65/scanner.c

index 61bf3c9f8b6ed5bf9d8370fbe7cd7c1cd5add4cc..a9fd7c2d9d8adb0ce05cfb8425f393163616b855 100644 (file)
@@ -796,7 +796,12 @@ void NextRawTok (void)
 Restart:
     /* Check if we have tokens from another input source */
     if (InputFromStack ()) {
-       return;
+        if (CurTok.Tok == TOK_IDENT && IsDefine (&CurTok.SVal)) {
+            /* This is a define style macro - expand it */
+            MacExpandStart ();
+            goto Restart;
+        }
+        return;
     }
 
 Again: