Fixed a bug that occurred when using // comments at the end of an #if
line. git-svn-id: svn://svn.cc65.org/cc65/trunk@1735 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -772,15 +772,13 @@ static int DoIf (int Skip)
|
|||||||
UseLineInfo (sv2.LI);
|
UseLineInfo (sv2.LI);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove the #if from the line and add two semicolons as sentinels */
|
/* Remove the #if from the line */
|
||||||
SkipBlank ();
|
SkipBlank ();
|
||||||
S = line;
|
S = line;
|
||||||
while (CurC != '\0') {
|
while (CurC != '\0') {
|
||||||
*S++ = CurC;
|
*S++ = CurC;
|
||||||
NextChar ();
|
NextChar ();
|
||||||
}
|
}
|
||||||
*S++ = ';';
|
|
||||||
*S++ = ';';
|
|
||||||
*S = '\0';
|
*S = '\0';
|
||||||
|
|
||||||
/* Start over parsing from line */
|
/* Start over parsing from line */
|
||||||
@@ -792,6 +790,12 @@ static int DoIf (int Skip)
|
|||||||
/* Expand macros in this line */
|
/* Expand macros in this line */
|
||||||
PreprocessLine ();
|
PreprocessLine ();
|
||||||
|
|
||||||
|
/* Add two semicolons as sentinels to the line, so the following
|
||||||
|
* expression evaluation will eat these two tokens but nothing from
|
||||||
|
* the following line.
|
||||||
|
*/
|
||||||
|
strcat (line, ";;");
|
||||||
|
|
||||||
/* Prime the token pump (remove old tokens from the stream) */
|
/* Prime the token pump (remove old tokens from the stream) */
|
||||||
NextToken ();
|
NextToken ();
|
||||||
NextToken ();
|
NextToken ();
|
||||||
|
|||||||
Reference in New Issue
Block a user