]> git.sur5r.net Git - cc65/commitdiff
Added .WARNING
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 27 Jul 2000 18:47:57 +0000 (18:47 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 27 Jul 2000 18:47:57 +0000 (18:47 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@204 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ca65/error.c
src/ca65/error.h
src/ca65/pseudo.c
src/ca65/scanner.c
src/ca65/scanner.h

index 89616206aad29e3c43c3833d72be3aa43ba5ffe3..86fd96b2985971c1f39accbf04a1ff5463155ec9 100644 (file)
@@ -83,6 +83,7 @@ void WarningMsg (const FilePos* Pos, unsigned WarnNum, va_list ap)
                {   2,  "Symbol `%s' is defined but never used"         },
         {   2,  "Symbol `%s' is imported but never used"       },
        {   1,  "Cannot track processor status byte"            },
+               {   0,  "User warning: %s"                              },
     };
 
     if (Warnings [WarnNum-1].Level <= WarnLevel) {
index d45b2ddafb7813e4e89d27f6de80284b2041e653..c7bd9d86c97c0e964f6164837b5c0d08a30927f8 100644 (file)
@@ -55,6 +55,7 @@ enum Warnings {
     WARN_SYM_NOT_REFERENCED,
     WARN_IMPORT_NOT_REFERENCED,
     WARN_CANNOT_TRACK_STATUS,
+    WARN_USER,
     WARN_COUNT                         /* Warning count */
 };
 
index 5504ad3c3f2bded70849567505d5d69d350fb8f7..fb2a6cee029eaea1c88f40b6cf44804e172a67ed 100644 (file)
@@ -1037,6 +1037,19 @@ static void DoUnexpected (void)
 
 
 
+static void DoWarning (void)
+/* User warning */
+{
+    if (Tok != TOK_STRCON) {
+       ErrorSkip (ERR_STRCON_EXPECTED);
+    } else {
+               Error (WARN_USER, SVal);
+       SkipUntilSep ();
+    }
+}
+
+
+
 static void DoWord (void)
 /* Define words */
 {
@@ -1167,6 +1180,7 @@ static CtrlDesc CtrlCmdTab [] = {
     { ccNone,          DoUnexpected    },      /* .STRLEN */
     { ccNone,          DoSunPlus       },
     { ccNone,          DoUnexpected    },      /* .TCOUNT */
+    { ccNone,          DoWarning       },
     { ccNone,          DoWord          },
     { ccNone,                  DoUnexpected    },      /* .XMATCH */
     { ccNone,          DoZeropage      },
index 6d89dc320e0751fde01ec46e516d1dca473a04ac..901a8761a481ee808df25b5cf976359fa0faae46 100644 (file)
@@ -224,6 +224,7 @@ struct DotKeyword {
     { "STRLEN",                TOK_STRLEN      },
     { "SUNPLUS",       TOK_SUNPLUS     },
     { "TCOUNT",                TOK_TCOUNT      },
+    { "WARNING",       TOK_WARNING     },
     { "WORD",          TOK_WORD        },
     { "XMATCH",                TOK_XMATCH      },
     { "XOR",           TOK_BXOR        },
index d180f0c6690b49e0d8e127ee3ff1993159281a15..4c43b6c85e3a7b918521798b6752508c20602624 100644 (file)
@@ -104,6 +104,7 @@ enum Token {
     TOK_RBRACK,                /* ] */
 
     TOK_MACPARAM,      /* Macro parameter, not generated by scanner */
+    TOK_REPCOUNTER,    /* Repeat counter, not generated by scanner */
 
     /* The next ones are tokens for the pseudo instructions. Keep together! */
     TOK_FIRSTPSEUDO,
@@ -193,6 +194,7 @@ enum Token {
     TOK_STRLEN,
     TOK_SUNPLUS,
     TOK_TCOUNT,
+    TOK_WARNING,
     TOK_WORD,
     TOK_XMATCH,
     TOK_ZEROPAGE,