c-lex.c: Sync with C++ frontend.
* c-lex.c: Sync with C++ frontend. (linemode): New variable. (parse_float): imag, conversion_errno, and type are output only. (yylex): Adjust. Move initial '.' case into main switch. Use linemode. (handle_generic_pragma): Just deal with tokens. (readescape): Use ISXDIGIT and ISGRAPH. * c-parse.in: Add END_OF_LINE token. * c-lex.c (lang_init): Generalize. (nextchar): Remove. Replace uses with UNGETC. (skip_white_space): Handle linemode here. Optimize for cpplib. (skip_white_space_on_line): Remove. (extend_token_buffer_to): New fn. (extend_token_buffer): Use it. (read_line_number, check_newline): Just deal with tokens. (token_getch, token_put_back): New fns. (yylex): Use them. More cpplib optimizations. Simplify. * c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE. (consume_string): Make this smart about USE_CPPLIB. (check_newline): Rewrite to be intelligent about USE_CPPLIB. (yylex): Rewrite to be intelligent about USE_CPPLIB. Also, clean up cases where we redundantly set token_buffer[0]. (read_line_number): New fn. (ignore_escape_flag): New variable. From-SVN: r28507
Showing
This diff is collapsed.
Click to expand it.
This source diff could not be displayed because it is too large.
You can
view the blob
instead.
Please
register
or
sign in
to comment