Home | History | Annotate | Line # | Download | only in lto
      1   1.1  mrg /* Language-dependent trees for LTO.
      2  1.12  mrg    Copyright (C) 2009-2022 Free Software Foundation, Inc.
      3   1.1  mrg    Contributed by CodeSourcery, Inc.
      4   1.1  mrg 
      5   1.1  mrg This file is part of GCC.
      6   1.1  mrg 
      7   1.1  mrg GCC is free software; you can redistribute it and/or modify it under
      8   1.1  mrg the terms of the GNU General Public License as published by the Free
      9   1.1  mrg Software Foundation; either version 3, or (at your option) any later
     10   1.1  mrg version.
     11   1.1  mrg 
     12   1.1  mrg GCC is distributed in the hope that it will be useful, but WITHOUT ANY
     13   1.1  mrg WARRANTY; without even the implied warranty of MERCHANTABILITY or
     14   1.1  mrg FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     15   1.1  mrg for more details.
     16   1.1  mrg 
     17   1.1  mrg You should have received a copy of the GNU General Public License
     18   1.1  mrg along with GCC; see the file COPYING3.  If not see
     19   1.1  mrg <http://www.gnu.org/licenses/>.  */
     20   1.1  mrg 
     21   1.1  mrg #ifndef GCC_LTO_TREE_H
     22   1.1  mrg #define GCC_LTO_TREE_H
     23   1.1  mrg 
     24   1.1  mrg struct GTY(()) lang_identifier
     25   1.1  mrg {
     26   1.1  mrg   struct tree_identifier base;
     27   1.1  mrg };
     28   1.1  mrg 
     29   1.5  mrg struct GTY(()) lang_decl
     30   1.1  mrg {
     31   1.1  mrg   int dummy;  /* Added because ggc does not like empty structs.  */
     32   1.1  mrg };
     33   1.1  mrg 
     34   1.5  mrg struct GTY(()) lang_type
     35   1.1  mrg {
     36   1.1  mrg   int dummy;  /* Added because ggc does not like empty structs.  */
     37   1.1  mrg };
     38   1.1  mrg 
     39   1.1  mrg struct GTY(()) language_function
     40   1.1  mrg {
     41   1.1  mrg   int dummy;  /* Added because ggc does not like empty structs.  */
     42   1.1  mrg };
     43   1.1  mrg 
     44   1.1  mrg enum lto_tree_node_structure_enum {
     45   1.1  mrg   TS_LTO_GENERIC
     46   1.1  mrg };
     47   1.1  mrg 
     48   1.1  mrg union GTY((desc ("lto_tree_node_structure (&%h)"),
     49   1.5  mrg 	  chain_next ("CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_TYPE_COMMON) ? ((union lang_tree_node *) %h.generic.type_common.next_variant) : CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) %h.generic.common.chain) : NULL")))
     50   1.1  mrg     lang_tree_node
     51   1.1  mrg {
     52   1.1  mrg   union tree_node GTY ((tag ("TS_LTO_GENERIC"),
     53   1.1  mrg 			desc ("tree_node_structure (&%h)"))) generic;
     54   1.1  mrg };
     55   1.1  mrg 
     56   1.1  mrg #endif /* GCC_LTO_TREE_H */
     57