aboutsummaryrefslogtreecommitdiff
path: root/gcc/input.h
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2007-03-26 21:18:43 +0000
committerZack Weinberg <zack@gcc.gnu.org>2007-03-26 21:18:43 +0000
commit01d419aec11b9ffbdfae60e78795faea19086e10 (patch)
tree92672610b9effb039afa4b4273d36d385aff54d8 /gcc/input.h
parent11a675992afb01354e8d8331087177c25e97a7a6 (diff)
downloadgcc-01d419aec11b9ffbdfae60e78795faea19086e10.zip
gcc-01d419aec11b9ffbdfae60e78795faea19086e10.tar.gz
gcc-01d419aec11b9ffbdfae60e78795faea19086e10.tar.bz2
gengtype-parse.c: New file.
* gengtype-parse.c: New file. * gengtype-yacc.y: Delete. * gengtype-lex.l: Don't include gengtype-yacc.h. Define YY_DECL and yyterminate appropriately for recursive descent parser. yylval is now a string out-parameter to yylex. (HWS, EOID): New shorthand. (IWORD): Add a couple more types. (yylex): Add a setup stanza. Remove the complex rules for detecting GTY'ed types and typedefs; replace with simple keyword detectors. Adjust everything for the changed definition of yylval. Ignore all pp-directives, not just #define. (yyerror): Delete. (parse_file): Rename yybegin; do not call yyparse. (yyend): New. * gengtype.c (xasprintf): Export again. (this_file): New. Use everywhere __FILE__ was being used. (get_lang_bitmap): Special case types defined in gengtype.c. (do_typedef, new_structure): Suppress definition of certain types. (new_structure): Improve diagnostics of duplicate definitions. Make sure location_s is associated with input.h. (nreverse_pairs, define_location_structures): New functions. (main): Improve tagging of kludge types. Remove old kludges for input.h types; use define_location_structures. * gengtype.h: Update prototypes. Define token codes here. * Makefile.in: Remove all references to gengtype-yacc. Add rules for gengtype-parse.o. Adjust rules for gengtype-lex.o and gengtype. * bitmap.h (struct bitmap_head_def): Coalesce definitions, add GTY((skip)) to the field that's only conditionally there. * doc/install.texi: Document that Bison is no longer required unless building treelang. From-SVN: r123235
Diffstat (limited to 'gcc/input.h')
-rw-r--r--gcc/input.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/input.h b/gcc/input.h
index 2fea1a6..efdfbd3 100644
--- a/gcc/input.h
+++ b/gcc/input.h
@@ -28,6 +28,9 @@ extern struct line_maps line_table;
/* The location for declarations in "<built-in>" */
#define BUILTINS_LOCATION ((source_location) 2)
+/* Note: if any of the types defined inside this #ifdef are changed,
+ gengtype.c:define_location_structures must be updated to match. */
+
#ifdef USE_MAPPED_LOCATION
typedef struct