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