aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-parse.h
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>1999-08-04 15:55:31 -0400
committerJason Merrill <jason@gcc.gnu.org>1999-08-04 15:55:31 -0400
commitfbb186135db4c9918e5f6cb0d8b5c5279ed356d8 (patch)
tree0b909457c993dd96ebfd9fdf0ee4b221030ae739 /gcc/c-parse.h
parent825b4dde6b73d6405ab663d6a05de723b0678151 (diff)
downloadgcc-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.h121
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;