diff options
Diffstat (limited to 'gcc/cppmacro.c')
-rw-r--r-- | gcc/cppmacro.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cppmacro.c b/gcc/cppmacro.c index dbee62d..17dfe15 100644 --- a/gcc/cppmacro.c +++ b/gcc/cppmacro.c @@ -1087,12 +1087,14 @@ _cpp_backup_tokens (pfile, count) pfile->lookaheads += count; while (count--) { - if (pfile->cur_token == pfile->cur_run->base) + pfile->cur_token--; + if (pfile->cur_token == pfile->cur_run->base + /* Possible with -fpreprocessed and no leading #line. */ + && pfile->cur_run->prev != NULL) { pfile->cur_run = pfile->cur_run->prev; pfile->cur_token = pfile->cur_run->limit; } - pfile->cur_token--; } } else |