From 8b7d9415bd76c370448a77322aa23137b0b8e380 Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 1 Dec 2000 22:01:10 +0000 Subject: * cppinit.c (initialize): Forgotten prototype. * cpplex.c (_cpp_lex_token): Loop until not skipping. Always clear PREV_WHITE upon meeting a new line. * cpplib.c (end_directive): Set pfile->skipping after skip_rest_of_line. * cpplib.h (cpp_reader): Remove macro_pos. * cppmacro.c (cpp_get_line): Don't do anything special inside macros. (parse_arg): Add PREV_WHITE if a token appears after new lines. (funlike_invocation_p): Save and restore the output position over a successful check for a '('. (enter_macro_context): Delete uses of macro_pos. (cpp_get_token): Don't use pfile->skipping. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37927 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cpplib.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gcc/cpplib.c') diff --git a/gcc/cpplib.c b/gcc/cpplib.c index de72e989d34..2eaf7552b27 100644 --- a/gcc/cpplib.c +++ b/gcc/cpplib.c @@ -247,14 +247,14 @@ end_directive (pfile, skip_line) { cpp_buffer *buffer = pfile->buffer; - /* Restore pfile->skipping before skip_rest_of_line. This avoids - warning about poisoned identifiers in skipped #error lines. */ - pfile->skipping = buffer->was_skipping; - /* We don't skip for an assembler #. */ if (skip_line) skip_rest_of_line (pfile); + /* Restore pfile->skipping after skip_rest_of_line. Otherwise the + lexer might not return! */ + pfile->skipping = buffer->was_skipping; + /* Restore state. */ pfile->la_write = pfile->la_saved; pfile->state.save_comments = ! CPP_OPTION (pfile, discard_comments); -- cgit v1.2.1