Fix tokenization of TOK_DOTS

We really need to use PEEKC during tokenization so as to
skip line continuations automatically.
This commit is contained in:
Michael Matz
2016-03-24 15:58:32 +01:00
parent f85db99ff0
commit 8fc5a6a2a4
2 changed files with 14 additions and 3 deletions

12
tccpp.c
View File

@ -2553,9 +2553,15 @@ maybe_newline:
} else if ((isidnum_table['.' - CH_EOF] & IS_ID) != 0) { /* asm mode */
*--p = c = '.';
goto parse_ident_fast;
} else if (c == '.' && p[1] == '.') {
p += 2;
tok = TOK_DOTS;
} else if (c == '.') {
PEEKC(c, p);
if (c == '.') {
p++;
tok = TOK_DOTS;
} else {
*--p = '.'; /* may underflow into file->unget[] */
tok = '.';
}
} else {
tok = '.';
}