From a506c55cb1000de54bb5a2907e10f31113c46133 Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Thu, 2 Oct 2003 07:20:38 +0000 Subject: [PATCH] cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed 08-28 change... * cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed 08-28 change, since we're never called with a NULL buffer. (_cpp_lex_direct): Likewise. * cpptrad.c (_cpp_read_logical_line_trad): Likewise. Return false if buffer is NULL at end. * cpplex.c (_cpp_get_fresh_line): Return value now just depends on whether pfile->buffer is NULL after pop, ignoring return_at_eof. From-SVN: r72013 --- gcc/ChangeLog | 9 +++++++++ gcc/cpplex.c | 15 ++++----------- gcc/cpptrad.c | 5 ++--- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2cd52af9f7c..6dd3abc0d71 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -9,6 +9,15 @@ * fix-header.c (cb_file_change): Likewise. * c-ppoutput.c (pp_file_change): Likewise. + * cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed + 08-28 change, since we're never called with a NULL buffer. + (_cpp_lex_direct): Likewise. + * cpptrad.c (_cpp_read_logical_line_trad): Likewise. + Return false if buffer is NULL at end. + + * cpplex.c (_cpp_get_fresh_line): Return value now just depends on + whether pfile->buffer is NULL after pop, ignoring return_at_eof. + 2003-10-01 Zack Weinberg * target.h (init_libfuncs): New hook. diff --git a/gcc/cpplex.c b/gcc/cpplex.c index f779dfb7bc2..45cf5741b66 100644 --- a/gcc/cpplex.c +++ b/gcc/cpplex.c @@ -694,9 +694,6 @@ _cpp_get_fresh_line (cpp_reader *pfile) { cpp_buffer *buffer = pfile->buffer; - if (buffer == NULL) - return false; - if (!buffer->need_line) return true; @@ -722,13 +719,9 @@ _cpp_get_fresh_line (cpp_reader *pfile) "no newline at end of file"); } - if (buffer->return_at_eof) - { - _cpp_pop_buffer (pfile); - return false; - } - _cpp_pop_buffer (pfile); + if (pfile->buffer == NULL) + return false; } } @@ -763,7 +756,7 @@ _cpp_lex_direct (cpp_reader *pfile) fresh_line: result->flags = 0; buffer = pfile->buffer; - if (buffer == NULL || buffer->need_line) + if (buffer->need_line) { if (!_cpp_get_fresh_line (pfile)) { @@ -785,8 +778,8 @@ _cpp_lex_direct (cpp_reader *pfile) result->flags = BOL; if (pfile->state.parsing_args == 2) result->flags |= PREV_WHITE; - buffer = pfile->buffer; } + buffer = pfile->buffer; update_tokens_line: result->line = pfile->line; diff --git a/gcc/cpptrad.c b/gcc/cpptrad.c index 3c1bc2545c2..e2ccb0bdcbd 100644 --- a/gcc/cpptrad.c +++ b/gcc/cpptrad.c @@ -299,13 +299,12 @@ _cpp_read_logical_line_trad (cpp_reader *pfile) { do { - if ((pfile->buffer == NULL || pfile->buffer->need_line) - && !_cpp_get_fresh_line (pfile)) + if (pfile->buffer->need_line && !_cpp_get_fresh_line (pfile)) return false; } while (!_cpp_scan_out_logical_line (pfile, NULL) || pfile->state.skipping); - return true; + return pfile->buffer != NULL; } /* Set up state for finding the opening '(' of a function-like -- 2.30.2