aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppmacro.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cppmacro.c')
-rw-r--r--gcc/cppmacro.c6
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