aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-lang.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-lang.c')
-rw-r--r--gcc/c-lang.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc/c-lang.c b/gcc/c-lang.c
index 174f9dc..c01d256 100644
--- a/gcc/c-lang.c
+++ b/gcc/c-lang.c
@@ -73,6 +73,41 @@ static void c_post_options PARAMS ((void));
/* Each front end provides its own. */
const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
+/* Tree code classes. */
+
+#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE,
+
+const char tree_code_type[] = {
+#include "tree.def"
+ 'x',
+#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
+
/* Post-switch processing. */
static void
c_post_options ()