1*38fd1498Szrj/* This file contains the definitions for the tree structure
2*38fd1498Szrj   enumeration used in GCC.
3*38fd1498Szrj
4*38fd1498SzrjCopyright (C) 2005-2018 Free Software Foundation, Inc.
5*38fd1498Szrj
6*38fd1498SzrjThis file is part of GCC.
7*38fd1498Szrj
8*38fd1498SzrjGCC is free software; you can redistribute it and/or modify it under
9*38fd1498Szrjthe terms of the GNU General Public License as published by the Free
10*38fd1498SzrjSoftware Foundation; either version 3, or (at your option) any later
11*38fd1498Szrjversion.
12*38fd1498Szrj
13*38fd1498SzrjGCC is distributed in the hope that it will be useful, but WITHOUT ANY
14*38fd1498SzrjWARRANTY; without even the implied warranty of MERCHANTABILITY or
15*38fd1498SzrjFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16*38fd1498Szrjfor more details.
17*38fd1498Szrj
18*38fd1498SzrjYou should have received a copy of the GNU General Public License
19*38fd1498Szrjalong with GCC; see the file COPYING3.  If not see
20*38fd1498Szrj<http://www.gnu.org/licenses/>.  */
21*38fd1498Szrj
22*38fd1498Szrj/* The format of this file is
23*38fd1498Szrj
24*38fd1498Szrj   DEFTREESTRUCT(enumeration value, printable name).
25*38fd1498Szrj
26*38fd1498Szrj   Each enumeration value should correspond with a single member of
27*38fd1498Szrj   union tree_node.
28*38fd1498Szrj
29*38fd1498Szrj   These enumerator values are used in order to distinguish members of
30*38fd1498Szrj   union tree_node for garbage collection purposes, as well as
31*38fd1498Szrj   specifying what structures contain what other structures in the
32*38fd1498Szrj   tree_contains_struct array.  */
33*38fd1498SzrjDEFTREESTRUCT(TS_BASE, "base")
34*38fd1498SzrjDEFTREESTRUCT(TS_TYPED, "typed")
35*38fd1498SzrjDEFTREESTRUCT(TS_COMMON, "common")
36*38fd1498SzrjDEFTREESTRUCT(TS_INT_CST, "integer cst")
37*38fd1498SzrjDEFTREESTRUCT(TS_POLY_INT_CST, "poly_int_cst")
38*38fd1498SzrjDEFTREESTRUCT(TS_REAL_CST, "real cst")
39*38fd1498SzrjDEFTREESTRUCT(TS_FIXED_CST, "fixed cst")
40*38fd1498SzrjDEFTREESTRUCT(TS_VECTOR, "vector")
41*38fd1498SzrjDEFTREESTRUCT(TS_STRING, "string")
42*38fd1498SzrjDEFTREESTRUCT(TS_COMPLEX, "complex")
43*38fd1498SzrjDEFTREESTRUCT(TS_IDENTIFIER, "identifier")
44*38fd1498SzrjDEFTREESTRUCT(TS_DECL_MINIMAL, "decl minimal")
45*38fd1498SzrjDEFTREESTRUCT(TS_DECL_COMMON, "decl common")
46*38fd1498SzrjDEFTREESTRUCT(TS_DECL_WRTL, "decl with RTL")
47*38fd1498SzrjDEFTREESTRUCT(TS_DECL_NON_COMMON, "decl non-common")
48*38fd1498SzrjDEFTREESTRUCT(TS_DECL_WITH_VIS, "decl with visibility")
49*38fd1498SzrjDEFTREESTRUCT(TS_FIELD_DECL, "field decl")
50*38fd1498SzrjDEFTREESTRUCT(TS_VAR_DECL, "var decl")
51*38fd1498SzrjDEFTREESTRUCT(TS_PARM_DECL, "parm decl")
52*38fd1498SzrjDEFTREESTRUCT(TS_LABEL_DECL, "label decl")
53*38fd1498SzrjDEFTREESTRUCT(TS_RESULT_DECL, "result decl")
54*38fd1498SzrjDEFTREESTRUCT(TS_CONST_DECL, "const decl")
55*38fd1498SzrjDEFTREESTRUCT(TS_TYPE_DECL, "type decl")
56*38fd1498SzrjDEFTREESTRUCT(TS_FUNCTION_DECL, "function decl")
57*38fd1498SzrjDEFTREESTRUCT(TS_TRANSLATION_UNIT_DECL, "translation-unit decl")
58*38fd1498SzrjDEFTREESTRUCT(TS_TYPE_COMMON, "type common")
59*38fd1498SzrjDEFTREESTRUCT(TS_TYPE_WITH_LANG_SPECIFIC, "type with lang-specific")
60*38fd1498SzrjDEFTREESTRUCT(TS_TYPE_NON_COMMON, "type non-common")
61*38fd1498SzrjDEFTREESTRUCT(TS_LIST, "list")
62*38fd1498SzrjDEFTREESTRUCT(TS_VEC, "vec")
63*38fd1498SzrjDEFTREESTRUCT(TS_EXP, "exp")
64*38fd1498SzrjDEFTREESTRUCT(TS_SSA_NAME, "ssa name")
65*38fd1498SzrjDEFTREESTRUCT(TS_BLOCK, "block")
66*38fd1498SzrjDEFTREESTRUCT(TS_BINFO, "binfo")
67*38fd1498SzrjDEFTREESTRUCT(TS_STATEMENT_LIST, "statement list")
68*38fd1498SzrjDEFTREESTRUCT(TS_CONSTRUCTOR, "constructor")
69*38fd1498SzrjDEFTREESTRUCT(TS_OMP_CLAUSE, "omp clause")
70*38fd1498SzrjDEFTREESTRUCT(TS_OPTIMIZATION, "optimization options")
71*38fd1498SzrjDEFTREESTRUCT(TS_TARGET_OPTION, "target options")
72