mirror of
https://github.com/cc65/cc65.git
synced 2025-01-14 00:32:08 +00:00
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:
parent
2f8c281b89
commit
11306120ea
@ -428,7 +428,7 @@ static int MacroCall (Macro* M)
|
||||
ArgStart = B;
|
||||
NextChar ();
|
||||
} else {
|
||||
/* Comma or right paren inside nested parenthesis */
|
||||
/* Comma or right paren inside nested parenthesis */
|
||||
if (CurC == ')') {
|
||||
--ParCount;
|
||||
}
|
||||
@ -772,16 +772,14 @@ static int DoIf (int Skip)
|
||||
UseLineInfo (sv2.LI);
|
||||
}
|
||||
|
||||
/* Remove the #if from the line and add two semicolons as sentinels */
|
||||
/* Remove the #if from the line */
|
||||
SkipBlank ();
|
||||
S = line;
|
||||
while (CurC != '\0') {
|
||||
*S++ = CurC;
|
||||
NextChar ();
|
||||
}
|
||||
*S++ = ';';
|
||||
*S++ = ';';
|
||||
*S = '\0';
|
||||
*S = '\0';
|
||||
|
||||
/* Start over parsing from line */
|
||||
InitLine (line);
|
||||
@ -792,6 +790,12 @@ static int DoIf (int Skip)
|
||||
/* Expand macros in this line */
|
||||
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) */
|
||||
NextToken ();
|
||||
NextToken ();
|
||||
|
Loading…
x
Reference in New Issue
Block a user