diff options
author | Jason Merrill <jason@gcc.gnu.org> | 1999-08-04 15:55:31 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1999-08-04 15:55:31 -0400 |
commit | fbb186135db4c9918e5f6cb0d8b5c5279ed356d8 (patch) | |
tree | 0b909457c993dd96ebfd9fdf0ee4b221030ae739 /gcc/c-parse.h | |
parent | 825b4dde6b73d6405ab663d6a05de723b0678151 (diff) | |
download | gcc-fbb186135db4c9918e5f6cb0d8b5c5279ed356d8.zip gcc-fbb186135db4c9918e5f6cb0d8b5c5279ed356d8.tar.gz gcc-fbb186135db4c9918e5f6cb0d8b5c5279ed356d8.tar.bz2 |
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
Diffstat (limited to 'gcc/c-parse.h')
-rw-r--r-- | gcc/c-parse.h | 121 |
1 files changed, 61 insertions, 60 deletions
diff --git a/gcc/c-parse.h b/gcc/c-parse.h index 838530e..5c9abe0 100644 --- a/gcc/c-parse.h +++ b/gcc/c-parse.h @@ -1,65 +1,66 @@ typedef union {long itype; tree ttype; enum tree_code code; char *filename; int lineno; int ends_in_label; } YYSTYPE; -#define IDENTIFIER 257 -#define TYPENAME 258 -#define SCSPEC 259 -#define TYPESPEC 260 -#define TYPE_QUAL 261 -#define CONSTANT 262 -#define STRING 263 -#define ELLIPSIS 264 -#define SIZEOF 265 -#define ENUM 266 -#define STRUCT 267 -#define UNION 268 -#define IF 269 -#define ELSE 270 -#define WHILE 271 -#define DO 272 -#define FOR 273 -#define SWITCH 274 -#define CASE 275 -#define DEFAULT 276 -#define BREAK 277 -#define CONTINUE 278 -#define RETURN 279 -#define GOTO 280 -#define ASM_KEYWORD 281 -#define TYPEOF 282 -#define ALIGNOF 283 -#define ATTRIBUTE 284 -#define EXTENSION 285 -#define LABEL 286 -#define REALPART 287 -#define IMAGPART 288 -#define VA_ARG 289 -#define ASSIGN 290 -#define OROR 291 -#define ANDAND 292 -#define EQCOMPARE 293 -#define ARITHCOMPARE 294 -#define LSHIFT 295 -#define RSHIFT 296 -#define UNARY 297 -#define PLUSPLUS 298 -#define MINUSMINUS 299 -#define HYPERUNARY 300 -#define POINTSAT 301 -#define INTERFACE 302 -#define IMPLEMENTATION 303 -#define END 304 -#define SELECTOR 305 -#define DEFS 306 -#define ENCODE 307 -#define CLASSNAME 308 -#define PUBLIC 309 -#define PRIVATE 310 -#define PROTECTED 311 -#define PROTOCOL 312 -#define OBJECTNAME 313 -#define CLASS 314 -#define ALIAS 315 -#define OBJC_STRING 316 +#define IDENTIFIER 258 +#define TYPENAME 259 +#define SCSPEC 260 +#define TYPESPEC 261 +#define TYPE_QUAL 262 +#define CONSTANT 263 +#define STRING 264 +#define ELLIPSIS 265 +#define SIZEOF 266 +#define ENUM 267 +#define STRUCT 268 +#define UNION 269 +#define IF 270 +#define ELSE 271 +#define WHILE 272 +#define DO 273 +#define FOR 274 +#define SWITCH 275 +#define CASE 276 +#define DEFAULT 277 +#define BREAK 278 +#define CONTINUE 279 +#define RETURN 280 +#define GOTO 281 +#define ASM_KEYWORD 282 +#define TYPEOF 283 +#define ALIGNOF 284 +#define ATTRIBUTE 285 +#define EXTENSION 286 +#define LABEL 287 +#define REALPART 288 +#define IMAGPART 289 +#define VA_ARG 290 +#define END_OF_LINE 291 +#define ASSIGN 292 +#define OROR 293 +#define ANDAND 294 +#define EQCOMPARE 295 +#define ARITHCOMPARE 296 +#define LSHIFT 297 +#define RSHIFT 298 +#define UNARY 299 +#define PLUSPLUS 300 +#define MINUSMINUS 301 +#define HYPERUNARY 302 +#define POINTSAT 303 +#define INTERFACE 304 +#define IMPLEMENTATION 305 +#define END 306 +#define SELECTOR 307 +#define DEFS 308 +#define ENCODE 309 +#define CLASSNAME 310 +#define PUBLIC 311 +#define PRIVATE 312 +#define PROTECTED 313 +#define PROTOCOL 314 +#define OBJECTNAME 315 +#define CLASS 316 +#define ALIAS 317 +#define OBJC_STRING 318 extern YYSTYPE yylval; |