tree.h (enum tree_code): Include all-tree.def, not tree.def.
authorIan Lance Taylor <iant@google.com>
Sat, 21 Jun 2008 21:17:40 +0000 (21:17 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Sat, 21 Jun 2008 21:17:40 +0000 (21:17 +0000)
* tree.h (enum tree_code): Include all-tree.def, not tree.def.
Define END_OF_BASE_TREE_CODES around inclusion.
* tree.c (tree_code_type): New global array.
(tree_code_length, tree_code_name): Likewise.
* Makefile.in (TREE_H): Add all-tree.def, c-common.def, and
$(lang_tree_files).
(all-tree.def, s-alltree): New targets.
(gencheck.h, s-gencheck): Remove.
(tree.o): Depend upon all-tree.def.
(build/gencheck.o): Remove gencheck.h dependency.
(mostlyclean): Don't remove gencheck.h.
* c-common.h (enum c_tree_code): Remove.
* c-lang.c (tree_code_type): Remove.
(tree_code_length, tree_code_name): Remove.
* gencheck.c (tree_codes): Include all-tree.def, rather than
tree.def, c-common.def, and gencheck.h.  Undefined DEFTREECODE
after it is used.
* tree-browser.c (tb_tree_codes): Include all-tree.def, rather
than tree.def.
* cp/cp-tree.h (enum cplus_tree_code): Remove.
(operator_name_info): Size to MAX_TREE_CODES.
(assignment_operator_name_info): Likewise.
* cp/cp-lang.c (tree_code_type): Remove.
(tree_code_length, tree_code_name): Remove.
* cp/lex.c (operator_name_info): Size to MAX_TREE_CODES.
(assignment_operator_name_info): Likewise.
* cp/decl.c (grok_op_properties): Change LAST_CPLUS_TREE_CODE to
MAX_TREE_CODES.
* cp/mangle.c (write_expression): Likewise.
* cp/Make-lang.in (CXX_TREE_H): Remove cp/cp-tree.def.
* fortran/f95-lang.c (tree_code_type): Remove.
(tree_code_length, tree_code_name): Remove.
* java/java-tree.h (enum java_tree_code): Remove.
* java/lang.c (tree_code_type): Remove.
(tree_code_length, tree_code_name): Remove.
* java/Make-lang.in (JAVA_TREE_H): Remove java/java-tree.def.
* objc/objc-act.h (enum objc_tree_code): Remove.
* objc/objc-lang.c (tree_code_type): Remove.
(tree_code_length, tree_code_name): Remove.
* objcp/objcp-lang.c (tree_code_type): Remove.
(tree_code_length, tree_code_name): Remove.
* ada/ada-tree.h (enum gnat_tree_code): Remove.
* ada/Make-lang.in (ADA_TREE_H): Remove ada/ada-tre.def.
* ada/misc.c (tree_code_type): Remove.
(tree_code_length, tree_code_name): Remove.

From-SVN: r137006

24 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/ada/Make-lang.in
gcc/ada/ada-tree.h
gcc/ada/misc.c
gcc/c-common.h
gcc/c-lang.c
gcc/cp/Make-lang.in
gcc/cp/cp-lang.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/lex.c
gcc/cp/mangle.c
gcc/fortran/f95-lang.c
gcc/gencheck.c
gcc/java/Make-lang.in
gcc/java/java-tree.h
gcc/java/lang.c
gcc/objc/objc-act.h
gcc/objc/objc-lang.c
gcc/objcp/objcp-lang.c
gcc/tree-browser.c
gcc/tree.c
gcc/tree.h

index 19ce2279400212213ef43416a7c1f1b7422b96b3..f92bae9d901f91e839a096a9dff218c7413efa93 100644 (file)
@@ -1,3 +1,51 @@
+2008-06-21  Ian Lance Taylor  <iant@google.com>
+
+       * tree.h (enum tree_code): Include all-tree.def, not tree.def.
+       Define END_OF_BASE_TREE_CODES around inclusion.
+       * tree.c (tree_code_type): New global array.
+       (tree_code_length, tree_code_name): Likewise.
+       * Makefile.in (TREE_H): Add all-tree.def, c-common.def, and
+       $(lang_tree_files).
+       (all-tree.def, s-alltree): New targets.
+       (gencheck.h, s-gencheck): Remove.
+       (tree.o): Depend upon all-tree.def.
+       (build/gencheck.o): Remove gencheck.h dependency.
+       (mostlyclean): Don't remove gencheck.h.
+       * c-common.h (enum c_tree_code): Remove.
+       * c-lang.c (tree_code_type): Remove.
+       (tree_code_length, tree_code_name): Remove.
+       * gencheck.c (tree_codes): Include all-tree.def, rather than
+       tree.def, c-common.def, and gencheck.h.  Undefined DEFTREECODE
+       after it is used.
+       * tree-browser.c (tb_tree_codes): Include all-tree.def, rather
+       than tree.def.
+       * cp/cp-tree.h (enum cplus_tree_code): Remove.
+       (operator_name_info): Size to MAX_TREE_CODES.
+       (assignment_operator_name_info): Likewise.
+       * cp/cp-lang.c (tree_code_type): Remove.
+       (tree_code_length, tree_code_name): Remove.
+       * cp/lex.c (operator_name_info): Size to MAX_TREE_CODES.
+       (assignment_operator_name_info): Likewise.
+       * cp/decl.c (grok_op_properties): Change LAST_CPLUS_TREE_CODE to
+       MAX_TREE_CODES.
+       * cp/mangle.c (write_expression): Likewise.
+       * cp/Make-lang.in (CXX_TREE_H): Remove cp/cp-tree.def.
+       * fortran/f95-lang.c (tree_code_type): Remove.
+       (tree_code_length, tree_code_name): Remove.
+       * java/java-tree.h (enum java_tree_code): Remove.
+       * java/lang.c (tree_code_type): Remove.
+       (tree_code_length, tree_code_name): Remove.
+       * java/Make-lang.in (JAVA_TREE_H): Remove java/java-tree.def.
+       * objc/objc-act.h (enum objc_tree_code): Remove.
+       * objc/objc-lang.c (tree_code_type): Remove.
+       (tree_code_length, tree_code_name): Remove.
+       * objcp/objcp-lang.c (tree_code_type): Remove.
+       (tree_code_length, tree_code_name): Remove.
+       * ada/ada-tree.h (enum gnat_tree_code): Remove.
+       * ada/Make-lang.in (ADA_TREE_H): Remove ada/ada-tre.def.
+       * ada/misc.c (tree_code_type): Remove.
+       (tree_code_length, tree_code_name): Remove.
+
 2008-06-21  Bernhard Fischer  <aldot@gcc.gnu.org>
 
        * tree-ssa-pre.c (fini_antic): Bitmap_sets have to be freed before
index 5b4e458ecae30efc040ef076d3ee863d000524e2..fc960c32f52b5e12925bae2dc272f9a310cd0735 100644 (file)
@@ -772,7 +772,8 @@ RTL_BASE_H = rtl.h rtl.def $(MACHMODE_H) reg-notes.def insn-notes.def \
 RTL_H = $(RTL_BASE_H) genrtl.h
 PARAMS_H = params.h params.def
 BUILTINS_DEF = builtins.def sync-builtins.def omp-builtins.def
-TREE_H = tree.h tree.def $(MACHMODE_H) tree-check.h $(BUILTINS_DEF) \
+TREE_H = tree.h all-tree.def tree.def c-common.def $(lang_tree_files) \
+          $(MACHMODE_H) tree-check.h $(BUILTINS_DEF) \
           input.h statistics.h vec.h treestruct.def $(HASHTAB_H) \
           double-int.h alias.h
 BASIC_BLOCK_H = basic-block.h bitmap.h sbitmap.h varray.h $(PARTITION_H) \
@@ -1376,6 +1377,19 @@ ifneq ($(xmake_file),)
 include $(xmake_file)
 endif
 
+# all-tree.def includes all the tree.def files.
+all-tree.def: s-alltree; @true
+s-alltree: Makefile
+       rm -f tmp-all-tree.def
+       echo '#include "tree.def"' > tmp-all-tree.def
+       echo 'END_OF_BASE_TREE_CODES' >> tmp-all-tree.def
+       echo '#include "c-common.def"' >> tmp-all-tree.def
+       ltf="$(lang_tree_files)"; for f in $$ltf; do \
+         echo "#include \"$$f\""; \
+       done | sed 's|$(srcdir)/||' >> tmp-all-tree.def
+       $(SHELL) $(srcdir)/../move-if-change tmp-all-tree.def all-tree.def
+       $(STAMP) s-alltree
+
 #\f
 
 # -----------------------------
@@ -1895,14 +1909,6 @@ gccspec.o: gccspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
 
 cppspec.o: cppspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
 
-gencheck.h : s-gencheck ; @true
-s-gencheck : Makefile
-       ltf="$(lang_tree_files)"; for f in $$ltf; do \
-           echo "#include \"$$f\""; \
-       done | sed 's|$(srcdir)/||' > tmp-gencheck.h
-       $(SHELL) $(srcdir)/../move-if-change tmp-gencheck.h gencheck.h
-       $(STAMP) s-gencheck
-
 specs.h : s-specs ; @true
 s-specs : Makefile
        lsf="$(lang_specs_files)"; for f in $$lsf; do \
@@ -1984,7 +1990,7 @@ langhooks.o : langhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    langhooks.h $(LANGHOOKS_DEF_H) $(FLAGS_H) $(GGC_H) $(DIAGNOSTIC_H) intl.h \
    $(TREE_GIMPLE_H)
 tree.o : tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-   $(FLAGS_H) $(FUNCTION_H) $(PARAMS_H) \
+   all-tree.def $(FLAGS_H) $(FUNCTION_H) $(PARAMS_H) \
    toplev.h $(GGC_H) $(HASHTAB_H) $(TARGET_H) output.h $(TM_P_H) langhooks.h \
    $(REAL_H) gt-tree.h tree-iterator.h $(BASIC_BLOCK_H) $(TREE_FLOW_H) \
    $(OBSTACK_H) pointer-set.h fixed-value.h
@@ -3239,7 +3245,7 @@ build/genattrtab.o : genattrtab.c $(RTL_BASE_H) $(OBSTACK_H)              \
 build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H)         \
   $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) errors.h vec.h         \
   $(HASHTAB_H) gensupport.h
-build/gencheck.o : gencheck.c gencheck.h tree.def $(BCONFIG_H) $(GTM_H)        \
+build/gencheck.o : gencheck.c tree.def $(BCONFIG_H) $(GTM_H)           \
        $(SYSTEM_H) coretypes.h $(lang_tree_files)
 build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
 build/gencodes.o : gencodes.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H)   \
@@ -3863,7 +3869,7 @@ mostlyclean: lang.mostlyclean
        -rm -f mddeps.mk
 # Delete other built files.
        -rm -f xsys-protos.hT
-       -rm -f specs.h gencheck.h options.c options.h
+       -rm -f specs.h options.c options.h
 # Delete the stamp and temporary files.
        -rm -f s-* tmp-* stamp-* stmp-*
        -rm -f */stamp-* */tmp-*
index 4b9c91ba78dc88f1a00f4d5e406cfecfa9091ece..4136ebe5dca24c381838c259ca7c0349f227c312 100644 (file)
@@ -980,7 +980,7 @@ ada/sdefault.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
    ada/s-wchcon.ads ada/system.ads ada/table.adb ada/table.ads ada/tree_io.ads \
    ada/types.ads ada/unchdeal.ads ada/unchconv.ads
 
-ADA_TREE_H = ada/ada-tree.h ada/ada-tree.def
+ADA_TREE_H = ada/ada-tree.h
 
 # force debugging information on s-tasdeb.o so that it is always
 # possible to set conditional breakpoints on tasks.
index 3d585b5b788e756b5f0f446a9ba560142d07b178..008a5a496e54dea0f0fe602e52467870a63049e4 100644 (file)
  *                                                                          *
  ****************************************************************************/
 
-/* Ada language-specific GC tree codes.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
-enum gnat_tree_code {
-  __DUMMY = LAST_AND_UNUSED_TREE_CODE,
-#include "ada-tree.def"
-  LAST_GNAT_TREE_CODE
-};
-#undef DEFTREECODE
-
 /* Ada uses the lang_decl and lang_type fields to hold a tree.  */
 union lang_tree_node
   GTY((desc ("0"),
index 9ee90dd0c9db2cbc1ddf6248c294edfe1839799b..f8137242175630df0153f62081cbabd4541d04db 100644 (file)
@@ -160,45 +160,6 @@ static tree gnat_type_max_size             (const_tree);
 
 const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Tables describing GCC tree codes used only by GNAT.
-
-   Table indexed by tree code giving a string containing a character
-   classifying the tree code.  Possibilities are
-   t, d, s, c, r, <, 1 and 2.  See cp-tree.def for details.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
-
-const enum tree_code_class tree_code_type[] = {
-#include "tree.def"
-  tcc_exceptional,
-#include "ada-tree.def"
-};
-#undef DEFTREECODE
-
-/* Table indexed by tree code giving number of expression
-   operands beyond the fixed part of the node structure.
-   Not used for types or decls.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
-
-const unsigned char tree_code_length[] = {
-#include "tree.def"
-  0,
-#include "ada-tree.def"
-};
-#undef DEFTREECODE
-
-/* Names of tree components.
-   Used for printing out the tree and error messages.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
-
-const char *const tree_code_name[] = {
-#include "tree.def"
-  "@@dummy",
-#include "ada-tree.def"
-};
-#undef DEFTREECODE
-
 /* How much we want of our DWARF extensions.  Some of our dwarf+ extensions
    are incompatible with regular GDB versions, so we must make sure to only
    produce them on explicit request.  This is eventually reflected into the
index 82c018b559f55cf644d0d93325fb1b972bf93748..000936969a38d603177eab4f3002145aff6a2f88 100644 (file)
@@ -763,16 +763,6 @@ extern void finish_file    (void);
 #define COMPOUND_LITERAL_EXPR_DECL(NODE)                       \
   DECL_EXPR_DECL (COMPOUND_LITERAL_EXPR_DECL_STMT (NODE))
 
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
-
-enum c_tree_code {
-  C_DUMMY_TREE_CODE = LAST_AND_UNUSED_TREE_CODE,
-#include "c-common.def"
-  LAST_C_TREE_CODE
-};
-
-#undef DEFTREECODE
-
 extern int anon_aggr_type_p (const_tree);
 
 /* For a VAR_DECL that is an anonymous union, these are the various
index 101860ecf99a96599787221d7794c8f990fce7a6..50781e8ce30c45fbd30948c195aad46541459c88 100644 (file)
@@ -47,41 +47,6 @@ enum c_language_kind c_language = clk_c;
 /* Each front end provides its own lang hook initializer.  */
 const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Tree code classes.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
-
-const enum tree_code_class tree_code_type[] = {
-#include "tree.def"
-  tcc_exceptional,
-#include "c-common.def"
-};
-#undef DEFTREECODE
-
-/* Table indexed by tree code giving number of expression
-   operands beyond the fixed part of the node structure.
-   Not used for types or decls.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
-
-const unsigned char tree_code_length[] = {
-#include "tree.def"
-  0,
-#include "c-common.def"
-};
-#undef DEFTREECODE
-
-/* Names of tree components.
-   Used for printing out the tree and error messages.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
-
-const char *const tree_code_name[] = {
-#include "tree.def"
-  "@@dummy",
-#include "c-common.def"
-};
-#undef DEFTREECODE
-
 /* Final processing of file-scope data.  The Objective-C version of
    this function still does something.  */
 void
index c1336df2e8ef72a5af867fc749918d208c2f1835..3831bb9f91f937bd37f73f0e3d65e58cc044c2b9 100644 (file)
@@ -222,7 +222,7 @@ c++.stagefeedback: stagefeedback-start
 #\f
 # .o: .h dependencies.
 CXX_TREE_H = $(TREE_H) cp/name-lookup.h cp/cp-tree.h $(C_COMMON_H) \
-       cp/cp-tree.def c-common.def $(FUNCTION_H) $(VARRAY_H) \
+       c-common.def $(FUNCTION_H) $(VARRAY_H) \
        $(SYSTEM_H) coretypes.h $(CONFIG_H) $(TARGET_H) $(GGC_H) \
        $(srcdir)/../include/hashtab.h $(srcdir)/../include/splay-tree.h
 
index 70709298e9a88e2397bbf8bebc4ba10aab75d669..b30ad81cd0498a5f38f9f6e51ecb4de94530bac2 100644 (file)
@@ -61,47 +61,6 @@ static enum classify_record cp_classify_record (tree type);
 /* Each front end provides its own lang hook initializer.  */
 const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Tree code classes.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
-
-const enum tree_code_class tree_code_type[] = {
-#include "tree.def"
-  tcc_exceptional,
-#include "c-common.def"
-  tcc_exceptional,
-#include "cp-tree.def"
-};
-#undef DEFTREECODE
-
-/* Table indexed by tree code giving number of expression
-   operands beyond the fixed part of the node structure.
-   Not used for types or decls.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
-
-const unsigned char tree_code_length[] = {
-#include "tree.def"
-  0,
-#include "c-common.def"
-  0,
-#include "cp-tree.def"
-};
-#undef DEFTREECODE
-
-/* Names of tree components.
-   Used for printing out the tree and error messages.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
-
-const char *const tree_code_name[] = {
-#include "tree.def"
-  "@@dummy",
-#include "c-common.def"
-  "@@dummy",
-#include "cp-tree.def"
-};
-#undef DEFTREECODE
-
 /* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
    there should be very few routines below.  */
 
index 8ad4fe34b9e9fa9ebabe49bc9f339086964a437d..d090d8ff0e2fc21eca485b83555cc609e44d0ff0 100644 (file)
@@ -926,15 +926,6 @@ struct language_function GTY(())
   ((NODE) == error_mark_node                                   \
    || ((NODE) && TREE_TYPE ((NODE)) == error_mark_node))
 \f
-/* C++ language-specific tree codes.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
-enum cplus_tree_code {
-  CP_DUMMY_TREE_CODE = LAST_C_TREE_CODE,
-#include "cp-tree.def"
-  LAST_CPLUS_TREE_CODE
-};
-#undef DEFTREECODE
-
 /* TRUE if a tree code represents a statement.  */
 extern bool statement_code_p[MAX_TREE_CODES];
 
@@ -3865,10 +3856,10 @@ typedef struct operator_name_info_t GTY(())
 
 /* A mapping from tree codes to operator name information.  */
 extern GTY(()) operator_name_info_t operator_name_info
-  [(int) LAST_CPLUS_TREE_CODE];
+  [(int) MAX_TREE_CODES];
 /* Similar, but for assignment operators.  */
 extern GTY(()) operator_name_info_t assignment_operator_name_info
-  [(int) LAST_CPLUS_TREE_CODE];
+  [(int) MAX_TREE_CODES];
 
 /* A type-qualifier, or bitmask therefore, using the TYPE_QUAL
    constants.  */
index 8b4e2e9d410d7656942c4187f568faed83280721..32be05cc7c33e2c38eafa3e80b93c513fd5e25cf 100644 (file)
@@ -9773,7 +9773,7 @@ grok_op_properties (tree decl, bool complain)
        gcc_unreachable ();
       }
     while (0);
-  gcc_assert (operator_code != LAST_CPLUS_TREE_CODE);
+  gcc_assert (operator_code != MAX_TREE_CODES);
   SET_OVERLOADED_OPERATOR_CODE (decl, operator_code);
 
   if (class_type)
index 8484a4b33910515baf1f449f86f1ab9a39ad85e9..c2744c9f8fda61051d835c1f013ee98ab6e17eeb 100644 (file)
@@ -89,9 +89,9 @@ cxx_finish (void)
 }
 
 /* A mapping from tree codes to operator name information.  */
-operator_name_info_t operator_name_info[(int) LAST_CPLUS_TREE_CODE];
+operator_name_info_t operator_name_info[(int) MAX_TREE_CODES];
 /* Similar, but for assignment operators.  */
-operator_name_info_t assignment_operator_name_info[(int) LAST_CPLUS_TREE_CODE];
+operator_name_info_t assignment_operator_name_info[(int) MAX_TREE_CODES];
 
 /* Initialize data structures that keep track of operator names.  */
 
index b23e781e99dbafbfecfa281de90a686bc383c8b4..b27b2db9b3a2b0d2ac508dc56139340f15085dcf 100644 (file)
@@ -2108,7 +2108,7 @@ write_expression (tree expr)
              /* Unfortunately, there is no easy way to go from the
                 name of the operator back to the corresponding tree
                 code.  */
-             for (i = 0; i < LAST_CPLUS_TREE_CODE; ++i)
+             for (i = 0; i < MAX_TREE_CODES; ++i)
                if (operator_name_info[i].identifier == member)
                  {
                    /* The ABI says that we prefer binary operator
index 42ab57a96067fcad69f615c5d5d3eb582cd9c30b..794cc41a2d0708626495e210bbb8ed8d2a542264 100644 (file)
@@ -154,40 +154,6 @@ static alias_set_type gfc_get_alias_set (tree);
 
 const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* A list (chain of TREE_LIST nodes) of all LABEL_DECLs in the function
-   that have names.  Here so we can clear out their names' definitions
-   at the end of the function.  */
-
-/* Tree code classes.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
-
-const enum tree_code_class tree_code_type[] = {
-#include "tree.def"
-};
-#undef DEFTREECODE
-
-/* Table indexed by tree code giving number of expression
-   operands beyond the fixed part of the node structure.
-   Not used for types or decls.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
-
-const unsigned char tree_code_length[] = {
-#include "tree.def"
-};
-#undef DEFTREECODE
-
-/* Names of tree components.
-   Used for printing out the tree and error messages.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
-
-const char *const tree_code_name[] = {
-#include "tree.def"
-};
-#undef DEFTREECODE
-
-
 #define NULL_BINDING_LEVEL (struct binding_level *) NULL
 
 /* A chain of binding_level structures awaiting reuse.  */
index f8b591e875db7b64517bc4b303badbb3117979c7..7fc69142b5d38c9629e46307c2fbb2a9e6d517c1 100644 (file)
@@ -24,14 +24,16 @@ along with GCC; see the file COPYING3.  If not see
 #include "tm.h"
 
 #define DEFTREECODE(SYM, NAME, TYPE, LEN) #SYM,
+#define END_OF_BASE_TREE_CODES
 
 static const char *const tree_codes[] = {
-#include "tree.def"
-#include "c-common.def"
-#include "gencheck.h"
+#include "all-tree.def"
 (char*) 0
 };
 
+#undef DEFTREECODE
+#undef END_OF_BASE_TREE_CODES
+
 static void usage (void);
 
 static void
index e96ca14d868431c00338e24f350f6b9ab9997ef6..d1201cd70349337c5468d68f189b076d0f116a4f 100644 (file)
@@ -242,7 +242,7 @@ java.stagefeedback: stageprofile-start
 
 #\f
 # .o:.h dependencies.
-JAVA_TREE_H = $(TREE_H) $(HASHTAB_H) java/java-tree.h java/java-tree.def
+JAVA_TREE_H = $(TREE_H) $(HASHTAB_H) java/java-tree.h
 
 java/jcf-dump.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(JAVA_TREE_H) \
   java/jcf-dump.c java/jcf-reader.c java/jcf.h java/javaop.h java/javaop.def \
index 65a758946a1e4e65f2ab9f06976b28dc532356fd..a046a0f450a2f4ee1169c78eeb35e2843ce528a0 100644 (file)
@@ -30,15 +30,6 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 
 #include "hashtab.h"
 
-/* Java language-specific tree codes.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
-enum java_tree_code {
-  __DUMMY = LAST_AND_UNUSED_TREE_CODE,
-#include "java-tree.def"
-  LAST_JAVA_TREE_CODE
-};
-#undef DEFTREECODE
-
 struct JCF;
 
 /* Usage of TREE_LANG_FLAG_?:
index 71f2478912366179df51f1776f300933cbcd4d46..c259da4f484b316d236c34f4eeabdbedb12a1cba 100644 (file)
@@ -69,43 +69,6 @@ static enum classify_record java_classify_record (tree type);
 # define TARGET_OBJECT_SUFFIX ".o"
 #endif
 
-/* Table indexed by tree code giving a string containing a character
-   classifying the tree code.  Possibilities are
-   t, d, s, c, r, <, 1 and 2.  See java/java-tree.def for details.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
-
-const enum tree_code_class tree_code_type[] = {
-#include "tree.def"
-  tcc_exceptional,
-#include "java-tree.def"
-};
-#undef DEFTREECODE
-
-/* Table indexed by tree code giving number of expression
-   operands beyond the fixed part of the node structure.
-   Not used for types or decls.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
-
-const unsigned char tree_code_length[] = {
-#include "tree.def"
-  0,
-#include "java-tree.def"
-};
-#undef DEFTREECODE
-
-/* Names of tree components.
-   Used for printing out the tree and error messages.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
-
-const char *const tree_code_name[] = {
-#include "tree.def"
-  "@@dummy",
-#include "java-tree.def"
-};
-#undef DEFTREECODE
-
 /* Table of machine-independent attributes.  */
 const struct attribute_spec java_attribute_table[] =
 {
index 6f1ac8559c6b139abcd75dac659b63c36149af07..e4b8a93bf3944c6d512b3001de8571aa6280d90c 100644 (file)
@@ -122,24 +122,6 @@ enum gimplify_status objc_gimplify_expr (tree *, tree *, tree *);
 #define OBJC_TYPE_NAME(TYPE) TYPE_NAME(TYPE)
 #define OBJC_SET_TYPE_NAME(TYPE, NAME) (TYPE_NAME (TYPE) = NAME)
 
-/* Define the Objective-C or Objective-C++ language-specific tree codes.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
-enum objc_tree_code {
-#if defined (GCC_CP_TREE_H)
-  LAST_BASE_TREE_CODE = LAST_CPLUS_TREE_CODE,
-#else 
-#if defined (GCC_C_TREE_H)
-  LAST_BASE_TREE_CODE = LAST_C_TREE_CODE,
-#else
-  #error You must include <c-tree.h> or <cp/cp-tree.h> before <objc/objc-act.h>
-#endif
-#endif
-#include "objc-tree.def"
-  LAST_OBJC_TREE_CODE
-};
-#undef DEFTREECODE
-
 /* Hash tables to manage the global pool of method prototypes.  */
 
 typedef struct hashed_entry    *hash;
index 53d3259dfe7c08cde658196fb55f81cb7ef4c8ed..11ba6ac462c84cd1a7d8b6d48749c4ff70daa342 100644 (file)
@@ -56,48 +56,6 @@ static void objc_init_ts (void);
 /* Each front end provides its own lang hook initializer.  */
 const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Table indexed by tree code giving a string containing a character
-   classifying the tree code.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
-
-const enum tree_code_class tree_code_type[] = {
-#include "tree.def"
-  tcc_exceptional,
-#include "c-common.def"
-  tcc_exceptional,
-#include "objc-tree.def"
-};
-#undef DEFTREECODE
-
-/* Table indexed by tree code giving number of expression
-   operands beyond the fixed part of the node structure.
-   Not used for types or decls.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
-
-const unsigned char tree_code_length[] = {
-#include "tree.def"
-  0,
-#include "c-common.def"
-  0,
-#include "objc-tree.def"
-};
-#undef DEFTREECODE
-
-/* Names of tree components.
-   Used for printing out the tree and error messages.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
-
-const char * const tree_code_name[] = {
-#include "tree.def"
-  "@@dummy",
-#include "c-common.def"
-  "@@dummy",
-#include "objc-tree.def"
-};
-#undef DEFTREECODE
-
 /* Lang hook routines common to C and ObjC appear in c-objc-common.c;
    there should be very few (if any) routines below.  */
 
index f8716c3b0eddc22c85288c539fb9171dfef3b18c..d595ba22cd7d1ea2627c05525b2e51c7ad98c8ac 100644 (file)
@@ -56,53 +56,6 @@ static void objcxx_init_ts (void);
 /* Each front end provides its own lang hook initializer.  */
 const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
-/* Tree code classes.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
-
-const enum tree_code_class tree_code_type[] = {
-#include "tree.def"
-  tcc_exceptional,
-#include "c-common.def"
-  tcc_exceptional,
-#include "cp-tree.def"
-  tcc_exceptional,
-#include "objc-tree.def"
-};
-#undef DEFTREECODE
-
-/* Table indexed by tree code giving number of expression
-   operands beyond the fixed part of the node structure.
-   Not used for types or decls.  */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
-
-const unsigned char tree_code_length[] = {
-#include "tree.def"
-  0,
-#include "c-common.def"
-  0,
-#include "cp-tree.def"
-  0,
-#include "objc-tree.def"
-};
-#undef DEFTREECODE
-
-/* Names of tree components.
-   Used for printing out the tree and error messages.  */
-#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
-
-const char *const tree_code_name[] = {
-#include "tree.def"
-  "@@dummy",
-#include "c-common.def"
-  "@@dummy",
-#include "cp-tree.def"
-  "@@dummy",
-#include "objc-tree.def"
-};
-#undef DEFTREECODE
-
 /* Lang hook routines common to C++ and ObjC++ appear in cp/cp-objcp-common.c;
    there should be very few (if any) routines below.  */
 
index 89c3bf3a307c8e713fbc5e0710963d22eb2f9fd7..ae3d270843d533b2b389525acf36a02f10a48751 100644 (file)
@@ -71,11 +71,14 @@ struct tb_tree_code {
 };
 
 #define DEFTREECODE(SYM, STRING, TYPE, NARGS) { SYM, STRING, sizeof (STRING) - 1 },
+#define END_OF_BASE_TREE_CODES \
+  { LAST_AND_UNUSED_TREE_CODE, "@dummy", sizeof ("@dummy") - 1 },
 static const struct tb_tree_code tb_tree_codes[] =
 {
-#include "tree.def"
+#include "all-tree.def"
 };
 #undef DEFTREECODE
+#undef END_OF_BASE_TREE_CODES
 
 #define TB_TREE_CODE(N) (tb_tree_codes[N].code)
 #define TB_TREE_CODE_TEXT(N) (tb_tree_codes[N].code_string)
index 469555a8739ffcbffe2f307d5a4b9db93afe7e91..91b2ec5c0a41ba43534d4d6d8c7c5c5e88c9d00e 100644 (file)
@@ -52,6 +52,44 @@ along with GCC; see the file COPYING3.  If not see
 #include "pointer-set.h"
 #include "fixed-value.h"
 
+/* Tree code classes.  */
+
+#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
+#define END_OF_BASE_TREE_CODES tcc_exceptional,
+
+const enum tree_code_class tree_code_type[] = {
+#include "all-tree.def"
+};
+
+#undef DEFTREECODE
+#undef END_OF_BASE_TREE_CODES
+
+/* Table indexed by tree code giving number of expression
+   operands beyond the fixed part of the node structure.
+   Not used for types or decls.  */
+
+#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH,
+#define END_OF_BASE_TREE_CODES 0,
+
+const unsigned char tree_code_length[] = {
+#include "all-tree.def"
+};
+
+#undef DEFTREECODE
+#undef END_OF_BASE_TREE_CODES
+
+/* Names of tree components.
+   Used for printing out the tree and error messages.  */
+#define DEFTREECODE(SYM, NAME, TYPE, LEN) NAME,
+#define END_OF_BASE_TREE_CODES "@dummy",
+
+const char *const tree_code_name[] = {
+#include "all-tree.def"
+};
+
+#undef DEFTREECODE
+#undef END_OF_BASE_TREE_CODES
+
 /* Each tree code class has an associated string representation.
    These must correspond to the tree_code_class entries.  */
 
index c3d2abe6978fbae6e626578710762c83406bb2f7..9c7fff97cea8e520da2154f2c7f6558a1bd33fd6 100644 (file)
@@ -33,17 +33,16 @@ along with GCC; see the file COPYING3.  If not see
 /* Codes of tree nodes */
 
 #define DEFTREECODE(SYM, STRING, TYPE, NARGS)   SYM,
+#define END_OF_BASE_TREE_CODES LAST_AND_UNUSED_TREE_CODE,
 
 enum tree_code {
-#include "tree.def"
-
-  LAST_AND_UNUSED_TREE_CODE    /* A convenient way to get a value for
-                                  NUM_TREE_CODES.  */
+#include "all-tree.def"
+MAX_TREE_CODES
 };
 
 #undef DEFTREECODE
+#undef END_OF_BASE_TREE_CODES
 
-#define MAX_TREE_CODES 512
 extern unsigned char tree_contains_struct[MAX_TREE_CODES][64];
 #define CODE_CONTAINS_STRUCT(CODE, STRUCT) (tree_contains_struct[(CODE)][(STRUCT)])