This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
cpplib: Update IStable, better error recovery
- To: gcc-patches at gcc dot gnu dot org
- Subject: cpplib: Update IStable, better error recovery
- From: Neil Booth <NeilB at earthling dot net>
- Date: Sat, 8 Jul 2000 19:21:12 +0900
- Cc: Zack Weinberg <zack at wolery dot cumb dot org>
Sorry, missed some of the ChangeLog. Here it is:
* cpphash.h: ISvspace, is_vspace, is_nvspace: New.
IShspace, ISspace: Update.
* cppinit.c: ISTABLE: Update.
V: New.
* cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
(IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
(skip_block_comment, skip_line_comment, parse_string,
lex_line): Use is_vspace rather than IS_NEWLINE.
(skip_whitespace, lex_line): Clean up to use is_nvspace.
(lex_line): Use KNOWN_DIRECTIVE. Any kind of directive
gets a BOL flag.
(lex_next): Unconditionally stop if within a directive.
Treat directives within macro invocations as directives
(after parse_args emits error), not as the argument.
* testsuite/gcc.gd/cpp/directiv.c: New tests.