]> git.sur5r.net Git - cc65/commitdiff
Fixed an internal compiler error when the first token of a source file
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 19 Aug 2003 20:30:55 +0000 (20:30 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 19 Aug 2003 20:30:55 +0000 (20:30 +0000)
caused an error message. In this case, the line info was not available
leading to a PRECONDITION VIOLATED.

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

src/cc65/scanner.c

index 183898ff1a46fdb055245d638cfc912f2c8d6375..e87126f4101c9d6fb4d9566e248046ed2df1d479 100644 (file)
@@ -396,6 +396,14 @@ void NextToken (void)
     }
     CurTok = NextTok;
 
+    /* When reading the first time from the file, the line info in NextTok,
+     * which was copied to CurTok is invalid. Since the information from
+     * the token is used for error messages, we must make it valid.
+     */
+    if (CurTok.LI == 0) {
+       CurTok.LI = UseLineInfo (GetCurLineInfo ());
+    }
+
     /* Remember the starting position of the next token */
     NextTok.LI = UseLineInfo (GetCurLineInfo ());