diff options
author | Neil Booth <neilb@earthling.net> | 2000-12-01 22:01:10 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2000-12-01 22:01:10 +0000 |
commit | 8d9e9a083d629324aec2cab9aacfd37b47fa9b48 (patch) | |
tree | b2d9610f10a0aa663383569503ef2c3432eb0dd8 /gcc/cpplib.c | |
parent | a717799c527689a0590887bad2d381bf163c29b4 (diff) | |
download | gcc-8d9e9a083d629324aec2cab9aacfd37b47fa9b48.zip gcc-8d9e9a083d629324aec2cab9aacfd37b47fa9b48.tar.gz gcc-8d9e9a083d629324aec2cab9aacfd37b47fa9b48.tar.bz2 |
cppinit.c (initialize): Forgotten prototype.
* 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.
From-SVN: r37927
Diffstat (limited to 'gcc/cpplib.c')
-rw-r--r-- | gcc/cpplib.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/cpplib.c b/gcc/cpplib.c index de72e98..2eaf755 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); |