From 2be570f916a5bfa25b09f4acd44c14f5df662889 Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Thu, 28 Aug 2003 18:07:42 -0700 Subject: [PATCH] Fix (hopefully temporary) for breakage caused by my 08-21 patch. * cpplex.c (_cpp_get_fresh_line): Check for null buffer. (_cpp_lex_buffer): Likewise. * cpptrad.c (_cpp_read_logical_line_trad): Likewise. From-SVN: r70898 --- gcc/ChangeLog | 7 +++++++ gcc/cpplex.c | 8 ++++++-- gcc/cpptrad.c | 3 ++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 40d00687709..96c2954657a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-08-28 Per Bothner + + Fix (hopefully temporary) for breakage caused by my 08-21 patch. + * cpplex.c (_cpp_get_fresh_line): Check for null buffer. + (_cpp_lex_buffer): Likewise. + * cpptrad.c (_cpp_read_logical_line_trad): Likewise. + 2003-08-28 Ulrich Weigand * config/s390/s390.md ("*mulsi3_sign"): New insn. diff --git a/gcc/cpplex.c b/gcc/cpplex.c index 1c00bdd0c8e..f779dfb7bc2 100644 --- a/gcc/cpplex.c +++ b/gcc/cpplex.c @@ -694,6 +694,9 @@ _cpp_get_fresh_line (cpp_reader *pfile) { cpp_buffer *buffer = pfile->buffer; + if (buffer == NULL) + return false; + if (!buffer->need_line) return true; @@ -759,7 +762,8 @@ _cpp_lex_direct (cpp_reader *pfile) fresh_line: result->flags = 0; - if (pfile->buffer->need_line) + buffer = pfile->buffer; + if (buffer == NULL || buffer->need_line) { if (!_cpp_get_fresh_line (pfile)) { @@ -781,8 +785,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 caeda891253..3c1bc2545c2 100644 --- a/gcc/cpptrad.c +++ b/gcc/cpptrad.c @@ -299,7 +299,8 @@ _cpp_read_logical_line_trad (cpp_reader *pfile) { do { - if (pfile->buffer->need_line && !_cpp_get_fresh_line (pfile)) + if ((pfile->buffer == NULL || pfile->buffer->need_line) + && !_cpp_get_fresh_line (pfile)) return false; } while (!_cpp_scan_out_logical_line (pfile, NULL) || pfile->state.skipping); -- 2.30.2