diff options
author | Zack Weinberg <zack@wolery.cumb.org> | 2000-08-09 19:41:12 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2000-08-09 19:41:12 +0000 |
commit | 9ec7291f1ffab5af0ffcbc0037046d3cf7730217 (patch) | |
tree | d5bb51bad6a6b24f2b2de095f7c7474492e78f9a /gcc/cpplex.c | |
parent | 9cc82a019817f8eaf807831dd34afc8701d37ee0 (diff) | |
download | gcc-9ec7291f1ffab5af0ffcbc0037046d3cf7730217.zip gcc-9ec7291f1ffab5af0ffcbc0037046d3cf7730217.tar.gz gcc-9ec7291f1ffab5af0ffcbc0037046d3cf7730217.tar.bz2 |
configure.in (--enable-c-cpplib): Uncomment.
* configure.in (--enable-c-cpplib): Uncomment. Use AC_DEFINE
instead of extra_c_flags.
(--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
* configure: Regenerate.
* config.in: Regenerate.
* cpperror.c (cpp_type2name): New function.
* cpplex.c (lex_line): If we issued an error for an invalid
preprocessing directive, discard that logical line.
* cpplib.c (do_line): Call a hook function if the current file
is renamed by #line.
(do_ident): Pass the contents of the string, not the entire
token, to the callback function.
* cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
(cb.rename_file): New hook function.
(cb.ident): Adjust prototype.
(cpp_type2name): Prototype.
* cppmacro.c (dump_macro_args): Correct precedence lossage.
* cppmain.c (cb_ident): Update for changed interface.
(cb_rename_file): New function.
(main): Set rename callback.
From-SVN: r35593
Diffstat (limited to 'gcc/cpplex.c')
-rw-r--r-- | gcc/cpplex.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/cpplex.c b/gcc/cpplex.c index 5307edc..c2052bc 100644 --- a/gcc/cpplex.c +++ b/gcc/cpplex.c @@ -1294,7 +1294,8 @@ lex_line (pfile, list) if (!(list->flags & LIST_OFFSET)) (abort) (); - + + retry: list->file = buffer->nominal_fname; list->line = CPP_BUF_LINE (buffer); pfile->col_adjust = 0; @@ -1823,6 +1824,10 @@ lex_line (pfile, list) first[1].val.node->name); else cpp_error (pfile, "invalid preprocessing directive"); + + /* Discard this line to prevent further errors from cc1. */ + _cpp_clear_toklist (list); + goto retry; } /* Put EOF at end of known directives. This covers "directives do |