diff options
Diffstat (limited to 'gcc/cpplib.c')
-rw-r--r-- | gcc/cpplib.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/cpplib.c b/gcc/cpplib.c index efd87e1..2718b08 100644 --- a/gcc/cpplib.c +++ b/gcc/cpplib.c @@ -2027,12 +2027,13 @@ cpp_get_token (pfile) if (c == EOF) { handle_eof: - if (CPP_BUFFER (pfile)->seen_eof) + if (CPP_BUFFER (pfile)->manual_pop) + /* If we've been reading from redirected input, the + frontend will pop the buffer. */ + return CPP_EOF; + else if (CPP_BUFFER (pfile)->seen_eof) { - if (CPP_PREV_BUFFER (CPP_BUFFER (pfile)) == CPP_NULL_BUFFER (pfile) - /* If we've been reading from redirected input, the - frontend will pop the buffer. */ - || CPP_BUFFER (pfile)->manual_pop) + if (CPP_PREV_BUFFER (CPP_BUFFER (pfile)) == CPP_NULL_BUFFER (pfile)) return CPP_EOF; cpp_pop_buffer (pfile); |