;;;;@@@@ GCC gengtype state
;;; DON'T EDIT THIS FILE, since generated by GCC's gengtype
;;; The format of this file is tied to a particular version of GCC.
;;; Don't parse this file wihout knowing GCC gengtype internals.
;;; This file should be parsed by the same gengtype which wrote it.

(!version  "5.3.0")
(!srcdir  "../../gcc")
(!languages 10 ada c cp fortran go java jit lto objc objcp)
(!fileslist 198
 (!srcfile 1023  "../libcpp/include/line-map.h")
 (!srcfile 1023  "../libcpp/include/cpplib.h")
 (!srcfile 1023  "../libcpp/include/cpp-id-data.h")
 (!srcfile 1023  "input.h")
 (!srcfile 1023  "coretypes.h")
 (!file 1023  "auto-host.h")
 (!srcfile 1023  "../include/ansidecl.h")
 (!file 1023  "options.h")
 (!srcfile 1023  "config/dbxelf.h")
 (!srcfile 1023  "config/elfos.h")
 (!srcfile 1023  "config/gnu-user.h")
 (!srcfile 1023  "config/linux.h")
 (!srcfile 1023  "config/linux-android.h")
 (!srcfile 1023  "config/glibc-stdint.h")
 (!srcfile 1023  "config/vxworks-dummy.h")
 (!srcfile 1023  "config/mips/mips.h")
 (!srcfile 1023  "config/mips/gnu-user.h")
 (!srcfile 1023  "config/mips/linux.h")
 (!srcfile 1023  "config/mips/linux-common.h")
 (!srcfile 1023  "config/initfini-array.h")
 (!srcfile 1023  "defaults.h")
 (!srcfile 1023  "../include/hashtab.h")
 (!srcfile 1023  "../include/splay-tree.h")
 (!srcfile 1023  "bitmap.h")
 (!srcfile 1023  "wide-int.h")
 (!srcfile 1023  "alias.h")
 (!srcfile 1023  "coverage.c")
 (!srcfile 1023  "rtl.h")
 (!srcfile 1023  "optabs.h")
 (!srcfile 1023  "tree.h")
 (!srcfile 1023  "tree-core.h")
 (!srcfile 1023  "libfuncs.h")
 (!srcfile 1023  "../libcpp/include/symtab.h")
 (!srcfile 1023  "../include/obstack.h")
 (!srcfile 1023  "real.h")
 (!srcfile 1023  "function.h")
 (!srcfile 1023  "insn-addr.h")
 (!srcfile 1023  "hwint.h")
 (!srcfile 1023  "fixed-value.h")
 (!srcfile 1023  "output.h")
 (!srcfile 1023  "cfgloop.h")
 (!srcfile 1023  "cfg.h")
 (!srcfile 1023  "cselib.h")
 (!srcfile 1023  "basic-block.h")
 (!srcfile 1023  "ipa-ref.h")
 (!srcfile 1023  "cgraph.h")
 (!srcfile 1023  "reload.h")
 (!srcfile 1023  "caller-save.c")
 (!srcfile 1023  "symtab.c")
 (!srcfile 1023  "alias.c")
 (!srcfile 1023  "bitmap.c")
 (!srcfile 1023  "cselib.c")
 (!srcfile 1023  "cgraph.c")
 (!srcfile 1023  "ipa-prop.c")
 (!srcfile 1023  "ipa-cp.c")
 (!srcfile 1023  "ipa-utils.h")
 (!srcfile 1023  "dbxout.c")
 (!srcfile 1023  "signop.h")
 (!srcfile 1023  "dwarf2out.h")
 (!srcfile 1023  "dwarf2asm.c")
 (!srcfile 1023  "dwarf2cfi.c")
 (!srcfile 1023  "dwarf2out.c")
 (!srcfile 1023  "tree-vect-generic.c")
 (!srcfile 1023  "dojump.c")
 (!srcfile 1023  "emit-rtl.c")
 (!srcfile 1023  "except.h")
 (!srcfile 1023  "explow.c")
 (!srcfile 1023  "expr.c")
 (!srcfile 1023  "expr.h")
 (!srcfile 1023  "function.c")
 (!srcfile 1023  "except.c")
 (!srcfile 1023  "gcse.c")
 (!srcfile 1023  "godump.c")
 (!srcfile 1023  "lists.c")
 (!srcfile 1023  "optabs.c")
 (!srcfile 1023  "profile.c")
 (!srcfile 1023  "mcf.c")
 (!srcfile 1023  "reg-stack.c")
 (!srcfile 1023  "cfgrtl.c")
 (!srcfile 1023  "sdbout.c")
 (!srcfile 1023  "stor-layout.c")
 (!srcfile 1023  "stringpool.c")
 (!srcfile 1023  "tree.c")
 (!srcfile 1023  "varasm.c")
 (!srcfile 1023  "gimple.h")
 (!srcfile 1023  "gimple-ssa.h")
 (!srcfile 1023  "tree-chkp.c")
 (!srcfile 1023  "tree-ssanames.c")
 (!srcfile 1023  "tree-eh.c")
 (!srcfile 1023  "tree-ssa-address.c")
 (!srcfile 1023  "tree-cfg.c")
 (!srcfile 1023  "tree-dfa.c")
 (!srcfile 1023  "tree-iterator.c")
 (!srcfile 1023  "gimple-expr.c")
 (!srcfile 1023  "tree-chrec.h")
 (!srcfile 1023  "tree-scalar-evolution.c")
 (!srcfile 1023  "tree-ssa-operands.h")
 (!srcfile 1023  "tree-profile.c")
 (!srcfile 1023  "tree-nested.c")
 (!srcfile 1023  "omp-low.c")
 (!srcfile 1023  "omp-low.h")
 (!srcfile 1023  "targhooks.c")
 (!srcfile 1023  "config/mips/mips.c")
 (!srcfile 1023  "passes.c")
 (!srcfile 1023  "cgraphunit.c")
 (!srcfile 1023  "cgraphclones.c")
 (!srcfile 1023  "tree-phinodes.c")
 (!srcfile 1023  "tree-ssa-alias.h")
 (!srcfile 1023  "tree-ssanames.h")
 (!srcfile 1023  "ipa-prop.h")
 (!srcfile 1023  "trans-mem.c")
 (!srcfile 1023  "lto-streamer.h")
 (!srcfile 1023  "target-globals.h")
 (!srcfile 1023  "ipa-inline.h")
 (!srcfile 1023  "vtable-verify.c")
 (!srcfile 1023  "asan.c")
 (!srcfile 1023  "ubsan.c")
 (!srcfile 1023  "tsan.c")
 (!srcfile 1023  "sanopt.c")
 (!srcfile 1023  "ipa-devirt.c")
 (!srcfile 1023  "internal-fn.h")
 (!srcfile 1  "ada/gcc-interface/ada-tree.h")
 (!srcfile 1  "ada/gcc-interface/gigi.h")
 (!srcfile 1  "ada/gcc-interface/decl.c")
 (!srcfile 1  "ada/gcc-interface/trans.c")
 (!srcfile 1  "ada/gcc-interface/utils.c")
 (!srcfile 1  "ada/gcc-interface/misc.c")
 (!srcfile 2  "c/c-lang.c")
 (!srcfile 258  "c/c-tree.h")
 (!srcfile 258  "c/c-decl.c")
 (!srcfile 774  "c-family/c-common.c")
 (!srcfile 774  "c-family/c-common.h")
 (!srcfile 774  "c-family/c-objc.h")
 (!srcfile 770  "c-family/c-cppbuiltin.c")
 (!srcfile 774  "c-family/c-pragma.h")
 (!srcfile 774  "c-family/c-pragma.c")
 (!srcfile 258  "c/c-objc-common.c")
 (!srcfile 258  "c/c-parser.c")
 (!srcfile 258  "c/c-lang.h")
 (!srcfile 516  "cp/rtti.c")
 (!srcfile 516  "cp/mangle.c")
 (!srcfile 516  "cp/name-lookup.h")
 (!srcfile 516  "cp/name-lookup.c")
 (!srcfile 516  "cp/cp-tree.h")
 (!srcfile 516  "cp/decl.h")
 (!srcfile 516  "cp/call.c")
 (!srcfile 516  "cp/decl.c")
 (!srcfile 516  "cp/decl2.c")
 (!srcfile 516  "cp/pt.c")
 (!srcfile 516  "cp/repo.c")
 (!srcfile 516  "cp/semantics.c")
 (!srcfile 516  "cp/tree.c")
 (!srcfile 516  "cp/parser.h")
 (!srcfile 516  "cp/parser.c")
 (!srcfile 516  "cp/method.c")
 (!srcfile 516  "cp/typeck2.c")
 (!srcfile 516  "c-family/c-lex.c")
 (!srcfile 516  "cp/class.c")
 (!srcfile 516  "cp/cp-objcp-common.c")
 (!srcfile 4  "cp/cp-lang.c")
 (!srcfile 516  "cp/except.c")
 (!srcfile 516  "cp/vtable-class-hierarchy.c")
 (!srcfile 516  "cp/constexpr.c")
 (!srcfile 8  "fortran/f95-lang.c")
 (!srcfile 8  "fortran/trans-decl.c")
 (!srcfile 8  "fortran/trans-intrinsic.c")
 (!srcfile 8  "fortran/trans-io.c")
 (!srcfile 8  "fortran/trans-stmt.c")
 (!srcfile 8  "fortran/trans-types.c")
 (!srcfile 8  "fortran/trans-types.h")
 (!srcfile 8  "fortran/trans.h")
 (!srcfile 8  "fortran/trans-const.h")
 (!srcfile 16  "go/go-lang.c")
 (!srcfile 16  "go/go-c.h")
 (!srcfile 32  "java/java-tree.h")
 (!srcfile 32  "java/jcf.h")
 (!srcfile 32  "java/parse.h")
 (!srcfile 32  "java/builtins.c")
 (!srcfile 32  "java/class.c")
 (!srcfile 32  "java/constants.c")
 (!srcfile 32  "java/decl.c")
 (!srcfile 32  "java/expr.c")
 (!srcfile 32  "java/jcf-parse.c")
 (!srcfile 32  "java/lang.c")
 (!srcfile 32  "java/mangle.c")
 (!srcfile 32  "java/resource.c")
 (!srcfile 64  "jit/dummy-frontend.c")
 (!srcfile 128  "lto/lto-tree.h")
 (!srcfile 128  "lto/lto-lang.c")
 (!srcfile 128  "lto/lto.c")
 (!srcfile 128  "lto/lto.h")
 (!srcfile 768  "objc/objc-map.h")
 (!srcfile 768  "objc/objc-act.h")
 (!srcfile 768  "objc/objc-act.c")
 (!srcfile 768  "objc/objc-runtime-shared-support.c")
 (!srcfile 768  "objc/objc-gnu-runtime-abi-01.c")
 (!srcfile 768  "objc/objc-next-runtime-abi-01.c")
 (!srcfile 768  "objc/objc-next-runtime-abi-02.c")
)
(!structures 1308
 
 (!type user_struct 1 
  (!type pointer 2 nil  gc_used
   (!type already_seen 1)
  )
  gc_pointed_to "vec<ivarref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2776)
  (!fields 2 
   (!pair  "va_gc"
    (!type undefined 3 nil  gc_unused "va_gc"
     (!srcfileloc  "rtl.h" 244)
    )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2776)
    nil )
   (!pair  "ivarref_entry"
    (!type struct 4 nil  gc_used "ivarref_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2774)
     (!fields 2 
      (!pair  "decl"
       (!type pointer 5 
        (!type pointer 6 nil  gc_used
         (!type already_seen 5)
        )
        gc_pointed_to
        (!type union 7 
         (!type already_seen 5)
         gc_pointed_to "tree_node"
         (!srcfileloc  "tree-core.h" 1726)
         (!fields 38 
          (!pair  "base"
           (!type struct 8 nil  gc_used "tree_base"
            (!srcfileloc  "tree-core.h" 879)
            (!fields 18 
             (!pair  "code"
              (!type scalar_nonchar 9 
               (!type pointer 10 
                (!type pointer 11 nil  gc_unused
                 (!type already_seen 10)
                )
                gc_used
                (!type already_seen 9)
               )
               gc_pointed_to)
              (!srcfileloc  "tree-core.h" 791)
              nil )
             (!pair  "side_effects_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 793)
              nil )
             (!pair  "constant_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 794)
              nil )
             (!pair  "addressable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 795)
              nil )
             (!pair  "volatile_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 796)
              nil )
             (!pair  "readonly_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 797)
              nil )
             (!pair  "asm_written_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 798)
              nil )
             (!pair  "nowarning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 799)
              nil )
             (!pair  "visited"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 800)
              nil )
             (!pair  "used_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 802)
              nil )
             (!pair  "nothrow_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 803)
              nil )
             (!pair  "static_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 804)
              nil )
             (!pair  "public_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 805)
              nil )
             (!pair  "private_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 806)
              nil )
             (!pair  "protected_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 807)
              nil )
             (!pair  "deprecated_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 808)
              nil )
             (!pair  "default_def_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 809)
              nil )
             (!pair  "u"
              (!type union 12 nil  gc_unused "anonymous:../../gcc/tree-core.h:811"
               (!srcfileloc  "tree-core.h" 878)
               (!fields 6 
                (!pair  "bits"
                 (!type struct 13 nil  gc_unused "anonymous:../../gcc/tree-core.h:814"
                  (!srcfileloc  "tree-core.h" 837)
                  (!fields 16 
                   (!pair  "lang_flag_0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 815)
                    nil )
                   (!pair  "lang_flag_1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 816)
                    nil )
                   (!pair  "lang_flag_2"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 817)
                    nil )
                   (!pair  "lang_flag_3"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 818)
                    nil )
                   (!pair  "lang_flag_4"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 819)
                    nil )
                   (!pair  "lang_flag_5"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 820)
                    nil )
                   (!pair  "lang_flag_6"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 821)
                    nil )
                   (!pair  "saturating_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 822)
                    nil )
                   (!pair  "unsigned_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 824)
                    nil )
                   (!pair  "packed_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 825)
                    nil )
                   (!pair  "user_align"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 826)
                    nil )
                   (!pair  "nameless_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 827)
                    nil )
                   (!pair  "atomic_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 828)
                    nil )
                   (!pair  "spare0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 829)
                    nil )
                   (!pair  "spare1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 831)
                    nil )
                   (!pair  "address_space"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 836)
                    nil )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "tree-core.h" 837)
                 nil )
                (!pair  "int_length"
                 (!type struct 14 nil  gc_unused "anonymous:../../gcc/tree-core.h:844"
                  (!srcfileloc  "tree-core.h" 858)
                  (!fields 3 
                   (!pair  "unextended"
                    (!type scalar_char 15 
                     (!type pointer 16 
                      (!type pointer 17 nil  gc_unused
                       (!type already_seen 16)
                      )
                      gc_unused
                      (!type already_seen 15)
                     )
                     gc_used)
                    (!srcfileloc  "tree-core.h" 847)
                    nil )
                   (!pair  "extended"
                    (!type already_seen 15)
                    (!srcfileloc  "tree-core.h" 851)
                    nil )
                   (!pair  "offset"
                    (!type already_seen 15)
                    (!srcfileloc  "tree-core.h" 857)
                    nil )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "tree-core.h" 858)
                 nil )
                (!pair  "length"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 861)
                 nil )
                (!pair  "version"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 864)
                 nil )
                (!pair  "ifn"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 867)
                 nil )
                (!pair  "dependence_info"
                 (!type struct 18 nil  gc_unused "anonymous:../../gcc/tree-core.h:874"
                  (!srcfileloc  "tree-core.h" 877)
                  (!fields 2 
                   (!pair  "clique"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 875)
                    nil )
                   (!pair  "base"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 876)
                    nil )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "tree-core.h" 877)
                 nil )
               )
               nil 1023 nil )
              (!srcfileloc  "tree-core.h" 878)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1684)
           (!options 
            (!option tag string  "TS_BASE")
           )
          )
          (!pair  "typed"
           (!type struct 19 nil  gc_used "tree_typed"
            (!srcfileloc  "tree-core.h" 1155)
            (!fields 2 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1153)
              nil )
             (!pair  "type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1154)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1685)
           (!options 
            (!option tag string  "TS_TYPED")
           )
          )
          (!pair  "common"
           (!type struct 20 nil  gc_used "tree_common"
            (!srcfileloc  "tree-core.h" 1160)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1158)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1159)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1686)
           (!options 
            (!option tag string  "TS_COMMON")
           )
          )
          (!pair  "int_cst"
           (!type struct 21 nil  gc_used "tree_int_cst"
            (!srcfileloc  "tree-core.h" 1165)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1163)
              nil )
             (!pair  "val"
              (!type array 22 nil  gc_used "1" 
               (!type already_seen 9)
              )
              (!srcfileloc  "tree-core.h" 1164)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1687)
           (!options 
            (!option tag string  "TS_INT_CST")
           )
          )
          (!pair  "real_cst"
           (!type struct 23 nil  gc_used "tree_real_cst"
            (!srcfileloc  "tree-core.h" 1171)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1169)
              nil )
             (!pair  "real_cst_ptr"
              (!type pointer 24 nil  gc_used
               (!type struct 25 
                (!type already_seen 24)
                gc_pointed_to "real_value"
                (!srcfileloc  "real.h" 55)
                (!fields 7 
                 (!pair  "cl"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 48)
                  nil )
                 (!pair  "decimal"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 49)
                  nil )
                 (!pair  "sign"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 50)
                  nil )
                 (!pair  "signalling"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 51)
                  nil )
                 (!pair  "canonical"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 52)
                  nil )
                 (!pair  "uexp"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 53)
                  nil )
                 (!pair  "sig"
                  (!type array 26 nil  gc_used "SIGSZ" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "real.h" 54)
                  nil )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1170)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1688)
           (!options 
            (!option tag string  "TS_REAL_CST")
           )
          )
          (!pair  "fixed_cst"
           (!type struct 27 nil  gc_used "tree_fixed_cst"
            (!srcfileloc  "tree-core.h" 1176)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1174)
              nil )
             (!pair  "fixed_cst_ptr"
              (!type pointer 28 nil  gc_used
               (!type struct 29 
                (!type already_seen 28)
                gc_pointed_to "fixed_value"
                (!srcfileloc  "fixed-value.h" 31)
                (!fields 2 
                 (!pair  "data"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 29)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 30)
                  nil )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1175)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1689)
           (!options 
            (!option tag string  "TS_FIXED_CST")
           )
          )
          (!pair  "vector"
           (!type struct 30 nil  gc_used "tree_vector"
            (!srcfileloc  "tree-core.h" 1193)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1191)
              nil )
             (!pair  "elts"
              (!type array 31 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1192)
              (!options 
               (!option length string  "TYPE_VECTOR_SUBPARTS (TREE_TYPE ((tree)&%h))")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1690)
           (!options 
            (!option tag string  "TS_VECTOR")
           )
          )
          (!pair  "string"
           (!type struct 32 nil  gc_used "tree_string"
            (!srcfileloc  "tree-core.h" 1182)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1179)
              nil )
             (!pair  "length"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1180)
              nil )
             (!pair  "str"
              (!type array 33 nil  gc_used "1" 
               (!type already_seen 15)
              )
              (!srcfileloc  "tree-core.h" 1181)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1691)
           (!options 
            (!option tag string  "TS_STRING")
           )
          )
          (!pair  "complex"
           (!type struct 34 nil  gc_used "tree_complex"
            (!srcfileloc  "tree-core.h" 1188)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1185)
              nil )
             (!pair  "real"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1186)
              nil )
             (!pair  "imag"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1187)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1692)
           (!options 
            (!option tag string  "TS_COMPLEX")
           )
          )
          (!pair  "identifier"
           (!type struct 35 nil  gc_used "tree_identifier"
            (!srcfileloc  "tree-core.h" 1198)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1196)
              nil )
             (!pair  "id"
              (!type struct 36 
               (!type pointer 37 
                (!type pointer 38 nil  gc_unused
                 (!type already_seen 37)
                )
                gc_unused
                (!type already_seen 36)
               )
               gc_used "ht_identifier"
               (!srcfileloc  "../libcpp/include/symtab.h" 35)
               (!fields 3 
                (!pair  "str"
                 (!type string 39 nil  gc_used)
                 (!srcfileloc  "../libcpp/include/symtab.h" 32)
                 nil )
                (!pair  "len"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 33)
                 nil )
                (!pair  "hash_value"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 34)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "tree-core.h" 1197)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1693)
           (!options 
            (!option tag string  "TS_IDENTIFIER")
           )
          )
          (!pair  "decl_minimal"
           (!type struct 40 nil  gc_used "tree_decl_minimal"
            (!srcfileloc  "tree-core.h" 1416)
            (!fields 5 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1411)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1412)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1413)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1414)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1415)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1694)
           (!options 
            (!option tag string  "TS_DECL_MINIMAL")
           )
          )
          (!pair  "decl_common"
           (!type struct 41 nil  gc_used "tree_decl_common"
            (!srcfileloc  "tree-core.h" 1482)
            (!fields 35 
             (!pair  "common"
              (!type already_seen 40)
              (!srcfileloc  "tree-core.h" 1419)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1420)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1422)
              nil )
             (!pair  "nonlocal_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1424)
              nil )
             (!pair  "virtual_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1425)
              nil )
             (!pair  "ignored_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1426)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1427)
              nil )
             (!pair  "artificial_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1428)
              nil )
             (!pair  "preserve_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1429)
              nil )
             (!pair  "debug_expr_is_from"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1430)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1432)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1433)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1434)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1435)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1436)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1437)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1438)
              nil )
             (!pair  "lang_flag_7"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1439)
              nil )
             (!pair  "lang_flag_8"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1440)
              nil )
             (!pair  "decl_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1443)
              nil )
             (!pair  "decl_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1447)
              nil )
             (!pair  "decl_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1451)
              nil )
             (!pair  "decl_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1453)
              nil )
             (!pair  "gimple_reg_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1456)
              nil )
             (!pair  "decl_by_reference_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1458)
              nil )
             (!pair  "decl_read_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1460)
              nil )
             (!pair  "decl_nonshareable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1462)
              nil )
             (!pair  "off_align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1465)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1470)
              nil )
             (!pair  "pt_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1473)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1475)
              nil )
             (!pair  "initial"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1476)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1477)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1478)
              nil )
             (!pair  "lang_specific"
              (!type pointer 42 nil  gc_used
               (!type lang_struct 43 
                (!type already_seen 42)
                gc_pointed_to "lang_decl"
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                (!fields 0 )
                nil 1023 
                (!homotypes 8
                 (!type struct 44 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "lto/lto-tree.h" 34)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 33)
                    nil )
                  )
                  nil 128 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 45 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "jit/dummy-frontend.c" 68)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "jit/dummy-frontend.c" 67)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  64 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 46 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "java/java-tree.h" 837)
                  (!fields 2 
                   (!pair  "desc"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 831)
                    nil )
                   (!pair  "u"
                    (!type union 47 nil  gc_used "lang_decl_u"
                     (!srcfileloc  "java/java-tree.h" 836)
                     (!fields 2 
                      (!pair  "f"
                       (!type struct 48 nil  gc_used "lang_decl_func"
                        (!srcfileloc  "java/java-tree.h" 762)
                        (!fields 20 
                         (!pair  "code_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 735)
                          nil )
                         (!pair  "code_length"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 736)
                          nil )
                         (!pair  "linenumbers_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 737)
                          nil )
                         (!pair  "localvariables_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 738)
                          nil )
                         (!pair  "arg_slots"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 739)
                          nil )
                         (!pair  "max_locals"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 740)
                          nil )
                         (!pair  "max_stack"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 741)
                          nil )
                         (!pair  "arg_slot_count"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 742)
                          nil )
                         (!pair  "last_line"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 743)
                          nil )
                         (!pair  "throws_list"
                          (!type pointer 49 nil  gc_used
                           (!type user_struct 50 
                            (!type already_seen 49)
                            gc_pointed_to "vec<tree,va_gc>"
                            (!srcfileloc  "tree-core.h" 1330)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "tree-core.h" 1330)
                              nil )
                             (!pair  "tree"
                              (!type already_seen 5)
                              (!srcfileloc  "tree-core.h" 1330)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 744)
                          nil )
                         (!pair  "exc_obj"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 745)
                          nil )
                         (!pair  "init_test_table"
                          (!type pointer 51 nil  gc_used
                           (!type user_struct 52 
                            (!type already_seen 51)
                            gc_pointed_to "hash_table<treetreehasher>"
                            (!srcfileloc  "java/java-tree.h" 748)
                            (!fields 1 
                             (!pair  "treetreehasher"
                              (!type struct 53 nil  gc_used "treetreehasher"
                               (!srcfileloc  "java/java-tree.h" 748)
                               (!fields 0 )
                               nil 32 nil nil )
                              (!srcfileloc  "java/java-tree.h" 748)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 748)
                          nil )
                         (!pair  "ict"
                          (!type pointer 54 nil  gc_used
                           (!type user_struct 55 
                            (!type already_seen 54)
                            gc_pointed_to "hash_table<ict_hasher>"
                            (!srcfileloc  "java/java-tree.h" 751)
                            (!fields 1 
                             (!pair  "ict_hasher"
                              (!type struct 56 nil  gc_used "ict_hasher"
                               (!srcfileloc  "java/java-tree.h" 751)
                               (!fields 0 )
                               nil 32 nil nil )
                              (!srcfileloc  "java/java-tree.h" 751)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 751)
                          nil )
                         (!pair  "native"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 753)
                          nil )
                         (!pair  "strictfp"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 754)
                          nil )
                         (!pair  "invisible"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 755)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 758)
                          nil )
                         (!pair  "local_cni"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 759)
                          nil )
                         (!pair  "bridge"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 760)
                          nil )
                         (!pair  "varargs"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 761)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 834)
                       (!options 
                        (!option tag string  "LANG_DECL_FUNC")
                       )
                      )
                      (!pair  "v"
                       (!type struct 57 nil  gc_used "lang_decl_var"
                        (!srcfileloc  "java/java-tree.h" 824)
                        (!fields 10 
                         (!pair  "slot_number"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 814)
                          nil )
                         (!pair  "start_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 815)
                          nil )
                         (!pair  "end_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 816)
                          nil )
                         (!pair  "slot_chain"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 817)
                          nil )
                         (!pair  "owner"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 818)
                          nil )
                         (!pair  "freed"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 819)
                          nil )
                         (!pair  "local_slot"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 820)
                          nil )
                         (!pair  "class_field"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 821)
                          nil )
                         (!pair  "vtable"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 822)
                          nil )
                         (!pair  "field_enum"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 823)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 835)
                       (!options 
                        (!option tag string  "LANG_DECL_VAR")
                       )
                      )
                     )
                     nil 32 
                     (!type lang_struct 58 nil  gc_used "lang_decl_u"
                      (!srcfileloc  "cp/cp-tree.h" 2153)
                      (!fields 0 )
                      (!options 
                       (!option desc string  "%h.base.selector")
                      )
                      548 
                      (!homotypes 2
                       (!type already_seen 47)
                       
                       (!type union 59 nil  gc_used "lang_decl_u"
                        (!srcfileloc  "cp/cp-tree.h" 2153)
                        (!fields 5 
                         (!pair  "base"
                          (!type struct 60 nil  gc_used "lang_decl_base"
                           (!srcfileloc  "cp/cp-tree.h" 2032)
                           (!fields 12 
                            (!pair  "selector"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2019)
                             nil )
                            (!pair  "language"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2020)
                             nil )
                            (!pair  "use_template"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2021)
                             nil )
                            (!pair  "not_really_extern"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2022)
                             nil )
                            (!pair  "initialized_in_class"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2023)
                             nil )
                            (!pair  "repo_available_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2024)
                             nil )
                            (!pair  "threadprivate_or_deleted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2025)
                             nil )
                            (!pair  "anticipated_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2026)
                             nil )
                            (!pair  "friend_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2027)
                             nil )
                            (!pair  "template_conv_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2028)
                             nil )
                            (!pair  "odr_used"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2029)
                             nil )
                            (!pair  "u2sel"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2030)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2148)
                          (!options 
                           (!option default string  "")
                          )
                         )
                         (!pair  "min"
                          (!type struct 61 nil  gc_used "lang_decl_min"
                           (!srcfileloc  "cp/cp-tree.h" 2064)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2046)
                             nil )
                            (!pair  "template_info"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2053)
                             nil )
                            (!pair  "u2"
                             (!type union 62 nil  gc_used "lang_decl_u2"
                              (!srcfileloc  "cp/cp-tree.h" 2063)
                              (!fields 2 
                               (!pair  "access"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2059)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "discriminator"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2062)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2063)
                             (!options 
                              (!option desc string  "%0.u.base.u2sel")
                             )
                            )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2149)
                          (!options 
                           (!option tag string  "0")
                          )
                         )
                         (!pair  "fn"
                          (!type struct 63 nil  gc_used "lang_decl_fn"
                           (!srcfileloc  "cp/cp-tree.h" 2123)
                           (!fields 20 
                            (!pair  "min"
                             (!type already_seen 61)
                             (!srcfileloc  "cp/cp-tree.h" 2069)
                             nil )
                            (!pair  "operator_code"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2073)
                             nil )
                            (!pair  "global_ctor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2075)
                             nil )
                            (!pair  "global_dtor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2076)
                             nil )
                            (!pair  "assignment_operator_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2077)
                             nil )
                            (!pair  "static_function"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2078)
                             nil )
                            (!pair  "pure_virtual"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2079)
                             nil )
                            (!pair  "defaulted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2080)
                             nil )
                            (!pair  "has_in_charge_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2082)
                             nil )
                            (!pair  "has_vtt_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2083)
                             nil )
                            (!pair  "pending_inline_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2084)
                             nil )
                            (!pair  "nonconverting"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2085)
                             nil )
                            (!pair  "thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2086)
                             nil )
                            (!pair  "this_thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2087)
                             nil )
                            (!pair  "hidden_friend_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2088)
                             nil )
                            (!pair  "omp_declare_reduction_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2089)
                             nil )
                            (!pair  "befriending_classes"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2095)
                             nil )
                            (!pair  "context"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2103)
                             nil )
                            (!pair  "u5"
                             (!type union 64 nil  gc_used "lang_decl_u5"
                              (!srcfileloc  "cp/cp-tree.h" 2114)
                              (!fields 2 
                               (!pair  "cloned_function"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2109)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "fixed_offset"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2113)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2114)
                             (!options 
                              (!option desc string  "%1.thunk_p")
                             )
                            )
                            (!pair  "u"
                             (!type union 65 nil  gc_used "lang_decl_u3"
                              (!srcfileloc  "cp/cp-tree.h" 2121)
                              (!fields 2 
                               (!pair  "pending_inline_info"
                                (!type pointer 66 nil  gc_used
                                 (!type struct 67 
                                  (!type already_seen 66)
                                  gc_pointed_to "cp_token_cache"
                                  (!srcfileloc  "cp/parser.h" 125)
                                  (!fields 2 
                                   (!pair  "first"
                                    (!type pointer 68 nil  gc_unused
                                     (!type struct 69 
                                      (!type already_seen 68)
                                      gc_used "cp_token"
                                      (!srcfileloc  "cp/parser.h" 71)
                                      (!fields 9 
                                       (!pair  "type"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 44)
                                        nil )
                                       (!pair  "keyword"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 47)
                                        nil )
                                       (!pair  "flags"
                                        (!type already_seen 15)
                                        (!srcfileloc  "cp/parser.h" 49)
                                        nil )
                                       (!pair  "pragma_kind"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 51)
                                        nil )
                                       (!pair  "implicit_extern_c"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 53)
                                        nil )
                                       (!pair  "error_reported"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 57)
                                        nil )
                                       (!pair  "purged_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 61)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 63)
                                        nil )
                                       (!pair  "u"
                                        (!type union 70 nil  gc_used "cp_token_value"
                                         (!srcfileloc  "cp/parser.h" 70)
                                         (!fields 2 
                                          (!pair  "tree_check_value"
                                           (!type pointer 71 nil  gc_used
                                            (!type struct 72 
                                             (!type already_seen 71)
                                             gc_pointed_to "tree_check"
                                             (!srcfileloc  "cp/parser.h" 38)
                                             (!fields 3 
                                              (!pair  "value"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 32)
                                               nil )
                                              (!pair  "checks"
                                               (!type pointer 73 nil  gc_used
                                                (!type user_struct 74 
                                                 (!type already_seen 73)
                                                 gc_pointed_to "vec<deferred_access_check,va_gc>"
                                                 (!srcfileloc  "cp/semantics.c" 146)
                                                 (!fields 2 
                                                  (!pair  "va_gc"
                                                   (!type already_seen 3)
                                                   (!srcfileloc  "cp/semantics.c" 146)
                                                   nil )
                                                  (!pair  "deferred_access_check"
                                                   (!type struct 75 nil  gc_used "deferred_access_check"
                                                    (!srcfileloc  "cp/cp-tree.h" 5872)
                                                    (!fields 4 
                                                     (!pair  "binfo"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5865)
                                                      nil )
                                                     (!pair  "decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5867)
                                                      nil )
                                                     (!pair  "diag_decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5869)
                                                      nil )
                                                     (!pair  "loc"
                                                      (!type already_seen 9)
                                                      (!srcfileloc  "cp/cp-tree.h" 5871)
                                                      nil )
                                                    )
                                                    nil 516 nil nil )
                                                   (!srcfileloc  "cp/semantics.c" 146)
                                                   nil )
                                                 )
                                                )
                                               )
                                               (!srcfileloc  "cp/parser.h" 34)
                                               nil )
                                              (!pair  "qualifying_scope"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 37)
                                               nil )
                                             )
                                             nil 516 nil nil )
                                           )
                                           (!srcfileloc  "cp/parser.h" 67)
                                           (!options 
                                            (!option tag string  "1")
                                           )
                                          )
                                          (!pair  "value"
                                           (!type already_seen 5)
                                           (!srcfileloc  "cp/parser.h" 69)
                                           (!options 
                                            (!option tag string  "0")
                                           )
                                          )
                                         )
                                         nil 516 nil )
                                        (!srcfileloc  "cp/parser.h" 70)
                                        (!options 
                                         (!option desc string  "(%1.type == CPP_TEMPLATE_ID) || (%1.type == CPP_NESTED_NAME_SPECIFIER)")
                                        )
                                       )
                                      )
                                      nil 516 nil nil )
                                    )
                                    (!srcfileloc  "cp/parser.h" 121)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "last"
                                    (!type already_seen 68)
                                    (!srcfileloc  "cp/parser.h" 124)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                  )
                                  nil 516 nil nil )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2118)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                               (!pair  "saved_language_function"
                                (!type pointer 76 nil  gc_used
                                 (!type lang_struct 77 
                                  (!type already_seen 76)
                                  gc_pointed_to "language_function"
                                  (!srcfileloc  "ada/gcc-interface/trans.c" 144)
                                  (!fields 0 )
                                  nil 1023 
                                  (!homotypes 8
                                   (!type struct 78 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "lto/lto-tree.h" 44)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "lto/lto-tree.h" 43)
                                      nil )
                                    )
                                    nil 128 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 79 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "jit/dummy-frontend.c" 94)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "jit/dummy-frontend.c" 93)
                                      nil )
                                    )
                                    nil 64 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 80 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "java/lang.c" 126)
                                    (!fields 1 
                                     (!pair  "unused"
                                      (!type already_seen 9)
                                      (!srcfileloc  "java/lang.c" 125)
                                      nil )
                                    )
                                    nil 32 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 81 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "go/go-lang.c" 97)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "go/go-lang.c" 96)
                                      nil )
                                    )
                                    nil 16 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 82 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "fortran/f95-lang.c" 91)
                                    (!fields 1 
                                     (!pair  "binding_level"
                                      (!type pointer 83 nil  gc_used
                                       (!type lang_struct 84 
                                        (!type already_seen 83)
                                        gc_pointed_to "binding_level"
                                        (!srcfileloc  "fortran/f95-lang.c" 339)
                                        (!fields 0 )
                                        nil 40 
                                        (!homotypes 2
                                         (!type struct 85 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "java/decl.c" 441)
                                          (!fields 10 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 409)
                                            nil )
                                           (!pair  "shadowed"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 415)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 420)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 83)
                                            (!srcfileloc  "java/decl.c" 423)
                                            nil )
                                           (!pair  "end_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 426)
                                            nil )
                                           (!pair  "start_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 428)
                                            nil )
                                           (!pair  "stmts"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 431)
                                            nil )
                                           (!pair  "exception_range"
                                            (!type pointer 86 nil  gc_unused
                                             (!type struct 87 
                                              (!type already_seen 86)
                                              gc_unused "eh_range"nil 
                                              (!fields 0 )
                                              nil 0 nil nil )
                                            )
                                            (!srcfileloc  "java/decl.c" 434)
                                            (!options 
                                             (!option skip string  "")
                                            )
                                           )
                                           (!pair  "binding_depth"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 437)
                                            nil )
                                           (!pair  "loc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 440)
                                            nil )
                                          )
                                          nil 32 
                                          (!type already_seen 84)
                                          nil )
                                         
                                         (!type struct 88 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "fortran/f95-lang.c" 339)
                                          (!fields 3 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 333)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 336)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 83)
                                            (!srcfileloc  "fortran/f95-lang.c" 338)
                                            nil )
                                          )
                                          nil 8 
                                          (!type already_seen 84)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "fortran/f95-lang.c" 90)
                                      nil )
                                    )
                                    nil 8 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 89 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "cp/cp-tree.h" 1238)
                                    (!fields 22 
                                     (!pair  "base"
                                      (!type struct 90 nil  gc_used "c_language_function"
                                       (!srcfileloc  "c-family/c-common.h" 547)
                                       (!fields 2 
                                        (!pair  "x_stmt_tree"
                                         (!type struct 91 
                                          (!type pointer 92 nil  gc_unused
                                           (!type already_seen 91)
                                          )
                                          gc_used "stmt_tree_s"
                                          (!srcfileloc  "c-family/c-common.h" 532)
                                          (!fields 2 
                                           (!pair  "x_cur_stmt_list"
                                            (!type already_seen 49)
                                            (!srcfileloc  "c-family/c-common.h" 520)
                                            nil )
                                           (!pair  "stmts_are_full_exprs_p"
                                            (!type already_seen 9)
                                            (!srcfileloc  "c-family/c-common.h" 531)
                                            nil )
                                          )
                                          nil 774 nil nil )
                                         (!srcfileloc  "c-family/c-common.h" 542)
                                         nil )
                                        (!pair  "local_typedefs"
                                         (!type already_seen 49)
                                         (!srcfileloc  "c-family/c-common.h" 546)
                                         nil )
                                       )
                                       nil 774 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 1208)
                                      nil )
                                     (!pair  "x_cdtor_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1210)
                                      nil )
                                     (!pair  "x_current_class_ptr"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1211)
                                      nil )
                                     (!pair  "x_current_class_ref"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1212)
                                      nil )
                                     (!pair  "x_eh_spec_block"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1213)
                                      nil )
                                     (!pair  "x_in_charge_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1214)
                                      nil )
                                     (!pair  "x_vtt_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1215)
                                      nil )
                                     (!pair  "x_return_value"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1216)
                                      nil )
                                     (!pair  "x_auto_return_pattern"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1217)
                                      nil )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1219)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1220)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1221)
                                      nil )
                                     (!pair  "infinite_loop"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1222)
                                      nil )
                                     (!pair  "x_in_function_try_handler"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1223)
                                      nil )
                                     (!pair  "x_in_base_initializer"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1224)
                                      nil )
                                     (!pair  "can_throw"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1227)
                                      nil )
                                     (!pair  "invalid_constexpr"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1229)
                                      nil )
                                     (!pair  "x_named_labels"
                                      (!type pointer 93 nil  gc_used
                                       (!type user_struct 94 
                                        (!type already_seen 93)
                                        gc_pointed_to "hash_table<named_label_hasher>"
                                        (!srcfileloc  "cp/cp-tree.h" 1231)
                                        (!fields 1 
                                         (!pair  "named_label_hasher"
                                          (!type struct 95 nil  gc_used "named_label_hasher"
                                           (!srcfileloc  "cp/cp-tree.h" 1231)
                                           (!fields 0 )
                                           nil 516 nil nil )
                                          (!srcfileloc  "cp/cp-tree.h" 1231)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1231)
                                      nil )
                                     (!pair  "bindings"
                                      (!type pointer 96 nil  gc_used
                                       (!type struct 97 
                                        (!type already_seen 96)
                                        gc_pointed_to "cp_binding_level"
                                        (!srcfileloc  "cp/name-lookup.h" 266)
                                        (!fields 20 
                                         (!pair  "names"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 187)
                                          nil )
                                         (!pair  "namespaces"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 190)
                                          nil )
                                         (!pair  "static_decls"
                                          (!type already_seen 49)
                                          (!srcfileloc  "cp/name-lookup.h" 193)
                                          nil )
                                         (!pair  "usings"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 196)
                                          nil )
                                         (!pair  "using_directives"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 200)
                                          nil )
                                         (!pair  "class_shadowed"
                                          (!type pointer 98 nil  gc_used
                                           (!type user_struct 99 
                                            (!type already_seen 98)
                                            gc_pointed_to "vec<cp_class_binding,va_gc>"
                                            (!srcfileloc  "cp/name-lookup.h" 204)
                                            (!fields 2 
                                             (!pair  "va_gc"
                                              (!type already_seen 3)
                                              (!srcfileloc  "cp/name-lookup.h" 204)
                                              nil )
                                             (!pair  "cp_class_binding"
                                              (!type struct 100 nil  gc_used "cp_class_binding"
                                               (!srcfileloc  "cp/name-lookup.h" 147)
                                               (!fields 2 
                                                (!pair  "base"
                                                 (!type pointer 101 nil  gc_used
                                                  (!type struct 102 
                                                   (!type already_seen 101)
                                                   gc_pointed_to "cxx_binding"
                                                   (!srcfileloc  "cp/name-lookup.h" 76)
                                                   (!fields 6 
                                                    (!pair  "previous"
                                                     (!type already_seen 101)
                                                     (!srcfileloc  "cp/name-lookup.h" 67)
                                                     nil )
                                                    (!pair  "value"
                                                     (!type already_seen 5)
                                                     (!srcfileloc  "cp/name-lookup.h" 69)
                                                     nil )
                                                    (!pair  "type"
                                                     (!type already_seen 5)
                                                     (!srcfileloc  "cp/name-lookup.h" 71)
                                                     nil )
                                                    (!pair  "scope"
                                                     (!type already_seen 96)
                                                     (!srcfileloc  "cp/name-lookup.h" 73)
                                                     nil )
                                                    (!pair  "value_is_inherited"
                                                     (!type already_seen 9)
                                                     (!srcfileloc  "cp/name-lookup.h" 74)
                                                     nil )
                                                    (!pair  "is_local"
                                                     (!type already_seen 9)
                                                     (!srcfileloc  "cp/name-lookup.h" 75)
                                                     nil )
                                                   )
                                                   nil 516 nil nil )
                                                 )
                                                 (!srcfileloc  "cp/name-lookup.h" 144)
                                                 nil )
                                                (!pair  "identifier"
                                                 (!type already_seen 5)
                                                 (!srcfileloc  "cp/name-lookup.h" 146)
                                                 nil )
                                               )
                                               nil 516 nil nil )
                                              (!srcfileloc  "cp/name-lookup.h" 204)
                                              nil )
                                            )
                                           )
                                          )
                                          (!srcfileloc  "cp/name-lookup.h" 204)
                                          nil )
                                         (!pair  "type_shadowed"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 211)
                                          nil )
                                         (!pair  "shadowed_labels"
                                          (!type pointer 103 nil  gc_used
                                           (!type user_struct 104 
                                            (!type already_seen 103)
                                            gc_pointed_to "vec<cp_label_binding,va_gc>"
                                            (!srcfileloc  "cp/name-lookup.h" 215)
                                            (!fields 2 
                                             (!pair  "va_gc"
                                              (!type already_seen 3)
                                              (!srcfileloc  "cp/name-lookup.h" 215)
                                              nil )
                                             (!pair  "cp_label_binding"
                                              (!type struct 105 nil  gc_used "cp_label_binding"
                                               (!srcfileloc  "cp/name-lookup.h" 155)
                                               (!fields 2 
                                                (!pair  "label"
                                                 (!type already_seen 5)
                                                 (!srcfileloc  "cp/name-lookup.h" 152)
                                                 nil )
                                                (!pair  "prev_value"
                                                 (!type already_seen 5)
                                                 (!srcfileloc  "cp/name-lookup.h" 154)
                                                 nil )
                                               )
                                               nil 516 nil nil )
                                              (!srcfileloc  "cp/name-lookup.h" 215)
                                              nil )
                                            )
                                           )
                                          )
                                          (!srcfileloc  "cp/name-lookup.h" 215)
                                          nil )
                                         (!pair  "blocks"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 220)
                                          nil )
                                         (!pair  "this_entity"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 224)
                                          nil )
                                         (!pair  "level_chain"
                                          (!type already_seen 96)
                                          (!srcfileloc  "cp/name-lookup.h" 227)
                                          nil )
                                         (!pair  "dead_vars_from_for"
                                          (!type already_seen 49)
                                          (!srcfileloc  "cp/name-lookup.h" 232)
                                          nil )
                                         (!pair  "statement_list"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 236)
                                          nil )
                                         (!pair  "binding_depth"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 239)
                                          nil )
                                         (!pair  "kind"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 244)
                                          nil )
                                         (!pair  "explicit_spec_p"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 248)
                                          nil )
                                         (!pair  "keep"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 251)
                                          nil )
                                         (!pair  "more_cleanups_ok"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 255)
                                          nil )
                                         (!pair  "have_cleanups"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 256)
                                          nil )
                                         (!pair  "defining_class_p"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 263)
                                          nil )
                                        )
                                        nil 516 nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1232)
                                      nil )
                                     (!pair  "x_local_names"
                                      (!type already_seen 49)
                                      (!srcfileloc  "cp/cp-tree.h" 1233)
                                      nil )
                                     (!pair  "infinite_loops"
                                      (!type already_seen 49)
                                      (!srcfileloc  "cp/cp-tree.h" 1236)
                                      nil )
                                     (!pair  "extern_decl_map"
                                      (!type pointer 106 nil  gc_used
                                       (!type user_struct 107 
                                        (!type already_seen 106)
                                        gc_pointed_to "hash_table<cxx_int_tree_map_hasher>"
                                        (!srcfileloc  "cp/cp-tree.h" 1237)
                                        (!fields 1 
                                         (!pair  "cxx_int_tree_map_hasher"
                                          (!type struct 108 nil  gc_used "cxx_int_tree_map_hasher"
                                           (!srcfileloc  "cp/cp-tree.h" 1237)
                                           (!fields 0 )
                                           nil 516 nil nil )
                                          (!srcfileloc  "cp/cp-tree.h" 1237)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1237)
                                      nil )
                                    )
                                    nil 516 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 109 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "c/c-lang.h" 56)
                                    (!fields 9 
                                     (!pair  "base"
                                      (!type already_seen 90)
                                      (!srcfileloc  "c/c-lang.h" 47)
                                      nil )
                                     (!pair  "x_break_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 48)
                                      nil )
                                     (!pair  "x_cont_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 49)
                                      nil )
                                     (!pair  "x_switch_stack"
                                      (!type pointer 110 nil  gc_unused
                                       (!type struct 111 
                                        (!type already_seen 110)
                                        gc_unused "c_switch"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 50)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "arg_info"
                                      (!type pointer 112 nil  gc_unused
                                       (!type struct 113 
                                        (!type already_seen 112)
                                        gc_unused "c_arg_info"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 51)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 52)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 53)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 54)
                                      nil )
                                     (!pair  "warn_about_return_type"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 55)
                                      nil )
                                    )
                                    nil 258 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 114 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 144)
                                    (!fields 4 
                                     (!pair  "parm_attr_cache"
                                      (!type pointer 115 nil  gc_used
                                       (!type user_struct 116 
                                        (!type already_seen 115)
                                        gc_pointed_to "vec<parm_attr,va_gc>"
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 140)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 3)
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 140)
                                          nil )
                                         (!pair  "parm_attr"
                                          (!type pointer 117 nil  gc_used
                                           (!type struct 118 
                                            (!type already_seen 117)
                                            gc_pointed_to "parm_attr_d"
                                            (!srcfileloc  "ada/gcc-interface/trans.c" 134)
                                            (!fields 5 
                                             (!pair  "id"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 129)
                                              nil )
                                             (!pair  "dim"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 130)
                                              nil )
                                             (!pair  "first"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 131)
                                              nil )
                                             (!pair  "last"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 132)
                                              nil )
                                             (!pair  "length"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 133)
                                              nil )
                                            )
                                            nil 1 nil nil )
                                          )
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 140)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 140)
                                      nil )
                                     (!pair  "named_ret_val"
                                      (!type pointer 119 nil  gc_used
                                       (!type struct 120 
                                        (!type already_seen 119)
                                        gc_pointed_to "bitmap_head"
                                        (!srcfileloc  "bitmap.h" 189)
                                        (!fields 5 
                                         (!pair  "indx"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 181)
                                          nil )
                                         (!pair  "descriptor_id"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 182)
                                          nil )
                                         (!pair  "first"
                                          (!type pointer 121 nil  gc_used
                                           (!type struct 122 
                                            (!type already_seen 121)
                                            gc_pointed_to "bitmap_element"
                                            (!srcfileloc  "bitmap.h" 185)
                                            (!fields 4 
                                             (!pair  "next"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 171)
                                              nil )
                                             (!pair  "prev"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 172)
                                              nil )
                                             (!pair  "indx"
                                              (!type already_seen 9)
                                              (!srcfileloc  "bitmap.h" 173)
                                              nil )
                                             (!pair  "bits"
                                              (!type array 123 nil  gc_used "BITMAP_ELEMENT_WORDS" 
                                               (!type already_seen 9)
                                              )
                                              (!srcfileloc  "bitmap.h" 174)
                                              nil )
                                            )
                                            (!options 
                                             (!option chain_prev string  "%h.prev")
                                             (!option chain_next string  "%h.next")
                                            )
                                            1023 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 185)
                                          nil )
                                         (!pair  "current"
                                          (!type already_seen 121)
                                          (!srcfileloc  "bitmap.h" 186)
                                          (!options 
                                           (!option skip string  "")
                                          )
                                         )
                                         (!pair  "obstack"
                                          (!type pointer 124 nil  gc_used
                                           (!type struct 125 
                                            (!type already_seen 124)
                                            gc_pointed_to "bitmap_obstack"
                                            (!srcfileloc  "bitmap.h" 187)
                                            (!fields 3 
                                             (!pair  "elements"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 153)
                                              nil )
                                             (!pair  "heads"
                                              (!type already_seen 119)
                                              (!srcfileloc  "bitmap.h" 154)
                                              nil )
                                             (!pair  "obstack"
                                              (!type struct 126 nil  gc_unused "obstack"nil 
                                               (!fields 0 )
                                               nil 0 nil nil )
                                              (!srcfileloc  "bitmap.h" 155)
                                              (!options 
                                               (!option skip string  "")
                                              )
                                             )
                                            )
                                            nil 1023 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 187)
                                          nil )
                                        )
                                        nil 1023 nil nil )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 141)
                                      nil )
                                     (!pair  "other_ret_val"
                                      (!type already_seen 49)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 142)
                                      nil )
                                     (!pair  "gnat_ret"
                                      (!type already_seen 9)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 143)
                                      nil )
                                    )
                                    nil 1 
                                    (!type already_seen 77)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2120)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2121)
                             (!options 
                              (!option desc string  "%1.pending_inline_p")
                             )
                            )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2150)
                          (!options 
                           (!option tag string  "1")
                          )
                         )
                         (!pair  "ns"
                          (!type struct 127 nil  gc_used "lang_decl_ns"
                           (!srcfileloc  "cp/cp-tree.h" 2132)
                           (!fields 4 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2128)
                             nil )
                            (!pair  "level"
                             (!type already_seen 96)
                             (!srcfileloc  "cp/cp-tree.h" 2129)
                             nil )
                            (!pair  "ns_using"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2130)
                             nil )
                            (!pair  "ns_users"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2131)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2151)
                          (!options 
                           (!option tag string  "2")
                          )
                         )
                         (!pair  "parm"
                          (!type struct 128 nil  gc_used "lang_decl_parm"
                           (!srcfileloc  "cp/cp-tree.h" 2140)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2137)
                             nil )
                            (!pair  "level"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2138)
                             nil )
                            (!pair  "index"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2139)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2152)
                          (!options 
                           (!option tag string  "3")
                          )
                         )
                        )
                        (!options 
                         (!option desc string  "%h.base.selector")
                        )
                        516 
                        (!type already_seen 58)
                       )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 836)
                    (!options 
                     (!option desc string  "%0.desc")
                    )
                   )
                  )
                  nil 32 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 129 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "go/go-lang.c" 71)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "go/go-lang.c" 70)
                    nil )
                  )
                  nil 16 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 130 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "fortran/trans.h" 880)
                  (!fields 8 
                   (!pair  "saved_descriptor"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 868)
                    nil )
                   (!pair  "stringlen"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 873)
                    nil )
                   (!pair  "addr"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 874)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 875)
                    nil )
                   (!pair  "token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 877)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 877)
                    nil )
                   (!pair  "scalar_allocatable"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 878)
                    nil )
                   (!pair  "scalar_pointer"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 879)
                    nil )
                  )
                  nil 8 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 131 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "cp/cp-tree.h" 2154)
                  (!fields 1 
                   (!pair  "u"
                    (!type already_seen 58)
                    (!srcfileloc  "cp/cp-tree.h" 2153)
                    nil )
                  )
                  nil 516 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 132 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "c/c-lang.h" 40)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "c/c-lang.h" 39)
                    nil )
                  )
                  nil 258 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 133 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                  (!fields 1 
                   (!pair  "t"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                    nil )
                  )
                  nil 1 
                  (!type already_seen 43)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1481)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1695)
           (!options 
            (!option tag string  "TS_DECL_COMMON")
           )
          )
          (!pair  "decl_with_rtl"
           (!type struct 134 nil  gc_used "tree_decl_with_rtl"
            (!srcfileloc  "tree-core.h" 1487)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 41)
              (!srcfileloc  "tree-core.h" 1485)
              nil )
             (!pair  "rtl"
              (!type pointer 135 
               (!type pointer 136 nil  gc_used
                (!type already_seen 135)
               )
               gc_pointed_to
               (!type struct 137 
                (!type already_seen 135)
                gc_pointed_to "rtx_def"
                (!srcfileloc  "rtl.h" 403)
                (!fields 12 
                 (!pair  "code"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 286)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 289)
                  nil )
                 (!pair  "jump"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 301)
                  nil )
                 (!pair  "call"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 306)
                  nil )
                 (!pair  "unchanging"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 317)
                  nil )
                 (!pair  "volatil"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 330)
                  nil )
                 (!pair  "in_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 344)
                  nil )
                 (!pair  "used"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 353)
                  nil )
                 (!pair  "frame_related"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 361)
                  nil )
                 (!pair  "return_val"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 367)
                  nil )
                 (!pair  "u2"
                  (!type union 138 nil  gc_unused "anonymous:../../gcc/rtl.h:369"
                   (!srcfileloc  "rtl.h" 390)
                   (!fields 5 
                    (!pair  "original_regno"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 376)
                     nil )
                    (!pair  "insn_uid"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 379)
                     nil )
                    (!pair  "symbol_ref_flags"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 382)
                     nil )
                    (!pair  "var_location_status"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 385)
                     nil )
                    (!pair  "num_elem"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 389)
                     nil )
                   )
                   nil 1023 nil )
                  (!srcfileloc  "rtl.h" 390)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "u"
                  (!type union 139 nil  gc_used "rtx_def_subunion"
                   (!srcfileloc  "rtl.h" 402)
                   (!fields 148 
                    (!pair  ""
                     (!type struct 140 nil  gc_used "rtx_def_debug_parameter_ref"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "DEBUG_PARAMETER_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 141 nil  gc_used "rtx_def_entry_value"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ENTRY_VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 142 nil  gc_used "rtx_def_debug_implicit_ptr"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "DEBUG_IMPLICIT_PTR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 143 nil  gc_used "rtx_def_var_location"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "VAR_LOCATION")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 144 nil  gc_used "rtx_def_fma"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "FMA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 145 nil  gc_used "rtx_def_us_truncate"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "US_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 146 nil  gc_used "rtx_def_ss_truncate"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SS_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 147 nil  gc_used "rtx_def_us_minus"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "US_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 148 nil  gc_used "rtx_def_us_ashift"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "US_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 149 nil  gc_used "rtx_def_ss_ashift"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SS_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 150 nil  gc_used "rtx_def_ss_abs"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SS_ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 151 nil  gc_used "rtx_def_us_neg"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "US_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 152 nil  gc_used "rtx_def_ss_neg"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SS_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 153 nil  gc_used "rtx_def_ss_minus"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SS_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 154 nil  gc_used "rtx_def_us_plus"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "US_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 155 nil  gc_used "rtx_def_ss_plus"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SS_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 156 nil  gc_used "rtx_def_vec_duplicate"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "VEC_DUPLICATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 157 nil  gc_used "rtx_def_vec_concat"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "VEC_CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 158 nil  gc_used "rtx_def_vec_select"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "VEC_SELECT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 159 nil  gc_used "rtx_def_vec_merge"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "VEC_MERGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 160 nil  gc_used "rtx_def_lo_sum"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "LO_SUM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 161 nil  gc_used "rtx_def_high"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "HIGH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 162 nil  gc_used "rtx_def_zero_extract"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ZERO_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 163 nil  gc_used "rtx_def_sign_extract"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SIGN_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 164 nil  gc_used "rtx_def_parity"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "PARITY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 165 nil  gc_used "rtx_def_popcount"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "POPCOUNT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 166 nil  gc_used "rtx_def_ctz"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CTZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 167 nil  gc_used "rtx_def_clz"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CLZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 168 nil  gc_used "rtx_def_clrsb"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CLRSB")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 169 nil  gc_used "rtx_def_ffs"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "FFS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 170 nil  gc_used "rtx_def_bswap"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "BSWAP")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 171 nil  gc_used "rtx_def_sqrt"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SQRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 172 nil  gc_used "rtx_def_abs"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 173 nil  gc_used "rtx_def_unsigned_sat_fract"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNSIGNED_SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 174 nil  gc_used "rtx_def_sat_fract"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 175 nil  gc_used "rtx_def_unsigned_fract_convert"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNSIGNED_FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 176 nil  gc_used "rtx_def_fract_convert"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 177 nil  gc_used "rtx_def_unsigned_fix"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNSIGNED_FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 178 nil  gc_used "rtx_def_unsigned_float"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNSIGNED_FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 179 nil  gc_used "rtx_def_fix"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 180 nil  gc_used "rtx_def_float"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 181 nil  gc_used "rtx_def_float_truncate"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "FLOAT_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 182 nil  gc_used "rtx_def_float_extend"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "FLOAT_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 183 nil  gc_used "rtx_def_truncate"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 184 nil  gc_used "rtx_def_zero_extend"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ZERO_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 185 nil  gc_used "rtx_def_sign_extend"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SIGN_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 186 nil  gc_used "rtx_def_ltgt"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "LTGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 187 nil  gc_used "rtx_def_unlt"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNLT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 188 nil  gc_used "rtx_def_unle"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 189 nil  gc_used "rtx_def_ungt"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 190 nil  gc_used "rtx_def_unge"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 191 nil  gc_used "rtx_def_uneq"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNEQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 192 nil  gc_used "rtx_def_ordered"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 193 nil  gc_used "rtx_def_unordered"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 194 nil  gc_used "rtx_def_ltu"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "LTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 195 nil  gc_used "rtx_def_leu"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "LEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 196 nil  gc_used "rtx_def_gtu"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "GTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 197 nil  gc_used "rtx_def_geu"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "GEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 198 nil  gc_used "rtx_def_lt"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "LT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 199 nil  gc_used "rtx_def_le"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "LE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 200 nil  gc_used "rtx_def_gt"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "GT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 201 nil  gc_used "rtx_def_ge"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "GE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 202 nil  gc_used "rtx_def_eq"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "EQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 203 nil  gc_used "rtx_def_ne"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "NE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 204 nil  gc_used "rtx_def_post_modify"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "POST_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 205 nil  gc_used "rtx_def_pre_modify"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "PRE_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 206 nil  gc_used "rtx_def_post_inc"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "POST_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 207 nil  gc_used "rtx_def_post_dec"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "POST_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 208 nil  gc_used "rtx_def_pre_inc"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "PRE_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 209 nil  gc_used "rtx_def_pre_dec"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "PRE_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 210 nil  gc_used "rtx_def_umax"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 211 nil  gc_used "rtx_def_umin"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 212 nil  gc_used "rtx_def_smax"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 213 nil  gc_used "rtx_def_smin"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 214 nil  gc_used "rtx_def_rotatert"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ROTATERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 215 nil  gc_used "rtx_def_lshiftrt"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "LSHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 216 nil  gc_used "rtx_def_ashiftrt"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ASHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 217 nil  gc_used "rtx_def_rotate"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ROTATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 218 nil  gc_used "rtx_def_ashift"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 219 nil  gc_used "rtx_def_not"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "NOT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 220 nil  gc_used "rtx_def_xor"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "XOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 221 nil  gc_used "rtx_def_ior"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "IOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 222 nil  gc_used "rtx_def_and"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "AND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 223 nil  gc_used "rtx_def_umod"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UMOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 224 nil  gc_used "rtx_def_udiv"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UDIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 225 nil  gc_used "rtx_def_mod"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "MOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 226 nil  gc_used "rtx_def_us_div"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "US_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 227 nil  gc_used "rtx_def_ss_div"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SS_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 228 nil  gc_used "rtx_def_div"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 229 nil  gc_used "rtx_def_us_mult"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "US_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 230 nil  gc_used "rtx_def_ss_mult"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SS_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 231 nil  gc_used "rtx_def_mult"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 232 nil  gc_used "rtx_def_neg"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 233 nil  gc_used "rtx_def_minus"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 234 nil  gc_used "rtx_def_plus"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 235 nil  gc_used "rtx_def_compare"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "COMPARE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 236 nil  gc_used "rtx_def_if_then_else"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "IF_THEN_ELSE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 237 nil  gc_used "rtx_def_cc0"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CC0")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 238 nil  gc_used "rtx_def_symbol_ref"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 3 
                       (!pair  "block_sym"
                        (!type union 239 nil  gc_used "fake_union_1"
                         (!srcfileloc  "rtl.h" 402)
                         (!fields 1 
                          (!pair  ""
                           (!type struct 240 nil  gc_used "block_symbol"
                            (!srcfileloc  "rtl.h" 222)
                            (!fields 3 
                             (!pair  "fld"
                              (!type array 241 nil  gc_unused "2" 
                               (!type undefined 242 nil  gc_unused "rtunion"
                                (!srcfileloc  "rtl.h" 214)
                               )
                              )
                              (!srcfileloc  "rtl.h" 214)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                             (!pair  "block"
                              (!type pointer 243 nil  gc_used
                               (!type struct 244 
                                (!type already_seen 243)
                                gc_pointed_to "object_block"
                                (!srcfileloc  "rtl.h" 255)
                                (!fields 5 
                                 (!pair  "sect"
                                  (!type pointer 245 nil  gc_used
                                   (!type union 246 
                                    (!type already_seen 245)
                                    gc_pointed_to "section"
                                    (!srcfileloc  "output.h" 501)
                                    (!fields 4 
                                     (!pair  "common"
                                      (!type struct 247 nil  gc_used "section_common"
                                       (!srcfileloc  "output.h" 443)
                                       (!fields 1 
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 442)
                                         nil )
                                       )
                                       nil 1023 nil nil )
                                      (!srcfileloc  "output.h" 497)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "named"
                                      (!type struct 248 nil  gc_used "named_section"
                                       (!srcfileloc  "output.h" 455)
                                       (!fields 3 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 447)
                                         nil )
                                        (!pair  "name"
                                         (!type already_seen 39)
                                         (!srcfileloc  "output.h" 450)
                                         nil )
                                        (!pair  "decl"
                                         (!type already_seen 5)
                                         (!srcfileloc  "output.h" 454)
                                         nil )
                                       )
                                       nil 1023 nil nil )
                                      (!srcfileloc  "output.h" 498)
                                      (!options 
                                       (!option tag string  "SECTION_NAMED")
                                      )
                                     )
                                     (!pair  "unnamed"
                                      (!type struct 249 nil  gc_used "unnamed_section"
                                       (!srcfileloc  "output.h" 472)
                                       (!fields 4 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 463)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 467)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "data"
                                         (!type already_seen 10)
                                         (!srcfileloc  "output.h" 468)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "next"
                                         (!type already_seen 245)
                                         (!srcfileloc  "output.h" 471)
                                         nil )
                                       )
                                       nil 1023 nil nil )
                                      (!srcfileloc  "output.h" 499)
                                      (!options 
                                       (!option tag string  "SECTION_UNNAMED")
                                      )
                                     )
                                     (!pair  "noswitch"
                                      (!type struct 250 nil  gc_used "noswitch_section"
                                       (!srcfileloc  "output.h" 493)
                                       (!fields 2 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 489)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 492)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                       )
                                       nil 1023 nil nil )
                                      (!srcfileloc  "output.h" 500)
                                      (!options 
                                       (!option tag string  "SECTION_NOSWITCH")
                                      )
                                     )
                                    )
                                    (!options 
                                     (!option for_user string  "")
                                     (!option desc string  "SECTION_STYLE (&(%h))")
                                    )
                                    1023 nil )
                                  )
                                  (!srcfileloc  "rtl.h" 228)
                                  nil )
                                 (!pair  "alignment"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 231)
                                  nil )
                                 (!pair  "size"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 234)
                                  nil )
                                 (!pair  "objects"
                                  (!type pointer 251 nil  gc_used
                                   (!type user_struct 252 
                                    (!type already_seen 251)
                                    gc_pointed_to "vec<rtx,va_gc>"
                                    (!srcfileloc  "rtl.h" 244)
                                    (!fields 2 
                                     (!pair  "va_gc"
                                      (!type already_seen 3)
                                      (!srcfileloc  "rtl.h" 244)
                                      nil )
                                     (!pair  "rtx"
                                      (!type already_seen 135)
                                      (!srcfileloc  "rtl.h" 244)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "rtl.h" 244)
                                  nil )
                                 (!pair  "anchors"
                                  (!type already_seen 251)
                                  (!srcfileloc  "rtl.h" 254)
                                  nil )
                                )
                                (!options 
                                 (!option for_user string  "")
                                )
                                1023 nil nil )
                              )
                              (!srcfileloc  "rtl.h" 217)
                              nil )
                             (!pair  "offset"
                              (!type already_seen 9)
                              (!srcfileloc  "rtl.h" 221)
                              nil )
                            )
                            nil 1023 nil nil )
                           (!srcfileloc  "gengtype.c" 1015)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 1023 nil )
                        (!srcfileloc  "gengtype.c" 1354)
                        (!options 
                         (!option desc string  "SYMBOL_REF_HAS_BLOCK_INFO_P (&%0)")
                        )
                       )
                       (!pair  ".fld[1]."
                        (!type union 253 nil  gc_used "rtx_def_symbol_subunion"
                         (!srcfileloc  "rtl.h" 402)
                         (!fields 2 
                          (!pair  "rt_constant"
                           (!type pointer 254 nil  gc_used
                            (!type struct 255 
                             (!type already_seen 254)
                             gc_pointed_to "constant_descriptor_rtx"
                             (!srcfileloc  "varasm.c" 3530)
                             (!fields 10 
                              (!pair  "next"
                               (!type already_seen 254)
                               (!srcfileloc  "varasm.c" 3520)
                               nil )
                              (!pair  "mem"
                               (!type already_seen 135)
                               (!srcfileloc  "varasm.c" 3521)
                               nil )
                              (!pair  "sym"
                               (!type already_seen 135)
                               (!srcfileloc  "varasm.c" 3522)
                               nil )
                              (!pair  "constant"
                               (!type already_seen 135)
                               (!srcfileloc  "varasm.c" 3523)
                               nil )
                              (!pair  "offset"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3524)
                               nil )
                              (!pair  "hash"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3525)
                               nil )
                              (!pair  "mode"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3526)
                               nil )
                              (!pair  "align"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3527)
                               nil )
                              (!pair  "labelno"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3528)
                               nil )
                              (!pair  "mark"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3529)
                               nil )
                             )
                             (!options 
                              (!option for_user string  "")
                              (!option chain_next string  "%h.next")
                             )
                             1023 nil nil )
                           )
                           (!srcfileloc  "gengtype.c" 1220)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1218)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 1023 nil )
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option desc string  "CONSTANT_POOL_ADDRESS_P (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SYMBOL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 256 nil  gc_used "rtx_def_label_ref"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "LABEL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 257 nil  gc_used "rtx_def_mem"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_mem"
                        (!type pointer 258 nil  gc_used
                         (!type struct 259 
                          (!type already_seen 258)
                          gc_pointed_to "mem_attrs"
                          (!srcfileloc  "rtl.h" 175)
                          (!fields 8 
                           (!pair  "expr"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 149)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 153)
                            nil )
                           (!pair  "size"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 157)
                            nil )
                           (!pair  "alias"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 160)
                            nil )
                           (!pair  "align"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 165)
                            nil )
                           (!pair  "addrspace"
                            (!type already_seen 15)
                            (!srcfileloc  "rtl.h" 168)
                            nil )
                           (!pair  "offset_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 171)
                            nil )
                           (!pair  "size_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 174)
                            nil )
                          )
                          nil 1023 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "MEM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 260 nil  gc_used "rtx_def_concatn"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type pointer 261 nil  gc_used
                         (!type struct 262 
                          (!type already_seen 261)
                          gc_pointed_to "rtvec_def"
                          (!srcfileloc  "rtl.h" 670)
                          (!fields 2 
                           (!pair  "num_elem"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 668)
                            nil )
                           (!pair  "elem"
                            (!type array 263 nil  gc_used "1" 
                             (!type already_seen 135)
                            )
                            (!srcfileloc  "rtl.h" 669)
                            (!options 
                             (!option length string  "%h.num_elem")
                            )
                           )
                          )
                          nil 1023 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONCATN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 264 nil  gc_used "rtx_def_concat"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 265 nil  gc_used "rtx_def_strict_low_part"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "STRICT_LOW_PART")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 266 nil  gc_used "rtx_def_subreg"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SUBREG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 267 nil  gc_used "rtx_def_scratch"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SCRATCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 268 nil  gc_used "rtx_def_reg"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_reg"
                        (!type pointer 269 nil  gc_used
                         (!type struct 270 
                          (!type already_seen 269)
                          gc_pointed_to "reg_attrs"
                          (!srcfileloc  "rtl.h" 187)
                          (!fields 2 
                           (!pair  "decl"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 185)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 186)
                            nil )
                          )
                          (!options 
                           (!option for_user string  "")
                          )
                          1023 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "REG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 271 nil  gc_used "rtx_def_pc"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "PC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 272 nil  gc_used "rtx_def_const"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 273 nil  gc_used "rtx_def_const_string"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONST_STRING")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 274 nil  gc_used "rtx_def_const_vector"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONST_VECTOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 275 nil  gc_used "rtx_def_const_double"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONST_DOUBLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 276 nil  gc_used "rtx_def_const_fixed"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONST_FIXED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 277 nil  gc_used "rtx_def_const_wide_int"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONST_WIDE_INT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 278 nil  gc_used "rtx_def_const_int"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CONST_INT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 279 nil  gc_used "rtx_def_trap_if"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "TRAP_IF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 280 nil  gc_used "rtx_def_eh_return"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "EH_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 281 nil  gc_used "rtx_def_simple_return"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SIMPLE_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 282 nil  gc_used "rtx_def_return"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 283 nil  gc_used "rtx_def_call"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CALL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 284 nil  gc_used "rtx_def_clobber"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CLOBBER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 285 nil  gc_used "rtx_def_use"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "USE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 286 nil  gc_used "rtx_def_set"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SET")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 287 nil  gc_used "rtx_def_prefetch"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "PREFETCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 288 nil  gc_used "rtx_def_addr_diff_vec"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 5 
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ADDR_DIFF_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 289 nil  gc_used "rtx_def_addr_vec"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ADDR_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 290 nil  gc_used "rtx_def_unspec_volatile"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNSPEC_VOLATILE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 291 nil  gc_used "rtx_def_unspec"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNSPEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 292 nil  gc_used "rtx_def_asm_operands"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ASM_OPERANDS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 293 nil  gc_used "rtx_def_asm_input"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ASM_INPUT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 294 nil  gc_used "rtx_def_parallel"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "PARALLEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 295 nil  gc_used "rtx_def_cond_exec"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "COND_EXEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 296 nil  gc_used "rtx_def_note"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 6 
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3]."
                        (!type union 297 nil  gc_used "rtx_def_note_subunion"
                         (!srcfileloc  "rtl.h" 402)
                         (!fields 17 
                          (!pair  "rt_str"
                           (!type already_seen 39)
                           (!srcfileloc  "gengtype.c" 1186)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_SWITCH_TEXT_SECTIONS")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_BASIC_BLOCK")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 135)
                           (!srcfileloc  "gengtype.c" 1196)
                           (!options 
                            (!option tag string  "NOTE_INSN_CALL_ARG_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 135)
                           (!srcfileloc  "gengtype.c" 1196)
                           (!options 
                            (!option tag string  "NOTE_INSN_VAR_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_EPILOGUE_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_PROLOGUE_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_FUNCTION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1191)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1191)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 39)
                           (!srcfileloc  "gengtype.c" 1186)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 39)
                           (!srcfileloc  "gengtype.c" 1186)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 1023 nil )
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option desc string  "NOTE_KIND (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type pointer 298 nil  gc_used
                         (!type struct 299 
                          (!type already_seen 298)
                          gc_pointed_to "basic_block_def"
                          (!srcfileloc  "basic-block.h" 162)
                          (!fields 13 
                           (!pair  "preds"
                            (!type pointer 300 nil  gc_used
                             (!type user_struct 301 
                              (!type already_seen 300)
                              gc_pointed_to "vec<edge,va_gc>"
                              (!srcfileloc  "basic-block.h" 122)
                              (!fields 2 
                               (!pair  "va_gc"
                                (!type already_seen 3)
                                (!srcfileloc  "basic-block.h" 122)
                                nil )
                               (!pair  "edge"
                                (!type pointer 302 nil  gc_used
                                 (!type user_struct 303 
                                  (!type already_seen 302)
                                  gc_pointed_to "edge_def"
                                  (!srcfileloc  "basic-block.h" 56)
                                  (!fields 0 )
                                 )
                                )
                                (!srcfileloc  "basic-block.h" 122)
                                nil )
                              )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 122)
                            nil )
                           (!pair  "succs"
                            (!type already_seen 300)
                            (!srcfileloc  "basic-block.h" 123)
                            nil )
                           (!pair  "aux"
                            (!type already_seen 10)
                            (!srcfileloc  "basic-block.h" 126)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "loop_father"
                            (!type pointer 304 nil  gc_used
                             (!type struct 305 
                              (!type already_seen 304)
                              gc_pointed_to "loop"
                              (!srcfileloc  "cfgloop.h" 217)
                              (!fields 27 
                               (!pair  "num"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 122)
                                nil )
                               (!pair  "ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 125)
                                nil )
                               (!pair  "header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 128)
                                nil )
                               (!pair  "latch"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 131)
                                nil )
                               (!pair  "lpt_decision"
                                (!type struct 306 nil  gc_used "lpt_decision"
                                 (!srcfileloc  "cfgloop.h" 49)
                                 (!fields 2 
                                  (!pair  "decision"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 47)
                                   nil )
                                  (!pair  "times"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 48)
                                   nil )
                                 )
                                 nil 1023 nil nil )
                                (!srcfileloc  "cfgloop.h" 134)
                                nil )
                               (!pair  "av_ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 137)
                                nil )
                               (!pair  "num_nodes"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 140)
                                nil )
                               (!pair  "superloops"
                                (!type pointer 307 nil  gc_used
                                 (!type user_struct 308 
                                  (!type already_seen 307)
                                  gc_pointed_to "vec<loop_p,va_gc>"
                                  (!srcfileloc  "cfgloop.h" 143)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "cfgloop.h" 143)
                                    nil )
                                   (!pair  "loop_p"
                                    (!type already_seen 304)
                                    (!srcfileloc  "cfgloop.h" 143)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cfgloop.h" 143)
                                nil )
                               (!pair  "inner"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 146)
                                nil )
                               (!pair  "next"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 149)
                                nil )
                               (!pair  "aux"
                                (!type already_seen 10)
                                (!srcfileloc  "cfgloop.h" 152)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "nb_iterations"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 161)
                                nil )
                               (!pair  "nb_iterations_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 165)
                                nil )
                               (!pair  "nb_iterations_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 170)
                                nil )
                               (!pair  "any_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 172)
                                nil )
                               (!pair  "any_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 173)
                                nil )
                               (!pair  "can_be_parallel"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 176)
                                nil )
                               (!pair  "warned_aggressive_loop_optimizations"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 180)
                                nil )
                               (!pair  "estimate_state"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 184)
                                nil )
                               (!pair  "safelen"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 190)
                                nil )
                               (!pair  "dont_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 193)
                                nil )
                               (!pair  "force_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 196)
                                nil )
                               (!pair  "simduid"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 201)
                                nil )
                               (!pair  "bounds"
                                (!type pointer 309 nil  gc_used
                                 (!type struct 310 
                                  (!type already_seen 309)
                                  gc_pointed_to "nb_iter_bound"
                                  (!srcfileloc  "cfgloop.h" 81)
                                  (!fields 4 
                                   (!pair  "stmt"
                                    (!type pointer 311 nil  gc_used
                                     (!type struct 312 
                                      (!type already_seen 311)
                                      gc_pointed_to "gimple_statement_base"
                                      (!srcfileloc  "gimple.h" 209)
                                      (!fields 15 
                                       (!pair  "code"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 150)
                                        nil )
                                       (!pair  "no_warning"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 153)
                                        nil )
                                       (!pair  "visited"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 157)
                                        nil )
                                       (!pair  "nontemporal_move"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 160)
                                        nil )
                                       (!pair  "plf"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 167)
                                        nil )
                                       (!pair  "modified"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 171)
                                        nil )
                                       (!pair  "has_volatile_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 174)
                                        nil )
                                       (!pair  "pad"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 177)
                                        nil )
                                       (!pair  "subcode"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 183)
                                        nil )
                                       (!pair  "uid"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 188)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 192)
                                        nil )
                                       (!pair  "num_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 195)
                                        nil )
                                       (!pair  "bb"
                                        (!type already_seen 298)
                                        (!srcfileloc  "gimple.h" 199)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 207)
                                        nil )
                                       (!pair  "prev"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 208)
                                        (!options 
                                         (!option skip string  "")
                                        )
                                       )
                                      )
                                      (!options 
                                       (!option variable_size string  "")
                                       (!option chain_next string  "%h.next")
                                       (!option tag string  "GSS_BASE")
                                       (!option desc string  "gimple_statement_structure (&%h)")
                                      )
                                      1023 nil nil )
                                    )
                                    (!srcfileloc  "cfgloop.h" 63)
                                    nil )
                                   (!pair  "bound"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 72)
                                    nil )
                                   (!pair  "is_exit"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 77)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 309)
                                    (!srcfileloc  "cfgloop.h" 80)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  1023 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 204)
                                nil )
                               (!pair  "exits"
                                (!type pointer 313 nil  gc_used
                                 (!type struct 314 
                                  (!type already_seen 313)
                                  gc_pointed_to "loop_exit"
                                  (!srcfileloc  "cfgloop.h" 95)
                                  (!fields 4 
                                   (!pair  "e"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 87)
                                    nil )
                                   (!pair  "prev"
                                    (!type already_seen 313)
                                    (!srcfileloc  "cfgloop.h" 90)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 313)
                                    (!srcfileloc  "cfgloop.h" 91)
                                    nil )
                                   (!pair  "next_e"
                                    (!type already_seen 313)
                                    (!srcfileloc  "cfgloop.h" 94)
                                    nil )
                                  )
                                  (!options 
                                   (!option for_user string  "")
                                  )
                                  1023 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 207)
                                nil )
                               (!pair  "simple_loop_desc"
                                (!type pointer 315 nil  gc_used
                                 (!type struct 316 
                                  (!type already_seen 315)
                                  gc_pointed_to "niter_desc"
                                  (!srcfileloc  "cfgloop.h" 406)
                                  (!fields 11 
                                   (!pair  "out_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 373)
                                    nil )
                                   (!pair  "in_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 376)
                                    nil )
                                   (!pair  "simple_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 380)
                                    nil )
                                   (!pair  "const_iter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 383)
                                    nil )
                                   (!pair  "niter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 386)
                                    nil )
                                   (!pair  "assumptions"
                                    (!type already_seen 135)
                                    (!srcfileloc  "cfgloop.h" 389)
                                    nil )
                                   (!pair  "noloop_assumptions"
                                    (!type already_seen 135)
                                    (!srcfileloc  "cfgloop.h" 393)
                                    nil )
                                   (!pair  "infinite"
                                    (!type already_seen 135)
                                    (!srcfileloc  "cfgloop.h" 396)
                                    nil )
                                   (!pair  "signed_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 399)
                                    nil )
                                   (!pair  "mode"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 402)
                                    nil )
                                   (!pair  "niter_expr"
                                    (!type already_seen 135)
                                    (!srcfileloc  "cfgloop.h" 405)
                                    nil )
                                  )
                                  nil 1023 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 210)
                                nil )
                               (!pair  "former_header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 216)
                                nil )
                              )
                              (!options 
                               (!option chain_next string  "%h.next")
                              )
                              1023 nil nil )
                            )
                            (!srcfileloc  "basic-block.h" 129)
                            nil )
                           (!pair  "dom"
                            (!type array 317 nil  gc_unused "2" 
                             (!type pointer 318 nil  gc_unused
                              (!type struct 319 
                               (!type already_seen 318)
                               gc_unused "et_node"nil 
                               (!fields 0 )
                               nil 0 nil nil )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 132)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "prev_bb"
                            (!type already_seen 298)
                            (!srcfileloc  "basic-block.h" 135)
                            nil )
                           (!pair  "next_bb"
                            (!type already_seen 298)
                            (!srcfileloc  "basic-block.h" 136)
                            nil )
                           (!pair  "il"
                            (!type union 320 nil  gc_used "basic_block_il_dependent"
                             (!srcfileloc  "basic-block.h" 144)
                             (!fields 2 
                              (!pair  "gimple"
                               (!type struct 321 nil  gc_used "gimple_bb_info"
                                (!srcfileloc  "basic-block.h" 92)
                                (!fields 2 
                                 (!pair  "seq"
                                  (!type already_seen 311)
                                  (!srcfileloc  "basic-block.h" 88)
                                  nil )
                                 (!pair  "phi_nodes"
                                  (!type already_seen 311)
                                  (!srcfileloc  "basic-block.h" 91)
                                  nil )
                                )
                                nil 1023 nil nil )
                               (!srcfileloc  "basic-block.h" 139)
                               (!options 
                                (!option tag string  "0")
                               )
                              )
                              (!pair  "x"
                               (!type struct 322 nil  gc_used "anonymous:../../gcc/basic-block.h:140"
                                (!srcfileloc  "basic-block.h" 143)
                                (!fields 2 
                                 (!pair  "head_"
                                  (!type pointer 323 nil  gc_used
                                   (!type struct 324 
                                    (!type already_seen 323)
                                    gc_pointed_to "rtx_insn"
                                    (!srcfileloc  "rtl.h" 521)
                                    (!fields 0 )
                                    nil 1023 nil 
                                    (!type already_seen 137)
                                   )
                                  )
                                  (!srcfileloc  "basic-block.h" 141)
                                  nil )
                                 (!pair  "rtl"
                                  (!type pointer 325 nil  gc_used
                                   (!type struct 326 
                                    (!type already_seen 325)
                                    gc_pointed_to "rtl_bb_info"
                                    (!srcfileloc  "basic-block.h" 84)
                                    (!fields 3 
                                     (!pair  "end_"
                                      (!type already_seen 323)
                                      (!srcfileloc  "basic-block.h" 78)
                                      nil )
                                     (!pair  "header_"
                                      (!type already_seen 323)
                                      (!srcfileloc  "basic-block.h" 82)
                                      nil )
                                     (!pair  "footer_"
                                      (!type already_seen 323)
                                      (!srcfileloc  "basic-block.h" 83)
                                      nil )
                                    )
                                    nil 1023 nil nil )
                                  )
                                  (!srcfileloc  "basic-block.h" 142)
                                  nil )
                                )
                                nil 1023 nil nil )
                               (!srcfileloc  "basic-block.h" 143)
                               (!options 
                                (!option tag string  "1")
                               )
                              )
                             )
                             nil 1023 nil )
                            (!srcfileloc  "basic-block.h" 144)
                            (!options 
                             (!option desc string  "((%1.flags & BB_RTL) != 0)")
                            )
                           )
                           (!pair  "flags"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 147)
                            nil )
                           (!pair  "index"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 150)
                            nil )
                           (!pair  "count"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 153)
                            nil )
                           (!pair  "frequency"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 156)
                            nil )
                           (!pair  "discriminator"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 161)
                            nil )
                          )
                          (!options 
                           (!option chain_prev string  "%h.prev_bb")
                           (!option chain_next string  "%h.next_bb")
                          )
                          1023 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "NOTE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 327 nil  gc_used "rtx_def_code_label"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 7 
                       (!pair  ".fld[6].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CODE_LABEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 328 nil  gc_used "rtx_def_barrier"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "BARRIER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 329 nil  gc_used "rtx_def_jump_table_data"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 8 
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "JUMP_TABLE_DATA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 330 nil  gc_used "rtx_def_call_insn"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "CALL_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 331 nil  gc_used "rtx_def_jump_insn"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "JUMP_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 332 nil  gc_used "rtx_def_insn"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 7 
                       (!pair  ".fld[6].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 333 nil  gc_used "rtx_def_debug_insn"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 7 
                       (!pair  ".fld[6].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "DEBUG_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 334 nil  gc_used "rtx_def_address"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "ADDRESS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 335 nil  gc_used "rtx_def_sequence"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "SEQUENCE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 336 nil  gc_used "rtx_def_int_list"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "INT_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 337 nil  gc_used "rtx_def_insn_list"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "INSN_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 338 nil  gc_used "rtx_def_expr_list"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "EXPR_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 339 nil  gc_used "rtx_def_debug_expr"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "DEBUG_EXPR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 340 nil  gc_used "rtx_def_value"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 341 nil  gc_used "rtx_def_UnKnown"
                      (!srcfileloc  "rtl.h" 402)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1335)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1364)
                     (!options 
                      (!option tag string  "UNKNOWN")
                      (!option dot string  "")
                     )
                    )
                   )
                   (!options 
                    (!option dot string  "")
                   )
                   1023 nil )
                  (!srcfileloc  "rtl.h" 402)
                  (!options 
                   (!option desc string  "GET_CODE (&%0)")
                   (!option special string  "rtx_def")
                  )
                 )
                )
                (!options 
                 (!option chain_prev string  "RTX_PREV (&%h)")
                 (!option chain_next string  "RTX_NEXT (&%h)")
                 (!option tag string  "0")
                 (!option desc string  "0")
                )
                1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1486)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1696)
           (!options 
            (!option tag string  "TS_DECL_WRTL")
           )
          )
          (!pair  "decl_non_common"
           (!type struct 342 nil  gc_used "tree_decl_non_common"
            (!srcfileloc  "tree-core.h" 1562)
            (!fields 2 
             (!pair  "common"
              (!type struct 343 nil  gc_used "tree_decl_with_vis"
               (!srcfileloc  "tree-core.h" 1552)
               (!fields 20 
                (!pair  "common"
                 (!type already_seen 134)
                 (!srcfileloc  "tree-core.h" 1519)
                 nil )
                (!pair  "assembler_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1520)
                 nil )
                (!pair  "symtab_node"
                 (!type pointer 344 nil  gc_used
                  (!type struct 345 
                   (!type already_seen 344)
                   gc_pointed_to "symtab_node"
                   (!srcfileloc  "cgraph.h" 556)
                   (!fields 38 
                    (!pair  "DEBUG_FUNCTION"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 113)
                     nil )
                    (!pair  "DEBUG_FUNCTION"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 116)
                     nil )
                    (!pair  "type"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 399)
                     nil )
                    (!pair  "resolution"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 402)
                     nil )
                    (!pair  "definition"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 408)
                     nil )
                    (!pair  "alias"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 411)
                     nil )
                    (!pair  "weakref"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 413)
                     nil )
                    (!pair  "cpp_implicit_alias"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 420)
                     nil )
                    (!pair  "analyzed"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 423)
                     nil )
                    (!pair  "writeonly"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 425)
                     nil )
                    (!pair  "refuse_visibility_changes"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 428)
                     nil )
                    (!pair  "externally_visible"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 433)
                     nil )
                    (!pair  "no_reorder"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 435)
                     nil )
                    (!pair  "force_output"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 438)
                     nil )
                    (!pair  "forced_by_abi"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 442)
                     nil )
                    (!pair  "unique_name"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 444)
                     nil )
                    (!pair  "implicit_section"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 447)
                     nil )
                    (!pair  "body_removed"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 450)
                     nil )
                    (!pair  "used_from_other_partition"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 457)
                     nil )
                    (!pair  "in_other_partition"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 461)
                     nil )
                    (!pair  "address_taken"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 468)
                     nil )
                    (!pair  "in_init_priority_hash"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 470)
                     nil )
                    (!pair  "need_lto_streaming"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 474)
                     nil )
                    (!pair  "offloadable"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 477)
                     nil )
                    (!pair  "order"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 481)
                     nil )
                    (!pair  "decl"
                     (!type already_seen 5)
                     (!srcfileloc  "cgraph.h" 484)
                     nil )
                    (!pair  "next"
                     (!type already_seen 344)
                     (!srcfileloc  "cgraph.h" 487)
                     nil )
                    (!pair  "previous"
                     (!type already_seen 344)
                     (!srcfileloc  "cgraph.h" 488)
                     nil )
                    (!pair  "next_sharing_asm_name"
                     (!type already_seen 344)
                     (!srcfileloc  "cgraph.h" 499)
                     nil )
                    (!pair  "previous_sharing_asm_name"
                     (!type already_seen 344)
                     (!srcfileloc  "cgraph.h" 500)
                     nil )
                    (!pair  "same_comdat_group"
                     (!type already_seen 344)
                     (!srcfileloc  "cgraph.h" 503)
                     nil )
                    (!pair  "ref_list"
                     (!type struct 346 
                      (!type pointer 347 nil  gc_unused
                       (!type already_seen 346)
                      )
                      gc_used "ipa_ref_list"
                      (!srcfileloc  "cgraph.h" 506)
                      (!fields 2 
                       (!pair  "references"
                        (!type pointer 348 nil  gc_used
                         (!type user_struct 349 
                          (!type already_seen 348)
                          gc_pointed_to "vec<ipa_ref_t,va_gc>"
                          (!srcfileloc  "ipa-ref.h" 132)
                          (!fields 2 
                           (!pair  "va_gc"
                            (!type already_seen 3)
                            (!srcfileloc  "ipa-ref.h" 132)
                            nil )
                           (!pair  "ipa_ref_t"
                            (!type struct 350 
                             (!type pointer 351 nil  gc_unused
                              (!type already_seen 350)
                             )
                             gc_used "ipa_ref"
                             (!srcfileloc  "cgraph.h" 121)
                             (!fields 7 
                              (!pair  "referring"
                               (!type already_seen 344)
                               (!srcfileloc  "ipa-ref.h" 59)
                               nil )
                              (!pair  "referred"
                               (!type already_seen 344)
                               (!srcfileloc  "ipa-ref.h" 60)
                               nil )
                              (!pair  "stmt"
                               (!type already_seen 311)
                               (!srcfileloc  "ipa-ref.h" 61)
                               nil )
                              (!pair  "lto_stmt_uid"
                               (!type already_seen 9)
                               (!srcfileloc  "ipa-ref.h" 62)
                               nil )
                              (!pair  "referred_index"
                               (!type already_seen 9)
                               (!srcfileloc  "ipa-ref.h" 63)
                               nil )
                              (!pair  "use"
                               (!type already_seen 9)
                               (!srcfileloc  "ipa-ref.h" 64)
                               nil )
                              (!pair  "speculative"
                               (!type already_seen 9)
                               (!srcfileloc  "ipa-ref.h" 65)
                               nil )
                             )
                             nil 1023 nil nil )
                            (!srcfileloc  "ipa-ref.h" 132)
                            nil )
                          )
                         )
                        )
                        (!srcfileloc  "ipa-ref.h" 132)
                        nil )
                       (!pair  "referring"
                        (!type user_struct 352 nil  gc_unused "vec<ipa_ref_ptr>"
                         (!srcfileloc  "ipa-ref.h" 135)
                         (!fields 1 
                          (!pair  "ipa_ref_ptr"
                           (!type already_seen 351)
                           (!srcfileloc  "ipa-ref.h" 135)
                           nil )
                         )
                        )
                        (!srcfileloc  "ipa-ref.h" 135)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "cgraph.h" 506)
                     nil )
                    (!pair  "alias_target"
                     (!type already_seen 5)
                     (!srcfileloc  "cgraph.h" 511)
                     nil )
                    (!pair  "lto_file_data"
                     (!type pointer 353 
                      (!type pointer 354 nil  gc_used
                       (!type already_seen 353)
                      )
                      gc_pointed_to
                      (!type struct 355 
                       (!type already_seen 353)
                       gc_pointed_to "lto_file_decl_data"
                       (!srcfileloc  "lto-streamer.h" 602)
                       (!fields 14 
                        (!pair  "current_decl_state"
                         (!type pointer 356 nil  gc_used
                          (!type struct 357 
                           (!type already_seen 356)
                           gc_pointed_to "lto_in_decl_state"
                           (!srcfileloc  "lto-streamer.h" 510)
                           (!fields 2 
                            (!pair  "streams"
                             (!type array 358 nil  gc_used "LTO_N_DECL_STREAMS" 
                              (!type already_seen 49)
                             )
                             (!srcfileloc  "lto-streamer.h" 505)
                             nil )
                            (!pair  "fn_decl"
                             (!type already_seen 5)
                             (!srcfileloc  "lto-streamer.h" 509)
                             nil )
                           )
                           (!options 
                            (!option for_user string  "")
                           )
                           1023 nil nil )
                         )
                         (!srcfileloc  "lto-streamer.h" 564)
                         nil )
                        (!pair  "global_decl_state"
                         (!type already_seen 356)
                         (!srcfileloc  "lto-streamer.h" 568)
                         nil )
                        (!pair  "symtab_node_encoder"
                         (!type pointer 359 nil  gc_unused
                          (!type struct 360 
                           (!type already_seen 359)
                           gc_unused "lto_symtab_encoder_d"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "lto-streamer.h" 571)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "function_decl_states"
                         (!type pointer 361 nil  gc_used
                          (!type user_struct 362 
                           (!type already_seen 361)
                           gc_pointed_to "hash_table<decl_state_hasher>"
                           (!srcfileloc  "lto-streamer.h" 574)
                           (!fields 1 
                            (!pair  "decl_state_hasher"
                             (!type struct 363 nil  gc_used "decl_state_hasher"
                              (!srcfileloc  "lto-streamer.h" 574)
                              (!fields 0 )
                              nil 1023 nil nil )
                             (!srcfileloc  "lto-streamer.h" 574)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "lto-streamer.h" 574)
                         nil )
                        (!pair  "file_name"
                         (!type already_seen 39)
                         (!srcfileloc  "lto-streamer.h" 577)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "section_hash_table"
                         (!type pointer 364 nil  gc_unused
                          (!type struct 365 
                           (!type already_seen 364)
                           gc_unused "htab"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "lto-streamer.h" 580)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "renaming_hash_table"
                         (!type already_seen 364)
                         (!srcfileloc  "lto-streamer.h" 583)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "next"
                         (!type already_seen 353)
                         (!srcfileloc  "lto-streamer.h" 586)
                         nil )
                        (!pair  "id"
                         (!type already_seen 9)
                         (!srcfileloc  "lto-streamer.h" 589)
                         nil )
                        (!pair  "respairs"
                         (!type user_struct 366 nil  gc_unused "vec<res_pair>"
                          (!srcfileloc  "lto-streamer.h" 592)
                          (!fields 1 
                           (!pair  "res_pair"
                            (!type struct 367 nil  gc_unused "res_pair"
                             (!srcfileloc  "lto-streamer.h" 592)
                             (!fields 0 )
                             nil 1023 nil nil )
                            (!srcfileloc  "lto-streamer.h" 592)
                            nil )
                          )
                         )
                         (!srcfileloc  "lto-streamer.h" 592)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "max_index"
                         (!type already_seen 9)
                         (!srcfileloc  "lto-streamer.h" 593)
                         nil )
                        (!pair  "profile_info"
                         (!type struct 368 nil  gc_unused "gcov_ctr_summary"nil 
                          (!fields 0 )
                          nil 0 nil nil )
                         (!srcfileloc  "lto-streamer.h" 595)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "resolution_map"
                         (!type pointer 369 nil  gc_unused
                          (!type user_struct 370 
                           (!type already_seen 369)
                           gc_unused "hash_map<tree,ld_plugin_symbol_resolution>"
                           (!srcfileloc  "lto-streamer.h" 598)
                           (!fields 2 
                            (!pair  "ld_plugin_symbol_resolution"
                             (!type undefined 371 nil  gc_unused "ld_plugin_symbol_resolution"
                              (!srcfileloc  "lto-streamer.h" 598)
                             )
                             (!srcfileloc  "lto-streamer.h" 598)
                             nil )
                            (!pair  "tree"
                             (!type already_seen 5)
                             (!srcfileloc  "lto-streamer.h" 598)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "lto-streamer.h" 598)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "mode_table"
                         (!type already_seen 39)
                         (!srcfileloc  "lto-streamer.h" 601)
                         nil )
                       )
                       nil 1023 nil nil )
                     )
                     (!srcfileloc  "cgraph.h" 514)
                     nil )
                    (!pair  "aux"
                     (!type already_seen 10)
                     (!srcfileloc  "cgraph.h" 516)
                     (!options 
                      (!option skip string  "")
                     )
                    )
                    (!pair  "x_comdat_group"
                     (!type already_seen 5)
                     (!srcfileloc  "cgraph.h" 519)
                     nil )
                    (!pair  "x_section"
                     (!type pointer 372 nil  gc_used
                      (!type struct 373 
                       (!type already_seen 372)
                       gc_pointed_to "section_hash_entry_d"
                       (!srcfileloc  "cgraph.h" 43)
                       (!fields 2 
                        (!pair  "ref_count"
                         (!type already_seen 9)
                         (!srcfileloc  "cgraph.h" 39)
                         nil )
                        (!pair  "name"
                         (!type already_seen 39)
                         (!srcfileloc  "cgraph.h" 40)
                         nil )
                       )
                       (!options 
                        (!option for_user string  "")
                       )
                       1023 nil nil )
                     )
                     (!srcfileloc  "cgraph.h" 522)
                     nil )
                    (!pair  "DEBUG_FUNCTION"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 529)
                     nil )
                   )
                   (!options 
                    (!option chain_prev string  "%h.previous")
                    (!option chain_next string  "%h.next")
                    (!option tag string  "SYMTAB_SYMBOL")
                    (!option desc string  "%h.type")
                   )
                   1023 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1521)
                 nil )
                (!pair  "defer_output"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1524)
                 nil )
                (!pair  "hard_register"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1525)
                 nil )
                (!pair  "common_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1526)
                 nil )
                (!pair  "in_text_section"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1527)
                 nil )
                (!pair  "in_constant_pool"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1528)
                 nil )
                (!pair  "dllimport_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1529)
                 nil )
                (!pair  "weak_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1531)
                 nil )
                (!pair  "seen_in_bind_expr"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1533)
                 nil )
                (!pair  "comdat_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1534)
                 nil )
                (!pair  "visibility"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1536)
                 nil )
                (!pair  "visibility_specified"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1537)
                 nil )
                (!pair  "init_priority_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1540)
                 nil )
                (!pair  "shadowed_for_var_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1542)
                 nil )
                (!pair  "cxx_constructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1544)
                 nil )
                (!pair  "cxx_destructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1546)
                 nil )
                (!pair  "final"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1548)
                 nil )
                (!pair  "regdecl_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1550)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "tree-core.h" 1559)
              nil )
             (!pair  "result"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1561)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1698)
           (!options 
            (!option tag string  "TS_DECL_NON_COMMON")
           )
          )
          (!pair  "parm_decl"
           (!type struct 374 nil  gc_used "tree_parm_decl"
            (!srcfileloc  "tree-core.h" 1516)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 134)
              (!srcfileloc  "tree-core.h" 1514)
              nil )
             (!pair  "incoming_rtl"
              (!type already_seen 135)
              (!srcfileloc  "tree-core.h" 1515)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1699)
           (!options 
            (!option tag string  "TS_PARM_DECL")
           )
          )
          (!pair  "decl_with_vis"
           (!type already_seen 343)
           (!srcfileloc  "tree-core.h" 1700)
           (!options 
            (!option tag string  "TS_DECL_WITH_VIS")
           )
          )
          (!pair  "var_decl"
           (!type struct 375 nil  gc_used "tree_var_decl"
            (!srcfileloc  "tree-core.h" 1556)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 343)
              (!srcfileloc  "tree-core.h" 1555)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1701)
           (!options 
            (!option tag string  "TS_VAR_DECL")
           )
          )
          (!pair  "field_decl"
           (!type struct 376 nil  gc_used "tree_field_decl"
            (!srcfileloc  "tree-core.h" 1497)
            (!fields 6 
             (!pair  "common"
              (!type already_seen 41)
              (!srcfileloc  "tree-core.h" 1490)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1492)
              nil )
             (!pair  "bit_field_type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1493)
              nil )
             (!pair  "qualifier"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1494)
              nil )
             (!pair  "bit_offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1495)
              nil )
             (!pair  "fcontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1496)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1702)
           (!options 
            (!option tag string  "TS_FIELD_DECL")
           )
          )
          (!pair  "label_decl"
           (!type struct 377 nil  gc_used "tree_label_decl"
            (!srcfileloc  "tree-core.h" 1503)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 134)
              (!srcfileloc  "tree-core.h" 1500)
              nil )
             (!pair  "label_decl_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1501)
              nil )
             (!pair  "eh_landing_pad_nr"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1502)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1703)
           (!options 
            (!option tag string  "TS_LABEL_DECL")
           )
          )
          (!pair  "result_decl"
           (!type struct 378 nil  gc_used "tree_result_decl"
            (!srcfileloc  "tree-core.h" 1507)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 134)
              (!srcfileloc  "tree-core.h" 1506)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1704)
           (!options 
            (!option tag string  "TS_RESULT_DECL")
           )
          )
          (!pair  "const_decl"
           (!type struct 379 nil  gc_used "tree_const_decl"
            (!srcfileloc  "tree-core.h" 1511)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 41)
              (!srcfileloc  "tree-core.h" 1510)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1705)
           (!options 
            (!option tag string  "TS_CONST_DECL")
           )
          )
          (!pair  "type_decl"
           (!type struct 380 nil  gc_used "tree_type_decl"
            (!srcfileloc  "tree-core.h" 1629)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 342)
              (!srcfileloc  "tree-core.h" 1627)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1706)
           (!options 
            (!option tag string  "TS_TYPE_DECL")
           )
          )
          (!pair  "function_decl"
           (!type struct 381 nil  gc_used "tree_function_decl"
            (!srcfileloc  "tree-core.h" 1616)
            (!fields 28 
             (!pair  "common"
              (!type already_seen 342)
              (!srcfileloc  "tree-core.h" 1570)
              nil )
             (!pair  "f"
              (!type pointer 382 nil  gc_used
               (!type struct 383 
                (!type already_seen 382)
                gc_pointed_to "function"
                (!srcfileloc  "function.h" 673)
                (!fields 44 
                 (!pair  "eh"
                  (!type pointer 384 nil  gc_used
                   (!type struct 385 
                    (!type already_seen 384)
                    gc_pointed_to "eh_status"
                    (!srcfileloc  "except.h" 220)
                    (!fields 6 
                     (!pair  "region_tree"
                      (!type pointer 386 nil  gc_used
                       (!type struct 387 
                        (!type already_seen 386)
                        gc_pointed_to "eh_region_d"
                        (!srcfileloc  "except.h" 182)
                        (!fields 10 
                         (!pair  "outer"
                          (!type already_seen 386)
                          (!srcfileloc  "except.h" 123)
                          nil )
                         (!pair  "inner"
                          (!type already_seen 386)
                          (!srcfileloc  "except.h" 126)
                          nil )
                         (!pair  "next_peer"
                          (!type already_seen 386)
                          (!srcfileloc  "except.h" 127)
                          nil )
                         (!pair  "index"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 130)
                          nil )
                         (!pair  "type"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 133)
                          nil )
                         (!pair  "u"
                          (!type union 388 nil  gc_used "eh_region_u"
                           (!srcfileloc  "except.h" 169)
                           (!fields 3 
                            (!pair  "eh_try"
                             (!type struct 389 nil  gc_used "eh_region_u_try"
                              (!srcfileloc  "except.h" 141)
                              (!fields 2 
                               (!pair  "first_catch"
                                (!type pointer 390 nil  gc_used
                                 (!type struct 391 
                                  (!type already_seen 390)
                                  gc_pointed_to "eh_catch_d"
                                  (!srcfileloc  "except.h" 116)
                                  (!fields 5 
                                   (!pair  "next_catch"
                                    (!type already_seen 390)
                                    (!srcfileloc  "except.h" 100)
                                    nil )
                                   (!pair  "prev_catch"
                                    (!type already_seen 390)
                                    (!srcfileloc  "except.h" 101)
                                    nil )
                                   (!pair  "type_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 105)
                                    nil )
                                   (!pair  "filter_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 110)
                                    nil )
                                   (!pair  "label"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 115)
                                    nil )
                                  )
                                  nil 1023 nil nil )
                                )
                                (!srcfileloc  "except.h" 139)
                                nil )
                               (!pair  "last_catch"
                                (!type already_seen 390)
                                (!srcfileloc  "except.h" 140)
                                nil )
                              )
                              nil 1023 nil nil )
                             (!srcfileloc  "except.h" 141)
                             (!options 
                              (!option tag string  "ERT_TRY")
                             )
                            )
                            (!pair  "allowed"
                             (!type struct 392 nil  gc_used "eh_region_u_allowed"
                              (!srcfileloc  "except.h" 155)
                              (!fields 3 
                               (!pair  "type_list"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 145)
                                nil )
                               (!pair  "label"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 149)
                                nil )
                               (!pair  "filter"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 154)
                                nil )
                              )
                              nil 1023 nil nil )
                             (!srcfileloc  "except.h" 155)
                             (!options 
                              (!option tag string  "ERT_ALLOWED_EXCEPTIONS")
                             )
                            )
                            (!pair  "must_not_throw"
                             (!type struct 393 nil  gc_used "eh_region_u_must_not_throw"
                              (!srcfileloc  "except.h" 168)
                              (!fields 2 
                               (!pair  "failure_decl"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 165)
                                nil )
                               (!pair  "failure_loc"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 167)
                                nil )
                              )
                              nil 1023 nil nil )
                             (!srcfileloc  "except.h" 168)
                             (!options 
                              (!option tag string  "ERT_MUST_NOT_THROW")
                             )
                            )
                           )
                           nil 1023 nil )
                          (!srcfileloc  "except.h" 169)
                          (!options 
                           (!option desc string  "%0.type")
                          )
                         )
                         (!pair  "landing_pads"
                          (!type pointer 394 nil  gc_used
                           (!type struct 395 
                            (!type already_seen 394)
                            gc_pointed_to "eh_landing_pad_d"
                            (!srcfileloc  "except.h" 93)
                            (!fields 5 
                             (!pair  "next_lp"
                              (!type already_seen 394)
                              (!srcfileloc  "except.h" 74)
                              nil )
                             (!pair  "region"
                              (!type already_seen 386)
                              (!srcfileloc  "except.h" 77)
                              nil )
                             (!pair  "post_landing_pad"
                              (!type already_seen 5)
                              (!srcfileloc  "except.h" 82)
                              nil )
                             (!pair  "landing_pad"
                              (!type pointer 396 nil  gc_used
                               (!type struct 397 
                                (!type already_seen 396)
                                gc_pointed_to "rtx_code_label"
                                (!srcfileloc  "function.h" 141)
                                (!fields 0 )
                                nil 1023 nil 
                                (!type already_seen 324)
                               )
                              )
                              (!srcfileloc  "except.h" 89)
                              nil )
                             (!pair  "index"
                              (!type already_seen 9)
                              (!srcfileloc  "except.h" 92)
                              nil )
                            )
                            nil 1023 nil nil )
                          )
                          (!srcfileloc  "except.h" 172)
                          nil )
                         (!pair  "exc_ptr_reg"
                          (!type already_seen 135)
                          (!srcfileloc  "except.h" 177)
                          nil )
                         (!pair  "filter_reg"
                          (!type already_seen 135)
                          (!srcfileloc  "except.h" 177)
                          nil )
                         (!pair  "use_cxa_end_cleanup"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 181)
                          nil )
                        )
                        nil 1023 nil nil )
                      )
                      (!srcfileloc  "except.h" 196)
                      nil )
                     (!pair  "region_array"
                      (!type pointer 398 nil  gc_used
                       (!type user_struct 399 
                        (!type already_seen 398)
                        gc_pointed_to "vec<eh_region,va_gc>"
                        (!srcfileloc  "except.h" 199)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 199)
                          nil )
                         (!pair  "eh_region"
                          (!type already_seen 386)
                          (!srcfileloc  "except.h" 199)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 199)
                      nil )
                     (!pair  "lp_array"
                      (!type pointer 400 nil  gc_used
                       (!type user_struct 401 
                        (!type already_seen 400)
                        gc_pointed_to "vec<eh_landing_pad,va_gc>"
                        (!srcfileloc  "except.h" 202)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 202)
                          nil )
                         (!pair  "eh_landing_pad"
                          (!type already_seen 394)
                          (!srcfileloc  "except.h" 202)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 202)
                      nil )
                     (!pair  "throw_stmt_table"
                      (!type pointer 402 nil  gc_used
                       (!type user_struct 403 
                        (!type already_seen 402)
                        gc_pointed_to "hash_map<gimple,int>"
                        (!srcfileloc  "except.h" 206)
                        (!fields 2 
                         (!pair  "int"
                          (!type undefined 404 nil  gc_unused "int"
                           (!srcfileloc  "alias.c" 197)
                          )
                          (!srcfileloc  "except.h" 206)
                          nil )
                         (!pair  "gimple"
                          (!type already_seen 311)
                          (!srcfileloc  "except.h" 206)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 206)
                      nil )
                     (!pair  "ttype_data"
                      (!type already_seen 49)
                      (!srcfileloc  "except.h" 210)
                      nil )
                     (!pair  "ehspec_data"
                      (!type union 405 nil  gc_used "eh_status_u"
                       (!srcfileloc  "except.h" 219)
                       (!fields 2 
                        (!pair  "arm_eabi"
                         (!type already_seen 49)
                         (!srcfileloc  "except.h" 217)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                        (!pair  "other"
                         (!type pointer 406 nil  gc_used
                          (!type user_struct 407 
                           (!type already_seen 406)
                           gc_pointed_to "vec<uchar,va_gc>"
                           (!srcfileloc  "function.h" 146)
                           (!fields 2 
                            (!pair  "va_gc"
                             (!type already_seen 3)
                             (!srcfileloc  "function.h" 146)
                             nil )
                            (!pair  "uchar"
                             (!type already_seen 15)
                             (!srcfileloc  "function.h" 146)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "except.h" 218)
                         (!options 
                          (!option tag string  "0")
                         )
                        )
                       )
                       nil 1023 nil )
                      (!srcfileloc  "except.h" 219)
                      (!options 
                       (!option desc string  "targetm.arm_eabi_unwinder")
                      )
                     )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 515)
                  nil )
                 (!pair  "cfg"
                  (!type pointer 408 nil  gc_used
                   (!type struct 409 
                    (!type already_seen 408)
                    gc_pointed_to "control_flow_graph"
                    (!srcfileloc  "cfg.h" 72)
                    (!fields 12 
                     (!pair  "x_entry_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "cfg.h" 39)
                      nil )
                     (!pair  "x_exit_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "cfg.h" 40)
                      nil )
                     (!pair  "x_basic_block_info"
                      (!type pointer 410 nil  gc_used
                       (!type user_struct 411 
                        (!type already_seen 410)
                        gc_pointed_to "vec<basic_block,va_gc>"
                        (!srcfileloc  "cfg.h" 43)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "cfg.h" 43)
                          nil )
                         (!pair  "basic_block"
                          (!type already_seen 298)
                          (!srcfileloc  "cfg.h" 43)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "cfg.h" 43)
                      nil )
                     (!pair  "x_n_basic_blocks"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 46)
                      nil )
                     (!pair  "x_n_edges"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 49)
                      nil )
                     (!pair  "x_last_basic_block"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 52)
                      nil )
                     (!pair  "last_label_uid"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 55)
                      nil )
                     (!pair  "x_label_to_block_map"
                      (!type already_seen 410)
                      (!srcfileloc  "cfg.h" 59)
                      nil )
                     (!pair  "x_profile_status"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 61)
                      nil )
                     (!pair  "x_dom_computed"
                      (!type array 412 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "cfg.h" 64)
                      nil )
                     (!pair  "x_n_bbs_in_dom_tree"
                      (!type array 413 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "cfg.h" 67)
                      nil )
                     (!pair  "max_jumptable_ents"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 71)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 518)
                  nil )
                 (!pair  "gimple_body"
                  (!type already_seen 311)
                  (!srcfileloc  "function.h" 521)
                  nil )
                 (!pair  "gimple_df"
                  (!type pointer 414 nil  gc_used
                   (!type struct 415 
                    (!type already_seen 414)
                    gc_pointed_to "gimple_df"
                    (!srcfileloc  "gimple-ssa.h" 118)
                    (!fields 13 
                     (!pair  "modified_noreturn_calls"
                      (!type pointer 416 nil  gc_used
                       (!type user_struct 417 
                        (!type already_seen 416)
                        gc_pointed_to "vec<gimple,va_gc>"
                        (!srcfileloc  "gimple-ssa.h" 77)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "gimple-ssa.h" 77)
                          nil )
                         (!pair  "gimple"
                          (!type already_seen 311)
                          (!srcfileloc  "gimple-ssa.h" 77)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 77)
                      nil )
                     (!pair  "ssa_names"
                      (!type already_seen 49)
                      (!srcfileloc  "gimple-ssa.h" 80)
                      nil )
                     (!pair  "vop"
                      (!type already_seen 5)
                      (!srcfileloc  "gimple-ssa.h" 83)
                      nil )
                     (!pair  "escaped"
                      (!type struct 418 nil  gc_used "pt_solution"
                       (!srcfileloc  "tree-ssa-alias.h" 61)
                       (!fields 9 
                        (!pair  "anything"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 32)
                         nil )
                        (!pair  "nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 36)
                         nil )
                        (!pair  "escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 40)
                         nil )
                        (!pair  "ipa_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 44)
                         nil )
                        (!pair  "null"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 48)
                         nil )
                        (!pair  "vars_contains_nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 52)
                         nil )
                        (!pair  "vars_contains_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 54)
                         nil )
                        (!pair  "vars_contains_escaped_heap"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 57)
                         nil )
                        (!pair  "vars"
                         (!type already_seen 119)
                         (!srcfileloc  "tree-ssa-alias.h" 60)
                         nil )
                       )
                       nil 1023 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 86)
                      nil )
                     (!pair  "decls_to_pointers"
                      (!type pointer 419 nil  gc_used
                       (!type user_struct 420 
                        (!type already_seen 419)
                        gc_pointed_to "hash_map<tree,tree>"
                        (!srcfileloc  "gimple-ssa.h" 90)
                        (!fields 2 
                         (!pair  "tree"
                          (!type already_seen 5)
                          (!srcfileloc  "gimple-ssa.h" 90)
                          nil )
                         (!pair  "tree"
                          (!type already_seen 5)
                          (!srcfileloc  "gimple-ssa.h" 90)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 90)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                     (!pair  "free_ssanames"
                      (!type already_seen 49)
                      (!srcfileloc  "gimple-ssa.h" 93)
                      nil )
                     (!pair  "default_defs"
                      (!type pointer 421 nil  gc_used
                       (!type user_struct 422 
                        (!type already_seen 421)
                        gc_pointed_to "hash_table<ssa_name_hasher>"
                        (!srcfileloc  "gimple-ssa.h" 99)
                        (!fields 1 
                         (!pair  "ssa_name_hasher"
                          (!type struct 423 nil  gc_used "ssa_name_hasher"
                           (!srcfileloc  "gimple-ssa.h" 99)
                           (!fields 0 )
                           nil 1023 nil nil )
                          (!srcfileloc  "gimple-ssa.h" 99)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 99)
                      nil )
                     (!pair  "ssa_renaming_needed"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 102)
                      nil )
                     (!pair  "rename_vops"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 105)
                      nil )
                     (!pair  "in_ssa_p"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 108)
                      nil )
                     (!pair  "ipa_pta"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 111)
                      nil )
                     (!pair  "ssa_operands"
                      (!type struct 424 nil  gc_used "ssa_operands"
                       (!srcfileloc  "tree-ssa-operands.h" 63)
                       (!fields 5 
                        (!pair  "operand_memory"
                         (!type pointer 425 nil  gc_used
                          (!type struct 426 
                           (!type already_seen 425)
                           gc_pointed_to "ssa_operand_memory_d"
                           (!srcfileloc  "tree-ssa-operands.h" 51)
                           (!fields 2 
                            (!pair  "next"
                             (!type already_seen 425)
                             (!srcfileloc  "tree-ssa-operands.h" 49)
                             nil )
                            (!pair  "mem"
                             (!type array 427 nil  gc_used "1" 
                              (!type already_seen 15)
                             )
                             (!srcfileloc  "tree-ssa-operands.h" 50)
                             nil )
                           )
                           (!options 
                            (!option chain_next string  "%h.next")
                           )
                           1023 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 55)
                         nil )
                        (!pair  "operand_memory_index"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 56)
                         nil )
                        (!pair  "ssa_operand_mem_size"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 58)
                         nil )
                        (!pair  "ops_active"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 60)
                         nil )
                        (!pair  "free_uses"
                         (!type pointer 428 nil  gc_unused
                          (!type struct 429 
                           (!type already_seen 428)
                           gc_unused "use_optype_d"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 62)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                       )
                       nil 1023 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 113)
                      nil )
                     (!pair  "tm_restart"
                      (!type pointer 430 nil  gc_used
                       (!type user_struct 431 
                        (!type already_seen 430)
                        gc_pointed_to "hash_table<tm_restart_hasher>"
                        (!srcfileloc  "gimple-ssa.h" 117)
                        (!fields 1 
                         (!pair  "tm_restart_hasher"
                          (!type struct 432 nil  gc_used "tm_restart_hasher"
                           (!srcfileloc  "gimple-ssa.h" 117)
                           (!fields 0 )
                           nil 1023 nil nil )
                          (!srcfileloc  "gimple-ssa.h" 117)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 117)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 524)
                  nil )
                 (!pair  "x_current_loops"
                  (!type pointer 433 nil  gc_used
                   (!type struct 434 
                    (!type already_seen 433)
                    gc_pointed_to "loops"
                    (!srcfileloc  "cfgloop.h" 251)
                    (!fields 4 
                     (!pair  "state"
                      (!type already_seen 9)
                      (!srcfileloc  "cfgloop.h" 239)
                      nil )
                     (!pair  "larray"
                      (!type already_seen 307)
                      (!srcfileloc  "cfgloop.h" 242)
                      nil )
                     (!pair  "exits"
                      (!type pointer 435 nil  gc_used
                       (!type user_struct 436 
                        (!type already_seen 435)
                        gc_pointed_to "hash_table<loop_exit_hasher>"
                        (!srcfileloc  "cfgloop.h" 247)
                        (!fields 1 
                         (!pair  "loop_exit_hasher"
                          (!type struct 437 nil  gc_used "loop_exit_hasher"
                           (!srcfileloc  "cfgloop.h" 247)
                           (!fields 0 )
                           nil 1023 nil nil )
                          (!srcfileloc  "cfgloop.h" 247)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "cfgloop.h" 247)
                      nil )
                     (!pair  "tree_root"
                      (!type already_seen 304)
                      (!srcfileloc  "cfgloop.h" 250)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 527)
                  nil )
                 (!pair  "su"
                  (!type pointer 438 nil  gc_used
                   (!type struct 439 
                    (!type already_seen 438)
                    gc_pointed_to "stack_usage"
                    (!srcfileloc  "function.h" 500)
                    (!fields 4 
                     (!pair  "static_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 487)
                      nil )
                     (!pair  "dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 491)
                      nil )
                     (!pair  "pushed_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 495)
                      nil )
                     (!pair  "has_unbounded_dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 499)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 530)
                  nil )
                 (!pair  "value_histograms"
                  (!type already_seen 364)
                  (!srcfileloc  "function.h" 533)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 538)
                  nil )
                 (!pair  "static_chain_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 542)
                  nil )
                 (!pair  "nonlocal_goto_save_area"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 547)
                  nil )
                 (!pair  "local_decls"
                  (!type already_seen 49)
                  (!srcfileloc  "function.h" 550)
                  nil )
                 (!pair  "cilk_frame_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 553)
                  nil )
                 (!pair  "machine"
                  (!type pointer 440 nil  gc_unused
                   (!type struct 441 
                    (!type already_seen 440)
                    gc_maybe_pointed_to "machine_function"
                    (!srcfileloc  "config/mips/mips.c" 470)
                    (!fields 16 
                     (!pair  "next_fcc"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 411)
                      nil )
                     (!pair  "mips16_gp_pseudo_rtx"
                      (!type already_seen 135)
                      (!srcfileloc  "config/mips/mips.c" 414)
                      nil )
                     (!pair  "varargs_size"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 418)
                      nil )
                     (!pair  "frame"
                      (!type struct 442 nil  gc_used "mips_frame_info"
                       (!srcfileloc  "config/mips/mips.c" 406)
                       (!fields 22 
                        (!pair  "total_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 356)
                         nil )
                        (!pair  "var_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 359)
                         nil )
                        (!pair  "args_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 362)
                         nil )
                        (!pair  "cprestore_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 366)
                         nil )
                        (!pair  "mask"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 369)
                         nil )
                        (!pair  "fmask"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 372)
                         nil )
                        (!pair  "acc_mask"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 375)
                         nil )
                        (!pair  "num_gp"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 379)
                         nil )
                        (!pair  "num_fp"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 380)
                         nil )
                        (!pair  "num_acc"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 381)
                         nil )
                        (!pair  "num_cop0_regs"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 382)
                         nil )
                        (!pair  "gp_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 387)
                         nil )
                        (!pair  "fp_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 388)
                         nil )
                        (!pair  "acc_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 389)
                         nil )
                        (!pair  "cop0_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 390)
                         nil )
                        (!pair  "gp_sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 393)
                         nil )
                        (!pair  "fp_sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 394)
                         nil )
                        (!pair  "acc_sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 395)
                         nil )
                        (!pair  "cop0_sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 396)
                         nil )
                        (!pair  "ra_fp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 399)
                         nil )
                        (!pair  "arg_pointer_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 402)
                         nil )
                        (!pair  "hard_frame_pointer_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 405)
                         nil )
                       )
                       nil 1023 nil nil )
                      (!srcfileloc  "config/mips/mips.c" 421)
                      nil )
                     (!pair  "global_pointer"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 425)
                      nil )
                     (!pair  "load_label_num_insns"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 429)
                      nil )
                     (!pair  "ignore_hazard_length_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 433)
                      nil )
                     (!pair  "all_noreorder_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 437)
                      nil )
                     (!pair  "has_inflexible_gp_insn_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 442)
                      nil )
                     (!pair  "has_flexible_gp_insn_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 443)
                      nil )
                     (!pair  "must_initialize_gp_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 450)
                      nil )
                     (!pair  "must_restore_gp_when_clobbered_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 455)
                      nil )
                     (!pair  "interrupt_handler_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 458)
                      nil )
                     (!pair  "use_shadow_register_set_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 461)
                      nil )
                     (!pair  "keep_interrupts_masked_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 465)
                      nil )
                     (!pair  "use_debug_exception_return_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 469)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 558)
                  (!options 
                   (!option maybe_undef string  "")
                  )
                 )
                 (!pair  "language"
                  (!type already_seen 76)
                  (!srcfileloc  "function.h" 561)
                  nil )
                 (!pair  "used_types_hash"
                  (!type pointer 443 nil  gc_used
                   (!type user_struct 444 
                    (!type already_seen 443)
                    gc_pointed_to "hash_set<tree>"
                    (!srcfileloc  "function.h" 564)
                    (!fields 1 
                     (!pair  "tree"
                      (!type already_seen 5)
                      (!srcfileloc  "function.h" 564)
                      nil )
                    )
                   )
                  )
                  (!srcfileloc  "function.h" 564)
                  nil )
                 (!pair  "fde"
                  (!type pointer 445 nil  gc_used
                   (!type struct 446 
                    (!type already_seen 445)
                    gc_pointed_to "dw_fde_node"
                    (!srcfileloc  "dwarf2out.h" 108)
                    (!fields 22 
                     (!pair  "decl"
                      (!type already_seen 5)
                      (!srcfileloc  "dwarf2out.h" 76)
                      nil )
                     (!pair  "dw_fde_begin"
                      (!type already_seen 39)
                      (!srcfileloc  "dwarf2out.h" 77)
                      nil )
                     (!pair  "dw_fde_current_label"
                      (!type already_seen 39)
                      (!srcfileloc  "dwarf2out.h" 78)
                      nil )
                     (!pair  "dw_fde_end"
                      (!type already_seen 39)
                      (!srcfileloc  "dwarf2out.h" 79)
                      nil )
                     (!pair  "dw_fde_vms_end_prologue"
                      (!type already_seen 39)
                      (!srcfileloc  "dwarf2out.h" 80)
                      nil )
                     (!pair  "dw_fde_vms_begin_epilogue"
                      (!type already_seen 39)
                      (!srcfileloc  "dwarf2out.h" 81)
                      nil )
                     (!pair  "dw_fde_second_begin"
                      (!type already_seen 39)
                      (!srcfileloc  "dwarf2out.h" 82)
                      nil )
                     (!pair  "dw_fde_second_end"
                      (!type already_seen 39)
                      (!srcfileloc  "dwarf2out.h" 83)
                      nil )
                     (!pair  "dw_fde_cfi"
                      (!type pointer 447 nil  gc_used
                       (!type user_struct 448 
                        (!type already_seen 447)
                        gc_pointed_to "vec<dw_cfi_ref,va_gc>"
                        (!srcfileloc  "dwarf2out.h" 65)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "dwarf2out.h" 65)
                          nil )
                         (!pair  "dw_cfi_ref"
                          (!type pointer 449 nil  gc_used
                           (!type struct 450 
                            (!type already_seen 449)
                            gc_pointed_to "dw_cfi_node"
                            (!srcfileloc  "dwarf2out.h" 62)
                            (!fields 3 
                             (!pair  "dw_cfi_opc"
                              (!type already_seen 9)
                              (!srcfileloc  "dwarf2out.h" 57)
                              nil )
                             (!pair  "dw_cfi_oprnd1"
                              (!type union 451 nil  gc_used "anonymous:../../gcc/dwarf2out.h:49"
                               (!srcfileloc  "dwarf2out.h" 54)
                               (!fields 4 
                                (!pair  "dw_cfi_reg_num"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 50)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_reg_num")
                                 )
                                )
                                (!pair  "dw_cfi_offset"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 51)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_offset")
                                 )
                                )
                                (!pair  "dw_cfi_addr"
                                 (!type already_seen 39)
                                 (!srcfileloc  "dwarf2out.h" 52)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_addr")
                                 )
                                )
                                (!pair  "dw_cfi_loc"
                                 (!type pointer 452 nil  gc_used
                                  (!type struct 453 
                                   (!type already_seen 452)
                                   gc_pointed_to "dw_loc_descr_node"
                                   (!srcfileloc  "dwarf2out.h" 217)
                                   (!fields 6 
                                    (!pair  "dw_loc_next"
                                     (!type already_seen 452)
                                     (!srcfileloc  "dwarf2out.h" 209)
                                     nil )
                                    (!pair  "dw_loc_opc"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 210)
                                     nil )
                                    (!pair  "dtprel"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 213)
                                     nil )
                                    (!pair  "dw_loc_addr"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 214)
                                     nil )
                                    (!pair  "dw_loc_oprnd1"
                                     (!type struct 454 
                                      (!type pointer 455 nil  gc_unused
                                       (!type already_seen 454)
                                      )
                                      gc_used "dw_val_node"
                                      (!srcfileloc  "dwarf2out.h" 215)
                                      (!fields 3 
                                       (!pair  "val_class"
                                        (!type already_seen 9)
                                        (!srcfileloc  "dwarf2out.h" 171)
                                        nil )
                                       (!pair  "val_entry"
                                        (!type pointer 456 nil  gc_used
                                         (!type struct 457 
                                          (!type already_seen 456)
                                          gc_pointed_to "addr_table_entry_struct"
                                          (!srcfileloc  "dwarf2out.c" 1301)
                                          (!fields 4 
                                           (!pair  "kind"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1292)
                                            nil )
                                           (!pair  "refcount"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1293)
                                            nil )
                                           (!pair  "index"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1294)
                                            nil )
                                           (!pair  "addr"
                                            (!type union 458 nil  gc_used "addr_table_entry_struct_union"
                                             (!srcfileloc  "dwarf2out.c" 1299)
                                             (!fields 2 
                                              (!pair  "rtl"
                                               (!type already_seen 135)
                                               (!srcfileloc  "dwarf2out.c" 1297)
                                               (!options 
                                                (!option tag string  "0")
                                               )
                                              )
                                              (!pair  "label"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1298)
                                               (!options 
                                                (!option tag string  "1")
                                               )
                                              )
                                             )
                                             nil 1023 nil )
                                            (!srcfileloc  "dwarf2out.c" 1300)
                                            (!options 
                                             (!option desc string  "%1.kind")
                                            )
                                           )
                                          )
                                          (!options 
                                           (!option for_user string  "")
                                          )
                                          1023 nil nil )
                                        )
                                        (!srcfileloc  "dwarf2out.h" 172)
                                        nil )
                                       (!pair  "v"
                                        (!type union 459 nil  gc_used "dw_val_struct_union"
                                         (!srcfileloc  "dwarf2out.h" 201)
                                         (!fields 18 
                                          (!pair  "val_addr"
                                           (!type already_seen 135)
                                           (!srcfileloc  "dwarf2out.h" 175)
                                           (!options 
                                            (!option tag string  "dw_val_class_addr")
                                           )
                                          )
                                          (!pair  "val_offset"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 176)
                                           (!options 
                                            (!option tag string  "dw_val_class_offset")
                                           )
                                          )
                                          (!pair  "val_loc_list"
                                           (!type pointer 460 nil  gc_used
                                            (!type struct 461 
                                             (!type already_seen 460)
                                             gc_pointed_to "dw_loc_list_struct"
                                             (!srcfileloc  "dwarf2out.c" 1326)
                                             (!fields 12 
                                              (!pair  "dw_loc_next"
                                               (!type already_seen 460)
                                               (!srcfileloc  "dwarf2out.c" 1308)
                                               nil )
                                              (!pair  "begin"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1309)
                                               nil )
                                              (!pair  "begin_entry"
                                               (!type already_seen 456)
                                               (!srcfileloc  "dwarf2out.c" 1310)
                                               nil )
                                              (!pair  "end"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1311)
                                               nil )
                                              (!pair  "ll_symbol"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1312)
                                               nil )
                                              (!pair  "section"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1314)
                                               nil )
                                              (!pair  "expr"
                                               (!type already_seen 452)
                                               (!srcfileloc  "dwarf2out.c" 1315)
                                               nil )
                                              (!pair  "hash"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1316)
                                               nil )
                                              (!pair  "resolved_addr"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1319)
                                               nil )
                                              (!pair  "replaced"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1321)
                                               nil )
                                              (!pair  "emitted"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1322)
                                               nil )
                                              (!pair  "force"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1325)
                                               nil )
                                             )
                                             nil 1023 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 177)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc_list")
                                           )
                                          )
                                          (!pair  "val_loc"
                                           (!type already_seen 452)
                                           (!srcfileloc  "dwarf2out.h" 178)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc")
                                           )
                                          )
                                          (!pair  "val_int"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 179)
                                           (!options 
                                            (!option default string  "")
                                           )
                                          )
                                          (!pair  "val_unsigned"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 180)
                                           (!options 
                                            (!option tag string  "dw_val_class_unsigned_const")
                                           )
                                          )
                                          (!pair  "val_double"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 181)
                                           (!options 
                                            (!option tag string  "dw_val_class_const_double")
                                           )
                                          )
                                          (!pair  "val_wide"
                                           (!type pointer 462 nil  gc_used
                                            (!type user_struct 463 
                                             (!type already_seen 462)
                                             gc_pointed_to "generic_wide_int<wide_int_storage>"
                                             (!srcfileloc  "wide-int.h" 291)
                                             (!fields 1 
                                              (!pair  "wide_int_storage"
                                               (!type struct 464 nil  gc_used "wide_int_storage"
                                                (!srcfileloc  "wide-int.h" 1002)
                                                (!fields 3 
                                                 (!pair  "val"
                                                  (!type array 465 nil  gc_used "WIDE_INT_MAX_ELTS" 
                                                   (!type already_seen 9)
                                                  )
                                                  (!srcfileloc  "wide-int.h" 979)
                                                  nil )
                                                 (!pair  "len"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "wide-int.h" 980)
                                                  nil )
                                                 (!pair  "precision"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "wide-int.h" 981)
                                                  nil )
                                                )
                                                nil 1023 nil nil )
                                               (!srcfileloc  "wide-int.h" 291)
                                               nil )
                                             )
                                            )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 182)
                                           (!options 
                                            (!option tag string  "dw_val_class_wide_int")
                                           )
                                          )
                                          (!pair  "val_vec"
                                           (!type struct 466 nil  gc_used "dw_vec_const"
                                            (!srcfileloc  "dwarf2out.h" 183)
                                            (!fields 3 
                                             (!pair  "array"
                                              (!type already_seen 39)
                                              (!srcfileloc  "dwarf2out.h" 160)
                                              (!options 
                                               (!option atomic string  "")
                                              )
                                             )
                                             (!pair  "length"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 161)
                                              nil )
                                             (!pair  "elt_size"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 162)
                                              nil )
                                            )
                                            nil 1023 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 183)
                                           (!options 
                                            (!option tag string  "dw_val_class_vec")
                                           )
                                          )
                                          (!pair  "val_die_ref"
                                           (!type struct 467 nil  gc_used "dw_val_die_union"
                                            (!srcfileloc  "dwarf2out.h" 188)
                                            (!fields 2 
                                             (!pair  "die"
                                              (!type pointer 468 
                                               (!type pointer 469 nil  gc_used
                                                (!type already_seen 468)
                                               )
                                               gc_pointed_to
                                               (!type struct 470 
                                                (!type already_seen 468)
                                                gc_pointed_to "die_struct"
                                                (!srcfileloc  "dwarf2out.c" 2644)
                                                (!fields 13 
                                                 (!pair  "die_id"
                                                  (!type union 471 nil  gc_used "die_symbol_or_type_node"
                                                   (!srcfileloc  "dwarf2out.c" 2628)
                                                   (!fields 2 
                                                    (!pair  "die_symbol"
                                                     (!type already_seen 39)
                                                     (!srcfileloc  "dwarf2out.c" 2626)
                                                     (!options 
                                                      (!option tag string  "0")
                                                     )
                                                    )
                                                    (!pair  "die_type_node"
                                                     (!type pointer 472 nil  gc_used
                                                      (!type struct 473 
                                                       (!type already_seen 472)
                                                       gc_pointed_to "comdat_type_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2694)
                                                       (!fields 5 
                                                        (!pair  "root_die"
                                                         (!type already_seen 468)
                                                         (!srcfileloc  "dwarf2out.c" 2689)
                                                         nil )
                                                        (!pair  "type_die"
                                                         (!type already_seen 468)
                                                         (!srcfileloc  "dwarf2out.c" 2690)
                                                         nil )
                                                        (!pair  "skeleton_die"
                                                         (!type already_seen 468)
                                                         (!srcfileloc  "dwarf2out.c" 2691)
                                                         nil )
                                                        (!pair  "signature"
                                                         (!type array 474 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                          (!type already_seen 15)
                                                         )
                                                         (!srcfileloc  "dwarf2out.c" 2692)
                                                         nil )
                                                        (!pair  "next"
                                                         (!type already_seen 472)
                                                         (!srcfileloc  "dwarf2out.c" 2693)
                                                         nil )
                                                       )
                                                       nil 1023 nil nil )
                                                     )
                                                     (!srcfileloc  "dwarf2out.c" 2627)
                                                     (!options 
                                                      (!option tag string  "1")
                                                     )
                                                    )
                                                   )
                                                   nil 1023 nil )
                                                  (!srcfileloc  "dwarf2out.c" 2629)
                                                  (!options 
                                                   (!option desc string  "%0.comdat_type_p")
                                                  )
                                                 )
                                                 (!pair  "die_attr"
                                                  (!type pointer 475 nil  gc_used
                                                   (!type user_struct 476 
                                                    (!type already_seen 475)
                                                    gc_pointed_to "vec<dw_attr_node,va_gc>"
                                                    (!srcfileloc  "dwarf2out.c" 2630)
                                                    (!fields 2 
                                                     (!pair  "va_gc"
                                                      (!type already_seen 3)
                                                      (!srcfileloc  "dwarf2out.c" 2630)
                                                      nil )
                                                     (!pair  "dw_attr_node"
                                                      (!type struct 477 
                                                       (!type pointer 478 nil  gc_unused
                                                        (!type already_seen 477)
                                                       )
                                                       gc_used "dw_attr_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2615)
                                                       (!fields 2 
                                                        (!pair  "dw_attr"
                                                         (!type already_seen 9)
                                                         (!srcfileloc  "dwarf2out.c" 2613)
                                                         nil )
                                                        (!pair  "dw_attr_val"
                                                         (!type already_seen 454)
                                                         (!srcfileloc  "dwarf2out.c" 2614)
                                                         nil )
                                                       )
                                                       nil 1023 nil nil )
                                                      (!srcfileloc  "dwarf2out.c" 2630)
                                                      nil )
                                                    )
                                                   )
                                                  )
                                                  (!srcfileloc  "dwarf2out.c" 2630)
                                                  nil )
                                                 (!pair  "die_parent"
                                                  (!type already_seen 468)
                                                  (!srcfileloc  "dwarf2out.c" 2631)
                                                  nil )
                                                 (!pair  "die_child"
                                                  (!type already_seen 468)
                                                  (!srcfileloc  "dwarf2out.c" 2632)
                                                  nil )
                                                 (!pair  "die_sib"
                                                  (!type already_seen 468)
                                                  (!srcfileloc  "dwarf2out.c" 2633)
                                                  nil )
                                                 (!pair  "die_definition"
                                                  (!type already_seen 468)
                                                  (!srcfileloc  "dwarf2out.c" 2634)
                                                  nil )
                                                 (!pair  "die_offset"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2635)
                                                  nil )
                                                 (!pair  "die_abbrev"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2636)
                                                  nil )
                                                 (!pair  "die_mark"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2637)
                                                  nil )
                                                 (!pair  "decl_id"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2638)
                                                  nil )
                                                 (!pair  "die_tag"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2639)
                                                  nil )
                                                 (!pair  "die_perennial_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2641)
                                                  nil )
                                                 (!pair  "comdat_type_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2642)
                                                  nil )
                                                )
                                                (!options 
                                                 (!option for_user string  "")
                                                 (!option chain_circular string  "%h.die_sib")
                                                )
                                                1023 nil nil )
                                              )
                                              (!srcfileloc  "dwarf2out.h" 186)
                                              nil )
                                             (!pair  "external"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 187)
                                              nil )
                                            )
                                            nil 1023 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 188)
                                           (!options 
                                            (!option tag string  "dw_val_class_die_ref")
                                           )
                                          )
                                          (!pair  "val_fde_index"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 189)
                                           (!options 
                                            (!option tag string  "dw_val_class_fde_ref")
                                           )
                                          )
                                          (!pair  "val_str"
                                           (!type pointer 479 nil  gc_used
                                            (!type struct 480 
                                             (!type already_seen 479)
                                             gc_pointed_to "indirect_string_node"
                                             (!srcfileloc  "dwarf2out.c" 235)
                                             (!fields 5 
                                              (!pair  "str"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 230)
                                               nil )
                                              (!pair  "refcount"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 231)
                                               nil )
                                              (!pair  "form"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 232)
                                               nil )
                                              (!pair  "label"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 233)
                                               nil )
                                              (!pair  "index"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 234)
                                               nil )
                                             )
                                             (!options 
                                              (!option for_user string  "")
                                             )
                                             1023 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 190)
                                           (!options 
                                            (!option tag string  "dw_val_class_str")
                                           )
                                          )
                                          (!pair  "val_lbl_id"
                                           (!type already_seen 39)
                                           (!srcfileloc  "dwarf2out.h" 191)
                                           (!options 
                                            (!option tag string  "dw_val_class_lbl_id")
                                           )
                                          )
                                          (!pair  "val_flag"
                                           (!type already_seen 15)
                                           (!srcfileloc  "dwarf2out.h" 192)
                                           (!options 
                                            (!option tag string  "dw_val_class_flag")
                                           )
                                          )
                                          (!pair  "val_file"
                                           (!type pointer 481 nil  gc_used
                                            (!type struct 482 
                                             (!type already_seen 481)
                                             gc_pointed_to "dwarf_file_data"
                                             (!srcfileloc  "dwarf2out.c" 1271)
                                             (!fields 2 
                                              (!pair  "filename"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1269)
                                               nil )
                                              (!pair  "emitted_number"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1270)
                                               nil )
                                             )
                                             (!options 
                                              (!option for_user string  "")
                                             )
                                             1023 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 193)
                                           (!options 
                                            (!option tag string  "dw_val_class_file")
                                           )
                                          )
                                          (!pair  "val_data8"
                                           (!type array 483 nil  gc_used "8" 
                                            (!type already_seen 15)
                                           )
                                           (!srcfileloc  "dwarf2out.h" 194)
                                           (!options 
                                            (!option tag string  "dw_val_class_data8")
                                           )
                                          )
                                          (!pair  "val_decl_ref"
                                           (!type already_seen 5)
                                           (!srcfileloc  "dwarf2out.h" 195)
                                           (!options 
                                            (!option tag string  "dw_val_class_decl_ref")
                                           )
                                          )
                                          (!pair  "val_vms_delta"
                                           (!type struct 484 nil  gc_used "dw_val_vms_delta_union"
                                            (!srcfileloc  "dwarf2out.h" 200)
                                            (!fields 2 
                                             (!pair  "lbl1"
                                              (!type already_seen 39)
                                              (!srcfileloc  "dwarf2out.h" 198)
                                              nil )
                                             (!pair  "lbl2"
                                              (!type already_seen 39)
                                              (!srcfileloc  "dwarf2out.h" 199)
                                              nil )
                                            )
                                            nil 1023 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 200)
                                           (!options 
                                            (!option tag string  "dw_val_class_vms_delta")
                                           )
                                          )
                                         )
                                         nil 1023 nil )
                                        (!srcfileloc  "dwarf2out.h" 202)
                                        (!options 
                                         (!option desc string  "%1.val_class")
                                        )
                                       )
                                      )
                                      nil 1023 nil nil )
                                     (!srcfileloc  "dwarf2out.h" 215)
                                     nil )
                                    (!pair  "dw_loc_oprnd2"
                                     (!type already_seen 454)
                                     (!srcfileloc  "dwarf2out.h" 216)
                                     nil )
                                   )
                                   (!options 
                                    (!option chain_next string  "%h.dw_loc_next")
                                   )
                                   1023 nil nil )
                                 )
                                 (!srcfileloc  "dwarf2out.h" 53)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_loc")
                                 )
                                )
                               )
                               nil 1023 nil )
                              (!srcfileloc  "dwarf2out.h" 59)
                              (!options 
                               (!option desc string  "dw_cfi_oprnd1_desc (%1.dw_cfi_opc)")
                              )
                             )
                             (!pair  "dw_cfi_oprnd2"
                              (!type already_seen 451)
                              (!srcfileloc  "dwarf2out.h" 61)
                              (!options 
                               (!option desc string  "dw_cfi_oprnd2_desc (%1.dw_cfi_opc)")
                              )
                             )
                            )
                            nil 1023 nil nil )
                          )
                          (!srcfileloc  "dwarf2out.h" 65)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "dwarf2out.h" 84)
                      nil )
                     (!pair  "dw_fde_switch_cfi_index"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 85)
                      nil )
                     (!pair  "stack_realignment"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 86)
                      nil )
                     (!pair  "funcdef_number"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 88)
                      nil )
                     (!pair  "fde_index"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 89)
                      nil )
                     (!pair  "drap_reg"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 92)
                      nil )
                     (!pair  "vdrap_reg"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 94)
                      nil )
                     (!pair  "all_throwers_are_sibcalls"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 96)
                      nil )
                     (!pair  "uses_eh_lsda"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 97)
                      nil )
                     (!pair  "nothrow"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 98)
                      nil )
                     (!pair  "stack_realign"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 100)
                      nil )
                     (!pair  "drap_reg_saved"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 102)
                      nil )
                     (!pair  "in_std_section"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 104)
                      nil )
                     (!pair  "second_in_std_section"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 107)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 569)
                  nil )
                 (!pair  "last_stmt_uid"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 572)
                  nil )
                 (!pair  "funcdef_no"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 575)
                  nil )
                 (!pair  "function_start_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 578)
                  nil )
                 (!pair  "function_end_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 581)
                  nil )
                 (!pair  "curr_properties"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 584)
                  nil )
                 (!pair  "last_verified"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 585)
                  nil )
                 (!pair  "cannot_be_copied_reason"
                  (!type already_seen 39)
                  (!srcfileloc  "function.h" 590)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "last_clique"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 593)
                  nil )
                 (!pair  "va_list_gpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 600)
                  nil )
                 (!pair  "va_list_fpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 604)
                  nil )
                 (!pair  "calls_setjmp"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 607)
                  nil )
                 (!pair  "calls_alloca"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 611)
                  nil )
                 (!pair  "is_cilk_function"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 614)
                  nil )
                 (!pair  "calls_cilk_spawn"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 617)
                  nil )
                 (!pair  "has_nonlocal_label"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 621)
                  nil )
                 (!pair  "cannot_be_copied_set"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 626)
                  nil )
                 (!pair  "stdarg"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 629)
                  nil )
                 (!pair  "after_inlining"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 631)
                  nil )
                 (!pair  "always_inline_functions_inlined"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 632)
                  nil )
                 (!pair  "can_throw_non_call_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 636)
                  nil )
                 (!pair  "can_delete_dead_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 640)
                  nil )
                 (!pair  "returns_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 647)
                  nil )
                 (!pair  "returns_pcc_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 651)
                  nil )
                 (!pair  "has_local_explicit_reg_vars"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 655)
                  nil )
                 (!pair  "is_thunk"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 661)
                  nil )
                 (!pair  "has_force_vectorize_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 665)
                  nil )
                 (!pair  "has_simduid_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 669)
                  nil )
                 (!pair  "tail_call_marked"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 672)
                  nil )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1572)
              nil )
             (!pair  "arguments"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1575)
              nil )
             (!pair  "personality"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1577)
              nil )
             (!pair  "function_specific_target"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1580)
              nil )
             (!pair  "function_specific_optimization"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1581)
              nil )
             (!pair  "saved_tree"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1584)
              nil )
             (!pair  "vindex"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1586)
              nil )
             (!pair  "function_code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1592)
              nil )
             (!pair  "built_in_class"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1593)
              nil )
             (!pair  "static_ctor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1595)
              nil )
             (!pair  "static_dtor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1596)
              nil )
             (!pair  "uninlinable"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1598)
              nil )
             (!pair  "possibly_inlined"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1599)
              nil )
             (!pair  "novops_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1600)
              nil )
             (!pair  "returns_twice_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1601)
              nil )
             (!pair  "malloc_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1602)
              nil )
             (!pair  "operator_new_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1603)
              nil )
             (!pair  "declared_inline_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1604)
              nil )
             (!pair  "no_inline_warning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1605)
              nil )
             (!pair  "no_instrument_function_entry_exit"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1607)
              nil )
             (!pair  "no_limit_stack"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1608)
              nil )
             (!pair  "disregard_inline_limits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1609)
              nil )
             (!pair  "pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1610)
              nil )
             (!pair  "looping_const_or_pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1611)
              nil )
             (!pair  "has_debug_args_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1612)
              nil )
             (!pair  "tm_clone_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1613)
              nil )
             (!pair  "versioned_function"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1614)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1707)
           (!options 
            (!option tag string  "TS_FUNCTION_DECL")
           )
          )
          (!pair  "translation_unit_decl"
           (!type struct 485 nil  gc_used "tree_translation_unit_decl"
            (!srcfileloc  "tree-core.h" 1624)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 41)
              (!srcfileloc  "tree-core.h" 1619)
              nil )
             (!pair  "language"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1621)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1709)
           (!options 
            (!option tag string  "TS_TRANSLATION_UNIT_DECL")
           )
          )
          (!pair  "type_common"
           (!type struct 486 nil  gc_used "tree_type_common"
            (!srcfileloc  "tree-core.h" 1378)
            (!fields 30 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1340)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1341)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1342)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1343)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1344)
              nil )
             (!pair  "precision"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1346)
              nil )
             (!pair  "no_force_blk_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1347)
              nil )
             (!pair  "needs_constructing_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1348)
              nil )
             (!pair  "transparent_aggr_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1349)
              nil )
             (!pair  "restrict_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1350)
              nil )
             (!pair  "contains_placeholder_bits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1351)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1353)
              nil )
             (!pair  "string_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1355)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1356)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1357)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1358)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1359)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1360)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1361)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1362)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1364)
              nil )
             (!pair  "alias_set"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1365)
              nil )
             (!pair  "pointer_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1366)
              nil )
             (!pair  "reference_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1367)
              nil )
             (!pair  "symtab"
              (!type union 487 nil  gc_used "tree_type_symtab"
               (!srcfileloc  "tree-core.h" 1372)
               (!fields 3 
                (!pair  "address"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1369)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_ADDRESS")
                 )
                )
                (!pair  "pointer"
                 (!type already_seen 39)
                 (!srcfileloc  "tree-core.h" 1370)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_POINTER")
                 )
                )
                (!pair  "die"
                 (!type already_seen 468)
                 (!srcfileloc  "tree-core.h" 1371)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_DIE")
                 )
                )
               )
               nil 1023 nil )
              (!srcfileloc  "tree-core.h" 1372)
              (!options 
               (!option desc string  "debug_hooks->tree_type_symtab_field")
              )
             )
             (!pair  "canonical"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1373)
              nil )
             (!pair  "next_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1374)
              nil )
             (!pair  "main_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1375)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1376)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1377)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1710)
           (!options 
            (!option tag string  "TS_TYPE_COMMON")
           )
          )
          (!pair  "type_with_lang_specific"
           (!type struct 488 nil  gc_used "tree_type_with_lang_specific"
            (!srcfileloc  "tree-core.h" 1384)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 486)
              (!srcfileloc  "tree-core.h" 1381)
              nil )
             (!pair  "lang_specific"
              (!type pointer 489 nil  gc_used
               (!type lang_struct 490 
                (!type already_seen 489)
                gc_pointed_to "lang_type"
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                (!fields 0 )
                nil 1023 
                (!homotypes 8
                 (!type struct 491 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "lto/lto-tree.h" 39)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 38)
                    nil )
                  )
                  nil 128 
                  (!type already_seen 490)
                  nil )
                 
                 (!type struct 492 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "jit/dummy-frontend.c" 61)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "jit/dummy-frontend.c" 60)
                    nil )
                  )
                  nil 64 
                  (!type already_seen 490)
                  nil )
                 
                 (!type struct 493 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "java/java-tree.h" 941)
                  (!fields 29 
                   (!pair  "signature"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 891)
                    nil )
                   (!pair  "jcf"
                    (!type pointer 494 nil  gc_used
                     (!type struct 495 
                      (!type already_seen 494)
                      gc_pointed_to "JCF"
                      (!srcfileloc  "java/jcf.h" 123)
                      (!fields 16 
                       (!pair  "buffer"
                        (!type already_seen 39)
                        (!srcfileloc  "java/jcf.h" 106)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "buffer_end"
                        (!type already_seen 39)
                        (!srcfileloc  "java/jcf.h" 107)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_ptr"
                        (!type already_seen 39)
                        (!srcfileloc  "java/jcf.h" 108)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_end"
                        (!type already_seen 39)
                        (!srcfileloc  "java/jcf.h" 109)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "right_zip"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 110)
                        nil )
                       (!pair  "finished"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 111)
                        nil )
                       (!pair  "filbuf"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 112)
                        nil )
                       (!pair  "read_state"
                        (!type already_seen 10)
                        (!srcfileloc  "java/jcf.h" 113)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "filename"
                        (!type already_seen 39)
                        (!srcfileloc  "java/jcf.h" 114)
                        nil )
                       (!pair  "classname"
                        (!type already_seen 39)
                        (!srcfileloc  "java/jcf.h" 115)
                        nil )
                       (!pair  "zipd"
                        (!type pointer 496 nil  gc_unused
                         (!type struct 497 
                          (!type already_seen 496)
                          gc_unused "ZipDirectory"nil 
                          (!fields 0 )
                          nil 0 nil nil )
                        )
                        (!srcfileloc  "java/jcf.h" 117)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "access_flags"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 118)
                        nil )
                       (!pair  "this_class"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 119)
                        nil )
                       (!pair  "super_class"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 120)
                        nil )
                       (!pair  "cpool"
                        (!type struct 498 
                         (!type pointer 499 nil  gc_used
                          (!type already_seen 498)
                         )
                         gc_pointed_to "CPool"
                         (!srcfileloc  "java/jcf.h" 88)
                         (!fields 4 
                          (!pair  "capacity"
                           (!type already_seen 9)
                           (!srcfileloc  "java/jcf.h" 79)
                           nil )
                          (!pair  "count"
                           (!type already_seen 9)
                           (!srcfileloc  "java/jcf.h" 82)
                           nil )
                          (!pair  "tags"
                           (!type already_seen 10)
                           (!srcfileloc  "java/jcf.h" 84)
                           (!options 
                            (!option atomic string  "")
                           )
                          )
                          (!pair  "data"
                           (!type pointer 500 nil  gc_unused
                            (!type union 501 
                             (!type already_seen 500)
                             gc_used "cpool_entry"
                             (!srcfileloc  "java/jcf.h" 71)
                             (!fields 2 
                              (!pair  "w"
                               (!type already_seen 9)
                               (!srcfileloc  "java/jcf.h" 69)
                               (!options 
                                (!option tag string  "0")
                               )
                              )
                              (!pair  "t"
                               (!type already_seen 5)
                               (!srcfileloc  "java/jcf.h" 70)
                               (!options 
                                (!option tag string  "1")
                               )
                              )
                             )
                             nil 32 nil )
                           )
                           (!srcfileloc  "java/jcf.h" 87)
                           (!options 
                            (!option desc string  "cpool_entry_is_tree (%1.tags%a)")
                            (!option length string  "%h.count")
                           )
                          )
                         )
                         nil 32 nil nil )
                        (!srcfileloc  "java/jcf.h" 121)
                        nil )
                       (!pair  "bootstrap_methods"
                        (!type struct 502 nil  gc_used "BootstrapMethods"
                         (!srcfileloc  "java/jcf.h" 99)
                         (!fields 2 
                          (!pair  "count"
                           (!type already_seen 9)
                           (!srcfileloc  "java/jcf.h" 97)
                           nil )
                          (!pair  "methods"
                           (!type pointer 503 nil  gc_unused
                            (!type struct 504 
                             (!type already_seen 503)
                             gc_used "bootstrap_method"
                             (!srcfileloc  "java/jcf.h" 94)
                             (!fields 3 
                              (!pair  "method_ref"
                               (!type already_seen 9)
                               (!srcfileloc  "java/jcf.h" 91)
                               nil )
                              (!pair  "num_arguments"
                               (!type already_seen 9)
                               (!srcfileloc  "java/jcf.h" 92)
                               nil )
                              (!pair  "bootstrap_arguments"
                               (!type already_seen 10)
                               (!srcfileloc  "java/jcf.h" 93)
                               (!options 
                                (!option atomic string  "")
                               )
                              )
                             )
                             nil 32 nil nil )
                           )
                           (!srcfileloc  "java/jcf.h" 98)
                           (!options 
                            (!option length string  "%h.count")
                           )
                          )
                         )
                         nil 32 nil nil )
                        (!srcfileloc  "java/jcf.h" 122)
                        nil )
                      )
                      nil 32 nil nil )
                    )
                    (!srcfileloc  "java/java-tree.h" 892)
                    nil )
                   (!pair  "cpool"
                    (!type already_seen 499)
                    (!srcfileloc  "java/java-tree.h" 893)
                    nil )
                   (!pair  "cpool_data_ref"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 894)
                    nil )
                   (!pair  "package_list"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 895)
                    nil )
                   (!pair  "otable_methods"
                    (!type pointer 505 nil  gc_used
                     (!type user_struct 506 
                      (!type already_seen 505)
                      gc_pointed_to "vec<method_entry,va_gc>"
                      (!srcfileloc  "java/java-tree.h" 897)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "java/java-tree.h" 897)
                        nil )
                       (!pair  "method_entry"
                        (!type struct 507 nil  gc_used "method_entry_d"
                         (!srcfileloc  "java/java-tree.h" 887)
                         (!fields 2 
                          (!pair  "method"
                           (!type already_seen 5)
                           (!srcfileloc  "java/java-tree.h" 885)
                           nil )
                          (!pair  "special"
                           (!type already_seen 5)
                           (!srcfileloc  "java/java-tree.h" 886)
                           nil )
                         )
                         nil 32 nil nil )
                        (!srcfileloc  "java/java-tree.h" 897)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 897)
                    nil )
                   (!pair  "otable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 899)
                    nil )
                   (!pair  "otable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 900)
                    nil )
                   (!pair  "atable_methods"
                    (!type already_seen 505)
                    (!srcfileloc  "java/java-tree.h" 902)
                    nil )
                   (!pair  "atable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 904)
                    nil )
                   (!pair  "atable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 905)
                    nil )
                   (!pair  "itable_methods"
                    (!type already_seen 505)
                    (!srcfileloc  "java/java-tree.h" 907)
                    nil )
                   (!pair  "itable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 909)
                    nil )
                   (!pair  "itable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 910)
                    nil )
                   (!pair  "ctable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 912)
                    nil )
                   (!pair  "catch_classes"
                    (!type pointer 508 nil  gc_used
                     (!type user_struct 509 
                      (!type already_seen 508)
                      gc_pointed_to "vec<constructor_elt,va_gc>"
                      (!srcfileloc  "tree-core.h" 1222)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "tree-core.h" 1222)
                        nil )
                       (!pair  "constructor_elt"
                        (!type struct 510 nil  gc_used "constructor_elt"
                         (!srcfileloc  "tree-core.h" 1222)
                         (!fields 2 
                          (!pair  "index"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1216)
                           nil )
                          (!pair  "value"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1217)
                           nil )
                         )
                         nil 1023 nil nil )
                        (!srcfileloc  "tree-core.h" 1222)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 914)
                    nil )
                   (!pair  "type_to_runtime_map"
                    (!type already_seen 51)
                    (!srcfileloc  "java/java-tree.h" 916)
                    nil )
                   (!pair  "type_assertions"
                    (!type pointer 511 nil  gc_used
                     (!type user_struct 512 
                      (!type already_seen 511)
                      gc_pointed_to "hash_table<type_assertion_hasher>"
                      (!srcfileloc  "java/java-tree.h" 920)
                      (!fields 1 
                       (!pair  "type_assertion_hasher"
                        (!type struct 513 nil  gc_used "type_assertion_hasher"
                         (!srcfileloc  "java/java-tree.h" 920)
                         (!fields 0 )
                         nil 32 nil nil )
                        (!srcfileloc  "java/java-tree.h" 920)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 920)
                    nil )
                   (!pair  "package"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 924)
                    nil )
                   (!pair  "reflection_data"
                    (!type already_seen 39)
                    (!srcfileloc  "java/java-tree.h" 927)
                    (!options 
                     (!option skip string  "")
                    )
                   )
                   (!pair  "reflection_datasize"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 930)
                    nil )
                   (!pair  "pic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 933)
                    nil )
                   (!pair  "poic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 934)
                    nil )
                   (!pair  "strictfp"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 935)
                    nil )
                   (!pair  "assertions"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 936)
                    nil )
                   (!pair  "dummy_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 937)
                    nil )
                   (!pair  "enum_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 938)
                    nil )
                   (!pair  "synthetic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 939)
                    nil )
                   (!pair  "annotation"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 940)
                    nil )
                  )
                  nil 32 
                  (!type already_seen 490)
                  nil )
                 
                 (!type struct 514 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "go/go-lang.c" 64)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "go/go-lang.c" 63)
                    nil )
                  )
                  nil 16 
                  (!type already_seen 490)
                  nil )
                 
                 (!type struct 515 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "fortran/trans.h" 864)
                  (!fields 15 
                   (!pair  "rank"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 850)
                    nil )
                   (!pair  "corank"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 850)
                    nil )
                   (!pair  "akind"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 851)
                    nil )
                   (!pair  "lbound"
                    (!type array 516 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 852)
                    nil )
                   (!pair  "ubound"
                    (!type array 517 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 853)
                    nil )
                   (!pair  "stride"
                    (!type array 518 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 854)
                    nil )
                   (!pair  "size"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 855)
                    nil )
                   (!pair  "offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 856)
                    nil )
                   (!pair  "dtype"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 857)
                    nil )
                   (!pair  "dataptr_type"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 858)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 859)
                    nil )
                   (!pair  "base_decl"
                    (!type array 519 nil  gc_used "2" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 860)
                    nil )
                   (!pair  "nonrestricted_type"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 861)
                    nil )
                   (!pair  "caf_token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 862)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 863)
                    nil )
                  )
                  nil 8 
                  (!type already_seen 490)
                  nil )
                 
                 (!type struct 520 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "cp/cp-tree.h" 1575)
                  (!fields 1 
                   (!pair  "u"
                    (!type union 521 nil  gc_used "lang_type_u"
                     (!srcfileloc  "cp/cp-tree.h" 1574)
                     (!fields 3 
                      (!pair  "h"
                       (!type struct 522 nil  gc_used "lang_type_header"
                        (!srcfileloc  "cp/cp-tree.h" 1459)
                        (!fields 8 
                         (!pair  "is_lang_type_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1449)
                          nil )
                         (!pair  "has_type_conversion"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1451)
                          nil )
                         (!pair  "has_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1452)
                          nil )
                         (!pair  "has_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1453)
                          nil )
                         (!pair  "const_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1454)
                          nil )
                         (!pair  "ref_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1455)
                          nil )
                         (!pair  "has_const_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1456)
                          nil )
                         (!pair  "spare"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1458)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1571)
                       (!options 
                        (!option skip string  "")
                       )
                      )
                      (!pair  "c"
                       (!type struct 523 nil  gc_used "lang_type_class"
                        (!srcfileloc  "cp/cp-tree.h" 1561)
                        (!fields 63 
                         (!pair  "h"
                          (!type already_seen 522)
                          (!srcfileloc  "cp/cp-tree.h" 1475)
                          nil )
                         (!pair  "align"
                          (!type already_seen 15)
                          (!srcfileloc  "cp/cp-tree.h" 1477)
                          nil )
                         (!pair  "has_mutable"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1479)
                          nil )
                         (!pair  "com_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1480)
                          nil )
                         (!pair  "non_pod_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1481)
                          nil )
                         (!pair  "nearly_empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1482)
                          nil )
                         (!pair  "user_align"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1483)
                          nil )
                         (!pair  "has_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1484)
                          nil )
                         (!pair  "has_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1485)
                          nil )
                         (!pair  "has_array_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1486)
                          nil )
                         (!pair  "gets_delete"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1488)
                          nil )
                         (!pair  "interface_only"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1489)
                          nil )
                         (!pair  "interface_unknown"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1490)
                          nil )
                         (!pair  "contains_empty_class_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1491)
                          nil )
                         (!pair  "anon_aggr"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1492)
                          nil )
                         (!pair  "non_zero_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1493)
                          nil )
                         (!pair  "empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1494)
                          nil )
                         (!pair  "vec_new_uses_cookie"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1496)
                          nil )
                         (!pair  "declared_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1497)
                          nil )
                         (!pair  "diamond_shaped"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1498)
                          nil )
                         (!pair  "repeated_base"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1499)
                          nil )
                         (!pair  "being_defined"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1500)
                          nil )
                         (!pair  "java_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1501)
                          nil )
                         (!pair  "debug_requested"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1502)
                          nil )
                         (!pair  "fields_readonly"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1503)
                          nil )
                         (!pair  "use_template"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1505)
                          nil )
                         (!pair  "ptrmemfunc_flag"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1506)
                          nil )
                         (!pair  "was_anonymous"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1507)
                          nil )
                         (!pair  "lazy_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1508)
                          nil )
                         (!pair  "lazy_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1509)
                          nil )
                         (!pair  "lazy_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1510)
                          nil )
                         (!pair  "lazy_destructor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1511)
                          nil )
                         (!pair  "has_const_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1513)
                          nil )
                         (!pair  "has_complex_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1514)
                          nil )
                         (!pair  "has_complex_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1515)
                          nil )
                         (!pair  "non_aggregate"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1516)
                          nil )
                         (!pair  "has_complex_dflt"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1517)
                          nil )
                         (!pair  "has_list_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1518)
                          nil )
                         (!pair  "non_std_layout"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1519)
                          nil )
                         (!pair  "is_literal"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1520)
                          nil )
                         (!pair  "lazy_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1522)
                          nil )
                         (!pair  "lazy_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1523)
                          nil )
                         (!pair  "has_complex_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1524)
                          nil )
                         (!pair  "has_complex_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1525)
                          nil )
                         (!pair  "has_constexpr_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1526)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1535)
                          nil )
                         (!pair  "primary_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1537)
                          nil )
                         (!pair  "vcall_indices"
                          (!type pointer 524 nil  gc_used
                           (!type user_struct 525 
                            (!type already_seen 524)
                            gc_pointed_to "vec<tree_pair_s,va_gc>"
                            (!srcfileloc  "cp/cp-tree.h" 1538)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "cp/cp-tree.h" 1538)
                              nil )
                             (!pair  "tree_pair_s"
                              (!type struct 526 
                               (!type pointer 527 nil  gc_unused
                                (!type already_seen 526)
                               )
                               gc_used "tree_pair_s"
                               (!srcfileloc  "cp/cp-tree.h" 1442)
                               (!fields 2 
                                (!pair  "purpose"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1440)
                                 nil )
                                (!pair  "value"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1441)
                                 nil )
                               )
                               nil 516 nil nil )
                              (!srcfileloc  "cp/cp-tree.h" 1538)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1538)
                          nil )
                         (!pair  "vtables"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1539)
                          nil )
                         (!pair  "typeinfo_var"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1540)
                          nil )
                         (!pair  "vbases"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1541)
                          nil )
                         (!pair  "nested_udts"
                          (!type pointer 528 nil  gc_used
                           (!type struct 529 
                            (!type already_seen 528)
                            gc_pointed_to "binding_table_s"
                            (!srcfileloc  "cp/name-lookup.c" 149)
                            (!fields 3 
                             (!pair  "chain"
                              (!type pointer 530 nil  gc_unused
                               (!type pointer 531 
                                (!type already_seen 530)
                                gc_used
                                (!type struct 532 
                                 (!type already_seen 531)
                                 gc_pointed_to "binding_entry_s"
                                 (!srcfileloc  "cp/name-lookup.h" 38)
                                 (!fields 3 
                                  (!pair  "chain"
                                   (!type already_seen 531)
                                   (!srcfileloc  "cp/name-lookup.h" 35)
                                   nil )
                                  (!pair  "name"
                                   (!type already_seen 5)
                                   (!srcfileloc  "cp/name-lookup.h" 36)
                                   nil )
                                  (!pair  "type"
                                   (!type already_seen 5)
                                   (!srcfileloc  "cp/name-lookup.h" 37)
                                   nil )
                                 )
                                 nil 516 nil nil )
                               )
                              )
                              (!srcfileloc  "cp/name-lookup.c" 141)
                              (!options 
                               (!option length string  "%h.chain_count")
                              )
                             )
                             (!pair  "chain_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 145)
                              nil )
                             (!pair  "entry_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 148)
                              nil )
                            )
                            nil 516 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1542)
                          nil )
                         (!pair  "as_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1543)
                          nil )
                         (!pair  "pure_virtuals"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1544)
                          nil )
                         (!pair  "friend_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1545)
                          nil )
                         (!pair  "methods"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1546)
                          (!options 
                           (!option reorder string  "resort_type_method_vec")
                          )
                         )
                         (!pair  "key_method"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1547)
                          nil )
                         (!pair  "decl_list"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1548)
                          nil )
                         (!pair  "template_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1549)
                          nil )
                         (!pair  "befriending_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1550)
                          nil )
                         (!pair  "objc_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1554)
                          nil )
                         (!pair  "sorted_fields"
                          (!type pointer 533 nil  gc_used
                           (!type struct 534 
                            (!type already_seen 533)
                            gc_pointed_to "sorted_fields_type"
                            (!srcfileloc  "c-family/c-common.h" 478)
                            (!fields 2 
                             (!pair  "len"
                              (!type already_seen 9)
                              (!srcfileloc  "c-family/c-common.h" 476)
                              nil )
                             (!pair  "elts"
                              (!type array 535 nil  gc_used "1" 
                               (!type already_seen 5)
                              )
                              (!srcfileloc  "c-family/c-common.h" 477)
                              (!options 
                               (!option length string  "%h.len")
                              )
                             )
                            )
                            nil 774 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1558)
                          (!options 
                           (!option reorder string  "resort_sorted_fields")
                          )
                         )
                         (!pair  "lambda_expr"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1560)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1572)
                       (!options 
                        (!option tag string  "1")
                       )
                      )
                      (!pair  "ptrmem"
                       (!type struct 536 nil  gc_used "lang_type_ptrmem"
                        (!srcfileloc  "cp/cp-tree.h" 1566)
                        (!fields 2 
                         (!pair  "h"
                          (!type already_seen 522)
                          (!srcfileloc  "cp/cp-tree.h" 1564)
                          nil )
                         (!pair  "record"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1565)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1573)
                       (!options 
                        (!option tag string  "0")
                       )
                      )
                     )
                     nil 516 nil )
                    (!srcfileloc  "cp/cp-tree.h" 1574)
                    (!options 
                     (!option desc string  "%h.h.is_lang_type_class")
                    )
                   )
                  )
                  nil 516 
                  (!type already_seen 490)
                  nil )
                 
                 (!type struct 537 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "c/c-lang.h" 36)
                  (!fields 4 
                   (!pair  "s"
                    (!type already_seen 533)
                    (!srcfileloc  "c/c-lang.h" 28)
                    (!options 
                     (!option reorder string  "resort_sorted_fields")
                    )
                   )
                   (!pair  "enum_min"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 30)
                    nil )
                   (!pair  "enum_max"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 31)
                    nil )
                   (!pair  "objc_info"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 35)
                    nil )
                  )
                  nil 258 
                  (!type already_seen 490)
                  nil )
                 
                 (!type struct 538 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                  (!fields 1 
                   (!pair  "t"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                    nil )
                  )
                  nil 1 
                  (!type already_seen 490)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1383)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1712)
           (!options 
            (!option tag string  "TS_TYPE_WITH_LANG_SPECIFIC")
           )
          )
          (!pair  "type_non_common"
           (!type struct 539 nil  gc_used "tree_type_non_common"
            (!srcfileloc  "tree-core.h" 1392)
            (!fields 5 
             (!pair  "with_lang_specific"
              (!type already_seen 488)
              (!srcfileloc  "tree-core.h" 1387)
              nil )
             (!pair  "values"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1388)
              nil )
             (!pair  "minval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1389)
              nil )
             (!pair  "maxval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1390)
              nil )
             (!pair  "binfo"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1391)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1714)
           (!options 
            (!option tag string  "TS_TYPE_NON_COMMON")
           )
          )
          (!pair  "list"
           (!type struct 540 nil  gc_used "tree_list"
            (!srcfileloc  "tree-core.h" 1204)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1201)
              nil )
             (!pair  "purpose"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1202)
              nil )
             (!pair  "value"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1203)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1715)
           (!options 
            (!option tag string  "TS_LIST")
           )
          )
          (!pair  "vec"
           (!type struct 541 nil  gc_used "tree_vec"
            (!srcfileloc  "tree-core.h" 1209)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1207)
              nil )
             (!pair  "a"
              (!type array 542 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1208)
              (!options 
               (!option length string  "TREE_VEC_LENGTH ((tree)&%h)")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1716)
           (!options 
            (!option tag string  "TS_VEC")
           )
          )
          (!pair  "exp"
           (!type struct 543 nil  gc_used "tree_exp"
            (!srcfileloc  "tree-core.h" 1250)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1245)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1246)
              nil )
             (!pair  "operands"
              (!type union 544 nil  gc_used "tree_exp_subunion"
               (!srcfileloc  "tree-core.h" 1249)
               (!fields 1 
                (!pair  ""
                 (!type array 545 nil  gc_used "1" 
                  (!type already_seen 5)
                 )
                 (!srcfileloc  "gengtype.c" 1392)
                 (!options 
                  (!option default string  "")
                  (!option length string  "TREE_OPERAND_LENGTH ((tree) &%0)")
                  (!option dot string  "")
                 )
                )
               )
               (!options 
                (!option dot string  "")
               )
               1023 nil )
              (!srcfileloc  "tree-core.h" 1249)
              (!options 
               (!option desc string  "TREE_CODE ((tree) &%0)")
               (!option special string  "tree_exp")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1717)
           (!options 
            (!option tag string  "TS_EXP")
           )
          )
          (!pair  "ssa_name"
           (!type struct 546 nil  gc_used "tree_ssa_name"
            (!srcfileloc  "tree-core.h" 1286)
            (!fields 5 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1267)
              nil )
             (!pair  "var"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1270)
              nil )
             (!pair  "def_stmt"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1273)
              nil )
             (!pair  "info"
              (!type union 547 nil  gc_used "ssa_name_info_type"
               (!srcfileloc  "tree-core.h" 1281)
               (!fields 2 
                (!pair  "ptr_info"
                 (!type pointer 548 nil  gc_used
                  (!type struct 549 
                   (!type already_seen 548)
                   gc_pointed_to "ptr_info_def"
                   (!srcfileloc  "tree-ssanames.h" 46)
                   (!fields 3 
                    (!pair  "pt"
                     (!type already_seen 418)
                     (!srcfileloc  "tree-ssanames.h" 28)
                     nil )
                    (!pair  "align"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 40)
                     nil )
                    (!pair  "misalign"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 45)
                     nil )
                   )
                   nil 1023 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1278)
                 (!options 
                  (!option tag string  "0")
                 )
                )
                (!pair  "range_info"
                 (!type pointer 550 nil  gc_used
                  (!type struct 551 
                   (!type already_seen 550)
                   gc_pointed_to "range_info_def"
                   (!srcfileloc  "tree-ssanames.h" 56)
                   (!fields 0 )
                   (!options 
                    (!option variable_size string  "")
                   )
                   1023 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1280)
                 (!options 
                  (!option tag string  "1")
                 )
                )
               )
               nil 1023 nil )
              (!srcfileloc  "tree-core.h" 1282)
              (!options 
               (!option desc string  "%1.typed.type ?!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2")
              )
             )
             (!pair  "imm_uses"
              (!type struct 552 
               (!type pointer 553 nil  gc_unused
                (!type already_seen 552)
               )
               gc_used "ssa_use_operand_t"
               (!srcfileloc  "tree-ssa-operands.h" 30)
               (!fields 4 
                (!pair  "prev"
                 (!type already_seen 553)
                 (!srcfileloc  "tree-core.h" 1255)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "next"
                 (!type already_seen 553)
                 (!srcfileloc  "tree-core.h" 1256)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "loc"
                 (!type union 554 nil  gc_unused "anonymous:../../gcc/tree-core.h:1262"
                  (!srcfileloc  "tree-core.h" 1262)
                  (!fields 2 
                   (!pair  "stmt"
                    (!type already_seen 311)
                    (!srcfileloc  "tree-core.h" 1262)
                    nil )
                   (!pair  "ssa_name"
                    (!type already_seen 5)
                    (!srcfileloc  "tree-core.h" 1262)
                    nil )
                  )
                  nil 1023 nil )
                 (!srcfileloc  "tree-core.h" 1262)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "use"
                 (!type already_seen 6)
                 (!srcfileloc  "tree-core.h" 1263)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               nil 1023 nil nil )
              (!srcfileloc  "tree-core.h" 1285)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1718)
           (!options 
            (!option tag string  "TS_SSA_NAME")
           )
          )
          (!pair  "block"
           (!type struct 555 nil  gc_used "tree_block"
            (!srcfileloc  "tree-core.h" 1337)
            (!fields 13 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1320)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1321)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1323)
              nil )
             (!pair  "block_num"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1324)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1326)
              nil )
             (!pair  "end_locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1327)
              nil )
             (!pair  "vars"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1329)
              nil )
             (!pair  "nonlocalized_vars"
              (!type already_seen 49)
              (!srcfileloc  "tree-core.h" 1330)
              nil )
             (!pair  "subblocks"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1332)
              nil )
             (!pair  "supercontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1333)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1334)
              nil )
             (!pair  "fragment_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1335)
              nil )
             (!pair  "fragment_chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1336)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1719)
           (!options 
            (!option tag string  "TS_BLOCK")
           )
          )
          (!pair  "binfo"
           (!type struct 556 nil  gc_used "tree_binfo"
            (!srcfileloc  "tree-core.h" 1408)
            (!fields 10 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1395)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1397)
              nil )
             (!pair  "vtable"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1398)
              nil )
             (!pair  "virtuals"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1399)
              nil )
             (!pair  "vptr_field"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1400)
              nil )
             (!pair  "base_accesses"
              (!type already_seen 49)
              (!srcfileloc  "tree-core.h" 1401)
              nil )
             (!pair  "inheritance"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1402)
              nil )
             (!pair  "vtt_subvtt"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1404)
              nil )
             (!pair  "vtt_vptr"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1405)
              nil )
             (!pair  "base_binfos"
              (!type already_seen 50)
              (!srcfileloc  "tree-core.h" 1407)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1720)
           (!options 
            (!option tag string  "TS_BINFO")
           )
          )
          (!pair  "stmt_list"
           (!type struct 557 nil  gc_used "tree_statement_list"
            (!srcfileloc  "tree-core.h" 1643)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1640)
              nil )
             (!pair  "head"
              (!type pointer 558 nil  gc_used
               (!type struct 559 
                (!type already_seen 558)
                gc_pointed_to "tree_statement_list_node"
                (!srcfileloc  "tree-core.h" 1636)
                (!fields 3 
                 (!pair  "prev"
                  (!type already_seen 558)
                  (!srcfileloc  "tree-core.h" 1633)
                  nil )
                 (!pair  "next"
                  (!type already_seen 558)
                  (!srcfileloc  "tree-core.h" 1634)
                  nil )
                 (!pair  "stmt"
                  (!type already_seen 5)
                  (!srcfileloc  "tree-core.h" 1635)
                  nil )
                )
                (!options 
                 (!option chain_prev string  "%h.prev")
                 (!option chain_next string  "%h.next")
                )
                1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1641)
              nil )
             (!pair  "tail"
              (!type already_seen 558)
              (!srcfileloc  "tree-core.h" 1642)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1721)
           (!options 
            (!option tag string  "TS_STATEMENT_LIST")
           )
          )
          (!pair  "constructor"
           (!type struct 560 nil  gc_used "tree_constructor"
            (!srcfileloc  "tree-core.h" 1223)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1221)
              nil )
             (!pair  "elts"
              (!type already_seen 508)
              (!srcfileloc  "tree-core.h" 1222)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1722)
           (!options 
            (!option tag string  "TS_CONSTRUCTOR")
           )
          )
          (!pair  "omp_clause"
           (!type struct 561 nil  gc_used "tree_omp_clause"
            (!srcfileloc  "tree-core.h" 1317)
            (!fields 7 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1297)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1298)
              nil )
             (!pair  "code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1299)
              nil )
             (!pair  "subcode"
              (!type union 562 nil  gc_unused "omp_clause_subcode"
               (!srcfileloc  "tree-core.h" 1308)
               (!fields 6 
                (!pair  "default_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1301)
                 nil )
                (!pair  "schedule_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1302)
                 nil )
                (!pair  "depend_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1303)
                 nil )
                (!pair  "map_kind"
                 (!type already_seen 15)
                 (!srcfileloc  "tree-core.h" 1305)
                 nil )
                (!pair  "proc_bind_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1306)
                 nil )
                (!pair  "reduction_code"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1307)
                 nil )
               )
               nil 1023 nil )
              (!srcfileloc  "tree-core.h" 1308)
              (!options 
               (!option skip string  "")
              )
             )
             (!pair  "gimple_reduction_init"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1312)
              nil )
             (!pair  "gimple_reduction_merge"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1313)
              nil )
             (!pair  "ops"
              (!type array 563 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1316)
              (!options 
               (!option length string  "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1723)
           (!options 
            (!option tag string  "TS_OMP_CLAUSE")
           )
          )
          (!pair  "optimization"
           (!type struct 564 nil  gc_used "tree_optimization_option"
            (!srcfileloc  "tree-core.h" 1661)
            (!fields 4 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1649)
              nil )
             (!pair  "opts"
              (!type struct 565 nil  gc_used "cl_optimization"
               (!fileloc  "options.h" 4942)
               (!fields 213 
                (!pair  "x_align_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4729)
                 nil )
                (!pair  "x_align_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4730)
                 nil )
                (!pair  "x_align_labels"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4731)
                 nil )
                (!pair  "x_align_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4732)
                 nil )
                (!pair  "x_flag_sched_stalled_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4733)
                 nil )
                (!pair  "x_flag_sched_stalled_insns_dep"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4734)
                 nil )
                (!pair  "x_flag_tree_parallelize_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4735)
                 nil )
                (!pair  "x_flag_fp_contract_mode"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4736)
                 nil )
                (!pair  "x_flag_ira_algorithm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4737)
                 nil )
                (!pair  "x_flag_ira_region"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4738)
                 nil )
                (!pair  "x_flag_simd_cost_model"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4739)
                 nil )
                (!pair  "x_flag_stack_reuse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4740)
                 nil )
                (!pair  "x_flag_vect_cost_model"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4741)
                 nil )
                (!pair  "x_optimize"
                 (!type already_seen 15)
                 (!fileloc  "options.h" 4742)
                 nil )
                (!pair  "x_optimize_size"
                 (!type already_seen 15)
                 (!fileloc  "options.h" 4743)
                 nil )
                (!pair  "x_optimize_debug"
                 (!type already_seen 15)
                 (!fileloc  "options.h" 4744)
                 nil )
                (!pair  "x_flag_aggressive_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4745)
                 nil )
                (!pair  "x_flag_associative_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4746)
                 nil )
                (!pair  "x_flag_asynchronous_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4747)
                 nil )
                (!pair  "x_flag_auto_inc_dec"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4748)
                 nil )
                (!pair  "x_flag_branch_on_count_reg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4749)
                 nil )
                (!pair  "x_flag_branch_probabilities"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4750)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4751)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4752)
                 nil )
                (!pair  "x_flag_btr_bb_exclusive"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4753)
                 nil )
                (!pair  "x_flag_caller_saves"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4754)
                 nil )
                (!pair  "x_flag_combine_stack_adjustments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4755)
                 nil )
                (!pair  "x_flag_compare_elim_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4756)
                 nil )
                (!pair  "x_flag_conserve_stack"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4757)
                 nil )
                (!pair  "x_flag_cprop_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4758)
                 nil )
                (!pair  "x_flag_crossjumping"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4759)
                 nil )
                (!pair  "x_flag_cse_follow_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4760)
                 nil )
                (!pair  "x_flag_cx_fortran_rules"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4761)
                 nil )
                (!pair  "x_flag_cx_limited_range"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4762)
                 nil )
                (!pair  "x_flag_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4763)
                 nil )
                (!pair  "x_flag_defer_pop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4764)
                 nil )
                (!pair  "x_flag_delayed_branch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4765)
                 nil )
                (!pair  "x_flag_delete_dead_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4766)
                 nil )
                (!pair  "x_flag_delete_null_pointer_checks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4767)
                 nil )
                (!pair  "x_flag_devirtualize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4768)
                 nil )
                (!pair  "x_flag_devirtualize_speculatively"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4769)
                 nil )
                (!pair  "x_flag_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4770)
                 nil )
                (!pair  "x_flag_early_inlining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4771)
                 nil )
                (!pair  "x_flag_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4772)
                 nil )
                (!pair  "x_flag_expensive_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4773)
                 nil )
                (!pair  "x_flag_finite_math_only"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4774)
                 nil )
                (!pair  "x_flag_float_store"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4775)
                 nil )
                (!pair  "x_flag_forward_propagate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4776)
                 nil )
                (!pair  "x_flag_no_function_cse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4777)
                 nil )
                (!pair  "x_flag_gcse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4778)
                 nil )
                (!pair  "x_flag_gcse_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4779)
                 nil )
                (!pair  "x_flag_gcse_las"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4780)
                 nil )
                (!pair  "x_flag_gcse_lm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4781)
                 nil )
                (!pair  "x_flag_gcse_sm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4782)
                 nil )
                (!pair  "x_flag_graphite"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4783)
                 nil )
                (!pair  "x_flag_graphite_identity"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4784)
                 nil )
                (!pair  "x_flag_guess_branch_prob"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4785)
                 nil )
                (!pair  "x_flag_hoist_adjacent_loads"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4786)
                 nil )
                (!pair  "x_flag_if_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4787)
                 nil )
                (!pair  "x_flag_if_conversion2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4788)
                 nil )
                (!pair  "x_flag_indirect_inlining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4789)
                 nil )
                (!pair  "x_flag_no_inline"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4790)
                 nil )
                (!pair  "x_flag_inline_atomics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4791)
                 nil )
                (!pair  "x_flag_inline_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4792)
                 nil )
                (!pair  "x_flag_inline_functions_called_once"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4793)
                 nil )
                (!pair  "x_flag_inline_small_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4794)
                 nil )
                (!pair  "x_flag_ipa_cp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4795)
                 nil )
                (!pair  "x_flag_ipa_cp_alignment"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4796)
                 nil )
                (!pair  "x_flag_ipa_cp_clone"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4797)
                 nil )
                (!pair  "x_flag_ipa_icf"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4798)
                 nil )
                (!pair  "x_flag_ipa_icf_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4799)
                 nil )
                (!pair  "x_flag_ipa_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4800)
                 nil )
                (!pair  "x_flag_ipa_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4801)
                 nil )
                (!pair  "x_flag_ipa_pure_const"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4802)
                 nil )
                (!pair  "x_flag_ipa_ra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4803)
                 nil )
                (!pair  "x_flag_ipa_reference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4804)
                 nil )
                (!pair  "x_flag_ipa_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4805)
                 nil )
                (!pair  "x_flag_ira_hoist_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4806)
                 nil )
                (!pair  "x_flag_ira_loop_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4807)
                 nil )
                (!pair  "x_flag_ira_share_save_slots"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4808)
                 nil )
                (!pair  "x_flag_ira_share_spill_slots"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4809)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_attribute"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4810)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_dereference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4811)
                 nil )
                (!pair  "x_flag_ivopts"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4812)
                 nil )
                (!pair  "x_flag_jump_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4813)
                 nil )
                (!pair  "x_flag_lifetime_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4814)
                 nil )
                (!pair  "x_flag_live_range_shrinkage"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4815)
                 nil )
                (!pair  "x_flag_loop_block"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4816)
                 nil )
                (!pair  "x_flag_loop_interchange"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4817)
                 nil )
                (!pair  "x_flag_loop_optimize_isl"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4818)
                 nil )
                (!pair  "x_flag_loop_parallelize_all"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4819)
                 nil )
                (!pair  "x_flag_loop_strip_mine"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4820)
                 nil )
                (!pair  "x_flag_loop_unroll_jam"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4821)
                 nil )
                (!pair  "x_flag_lra_remat"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4822)
                 nil )
                (!pair  "x_flag_errno_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4823)
                 nil )
                (!pair  "x_flag_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4824)
                 nil )
                (!pair  "x_flag_modulo_sched_allow_regmoves"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4825)
                 nil )
                (!pair  "x_flag_move_loop_invariants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4826)
                 nil )
                (!pair  "x_flag_non_call_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4827)
                 nil )
                (!pair  "x_flag_nothrow_opt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4828)
                 nil )
                (!pair  "x_flag_omit_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4829)
                 nil )
                (!pair  "x_flag_opt_info"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4830)
                 nil )
                (!pair  "x_flag_optimize_sibling_calls"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4831)
                 nil )
                (!pair  "x_flag_optimize_strlen"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4832)
                 nil )
                (!pair  "x_flag_pack_struct"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4833)
                 nil )
                (!pair  "x_flag_partial_inlining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4834)
                 nil )
                (!pair  "x_flag_peel_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4835)
                 nil )
                (!pair  "x_flag_no_peephole"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4836)
                 nil )
                (!pair  "x_flag_peephole2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4837)
                 nil )
                (!pair  "x_flag_predictive_commoning"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4838)
                 nil )
                (!pair  "x_flag_prefetch_loop_arrays"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4839)
                 nil )
                (!pair  "x_flag_reciprocal_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4840)
                 nil )
                (!pair  "x_flag_pcc_struct_return"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4841)
                 nil )
                (!pair  "x_flag_rename_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4842)
                 nil )
                (!pair  "x_flag_reorder_blocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4843)
                 nil )
                (!pair  "x_flag_reorder_blocks_and_partition"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4844)
                 nil )
                (!pair  "x_flag_reorder_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4845)
                 nil )
                (!pair  "x_flag_rerun_cse_after_loop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4846)
                 nil )
                (!pair  "x_flag_resched_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4847)
                 nil )
                (!pair  "x_flag_rounding_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4848)
                 nil )
                (!pair  "x_flag_rtti"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4849)
                 nil )
                (!pair  "x_flag_sched_critical_path_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4850)
                 nil )
                (!pair  "x_flag_sched_dep_count_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4851)
                 nil )
                (!pair  "x_flag_sched_group_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4852)
                 nil )
                (!pair  "x_flag_schedule_interblock"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4853)
                 nil )
                (!pair  "x_flag_sched_last_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4854)
                 nil )
                (!pair  "x_flag_sched_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4855)
                 nil )
                (!pair  "x_flag_sched_rank_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4856)
                 nil )
                (!pair  "x_flag_schedule_speculative"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4857)
                 nil )
                (!pair  "x_flag_sched_spec_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4858)
                 nil )
                (!pair  "x_flag_schedule_speculative_load"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4859)
                 nil )
                (!pair  "x_flag_schedule_speculative_load_dangerous"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4860)
                 nil )
                (!pair  "x_flag_sched2_use_superblocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4861)
                 nil )
                (!pair  "x_flag_schedule_fusion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4862)
                 nil )
                (!pair  "x_flag_schedule_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4863)
                 nil )
                (!pair  "x_flag_schedule_insns_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4864)
                 nil )
                (!pair  "x_flag_section_anchors"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4865)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4866)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4867)
                 nil )
                (!pair  "x_flag_sel_sched_reschedule_pipelined"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4868)
                 nil )
                (!pair  "x_flag_selective_scheduling"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4869)
                 nil )
                (!pair  "x_flag_selective_scheduling2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4870)
                 nil )
                (!pair  "x_flag_short_double"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4871)
                 nil )
                (!pair  "x_flag_short_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4872)
                 nil )
                (!pair  "x_flag_short_wchar"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4873)
                 nil )
                (!pair  "x_flag_shrink_wrap"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4874)
                 nil )
                (!pair  "x_flag_signaling_nans"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4875)
                 nil )
                (!pair  "x_flag_signed_zeros"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4876)
                 nil )
                (!pair  "x_flag_single_precision_constant"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4877)
                 nil )
                (!pair  "x_flag_split_ivs_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4878)
                 nil )
                (!pair  "x_flag_split_wide_types"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4879)
                 nil )
                (!pair  "x_flag_ssa_phiopt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4880)
                 nil )
                (!pair  "x_flag_stdarg_opt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4881)
                 nil )
                (!pair  "x_flag_strict_aliasing"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4882)
                 nil )
                (!pair  "x_flag_strict_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4883)
                 nil )
                (!pair  "x_flag_strict_overflow"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4884)
                 nil )
                (!pair  "x_flag_strict_volatile_bitfields"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4885)
                 nil )
                (!pair  "x_flag_thread_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4886)
                 nil )
                (!pair  "x_flag_threadsafe_statics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4887)
                 nil )
                (!pair  "x_flag_tracer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4888)
                 nil )
                (!pair  "x_flag_trapping_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4889)
                 nil )
                (!pair  "x_flag_trapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4890)
                 nil )
                (!pair  "x_flag_tree_bit_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4891)
                 nil )
                (!pair  "x_flag_tree_builtin_call_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4892)
                 nil )
                (!pair  "x_flag_tree_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4893)
                 nil )
                (!pair  "x_flag_tree_ch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4894)
                 nil )
                (!pair  "x_flag_ssa_coalesce_vars"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4895)
                 nil )
                (!pair  "x_flag_tree_copy_prop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4896)
                 nil )
                (!pair  "x_flag_tree_copyrename"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4897)
                 nil )
                (!pair  "x_flag_tree_cselim"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4898)
                 nil )
                (!pair  "x_flag_tree_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4899)
                 nil )
                (!pair  "x_flag_tree_dom"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4900)
                 nil )
                (!pair  "x_flag_tree_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4901)
                 nil )
                (!pair  "x_flag_tree_forwprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4902)
                 nil )
                (!pair  "x_flag_tree_fre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4903)
                 nil )
                (!pair  "x_flag_tree_loop_distribute_patterns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4904)
                 nil )
                (!pair  "x_flag_tree_loop_distribution"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4905)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4906)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert_stores"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4907)
                 nil )
                (!pair  "x_flag_tree_loop_im"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4908)
                 nil )
                (!pair  "x_flag_tree_loop_ivcanon"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4909)
                 nil )
                (!pair  "x_flag_tree_loop_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4910)
                 nil )
                (!pair  "x_flag_tree_loop_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4911)
                 nil )
                (!pair  "x_flag_tree_live_range_split"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4912)
                 nil )
                (!pair  "x_flag_tree_partial_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4913)
                 nil )
                (!pair  "x_flag_tree_phiprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4914)
                 nil )
                (!pair  "x_flag_tree_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4915)
                 nil )
                (!pair  "x_flag_tree_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4916)
                 nil )
                (!pair  "x_flag_tree_reassoc"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4917)
                 nil )
                (!pair  "x_flag_tree_scev_cprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4918)
                 nil )
                (!pair  "x_flag_tree_sink"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4919)
                 nil )
                (!pair  "x_flag_tree_slp_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4920)
                 nil )
                (!pair  "x_flag_tree_slsr"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4921)
                 nil )
                (!pair  "x_flag_tree_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4922)
                 nil )
                (!pair  "x_flag_tree_switch_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4923)
                 nil )
                (!pair  "x_flag_tree_tail_merge"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4924)
                 nil )
                (!pair  "x_flag_tree_ter"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4925)
                 nil )
                (!pair  "x_flag_tree_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4926)
                 nil )
                (!pair  "x_flag_tree_vrp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4927)
                 nil )
                (!pair  "x_flag_unroll_all_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4928)
                 nil )
                (!pair  "x_flag_unroll_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4929)
                 nil )
                (!pair  "x_flag_unsafe_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4930)
                 nil )
                (!pair  "x_flag_unsafe_math_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4931)
                 nil )
                (!pair  "x_flag_unswitch_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4932)
                 nil )
                (!pair  "x_flag_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4933)
                 nil )
                (!pair  "x_flag_var_tracking"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4934)
                 nil )
                (!pair  "x_flag_var_tracking_assignments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4935)
                 nil )
                (!pair  "x_flag_var_tracking_assignments_toggle"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4936)
                 nil )
                (!pair  "x_flag_var_tracking_uninit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4937)
                 nil )
                (!pair  "x_flag_variable_expansion_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4938)
                 nil )
                (!pair  "x_flag_value_profile_transformations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4939)
                 nil )
                (!pair  "x_flag_web"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4940)
                 nil )
                (!pair  "x_flag_wrapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4941)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "tree-core.h" 1652)
              nil )
             (!pair  "optabs"
              (!type already_seen 10)
              (!srcfileloc  "tree-core.h" 1656)
              (!options 
               (!option atomic string  "")
              )
             )
             (!pair  "base_optabs"
              (!type pointer 566 nil  gc_unused
               (!type struct 567 
                (!type already_seen 566)
                gc_unused "target_optabs"nil 
                (!fields 0 )
                nil 0 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1660)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1724)
           (!options 
            (!option tag string  "TS_OPTIMIZATION")
           )
          )
          (!pair  "target_option"
           (!type struct 568 nil  gc_used "tree_target_option"
            (!srcfileloc  "tree-core.h" 1677)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1670)
              nil )
             (!pair  "globals"
              (!type pointer 569 nil  gc_used
               (!type struct 570 
                (!type already_seen 569)
                gc_pointed_to "target_globals"
                (!srcfileloc  "target-globals.h" 61)
                (!fields 16 
                 (!pair  "flag_state"
                  (!type pointer 571 nil  gc_unused
                   (!type struct 572 
                    (!type already_seen 571)
                    gc_unused "target_flag_state"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 45)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "regs"
                  (!type pointer 573 nil  gc_unused
                   (!type struct 574 
                    (!type already_seen 573)
                    gc_unused "target_regs"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 46)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "rtl"
                  (!type pointer 575 nil  gc_used
                   (!type struct 576 
                    (!type already_seen 575)
                    gc_pointed_to "target_rtl"
                    (!srcfileloc  "rtl.h" 3122)
                    (!fields 8 
                     (!pair  "x_global_rtl"
                      (!type array 577 nil  gc_used "GR_MAX" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "rtl.h" 3094)
                      nil )
                     (!pair  "x_pic_offset_table_rtx"
                      (!type already_seen 135)
                      (!srcfileloc  "rtl.h" 3097)
                      nil )
                     (!pair  "x_return_address_pointer_rtx"
                      (!type already_seen 135)
                      (!srcfileloc  "rtl.h" 3102)
                      nil )
                     (!pair  "x_initial_regno_reg_rtx"
                      (!type array 578 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "rtl.h" 3108)
                      nil )
                     (!pair  "x_top_of_stack"
                      (!type array 579 nil  gc_used "MAX_MACHINE_MODE" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "rtl.h" 3111)
                      nil )
                     (!pair  "x_static_reg_base_value"
                      (!type array 580 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "rtl.h" 3115)
                      nil )
                     (!pair  "x_mode_mem_attrs"
                      (!type array 581 nil  gc_used "(int) MAX_MACHINE_MODE" 
                       (!type already_seen 258)
                      )
                      (!srcfileloc  "rtl.h" 3118)
                      nil )
                     (!pair  "target_specific_initialized"
                      (!type already_seen 9)
                      (!srcfileloc  "rtl.h" 3121)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 47)
                  nil )
                 (!pair  "recog"
                  (!type pointer 582 nil  gc_unused
                   (!type struct 583 
                    (!type already_seen 582)
                    gc_unused "target_recog"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 48)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "hard_regs"
                  (!type pointer 584 nil  gc_unused
                   (!type struct 585 
                    (!type already_seen 584)
                    gc_unused "target_hard_regs"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 49)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "reload"
                  (!type pointer 586 nil  gc_unused
                   (!type struct 587 
                    (!type already_seen 586)
                    gc_unused "target_reload"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 50)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "expmed"
                  (!type pointer 588 nil  gc_unused
                   (!type struct 589 
                    (!type already_seen 588)
                    gc_unused "target_expmed"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 51)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "optabs"
                  (!type already_seen 566)
                  (!srcfileloc  "target-globals.h" 52)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "libfuncs"
                  (!type pointer 590 nil  gc_used
                   (!type struct 591 
                    (!type already_seen 590)
                    gc_pointed_to "target_libfuncs"
                    (!srcfileloc  "libfuncs.h" 79)
                    (!fields 2 
                     (!pair  "x_libfunc_table"
                      (!type array 592 nil  gc_used "LTI_MAX" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "libfuncs.h" 75)
                      nil )
                     (!pair  "x_libfunc_hash"
                      (!type pointer 593 nil  gc_used
                       (!type user_struct 594 
                        (!type already_seen 593)
                        gc_pointed_to "hash_table<libfunc_hasher>"
                        (!srcfileloc  "libfuncs.h" 78)
                        (!fields 1 
                         (!pair  "libfunc_hasher"
                          (!type struct 595 nil  gc_used "libfunc_hasher"
                           (!srcfileloc  "libfuncs.h" 78)
                           (!fields 0 )
                           nil 1023 nil nil )
                          (!srcfileloc  "libfuncs.h" 78)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "libfuncs.h" 78)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 53)
                  nil )
                 (!pair  "cfgloop"
                  (!type pointer 596 nil  gc_unused
                   (!type struct 597 
                    (!type already_seen 596)
                    gc_unused "target_cfgloop"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 54)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "ira"
                  (!type pointer 598 nil  gc_unused
                   (!type struct 599 
                    (!type already_seen 598)
                    gc_unused "target_ira"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 55)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "ira_int"
                  (!type pointer 600 nil  gc_unused
                   (!type struct 601 
                    (!type already_seen 600)
                    gc_unused "target_ira_int"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 56)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "builtins"
                  (!type pointer 602 nil  gc_unused
                   (!type struct 603 
                    (!type already_seen 602)
                    gc_unused "target_builtins"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 57)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "gcse"
                  (!type pointer 604 nil  gc_unused
                   (!type struct 605 
                    (!type already_seen 604)
                    gc_unused "target_gcse"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 58)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "bb_reorder"
                  (!type pointer 606 nil  gc_unused
                   (!type struct 607 
                    (!type already_seen 606)
                    gc_unused "target_bb_reorder"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 59)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "lower_subreg"
                  (!type pointer 608 nil  gc_unused
                   (!type struct 609 
                    (!type already_seen 608)
                    gc_unused "target_lower_subreg"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 60)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1673)
              nil )
             (!pair  "opts"
              (!type struct 610 nil  gc_used "cl_target_option"
               (!fileloc  "options.h" 4948)
               (!fields 1 
                (!pair  "x_mips_lra_flag"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4947)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "tree-core.h" 1676)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1725)
           (!options 
            (!option tag string  "TS_TARGET_OPTION")
           )
          )
         )
         (!options 
          (!option variable_size string  "")
          (!option desc string  "tree_node_structure (&%h)")
          (!option ptr_alias type 
           (!type lang_struct 611 nil  gc_pointed_to "lang_tree_node"
            (!srcfileloc  "ada/gcc-interface/ada-tree.h" 33)
            (!fields 0 )
            (!options 
             (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
             (!option desc string  "0")
            )
            1023 
            (!homotypes 8
             (!type union 612 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "lto/lto-tree.h" 56)
              (!fields 1 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "lto/lto-tree.h" 55)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "TS_LTO_GENERIC")
                )
               )
              )
              (!options 
               (!option chain_next string  "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")
               (!option desc string  "lto_tree_node_structure (&%h)")
              )
              128 
              (!type already_seen 611)
             )
             
             (!type union 613 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "jit/dummy-frontend.c" 87)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "jit/dummy-frontend.c" 85)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type lang_struct 614 nil  gc_used "lang_identifier"
                 (!srcfileloc  "c/c-decl.c" 241)
                 (!fields 0 )
                 nil 1022 
                 (!homotypes 7
                  (!type struct 615 nil  gc_used "lang_identifier"
                   (!srcfileloc  "lto/lto-tree.h" 29)
                   (!fields 1 
                    (!pair  "base"
                     (!type already_seen 35)
                     (!srcfileloc  "lto/lto-tree.h" 28)
                     nil )
                   )
                   nil 128 
                   (!type already_seen 614)
                   nil )
                  
                  (!type struct 616 nil  gc_used "lang_identifier"
                   (!srcfileloc  "jit/dummy-frontend.c" 76)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 35)
                     (!srcfileloc  "jit/dummy-frontend.c" 75)
                     nil )
                   )
                   nil 64 
                   (!type already_seen 614)
                   nil )
                  
                  (!type struct 617 nil  gc_used "lang_identifier"
                   (!srcfileloc  "java/java-tree.h" 585)
                   (!fields 4 
                    (!pair  "ignore"
                     (!type already_seen 35)
                     (!srcfileloc  "java/java-tree.h" 578)
                     nil )
                    (!pair  "global_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 579)
                     nil )
                    (!pair  "local_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 580)
                     nil )
                    (!pair  "utf8_ref"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 584)
                     nil )
                   )
                   nil 32 
                   (!type already_seen 614)
                   nil )
                  
                  (!type struct 618 nil  gc_used "lang_identifier"
                   (!srcfileloc  "go/go-lang.c" 79)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 35)
                     (!srcfileloc  "go/go-lang.c" 78)
                     nil )
                   )
                   nil 16 
                   (!type already_seen 614)
                   nil )
                  
                  (!type struct 619 nil  gc_used "lang_identifier"
                   (!srcfileloc  "fortran/f95-lang.c" 71)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 35)
                     (!srcfileloc  "fortran/f95-lang.c" 70)
                     nil )
                   )
                   nil 8 
                   (!type already_seen 614)
                   nil )
                  
                  (!type struct 620 nil  gc_used "lang_identifier"
                   (!srcfileloc  "cp/cp-tree.h" 269)
                   (!fields 5 
                    (!pair  "c_common"
                     (!type struct 621 nil  gc_used "c_common_identifier"
                      (!srcfileloc  "c-family/c-common.h" 350)
                      (!fields 2 
                       (!pair  "common"
                        (!type already_seen 20)
                        (!srcfileloc  "c-family/c-common.h" 348)
                        nil )
                       (!pair  "node"
                        (!type struct 622 
                         (!type pointer 623 
                          (!type pointer 624 nil  gc_unused
                           (!type already_seen 623)
                          )
                          gc_unused
                          (!type already_seen 622)
                         )
                         gc_used "cpp_hashnode"
                         (!srcfileloc  "../libcpp/include/cpplib.h" 732)
                         (!fields 7 
                          (!pair  "ident"
                           (!type already_seen 36)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 722)
                           nil )
                          (!pair  "is_directive"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 723)
                           nil )
                          (!pair  "directive_index"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 724)
                           nil )
                          (!pair  "rid_code"
                           (!type already_seen 15)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 727)
                           nil )
                          (!pair  "type"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 728)
                           nil )
                          (!pair  "flags"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 729)
                           nil )
                          (!pair  "value"
                           (!type union 625 nil  gc_used "_cpp_hashnode_value"
                            (!srcfileloc  "../libcpp/include/cpplib.h" 719)
                            (!fields 4 
                             (!pair  "macro"
                              (!type pointer 626 nil  gc_used
                               (!type struct 627 
                                (!type already_seen 626)
                                gc_pointed_to "cpp_macro"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 82)
                                (!fields 11 
                                 (!pair  "params"
                                  (!type already_seen 624)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 43)
                                  (!options 
                                   (!option length string  "%h.paramc")
                                   (!option nested_ptr nested 
                                    (!type already_seen 7)
                                    "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                                  )
                                 )
                                 (!pair  "exp"
                                  (!type union 628 nil  gc_used "cpp_macro_u"
                                   (!srcfileloc  "../libcpp/include/cpp-id-data.h" 52)
                                   (!fields 2 
                                    (!pair  "tokens"
                                     (!type pointer 629 nil  gc_used
                                      (!type struct 630 
                                       (!type already_seen 629)
                                       gc_pointed_to "cpp_token"
                                       (!srcfileloc  "../libcpp/include/cpplib.h" 263)
                                       (!fields 4 
                                        (!pair  "src_loc"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 238)
                                         nil )
                                        (!pair  "type"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 239)
                                         nil )
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 240)
                                         nil )
                                        (!pair  "val"
                                         (!type union 631 nil  gc_used "cpp_token_u"
                                          (!srcfileloc  "../libcpp/include/cpplib.h" 262)
                                          (!fields 6 
                                           (!pair  "node"
                                            (!type struct 632 nil  gc_used "cpp_identifier"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 233)
                                             (!fields 2 
                                              (!pair  "node"
                                               (!type already_seen 623)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 226)
                                               (!options 
                                                (!option nested_ptr nested 
                                                 (!type already_seen 7)
                                                 "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                                               )
                                              )
                                              (!pair  "spelling"
                                               (!type already_seen 623)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 232)
                                               (!options 
                                                (!option nested_ptr nested 
                                                 (!type already_seen 7)
                                                 "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                                               )
                                              )
                                             )
                                             nil 1023 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 245)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_NODE")
                                            )
                                           )
                                           (!pair  "source"
                                            (!type already_seen 629)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 248)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                                            )
                                           )
                                           (!pair  "str"
                                            (!type struct 633 nil  gc_used "cpp_string"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 178)
                                             (!fields 2 
                                              (!pair  "len"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 176)
                                               nil )
                                              (!pair  "text"
                                               (!type already_seen 39)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 177)
                                               nil )
                                             )
                                             nil 1023 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 251)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_STR")
                                            )
                                           )
                                           (!pair  "macro_arg"
                                            (!type struct 634 nil  gc_used "cpp_macro_arg"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 217)
                                             (!fields 2 
                                              (!pair  "arg_no"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 210)
                                               nil )
                                              (!pair  "spelling"
                                               (!type already_seen 623)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 216)
                                               (!options 
                                                (!option nested_ptr nested 
                                                 (!type already_seen 7)
                                                 "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                                               )
                                              )
                                             )
                                             nil 1023 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 254)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_ARG_NO")
                                            )
                                           )
                                           (!pair  "token_no"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 258)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_TOKEN_NO")
                                            )
                                           )
                                           (!pair  "pragma"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 261)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_PRAGMA")
                                            )
                                           )
                                          )
                                          nil 1023 nil )
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 262)
                                         (!options 
                                          (!option desc string  "cpp_token_val_index (&%1)")
                                         )
                                        )
                                       )
                                       nil 1023 nil nil )
                                     )
                                     (!srcfileloc  "../libcpp/include/cpp-id-data.h" 50)
                                     (!options 
                                      (!option length string  "%0.count")
                                      (!option tag string  "0")
                                     )
                                    )
                                    (!pair  "text"
                                     (!type already_seen 39)
                                     (!srcfileloc  "../libcpp/include/cpp-id-data.h" 51)
                                     (!options 
                                      (!option tag string  "1")
                                     )
                                    )
                                   )
                                   nil 1023 nil )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 52)
                                  (!options 
                                   (!option desc string  "%1.traditional")
                                  )
                                 )
                                 (!pair  "line"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 55)
                                  nil )
                                 (!pair  "count"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 58)
                                  nil )
                                 (!pair  "paramc"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 61)
                                  nil )
                                 (!pair  "fun_like"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 64)
                                  nil )
                                 (!pair  "variadic"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 67)
                                  nil )
                                 (!pair  "syshdr"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 70)
                                  nil )
                                 (!pair  "used"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 73)
                                  nil )
                                 (!pair  "traditional"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 76)
                                  nil )
                                 (!pair  "extra_tokens"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 81)
                                  nil )
                                )
                                nil 1023 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 712)
                              (!options 
                               (!option tag string  "NTV_MACRO")
                              )
                             )
                             (!pair  "answers"
                              (!type pointer 635 nil  gc_used
                               (!type struct 636 
                                (!type already_seen 635)
                                gc_pointed_to "answer"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 31)
                                (!fields 3 
                                 (!pair  "next"
                                  (!type already_seen 635)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 28)
                                  nil )
                                 (!pair  "count"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 29)
                                  nil )
                                 (!pair  "first"
                                  (!type array 637 nil  gc_used "1" 
                                   (!type already_seen 630)
                                  )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 30)
                                  (!options 
                                   (!option length string  "%h.count")
                                  )
                                 )
                                )
                                nil 1023 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 714)
                              (!options 
                               (!option tag string  "NTV_ANSWER")
                              )
                             )
                             (!pair  "builtin"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 716)
                              (!options 
                               (!option tag string  "NTV_BUILTIN")
                              )
                             )
                             (!pair  "arg_index"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 718)
                              (!options 
                               (!option tag string  "NTV_ARGUMENT")
                              )
                             )
                            )
                            nil 1023 nil )
                           (!srcfileloc  "../libcpp/include/cpplib.h" 731)
                           (!options 
                            (!option desc string  "CPP_HASHNODE_VALUE_IDX (%1)")
                           )
                          )
                         )
                         nil 1023 nil nil )
                        (!srcfileloc  "c-family/c-common.h" 349)
                        nil )
                      )
                      nil 774 nil nil )
                     (!srcfileloc  "cp/cp-tree.h" 264)
                     nil )
                    (!pair  "namespace_bindings"
                     (!type already_seen 101)
                     (!srcfileloc  "cp/cp-tree.h" 265)
                     nil )
                    (!pair  "bindings"
                     (!type already_seen 101)
                     (!srcfileloc  "cp/cp-tree.h" 266)
                     nil )
                    (!pair  "class_template_info"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 267)
                     nil )
                    (!pair  "label_value"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 268)
                     nil )
                   )
                   nil 516 
                   (!type already_seen 614)
                   nil )
                  
                  (!type struct 638 nil  gc_used "lang_identifier"
                   (!srcfileloc  "c/c-decl.c" 241)
                   (!fields 4 
                    (!pair  "common_id"
                     (!type already_seen 621)
                     (!srcfileloc  "c/c-decl.c" 237)
                     nil )
                    (!pair  "symbol_binding"
                     (!type pointer 639 nil  gc_used
                      (!type struct 640 
                       (!type already_seen 639)
                       gc_pointed_to "c_binding"
                       (!srcfileloc  "c/c-decl.c" 226)
                       (!fields 11 
                        (!pair  "u"
                         (!type union 641 nil  gc_used "anonymous:../../gcc/c/c-decl.c:212"
                          (!srcfileloc  "c/c-decl.c" 215)
                          (!fields 2 
                           (!pair  "type"
                            (!type already_seen 5)
                            (!srcfileloc  "c/c-decl.c" 213)
                            (!options 
                             (!option tag string  "0")
                            )
                           )
                           (!pair  "label"
                            (!type pointer 642 nil  gc_used
                             (!type struct 643 
                              (!type already_seen 642)
                              gc_pointed_to "c_label_vars"
                              (!srcfileloc  "c/c-decl.c" 405)
                              (!fields 4 
                               (!pair  "shadowed"
                                (!type already_seen 642)
                                (!srcfileloc  "c/c-decl.c" 393)
                                nil )
                               (!pair  "label_bindings"
                                (!type struct 644 nil  gc_used "c_spot_bindings"
                                 (!srcfileloc  "c/c-decl.c" 372)
                                 (!fields 4 
                                  (!pair  "scope"
                                   (!type pointer 645 nil  gc_used
                                    (!type struct 646 
                                     (!type already_seen 645)
                                     gc_pointed_to "c_scope"
                                     (!srcfileloc  "c/c-decl.c" 507)
                                     (!fields 14 
                                      (!pair  "outer"
                                       (!type already_seen 645)
                                       (!srcfileloc  "c/c-decl.c" 454)
                                       nil )
                                      (!pair  "outer_function"
                                       (!type already_seen 645)
                                       (!srcfileloc  "c/c-decl.c" 457)
                                       nil )
                                      (!pair  "bindings"
                                       (!type already_seen 639)
                                       (!srcfileloc  "c/c-decl.c" 460)
                                       nil )
                                      (!pair  "blocks"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 464)
                                       nil )
                                      (!pair  "blocks_last"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 465)
                                       nil )
                                      (!pair  "depth"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 469)
                                       nil )
                                      (!pair  "parm_flag"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 473)
                                       nil )
                                      (!pair  "had_vla_unspec"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 477)
                                       nil )
                                      (!pair  "warned_forward_parm_decls"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 482)
                                       nil )
                                      (!pair  "function_body"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 488)
                                       nil )
                                      (!pair  "keep"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 491)
                                       nil )
                                      (!pair  "float_const_decimal64"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 494)
                                       nil )
                                      (!pair  "has_label_bindings"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 499)
                                       nil )
                                      (!pair  "has_jump_unsafe_decl"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 506)
                                       nil )
                                     )
                                     (!options 
                                      (!option chain_next string  "%h.outer")
                                     )
                                     258 nil nil )
                                   )
                                   (!srcfileloc  "c/c-decl.c" 357)
                                   nil )
                                  (!pair  "bindings_in_scope"
                                   (!type already_seen 639)
                                   (!srcfileloc  "c/c-decl.c" 361)
                                   nil )
                                  (!pair  "stmt_exprs"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 368)
                                   nil )
                                  (!pair  "left_stmt_expr"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 371)
                                   nil )
                                 )
                                 nil 258 nil nil )
                                (!srcfileloc  "c/c-decl.c" 395)
                                nil )
                               (!pair  "decls_in_scope"
                                (!type already_seen 49)
                                (!srcfileloc  "c/c-decl.c" 400)
                                nil )
                               (!pair  "gotos"
                                (!type pointer 647 nil  gc_used
                                 (!type user_struct 648 
                                  (!type already_seen 647)
                                  gc_pointed_to "vec<c_goto_bindings_p,va_gc>"
                                  (!srcfileloc  "c/c-decl.c" 404)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "c/c-decl.c" 404)
                                    nil )
                                   (!pair  "c_goto_bindings_p"
                                    (!type pointer 649 nil  gc_used
                                     (!type struct 650 
                                      (!type already_seen 649)
                                      gc_pointed_to "c_goto_bindings"
                                      (!srcfileloc  "c/c-decl.c" 383)
                                      (!fields 2 
                                       (!pair  "loc"
                                        (!type already_seen 9)
                                        (!srcfileloc  "c/c-decl.c" 380)
                                        nil )
                                       (!pair  "goto_bindings"
                                        (!type already_seen 644)
                                        (!srcfileloc  "c/c-decl.c" 382)
                                        nil )
                                      )
                                      nil 258 nil nil )
                                    )
                                    (!srcfileloc  "c/c-decl.c" 404)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "c/c-decl.c" 404)
                                nil )
                              )
                              nil 258 nil nil )
                            )
                            (!srcfileloc  "c/c-decl.c" 214)
                            (!options 
                             (!option tag string  "1")
                            )
                           )
                          )
                          nil 258 nil )
                         (!srcfileloc  "c/c-decl.c" 215)
                         (!options 
                          (!option desc string  "TREE_CODE (%0.decl) == LABEL_DECL")
                         )
                        )
                        (!pair  "decl"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 216)
                         nil )
                        (!pair  "id"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 217)
                         nil )
                        (!pair  "prev"
                         (!type already_seen 639)
                         (!srcfileloc  "c/c-decl.c" 218)
                         nil )
                        (!pair  "shadowed"
                         (!type already_seen 639)
                         (!srcfileloc  "c/c-decl.c" 219)
                         nil )
                        (!pair  "depth"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 220)
                         nil )
                        (!pair  "invisible"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 221)
                         nil )
                        (!pair  "nested"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 222)
                         nil )
                        (!pair  "inner_comp"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 223)
                         nil )
                        (!pair  "in_struct"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 224)
                         nil )
                        (!pair  "locus"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 225)
                         nil )
                       )
                       (!options 
                        (!option chain_next string  "%h.prev")
                       )
                       258 nil nil )
                     )
                     (!srcfileloc  "c/c-decl.c" 238)
                     nil )
                    (!pair  "tag_binding"
                     (!type already_seen 639)
                     (!srcfileloc  "c/c-decl.c" 239)
                     nil )
                    (!pair  "label_binding"
                     (!type already_seen 639)
                     (!srcfileloc  "c/c-decl.c" 240)
                     nil )
                   )
                   nil 258 
                   (!type already_seen 614)
                   nil )
                 )
                )
                (!srcfileloc  "jit/dummy-frontend.c" 86)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              64 
              (!type already_seen 611)
             )
             
             (!type union 651 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "java/java-tree.h" 596)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "java/java-tree.h" 594)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 614)
                (!srcfileloc  "java/java-tree.h" 595)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              32 
              (!type already_seen 611)
             )
             
             (!type union 652 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "go/go-lang.c" 90)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "go/go-lang.c" 88)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 614)
                (!srcfileloc  "go/go-lang.c" 89)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              16 
              (!type already_seen 611)
             )
             
             (!type union 653 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "fortran/f95-lang.c" 81)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "fortran/f95-lang.c" 79)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 614)
                (!srcfileloc  "fortran/f95-lang.c" 80)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              8 
              (!type already_seen 611)
             )
             
             (!type union 654 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "cp/cp-tree.h" 868)
              (!fields 15 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "cp/cp-tree.h" 847)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "TS_CP_GENERIC")
                )
               )
               (!pair  "tpi"
                (!type struct 655 nil  gc_used "template_parm_index_s"
                 (!srcfileloc  "cp/cp-tree.h" 296)
                 (!fields 5 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 291)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 292)
                   nil )
                  (!pair  "level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 293)
                   nil )
                  (!pair  "orig_level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 294)
                   nil )
                  (!pair  "decl"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 295)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 848)
                (!options 
                 (!option tag string  "TS_CP_TPI")
                )
               )
               (!pair  "ptrmem"
                (!type struct 656 
                 (!type pointer 657 nil  gc_unused
                  (!type already_seen 656)
                 )
                 gc_used "ptrmem_cst"
                 (!srcfileloc  "cp/cp-tree.h" 302)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 300)
                   nil )
                  (!pair  "member"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 301)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 849)
                (!options 
                 (!option tag string  "TS_CP_PTRMEM")
                )
               )
               (!pair  "overload"
                (!type struct 658 nil  gc_used "tree_overload"
                 (!srcfileloc  "cp/cp-tree.h" 380)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 378)
                   nil )
                  (!pair  "function"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 379)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 850)
                (!options 
                 (!option tag string  "TS_CP_OVERLOAD")
                )
               )
               (!pair  "baselink"
                (!type struct 659 nil  gc_used "tree_baselink"
                 (!srcfileloc  "cp/cp-tree.h" 420)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 416)
                   nil )
                  (!pair  "binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 417)
                   nil )
                  (!pair  "functions"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 418)
                   nil )
                  (!pair  "access_binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 419)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 851)
                (!options 
                 (!option tag string  "TS_CP_BASELINK")
                )
               )
               (!pair  "template_decl"
                (!type struct 660 nil  gc_used "tree_template_decl"
                 (!srcfileloc  "cp/cp-tree.h" 386)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 41)
                   (!srcfileloc  "cp/cp-tree.h" 383)
                   nil )
                  (!pair  "arguments"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 384)
                   nil )
                  (!pair  "result"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 385)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 852)
                (!options 
                 (!option tag string  "TS_CP_TEMPLATE_DECL")
                )
               )
               (!pair  "default_arg"
                (!type struct 661 nil  gc_used "tree_default_arg"
                 (!srcfileloc  "cp/cp-tree.h" 598)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 595)
                   nil )
                  (!pair  "tokens"
                   (!type already_seen 66)
                   (!srcfileloc  "cp/cp-tree.h" 596)
                   nil )
                  (!pair  "instantiations"
                   (!type already_seen 49)
                   (!srcfileloc  "cp/cp-tree.h" 597)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 853)
                (!options 
                 (!option tag string  "TS_CP_DEFAULT_ARG")
                )
               )
               (!pair  "deferred_noexcept"
                (!type struct 662 nil  gc_used "tree_deferred_noexcept"
                 (!srcfileloc  "cp/cp-tree.h" 616)
                 (!fields 3 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "cp/cp-tree.h" 613)
                   nil )
                  (!pair  "pattern"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 614)
                   nil )
                  (!pair  "args"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 615)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 854)
                (!options 
                 (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                )
               )
               (!pair  "identifier"
                (!type already_seen 614)
                (!srcfileloc  "cp/cp-tree.h" 855)
                (!options 
                 (!option tag string  "TS_CP_IDENTIFIER")
                )
               )
               (!pair  "static_assertion"
                (!type struct 663 nil  gc_used "tree_static_assert"
                 (!srcfileloc  "cp/cp-tree.h" 639)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 635)
                   nil )
                  (!pair  "condition"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 636)
                   nil )
                  (!pair  "message"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 637)
                   nil )
                  (!pair  "location"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 638)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 857)
                (!options 
                 (!option tag string  "TS_CP_STATIC_ASSERT")
                )
               )
               (!pair  "argument_pack_select"
                (!type struct 664 nil  gc_used "tree_argument_pack_select"
                 (!srcfileloc  "cp/cp-tree.h" 645)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 642)
                   nil )
                  (!pair  "argument_pack"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 643)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 644)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 859)
                (!options 
                 (!option tag string  "TS_CP_ARGUMENT_PACK_SELECT")
                )
               )
               (!pair  "trait_expression"
                (!type struct 665 nil  gc_used "tree_trait_expr"
                 (!srcfileloc  "cp/cp-tree.h" 695)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 691)
                   nil )
                  (!pair  "type1"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 692)
                   nil )
                  (!pair  "type2"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 693)
                   nil )
                  (!pair  "kind"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 694)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 861)
                (!options 
                 (!option tag string  "TS_CP_TRAIT_EXPR")
                )
               )
               (!pair  "lambda_expression"
                (!type struct 666 nil  gc_used "tree_lambda_expr"
                 (!srcfileloc  "cp/cp-tree.h" 780)
                 (!fields 10 
                  (!pair  "typed"
                   (!type already_seen 19)
                   (!srcfileloc  "cp/cp-tree.h" 770)
                   nil )
                  (!pair  "capture_list"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 771)
                   nil )
                  (!pair  "this_capture"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 772)
                   nil )
                  (!pair  "return_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 773)
                   nil )
                  (!pair  "extra_scope"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 774)
                   nil )
                  (!pair  "closure"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 775)
                   nil )
                  (!pair  "pending_proxies"
                   (!type already_seen 49)
                   (!srcfileloc  "cp/cp-tree.h" 776)
                   nil )
                  (!pair  "locus"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 777)
                   nil )
                  (!pair  "default_capture_mode"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 778)
                   nil )
                  (!pair  "discriminator"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 779)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 863)
                (!options 
                 (!option tag string  "TS_CP_LAMBDA_EXPR")
                )
               )
               (!pair  "template_info"
                (!type struct 667 nil  gc_used "tree_template_info"
                 (!srcfileloc  "cp/cp-tree.h" 820)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 818)
                   nil )
                  (!pair  "typedefs_needing_access_checking"
                   (!type pointer 668 nil  gc_used
                    (!type user_struct 669 
                     (!type already_seen 668)
                     gc_pointed_to "vec<qualified_typedef_usage_t,va_gc>"
                     (!srcfileloc  "cp/cp-tree.h" 819)
                     (!fields 2 
                      (!pair  "va_gc"
                       (!type already_seen 3)
                       (!srcfileloc  "cp/cp-tree.h" 819)
                       nil )
                      (!pair  "qualified_typedef_usage_t"
                       (!type struct 670 nil  gc_used "qualified_typedef_usage_s"
                        (!srcfileloc  "cp/cp-tree.h" 800)
                        (!fields 3 
                         (!pair  "typedef_decl"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 797)
                          nil )
                         (!pair  "context"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 798)
                          nil )
                         (!pair  "locus"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 799)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 819)
                       nil )
                     )
                    )
                   )
                   (!srcfileloc  "cp/cp-tree.h" 819)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 865)
                (!options 
                 (!option tag string  "TS_CP_TEMPLATE_INFO")
                )
               )
               (!pair  "userdef_literal"
                (!type struct 671 nil  gc_used "tree_userdef_literal"
                 (!srcfileloc  "c-family/c-common.h" 1313)
                 (!fields 5 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "c-family/c-common.h" 1308)
                   nil )
                  (!pair  "suffix_id"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1309)
                   nil )
                  (!pair  "value"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1310)
                   nil )
                  (!pair  "num_string"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1311)
                   nil )
                  (!pair  "overflow"
                   (!type already_seen 9)
                   (!srcfileloc  "c-family/c-common.h" 1312)
                   nil )
                 )
                 nil 774 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 867)
                (!options 
                 (!option tag string  "TS_CP_USERDEF_LITERAL")
                )
               )
              )
              (!options 
               (!option chain_next string  "(union lang_tree_node *) c_tree_chain_next (&%h.generic)")
               (!option desc string  "cp_tree_node_structure (&%h)")
              )
              516 
              (!type already_seen 611)
             )
             
             (!type union 672 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "c/c-decl.c" 346)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "c/c-decl.c" 344)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 614)
                (!srcfileloc  "c/c-decl.c" 345)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "(union lang_tree_node *) c_tree_chain_next (&%h.generic)")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              258 
              (!type already_seen 611)
             )
             
             (!type union 673 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "ada/gcc-interface/ada-tree.h" 33)
              (!fields 1 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 32)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "0")
              )
              1 
              (!type already_seen 611)
             )
            )
           )
          )
         )
         1023 nil )
       )
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2772)
       nil )
      (!pair  "offset"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2773)
       nil )
     )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2776)
    nil )
  )
 )
 
 (!type already_seen 4)
 
 (!type user_struct 674 
  (!type pointer 675 nil  gc_used
   (!type already_seen 674)
  )
  gc_pointed_to "vec<prot_list_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1270)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1270)
    nil )
   (!pair  "prot_list_entry"
    (!type struct 676 nil  gc_used "prot_list_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1269)
     (!fields 2 
      (!pair  "id"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1267)
       nil )
      (!pair  "refdecl"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1268)
       nil )
     )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1270)
    nil )
  )
 )
 
 (!type already_seen 676)
 
 (!type user_struct 677 
  (!type pointer 678 nil  gc_used
   (!type already_seen 677)
  )
  gc_pointed_to "vec<msgref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1216)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1216)
    nil )
   (!pair  "msgref_entry"
    (!type struct 679 nil  gc_used "msgref_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1214)
     (!fields 3 
      (!pair  "func"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1211)
       nil )
      (!pair  "selname"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1212)
       nil )
      (!pair  "refdecl"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1213)
       nil )
     )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1216)
    nil )
  )
 )
 
 (!type already_seen 679)
 
 (!type user_struct 680 
  (!type pointer 681 nil  gc_used
   (!type already_seen 680)
  )
  gc_pointed_to "vec<ident_data_tuple,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1051)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1051)
    nil )
   (!pair  "ident_data_tuple"
    (!type struct 682 nil  gc_used "ident_data_tuple"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1029)
     (!fields 2 
      (!pair  "ident"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1027)
       nil )
      (!pair  "data"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1028)
       nil )
     )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1051)
    nil )
  )
 )
 
 (!type already_seen 682)
 
 (!type struct 683 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 684 
  (!type pointer 685 nil  gc_used
   (!type already_seen 684)
  )
  gc_pointed_to "hash_table<objc_string_hasher>"
  (!srcfileloc  "objc/objc-act.c" 286)
  (!fields 1 
   (!pair  "objc_string_hasher"
    (!type struct 686 nil  gc_used "objc_string_hasher"
     (!srcfileloc  "objc/objc-act.c" 286)
     (!fields 0 )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-act.c" 286)
    nil )
  )
 )
 
 (!type already_seen 686)
 
 (!type struct 687 nil  gc_pointed_to "string_descriptor"
  (!srcfileloc  "objc/objc-act.c" 278)
  (!fields 2 
   (!pair  "literal"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.c" 274)
    nil )
   (!pair  "constructor"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.c" 277)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  768 nil nil )
 
 (!type struct 688 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 689 
  (!type pointer 690 nil  gc_used
   (!type already_seen 689)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 288)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 690)
    (!srcfileloc  "objc/objc-act.h" 282)
    nil )
   (!pair  "imp_context"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 283)
    nil )
   (!pair  "imp_template"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 284)
    nil )
   (!pair  "class_decl"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 285)
    nil )
   (!pair  "meta_decl"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 286)
    nil )
   (!pair  "has_cxx_cdtors"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-act.h" 287)
    nil )
  )
  nil 768 nil nil )
 
 (!type struct 691 
  (!type pointer 692 nil  gc_used
   (!type already_seen 691)
  )
  gc_pointed_to "hashed_attribute"
  (!srcfileloc  "objc/objc-act.h" 265)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 692)
    (!srcfileloc  "objc/objc-act.h" 263)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 264)
    nil )
  )
  nil 768 nil nil )
 
 (!type struct 693 
  (!type pointer 694 
   (!type pointer 695 nil  gc_used
    (!type already_seen 694)
   )
   gc_pointed_to
   (!type already_seen 693)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 271)
  (!fields 3 
   (!pair  "list"
    (!type already_seen 692)
    (!srcfileloc  "objc/objc-act.h" 268)
    nil )
   (!pair  "next"
    (!type already_seen 694)
    (!srcfileloc  "objc/objc-act.h" 269)
    nil )
   (!pair  "key"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 270)
    nil )
  )
  nil 768 nil nil )
 
 (!type struct 696 
  (!type pointer 697 nil  gc_used
   (!type already_seen 696)
  )
  gc_pointed_to "objc_map_private"
  (!srcfileloc  "objc/objc-map.h" 79)
  (!fields 7 
   (!pair  "number_of_slots"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 54)
    nil )
   (!pair  "mask"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 57)
    nil )
   (!pair  "number_of_non_empty_slots"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 62)
    nil )
   (!pair  "max_number_of_non_empty_slots"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 68)
    nil )
   (!pair  "maximum_load_factor"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 71)
    nil )
   (!pair  "slots"
    (!type already_seen 6)
    (!srcfileloc  "objc/objc-map.h" 74)
    (!options 
     (!option length string  "%h.number_of_slots")
    )
   )
   (!pair  "values"
    (!type already_seen 6)
    (!srcfileloc  "objc/objc-map.h" 78)
    (!options 
     (!option length string  "%h.number_of_slots")
    )
   )
  )
  nil 768 nil nil )
 
 (!type struct 698 nil  gc_unused "lto_file_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 699 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 700 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 701 nil  gc_unused "streamer_tree_cache_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 702 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 703 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 704 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 705 nil  gc_unused "ggc_root_tab"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 706 nil  gc_unused "anonymous:../../gcc/java/expr.c:2066"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 707 nil  gc_unused "class_flag_node_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 708 nil  gc_used "builtin_record"
  (!srcfileloc  "java/builtins.c" 109)
  (!fields 4 
   (!pair  "class_name"
    (!type union 709 nil  gc_used "string_or_tree"
     (!srcfileloc  "java/builtins.c" 101)
     (!fields 2 
      (!pair  "s"
       (!type already_seen 39)
       (!srcfileloc  "java/builtins.c" 99)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "java/builtins.c" 100)
       (!options 
        (!option tag string  "1")
       )
      )
     )
     nil 32 nil )
    (!srcfileloc  "java/builtins.c" 105)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "method_name"
    (!type already_seen 709)
    (!srcfileloc  "java/builtins.c" 106)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "creator"
    (!type pointer 710 nil  gc_unused
     (!type undefined 711 
      (!type already_seen 710)
      gc_unused "builtin_creator_function"
      (!srcfileloc  "java/builtins.c" 107)
     )
    )
    (!srcfileloc  "java/builtins.c" 107)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "builtin_code"
    (!type already_seen 9)
    (!srcfileloc  "java/builtins.c" 108)
    nil )
  )
  nil 32 nil nil )
 
 (!type already_seen 711)
 
 (!type already_seen 709)
 
 (!type already_seen 497)
 
 (!type already_seen 502)
 
 (!type already_seen 504)
 
 (!type already_seen 501)
 
 (!type already_seen 87)
 
 (!type already_seen 512)
 
 (!type already_seen 506)
 
 (!type already_seen 507)
 
 (!type already_seen 57)
 
 (!type already_seen 513)
 
 (!type struct 712 nil  gc_pointed_to "type_assertion"
  (!srcfileloc  "java/java-tree.h" 799)
  (!fields 3 
   (!pair  "assertion_code"
    (!type already_seen 9)
    (!srcfileloc  "java/java-tree.h" 796)
    nil )
   (!pair  "op1"
    (!type already_seen 5)
    (!srcfileloc  "java/java-tree.h" 797)
    nil )
   (!pair  "op2"
    (!type already_seen 5)
    (!srcfileloc  "java/java-tree.h" 798)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  32 nil nil )
 
 (!type already_seen 48)
 
 (!type already_seen 55)
 
 (!type already_seen 52)
 
 (!type already_seen 56)
 
 (!type already_seen 53)
 
 (!type struct 713 nil  gc_pointed_to "treetreehash_entry"
  (!srcfileloc  "java/java-tree.h" 716)
  (!fields 2 
   (!pair  "key"
    (!type already_seen 5)
    (!srcfileloc  "java/java-tree.h" 714)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "java/java-tree.h" 715)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  32 nil nil )
 
 (!type already_seen 498)
 
 (!type already_seen 495)
 
 (!type struct 714 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 715 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 716 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 717 nil  gc_used "gfc_powdecl_list"
  (!srcfileloc  "fortran/trans.h" 773)
  (!fields 3 
   (!pair  "integer"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 770)
    nil )
   (!pair  "real"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 771)
    nil )
   (!pair  "cmplx"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 772)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 718 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 719 
  (!type pointer 720 nil  gc_used
   (!type already_seen 719)
  )
  gc_pointed_to "hash_table<module_decl_hasher>"
  (!srcfileloc  "fortran/trans.h" 605)
  (!fields 1 
   (!pair  "module_decl_hasher"
    (!type struct 721 nil  gc_used "module_decl_hasher"
     (!srcfileloc  "fortran/trans.h" 605)
     (!fields 0 )
     nil 8 nil nil )
    (!srcfileloc  "fortran/trans.h" 605)
    nil )
  )
 )
 
 (!type already_seen 721)
 
 (!type struct 722 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:345"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 723 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:333"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 724 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 725 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 726 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 727 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 728 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 729 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 730 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 731 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 732 nil  gc_used "gfc_st_parameter"
  (!srcfileloc  "fortran/trans-io.c" 90)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "fortran/trans-io.c" 88)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 89)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 733 nil  gc_used "gfc_st_parameter_field"
  (!srcfileloc  "fortran/trans-io.c" 84)
  (!fields 6 
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "fortran/trans-io.c" 78)
    nil )
   (!pair  "mask"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 79)
    nil )
   (!pair  "param_type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 80)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 81)
    nil )
   (!pair  "field"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 82)
    nil )
   (!pair  "field_len"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 83)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 734 nil  gc_used "gfc_intrinsic_map_t"
  (!srcfileloc  "fortran/trans-intrinsic.c" 98)
  (!fields 19 
   (!pair  "id"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 64)
    nil )
   (!pair  "float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 68)
    nil )
   (!pair  "double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 69)
    nil )
   (!pair  "long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 70)
    nil )
   (!pair  "complex_float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 71)
    nil )
   (!pair  "complex_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 72)
    nil )
   (!pair  "complex_long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 73)
    nil )
   (!pair  "libm_name"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 78)
    nil )
   (!pair  "complex_available"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 81)
    nil )
   (!pair  "is_constant"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 84)
    nil )
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "fortran/trans-intrinsic.c" 87)
    nil )
   (!pair  "real4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 90)
    nil )
   (!pair  "real8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 91)
    nil )
   (!pair  "real10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 92)
    nil )
   (!pair  "real16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 93)
    nil )
   (!pair  "complex4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 94)
    nil )
   (!pair  "complex8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 95)
    nil )
   (!pair  "complex10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 96)
    nil )
   (!pair  "complex16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 97)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 735 nil  gc_pointed_to "module_htab_entry"
  (!srcfileloc  "fortran/trans.h" 606)
  (!fields 3 
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "fortran/trans.h" 603)
    nil )
   (!pair  "namespace_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 604)
    nil )
   (!pair  "decls"
    (!type already_seen 720)
    (!srcfileloc  "fortran/trans.h" 605)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  8 nil nil )
 
 (!type user_struct 736 
  (!type pointer 737 nil  gc_used
   (!type already_seen 736)
  )
  gc_pointed_to "hash_table<module_hasher>"
  (!srcfileloc  "fortran/trans-decl.c" 4331)
  (!fields 1 
   (!pair  "module_hasher"
    (!type struct 738 nil  gc_used "module_hasher"
     (!srcfileloc  "fortran/trans-decl.c" 4331)
     (!fields 0 )
     nil 8 nil nil )
    (!srcfileloc  "fortran/trans-decl.c" 4331)
    nil )
  )
 )
 
 (!type already_seen 738)
 
 (!type already_seen 84)
 
 (!type user_struct 739 
  (!type pointer 740 nil  gc_used
   (!type already_seen 739)
  )
  gc_pointed_to "hash_table<constexpr_call_hasher>"
  (!srcfileloc  "cp/constexpr.c" 914)
  (!fields 1 
   (!pair  "constexpr_call_hasher"
    (!type struct 741 nil  gc_used "constexpr_call_hasher"
     (!srcfileloc  "cp/constexpr.c" 914)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/constexpr.c" 914)
    nil )
  )
 )
 
 (!type struct 742 nil  gc_unused "constexpr_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 741)
 
 (!type struct 743 nil  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/constexpr.c" 880)
  (!fields 4 
   (!pair  "fundef"
    (!type pointer 744 nil  gc_used
     (!type struct 745 
      (!type already_seen 744)
      gc_pointed_to "constexpr_fundef"
      (!srcfileloc  "cp/constexpr.c" 864)
      (!fields 2 
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/constexpr.c" 129)
        nil )
       (!pair  "body"
        (!type already_seen 5)
        (!srcfileloc  "cp/constexpr.c" 130)
        nil )
      )
      (!options 
       (!option for_user string  "")
      )
      516 nil nil )
    )
    (!srcfileloc  "cp/constexpr.c" 864)
    nil )
   (!pair  "bindings"
    (!type already_seen 5)
    (!srcfileloc  "cp/constexpr.c" 871)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/constexpr.c" 876)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cp/constexpr.c" 879)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type user_struct 746 
  (!type pointer 747 nil  gc_used
   (!type already_seen 746)
  )
  gc_pointed_to "hash_table<constexpr_fundef_hasher>"
  (!srcfileloc  "cp/constexpr.c" 142)
  (!fields 1 
   (!pair  "constexpr_fundef_hasher"
    (!type struct 748 nil  gc_used "constexpr_fundef_hasher"
     (!srcfileloc  "cp/constexpr.c" 142)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/constexpr.c" 142)
    nil )
  )
 )
 
 (!type already_seen 748)
 
 (!type already_seen 745)
 
 (!type struct 749 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 750 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 751 
  (!type pointer 752 nil  gc_used
   (!type already_seen 751)
  )
  gc_pointed_to "vec<pending_noexcept,va_gc>"
  (!srcfileloc  "cp/except.c" 1195)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/except.c" 1195)
    nil )
   (!pair  "pending_noexcept"
    (!type struct 753 nil  gc_used "pending_noexcept"
     (!srcfileloc  "cp/except.c" 1194)
     (!fields 2 
      (!pair  "fn"
       (!type already_seen 5)
       (!srcfileloc  "cp/except.c" 1192)
       nil )
      (!pair  "loc"
       (!type already_seen 9)
       (!srcfileloc  "cp/except.c" 1193)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/except.c" 1195)
    nil )
  )
 )
 
 (!type already_seen 753)
 
 (!type struct 754 nil  gc_unused "secondary_vptr_vtt_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 755 nil  gc_unused "find_final_overrider_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 756 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 757 nil  gc_unused "vtbl_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 758 
  (!type pointer 759 nil  gc_unused
   (!type already_seen 758)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 760 
  (!type pointer 761 nil  gc_used
   (!type already_seen 760)
  )
  gc_pointed_to "hash_table<abstract_type_hasher>"
  (!srcfileloc  "cp/typeck2.c" 196)
  (!fields 1 
   (!pair  "abstract_type_hasher"
    (!type struct 762 nil  gc_used "abstract_type_hasher"
     (!srcfileloc  "cp/typeck2.c" 196)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/typeck2.c" 196)
    nil )
  )
 )
 
 (!type already_seen 762)
 
 (!type struct 763 
  (!type pointer 764 nil  gc_used
   (!type already_seen 763)
  )
  gc_pointed_to "pending_abstract_type"
  (!srcfileloc  "cp/typeck2.c" 165)
  (!fields 5 
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/typeck2.c" 151)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "cp/typeck2.c" 154)
    nil )
   (!pair  "use"
    (!type already_seen 9)
    (!srcfileloc  "cp/typeck2.c" 157)
    nil )
   (!pair  "locus"
    (!type already_seen 9)
    (!srcfileloc  "cp/typeck2.c" 161)
    nil )
   (!pair  "next"
    (!type already_seen 764)
    (!srcfileloc  "cp/typeck2.c" 164)
    nil )
  )
  (!options 
   (!option for_user string  "")
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type struct 765 nil  gc_unused "cleanup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 766 
  (!type pointer 767 nil  gc_used
   (!type already_seen 766)
  )
  gc_pointed_to "vec<tree_int,va_gc>"
  (!srcfileloc  "cp/parser.c" 8957)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/parser.c" 8957)
    nil )
   (!pair  "tree_int"
    (!type struct 768 nil  gc_used "tree_int"
     (!srcfileloc  "cp/parser.c" 8956)
     (!fields 2 
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "cp/parser.c" 8954)
       nil )
      (!pair  "i"
       (!type already_seen 9)
       (!srcfileloc  "cp/parser.c" 8955)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/parser.c" 8957)
    nil )
  )
 )
 
 (!type already_seen 768)
 
 (!type struct 769 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 770 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 771 nil  gc_unused "saved_token_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 772 
  (!type pointer 773 nil  gc_used
   (!type already_seen 772)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.h" 400)
  (!fields 34 
   (!pair  "lexer"
    (!type pointer 774 nil  gc_used
     (!type struct 775 
      (!type already_seen 774)
      gc_pointed_to "cp_lexer"
      (!srcfileloc  "cp/parser.h" 110)
      (!fields 7 
       (!pair  "buffer"
        (!type pointer 776 nil  gc_used
         (!type user_struct 777 
          (!type already_seen 776)
          gc_pointed_to "vec<cp_token,va_gc>"
          (!srcfileloc  "cp/parser.h" 85)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
           (!pair  "cp_token"
            (!type already_seen 69)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
          )
         )
        )
        (!srcfileloc  "cp/parser.h" 85)
        nil )
       (!pair  "last_token"
        (!type already_seen 68)
        (!srcfileloc  "cp/parser.h" 89)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next_token"
        (!type already_seen 68)
        (!srcfileloc  "cp/parser.h" 93)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "saved_tokens"
        (!type user_struct 778 nil  gc_unused "vec<cp_token_position>"
         (!srcfileloc  "cp/parser.h" 99)
         (!fields 1 
          (!pair  "cp_token_position"
           (!type already_seen 68)
           (!srcfileloc  "cp/parser.h" 99)
           nil )
         )
        )
        (!srcfileloc  "cp/parser.h" 99)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next"
        (!type already_seen 774)
        (!srcfileloc  "cp/parser.h" 102)
        nil )
       (!pair  "debugging_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 105)
        nil )
       (!pair  "in_pragma"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 109)
        nil )
      )
      nil 516 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 215)
    nil )
   (!pair  "scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 230)
    nil )
   (!pair  "object_scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 237)
    nil )
   (!pair  "qualifying_scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 238)
    nil )
   (!pair  "context"
    (!type pointer 779 nil  gc_used
     (!type struct 780 
      (!type already_seen 779)
      gc_pointed_to "cp_parser_context"
      (!srcfileloc  "cp/parser.h" 200)
      (!fields 3 
       (!pair  "status"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 191)
        nil )
       (!pair  "object_type"
        (!type already_seen 5)
        (!srcfileloc  "cp/parser.h" 196)
        nil )
       (!pair  "next"
        (!type already_seen 779)
        (!srcfileloc  "cp/parser.h" 199)
        nil )
      )
      nil 516 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 249)
    nil )
   (!pair  "allow_gnu_extensions_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 253)
    nil )
   (!pair  "greater_than_is_operator_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 260)
    nil )
   (!pair  "default_arg_ok_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 265)
    nil )
   (!pair  "integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 269)
    nil )
   (!pair  "allow_non_integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 275)
    nil )
   (!pair  "non_integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 279)
    nil )
   (!pair  "local_variables_forbidden_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 283)
    nil )
   (!pair  "in_unbraced_linkage_specification_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 288)
    nil )
   (!pair  "in_declarator_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 292)
    nil )
   (!pair  "in_template_argument_list_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 295)
    nil )
   (!pair  "in_statement"
    (!type already_seen 15)
    (!srcfileloc  "cp/parser.h" 309)
    nil )
   (!pair  "in_switch_statement_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 315)
    nil )
   (!pair  "in_type_id_in_expr_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 320)
    nil )
   (!pair  "implicit_extern_c"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 324)
    nil )
   (!pair  "translate_strings_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 328)
    nil )
   (!pair  "in_function_body"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 332)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 15)
    (!srcfileloc  "cp/parser.h" 336)
    nil )
   (!pair  "colon_corrects_to_scope_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 339)
    nil )
   (!pair  "colon_doesnt_start_class_def_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 345)
    nil )
   (!pair  "type_definition_forbidden_message"
    (!type already_seen 39)
    (!srcfileloc  "cp/parser.h" 350)
    nil )
   (!pair  "unparsed_queues"
    (!type pointer 781 nil  gc_used
     (!type user_struct 782 
      (!type already_seen 781)
      gc_pointed_to "vec<cp_unparsed_functions_entry,va_gc>"
      (!srcfileloc  "cp/parser.h" 355)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 3)
        (!srcfileloc  "cp/parser.h" 355)
        nil )
       (!pair  "cp_unparsed_functions_entry"
        (!type struct 783 nil  gc_used "cp_unparsed_functions_entry_d"
         (!srcfileloc  "cp/parser.h" 170)
         (!fields 4 
          (!pair  "funs_with_default_args"
           (!type pointer 784 nil  gc_used
            (!type user_struct 785 
             (!type already_seen 784)
             gc_pointed_to "vec<cp_default_arg_entry,va_gc>"
             (!srcfileloc  "cp/parser.h" 157)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cp/parser.h" 157)
               nil )
              (!pair  "cp_default_arg_entry"
               (!type struct 786 nil  gc_used "cp_default_arg_entry_d"
                (!srcfileloc  "cp/parser.h" 149)
                (!fields 2 
                 (!pair  "class_type"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 145)
                  nil )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 148)
                  nil )
                )
                nil 516 nil nil )
               (!srcfileloc  "cp/parser.h" 157)
               nil )
             )
            )
           )
           (!srcfileloc  "cp/parser.h" 157)
           nil )
          (!pair  "funs_with_definitions"
           (!type already_seen 49)
           (!srcfileloc  "cp/parser.h" 161)
           nil )
          (!pair  "nsdmis"
           (!type already_seen 49)
           (!srcfileloc  "cp/parser.h" 165)
           nil )
          (!pair  "classes"
           (!type already_seen 49)
           (!srcfileloc  "cp/parser.h" 169)
           nil )
         )
         nil 516 nil nil )
        (!srcfileloc  "cp/parser.h" 355)
        nil )
      )
     )
    )
    (!srcfileloc  "cp/parser.h" 355)
    nil )
   (!pair  "num_classes_being_defined"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 359)
    nil )
   (!pair  "num_template_parameter_lists"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
   (!pair  "omp_declare_simd"
    (!type pointer 787 nil  gc_unused
     (!type struct 788 
      (!type already_seen 787)
      gc_unused "cp_omp_declare_simd_data"
      (!srcfileloc  "cp/parser.h" 367)
      (!fields 0 )
      nil 516 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 367)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cilk_simd_fn_info"
    (!type already_seen 787)
    (!srcfileloc  "cp/parser.h" 374)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "auto_is_implicit_function_template_parm_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 378)
    nil )
   (!pair  "fully_implicit_function_template_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 383)
    nil )
   (!pair  "implicit_template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 391)
    nil )
   (!pair  "implicit_template_scope"
    (!type already_seen 96)
    (!srcfileloc  "cp/parser.h" 398)
    nil )
  )
  nil 516 nil nil )
 
 (!type already_seen 782)
 
 (!type already_seen 788)
 
 (!type already_seen 780)
 
 (!type already_seen 783)
 
 (!type already_seen 785)
 
 (!type already_seen 786)
 
 (!type struct 789 nil  gc_unused "cp_token_ident_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 775)
 
 (!type already_seen 778)
 
 (!type already_seen 777)
 
 (!type already_seen 69)
 
 (!type already_seen 70)
 
 (!type already_seen 72)
 
 (!type struct 790 nil  gc_unused "replace_placeholders_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 791 
  (!type pointer 792 nil  gc_used
   (!type already_seen 791)
  )
  gc_pointed_to "hash_table<list_hasher>"
  (!srcfileloc  "cp/tree.c" 1667)
  (!fields 1 
   (!pair  "list_hasher"
    (!type struct 793 nil  gc_used "list_hasher"
     (!srcfileloc  "cp/tree.c" 1667)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/tree.c" 1667)
    nil )
  )
 )
 
 (!type already_seen 793)
 
 (!type struct 794 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 795 
  (!type pointer 796 nil  gc_used
   (!type already_seen 795)
  )
  gc_pointed_to "hash_table<cplus_array_hasher>"
  (!srcfileloc  "cp/tree.c" 780)
  (!fields 1 
   (!pair  "cplus_array_hasher"
    (!type struct 797 nil  gc_used "cplus_array_hasher"
     (!srcfileloc  "cp/tree.c" 780)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/tree.c" 780)
    nil )
  )
 )
 
 (!type already_seen 797)
 
 (!type struct 798 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 799 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 800 
  (!type pointer 801 nil  gc_used
   (!type already_seen 800)
  )
  gc_pointed_to "vec<deferred_access,va_gc>"
  (!srcfileloc  "cp/semantics.c" 154)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/semantics.c" 154)
    nil )
   (!pair  "deferred_access"
    (!type struct 802 nil  gc_used "deferred_access"
     (!srcfileloc  "cp/semantics.c" 151)
     (!fields 2 
      (!pair  "deferred_access_checks"
       (!type already_seen 73)
       (!srcfileloc  "cp/semantics.c" 146)
       nil )
      (!pair  "deferring_access_checks_kind"
       (!type already_seen 9)
       (!srcfileloc  "cp/semantics.c" 149)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/semantics.c" 154)
    nil )
  )
 )
 
 (!type already_seen 802)
 
 (!type already_seen 74)
 
 (!type struct 803 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 804 nil  gc_unused "uses_all_template_parms_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 805 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 806 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 807 
  (!type pointer 808 nil  gc_used
   (!type already_seen 807)
  )
  gc_pointed_to "hash_table<spec_hasher>"
  (!srcfileloc  "cp/pt.c" 105)
  (!fields 1 
   (!pair  "spec_hasher"
    (!type struct 809 nil  gc_used "spec_hasher"
     (!srcfileloc  "cp/pt.c" 105)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/pt.c" 105)
    nil )
  )
 )
 
 (!type already_seen 809)
 
 (!type struct 810 nil  gc_pointed_to "spec_entry"
  (!srcfileloc  "cp/pt.c" 97)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 94)
    nil )
   (!pair  "args"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 95)
    nil )
   (!pair  "spec"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 96)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type struct 811 
  (!type pointer 812 nil  gc_used
   (!type already_seen 811)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 69)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 812)
    (!srcfileloc  "cp/pt.c" 67)
    nil )
   (!pair  "tinst"
    (!type pointer 813 nil  gc_used
     (!type struct 814 
      (!type already_seen 813)
      gc_pointed_to "tinst_level"
      (!srcfileloc  "cp/cp-tree.h" 5137)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 813)
        (!srcfileloc  "cp/cp-tree.h" 5122)
        nil )
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/cp-tree.h" 5127)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5130)
        nil )
       (!pair  "errors"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5133)
        nil )
       (!pair  "in_system_header_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5136)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      516 nil nil )
    )
    (!srcfileloc  "cp/pt.c" 68)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type struct 815 
  (!type pointer 816 nil  gc_unused
   (!type already_seen 815)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 817 nil  gc_unused "reshape_iterator_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 818 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 819 
  (!type pointer 820 nil  gc_used
   (!type already_seen 819)
  )
  gc_pointed_to "hash_table<typename_hasher>"
  (!srcfileloc  "cp/decl.c" 3400)
  (!fields 1 
   (!pair  "typename_hasher"
    (!type struct 821 nil  gc_used "typename_hasher"
     (!srcfileloc  "cp/decl.c" 3400)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/decl.c" 3400)
    nil )
  )
 )
 
 (!type already_seen 821)
 
 (!type struct 822 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 823 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 824 
  (!type pointer 825 nil  gc_used
   (!type already_seen 824)
  )
  gc_pointed_to "vec<incomplete_var,va_gc>"
  (!srcfileloc  "cp/decl.c" 279)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/decl.c" 279)
    nil )
   (!pair  "incomplete_var"
    (!type struct 826 nil  gc_used "incomplete_var_d"
     (!srcfileloc  "cp/decl.c" 276)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 274)
       nil )
      (!pair  "incomplete_type"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 275)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/decl.c" 279)
    nil )
  )
 )
 
 (!type already_seen 826)
 
 (!type struct 827 
  (!type pointer 828 nil  gc_used
   (!type already_seen 827)
  )
  gc_pointed_to "named_label_use_entry"
  (!srcfileloc  "cp/decl.c" 218)
  (!fields 5 
   (!pair  "next"
    (!type already_seen 828)
    (!srcfileloc  "cp/decl.c" 203)
    nil )
   (!pair  "binding_level"
    (!type already_seen 96)
    (!srcfileloc  "cp/decl.c" 207)
    nil )
   (!pair  "names_in_scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/decl.c" 211)
    nil )
   (!pair  "o_goto_locus"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 213)
    nil )
   (!pair  "in_omp_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 217)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type struct 829 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 830 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 831 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 832 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 833 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 834 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 75)
 
 (!type struct 835 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 836 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 837 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 838 nil  gc_used "operator_name_info_t"
  (!srcfileloc  "cp/cp-tree.h" 4877)
  (!fields 4 
   (!pair  "identifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 4870)
    nil )
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "cp/cp-tree.h" 4872)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 39)
    (!srcfileloc  "cp/cp-tree.h" 4874)
    nil )
   (!pair  "arity"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 4876)
    nil )
  )
  nil 516 nil nil )
 
 (!type struct 839 nil  gc_unused "aggr_init_expr_arg_iterator_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 58)
 
 (!type already_seen 128)
 
 (!type already_seen 127)
 
 (!type already_seen 63)
 
 (!type already_seen 65)
 
 (!type already_seen 64)
 
 (!type already_seen 61)
 
 (!type already_seen 62)
 
 (!type already_seen 60)
 
 (!type already_seen 521)
 
 (!type already_seen 536)
 
 (!type already_seen 523)
 
 (!type already_seen 525)
 
 (!type already_seen 522)
 
 (!type already_seen 526)
 
 (!type already_seen 107)
 
 (!type already_seen 94)
 
 (!type already_seen 95)
 
 (!type struct 840 nil  gc_pointed_to "named_label_entry"
  (!srcfileloc  "cp/decl.c" 249)
  (!fields 8 
   (!pair  "label_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/decl.c" 226)
    nil )
   (!pair  "binding_level"
    (!type already_seen 96)
    (!srcfileloc  "cp/decl.c" 231)
    nil )
   (!pair  "names_in_scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/decl.c" 235)
    nil )
   (!pair  "bad_decls"
    (!type already_seen 49)
    (!srcfileloc  "cp/decl.c" 238)
    nil )
   (!pair  "uses"
    (!type already_seen 828)
    (!srcfileloc  "cp/decl.c" 241)
    nil )
   (!pair  "in_try_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 246)
    nil )
   (!pair  "in_catch_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 247)
    nil )
   (!pair  "in_omp_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 248)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type already_seen 108)
 
 (!type struct 841 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 842 nil  gc_unused "processing_template_decl_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 843 
  (!type pointer 844 nil  gc_used
   (!type already_seen 843)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1057)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-tree.h" 1057)
    nil )
   (!pair  "cxx_saved_binding"
    (!type struct 845 nil  gc_used "cxx_saved_binding"
     (!srcfileloc  "cp/name-lookup.h" 86)
     (!fields 3 
      (!pair  "identifier"
       (!type already_seen 5)
       (!srcfileloc  "cp/name-lookup.h" 82)
       nil )
      (!pair  "binding"
       (!type already_seen 101)
       (!srcfileloc  "cp/name-lookup.h" 84)
       nil )
      (!pair  "real_type_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/name-lookup.h" 85)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/cp-tree.h" 1057)
    nil )
  )
 )
 
 (!type already_seen 667)
 
 (!type already_seen 669)
 
 (!type already_seen 670)
 
 (!type already_seen 666)
 
 (!type already_seen 665)
 
 (!type already_seen 664)
 
 (!type already_seen 663)
 
 (!type already_seen 662)
 
 (!type already_seen 661)
 
 (!type already_seen 67)
 
 (!type already_seen 659)
 
 (!type already_seen 660)
 
 (!type already_seen 658)
 
 (!type already_seen 656)
 
 (!type already_seen 655)
 
 (!type struct 846 
  (!type pointer 847 nil  gc_used
   (!type already_seen 846)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1094)
  (!fields 27 
   (!pair  "old_bindings"
    (!type already_seen 844)
    (!srcfileloc  "cp/cp-tree.h" 1057)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1058)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 49)
    (!srcfileloc  "cp/cp-tree.h" 1059)
    nil )
   (!pair  "class_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1060)
    nil )
   (!pair  "class_type"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1061)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1062)
    nil )
   (!pair  "function_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1063)
    nil )
   (!pair  "lang_base"
    (!type already_seen 49)
    (!srcfileloc  "cp/cp-tree.h" 1064)
    nil )
   (!pair  "lang_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1065)
    nil )
   (!pair  "template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1066)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1067)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1068)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1071)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1072)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1074)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1075)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1076)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1077)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1079)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1080)
    nil )
   (!pair  "noexcept_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1081)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1084)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 91)
    (!srcfileloc  "cp/cp-tree.h" 1086)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1088)
    nil )
   (!pair  "bindings"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1089)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 419)
    (!srcfileloc  "cp/cp-tree.h" 1091)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "prev"
    (!type already_seen 847)
    (!srcfileloc  "cp/cp-tree.h" 1093)
    nil )
  )
  nil 516 nil nil )
 
 (!type struct 848 nil  gc_unused "arg_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 849 nil  gc_pointed_to "cxx_int_tree_map"
  (!srcfileloc  "cp/cp-tree.h" 1189)
  (!fields 2 
   (!pair  "uid"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1187)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1188)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type struct 850 nil  gc_unused "scope_binding"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 104)
 
 (!type already_seen 99)
 
 (!type already_seen 105)
 
 (!type already_seen 100)
 
 (!type already_seen 845)
 
 (!type already_seen 97)
 
 (!type already_seen 102)
 
 (!type already_seen 532)
 
 (!type already_seen 529)
 
 (!type user_struct 851 
  (!type pointer 852 nil  gc_used
   (!type already_seen 851)
  )
  gc_pointed_to "hash_table<conv_type_hasher>"
  (!srcfileloc  "cp/mangle.c" 3791)
  (!fields 1 
   (!pair  "conv_type_hasher"
    (!type struct 853 nil  gc_used "conv_type_hasher"
     (!srcfileloc  "cp/mangle.c" 3791)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/mangle.c" 3791)
    nil )
  )
 )
 
 (!type already_seen 853)
 
 (!type already_seen 814)
 
 (!type struct 854 nil  gc_used "globals"
  (!srcfileloc  "cp/mangle.c" 124)
  (!fields 4 
   (!pair  "substitutions"
    (!type already_seen 49)
    (!srcfileloc  "cp/mangle.c" 113)
    nil )
   (!pair  "entity"
    (!type already_seen 5)
    (!srcfileloc  "cp/mangle.c" 116)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "parm_depth"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 119)
    nil )
   (!pair  "need_abi_warning"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 123)
    nil )
  )
  nil 516 nil nil )
 
 (!type user_struct 855 
  (!type pointer 856 nil  gc_used
   (!type already_seen 855)
  )
  gc_pointed_to "vec<tinfo_s,va_gc>"
  (!srcfileloc  "cp/rtti.c" 114)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/rtti.c" 114)
    nil )
   (!pair  "tinfo_s"
    (!type struct 857 nil  gc_used "tinfo_s"
     (!srcfileloc  "cp/rtti.c" 83)
     (!fields 3 
      (!pair  "type"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 76)
       nil )
      (!pair  "vtable"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 78)
       nil )
      (!pair  "name"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 81)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/rtti.c" 114)
    nil )
  )
 )
 
 (!type already_seen 857)
 
 (!type already_seen 111)
 
 (!type struct 858 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 859 nil  gc_unused "anonymous:../../gcc/c/c-parser.c:6198"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 860 
  (!type pointer 861 nil  gc_used
   (!type already_seen 860)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 243)
  (!fields 13 
   (!pair  "tokens"
    (!type pointer 862 nil  gc_unused
     (!type struct 863 
      (!type already_seen 862)
      gc_used "c_token"
      (!srcfileloc  "c/c-parser.c" 191)
      (!fields 6 
       (!pair  "type"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 177)
        nil )
       (!pair  "id_kind"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 180)
        nil )
       (!pair  "keyword"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 183)
        nil )
       (!pair  "pragma_kind"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 186)
        nil )
       (!pair  "location"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 188)
        nil )
       (!pair  "value"
        (!type already_seen 5)
        (!srcfileloc  "c/c-parser.c" 190)
        nil )
      )
      nil 258 nil nil )
    )
    (!srcfileloc  "c/c-parser.c" 198)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "tokens_buf"
    (!type array 864 nil  gc_used "2" 
     (!type already_seen 863)
    )
    (!srcfileloc  "c/c-parser.c" 200)
    nil )
   (!pair  "tokens_avail"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 203)
    nil )
   (!pair  "error"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 207)
    nil )
   (!pair  "in_pragma"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 210)
    nil )
   (!pair  "in_if_block"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 212)
    nil )
   (!pair  "lex_untranslated_string"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 214)
    nil )
   (!pair  "objc_pq_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 220)
    nil )
   (!pair  "objc_could_be_foreach_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 225)
    nil )
   (!pair  "objc_need_raw_identifier"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 230)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 233)
    nil )
   (!pair  "objc_property_attr_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 236)
    nil )
   (!pair  "cilk_simd_fn_tokens"
    (!type pointer 865 nil  gc_used
     (!type user_struct 866 
      (!type already_seen 865)
      gc_pointed_to "vec<c_token,va_gc>"
      (!srcfileloc  "c/c-parser.c" 242)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 3)
        (!srcfileloc  "c/c-parser.c" 242)
        nil )
       (!pair  "c_token"
        (!type already_seen 863)
        (!srcfileloc  "c/c-parser.c" 242)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 242)
    nil )
  )
  nil 258 nil nil )
 
 (!type already_seen 866)
 
 (!type already_seen 863)
 
 (!type struct 867 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 868 nil  gc_unused "anonymous:../../gcc/c-family/c-pragma.c:1187"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 869 
  (!type pointer 870 nil  gc_used
   (!type already_seen 869)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 921)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 870)
    (!srcfileloc  "c-family/c-pragma.c" 916)
    nil )
   (!pair  "target_binary"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 917)
    nil )
   (!pair  "target_strings"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 918)
    nil )
   (!pair  "optimize_binary"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 919)
    nil )
   (!pair  "optimize_strings"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 920)
    nil )
  )
  nil 774 nil nil )
 
 (!type user_struct 871 
  (!type pointer 872 nil  gc_used
   (!type already_seen 871)
  )
  gc_pointed_to "vec<pending_redefinition,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 452)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-pragma.c" 452)
    nil )
   (!pair  "pending_redefinition"
    (!type struct 873 nil  gc_used "pending_redefinition_d"
     (!srcfileloc  "c-family/c-pragma.c" 449)
     (!fields 2 
      (!pair  "oldname"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 447)
       nil )
      (!pair  "newname"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 448)
       nil )
     )
     nil 774 nil nil )
    (!srcfileloc  "c-family/c-pragma.c" 452)
    nil )
  )
 )
 
 (!type already_seen 873)
 
 (!type user_struct 874 
  (!type pointer 875 nil  gc_used
   (!type already_seen 874)
  )
  gc_pointed_to "vec<pending_weak,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 263)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-pragma.c" 263)
    nil )
   (!pair  "pending_weak"
    (!type struct 876 nil  gc_used "pending_weak_d"
     (!srcfileloc  "c-family/c-pragma.c" 260)
     (!fields 2 
      (!pair  "name"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 258)
       nil )
      (!pair  "value"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 259)
       nil )
     )
     nil 774 nil nil )
    (!srcfileloc  "c-family/c-pragma.c" 263)
    nil )
  )
 )
 
 (!type already_seen 876)
 
 (!type struct 877 
  (!type pointer 878 nil  gc_used
   (!type already_seen 877)
  )
  gc_pointed_to "align_stack"
  (!srcfileloc  "c-family/c-pragma.c" 72)
  (!fields 3 
   (!pair  "alignment"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-pragma.c" 69)
    nil )
   (!pair  "id"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 70)
    nil )
   (!pair  "prev"
    (!type already_seen 878)
    (!srcfileloc  "c-family/c-pragma.c" 71)
    nil )
  )
  nil 774 nil nil )
 
 (!type struct 879 nil  gc_unused "internal_pragma_handler_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 880 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 881 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1402)
  (!fields 5 
   (!pair  "hex_str"
    (!type already_seen 39)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1397)
    nil )
   (!pair  "macro"
    (!type already_seen 626)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1398)
    nil )
   (!pair  "mode"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1399)
    nil )
   (!pair  "digits"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1400)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 39)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1401)
    nil )
  )
  nil 770 nil nil )
 
 (!type struct 882 nil  gc_unused "cilkplus_an_loop_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 883 nil  gc_unused "cilkplus_an_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 884 nil  gc_unused "inv_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 671)
 
 (!type struct 885 nil  gc_unused "omp_clause_mask"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 886 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 887 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 888 
  (!type pointer 889 nil  gc_used
   (!type already_seen 888)
  )
  gc_pointed_to "vec<tree_gc_vec,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 11905)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 11905)
    nil )
   (!pair  "tree_gc_vec"
    (!type already_seen 49)
    (!srcfileloc  "c-family/c-common.c" 11905)
    nil )
  )
 )
 
 (!type already_seen 90)
 
 (!type user_struct 890 
  (!type pointer 891 nil  gc_used
   (!type already_seen 890)
  )
  gc_pointed_to "vec<const_char_p,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 9311)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 9311)
    nil )
   (!pair  "const_char_p"
    (!type already_seen 39)
    (!srcfileloc  "c-family/c-common.c" 9311)
    nil )
  )
 )
 
 (!type struct 892 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 893 
  (!type pointer 894 nil  gc_used
   (!type already_seen 893)
  )
  gc_pointed_to "hash_table<c_type_hasher>"
  (!srcfileloc  "c-family/c-common.c" 4951)
  (!fields 1 
   (!pair  "c_type_hasher"
    (!type struct 895 nil  gc_used "c_type_hasher"
     (!srcfileloc  "c-family/c-common.c" 4951)
     (!fields 0 )
     nil 774 nil nil )
    (!srcfileloc  "c-family/c-common.c" 4951)
    nil )
  )
 )
 
 (!type already_seen 895)
 
 (!type struct 896 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 897 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 898 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 899 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 534)
 
 (!type struct 900 
  (!type pointer 901 nil  gc_used
   (!type already_seen 900)
  )
  gc_pointed_to "c_inline_static"
  (!srcfileloc  "c/c-decl.c" 578)
  (!fields 5 
   (!pair  "location"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 565)
    nil )
   (!pair  "function"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 568)
    nil )
   (!pair  "static_decl"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 571)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 574)
    nil )
   (!pair  "next"
    (!type already_seen 901)
    (!srcfileloc  "c/c-decl.c" 577)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  258 nil nil )
 
 (!type already_seen 648)
 
 (!type already_seen 650)
 
 (!type already_seen 646)
 
 (!type already_seen 614)
 
 (!type already_seen 621)
 
 (!type already_seen 640)
 
 (!type already_seen 641)
 
 (!type already_seen 643)
 
 (!type already_seen 91)
 
 (!type struct 902 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 644)
 
 (!type struct 903 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 904 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 905 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 906 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 113)
 
 (!type struct 907 nil  gc_unused "c_arg_tag_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 908 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 909 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 910 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 911 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 912 nil  gc_unused "deferred_decl_context_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 913 
  (!type pointer 914 nil  gc_used
   (!type already_seen 913)
  )
  gc_pointed_to "hash_table<pad_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/utils.c" 258)
  (!fields 1 
   (!pair  "pad_type_hasher"
    (!type struct 915 nil  gc_used "pad_type_hasher"
     (!srcfileloc  "ada/gcc-interface/utils.c" 258)
     (!fields 0 )
     nil 1 nil nil )
    (!srcfileloc  "ada/gcc-interface/utils.c" 258)
    nil )
  )
 )
 
 (!type already_seen 915)
 
 (!type struct 916 nil  gc_pointed_to "pad_type_hash"
  (!srcfileloc  "ada/gcc-interface/utils.c" 248)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "ada/gcc-interface/utils.c" 246)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 247)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1 nil nil )
 
 (!type struct 917 
  (!type pointer 918 nil  gc_used
   (!type already_seen 917)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 219)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 918)
    (!srcfileloc  "ada/gcc-interface/utils.c" 213)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 215)
    nil )
   (!pair  "jmpbuf_decl"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 218)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.chain")
  )
  1 nil nil )
 
 (!type struct 919 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 920 
  (!type pointer 921 nil  gc_used
   (!type already_seen 920)
  )
  gc_pointed_to "vec<loop_info,va_gc>"
  (!srcfileloc  "ada/gcc-interface/trans.c" 229)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ada/gcc-interface/trans.c" 229)
    nil )
   (!pair  "loop_info"
    (!type pointer 922 nil  gc_used
     (!type struct 923 
      (!type already_seen 922)
      gc_pointed_to "loop_info_d"
      (!srcfileloc  "ada/gcc-interface/trans.c" 223)
      (!fields 3 
       (!pair  "stmt"
        (!type already_seen 5)
        (!srcfileloc  "ada/gcc-interface/trans.c" 220)
        nil )
       (!pair  "loop_var"
        (!type already_seen 5)
        (!srcfileloc  "ada/gcc-interface/trans.c" 221)
        nil )
       (!pair  "checks"
        (!type pointer 924 nil  gc_used
         (!type user_struct 925 
          (!type already_seen 924)
          gc_pointed_to "vec<range_check_info,va_gc>"
          (!srcfileloc  "ada/gcc-interface/trans.c" 222)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "ada/gcc-interface/trans.c" 222)
            nil )
           (!pair  "range_check_info"
            (!type pointer 926 nil  gc_used
             (!type struct 927 
              (!type already_seen 926)
              gc_pointed_to "range_check_info_d"
              (!srcfileloc  "ada/gcc-interface/trans.c" 213)
              (!fields 4 
               (!pair  "low_bound"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 209)
                nil )
               (!pair  "high_bound"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 210)
                nil )
               (!pair  "type"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 211)
                nil )
               (!pair  "invariant_cond"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 212)
                nil )
              )
              nil 1 nil nil )
            )
            (!srcfileloc  "ada/gcc-interface/trans.c" 222)
            nil )
          )
         )
        )
        (!srcfileloc  "ada/gcc-interface/trans.c" 222)
        nil )
      )
      nil 1 nil nil )
    )
    (!srcfileloc  "ada/gcc-interface/trans.c" 229)
    nil )
  )
 )
 
 (!type already_seen 923)
 
 (!type already_seen 925)
 
 (!type already_seen 927)
 
 (!type struct 928 
  (!type pointer 929 nil  gc_used
   (!type already_seen 928)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 184)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 929)
    (!srcfileloc  "ada/gcc-interface/trans.c" 181)
    nil )
   (!pair  "elab_proc"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 182)
    nil )
   (!pair  "gnat_node"
    (!type already_seen 9)
    (!srcfileloc  "ada/gcc-interface/trans.c" 183)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1 nil nil )
 
 (!type struct 930 
  (!type pointer 931 nil  gc_used
   (!type already_seen 930)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 168)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 931)
    (!srcfileloc  "ada/gcc-interface/trans.c" 164)
    nil )
   (!pair  "stmt_list"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 165)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 166)
    nil )
   (!pair  "cleanups"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 167)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.previous")
  )
  1 nil nil )
 
 (!type already_seen 116)
 
 (!type already_seen 118)
 
 (!type struct 932 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 933 nil  gc_unused "anonymous:../../gcc/ada/gcc-interface/decl.c:218"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 934 
  (!type pointer 935 nil  gc_used
   (!type already_seen 934)
  )
  gc_pointed_to "hash_table<value_annotation_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 169)
  (!fields 1 
   (!pair  "value_annotation_hasher"
    (!type struct 936 nil  gc_used "value_annotation_hasher"
     (!srcfileloc  "ada/gcc-interface/decl.c" 169)
     (!fields 0 )
     nil 1 nil nil )
    (!srcfileloc  "ada/gcc-interface/decl.c" 169)
    nil )
  )
 )
 
 (!type already_seen 936)
 
 (!type struct 937 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 938 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 939 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 940 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 941 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 942 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 943 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 944 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 945 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 946 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 947 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 948 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 949 nil  gc_unused "final_warning_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 950 nil  gc_unused "decl_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 951 nil  gc_unused "odr_type_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 952 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 2571)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type struct 953 nil  gc_unused "polymorphic_call_target_hasher"
     (!srcfileloc  "ipa-devirt.c" 2571)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-devirt.c" 2571)
    nil )
  )
 )
 
 (!type already_seen 953)
 
 (!type struct 954 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 955 
  (!type pointer 956 nil  gc_used
   (!type already_seen 955)
  )
  gc_pointed_to "vec<odr_type,va_gc>"
  (!srcfileloc  "ipa-devirt.c" 625)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-devirt.c" 625)
    nil )
   (!pair  "odr_type"
    (!type pointer 957 nil  gc_used
     (!type struct 958 
      (!type already_seen 957)
      gc_pointed_to "odr_type_d"
      (!srcfileloc  "ipa-devirt.c" 246)
      (!fields 10 
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "ipa-devirt.c" 224)
        nil )
       (!pair  "bases"
        (!type user_struct 959 nil  gc_unused "vec<odr_type>"
         (!srcfileloc  "ipa-devirt.c" 226)
         (!fields 1 
          (!pair  "odr_type"
           (!type already_seen 957)
           (!srcfileloc  "ipa-devirt.c" 226)
           nil )
         )
        )
        (!srcfileloc  "ipa-devirt.c" 226)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "derived_types"
        (!type already_seen 959)
        (!srcfileloc  "ipa-devirt.c" 229)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "types"
        (!type already_seen 49)
        (!srcfileloc  "ipa-devirt.c" 232)
        nil )
       (!pair  "types_set"
        (!type already_seen 443)
        (!srcfileloc  "ipa-devirt.c" 234)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "id"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 237)
        nil )
       (!pair  "anonymous_namespace"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 239)
        nil )
       (!pair  "all_derivations_known"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 241)
        nil )
       (!pair  "odr_violated"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 243)
        nil )
       (!pair  "rtti_broken"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 245)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "ipa-devirt.c" 625)
    nil )
  )
 )
 
 (!type user_struct 960 nil  gc_unused "hash_table<odr_vtable_hasher>"
  (!srcfileloc  "ipa-devirt.c" 618)
  (!fields 1 
   (!pair  "odr_vtable_hasher"
    (!type struct 961 nil  gc_unused "odr_vtable_hasher"
     (!srcfileloc  "ipa-devirt.c" 618)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-devirt.c" 618)
    nil )
  )
 )
 
 (!type user_struct 962 nil  gc_unused "hash_table<odr_name_hasher>"
  (!srcfileloc  "ipa-devirt.c" 616)
  (!fields 1 
   (!pair  "odr_name_hasher"
    (!type struct 963 nil  gc_unused "odr_name_hasher"
     (!srcfileloc  "ipa-devirt.c" 616)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-devirt.c" 616)
    nil )
  )
 )
 
 (!type already_seen 961)
 
 (!type already_seen 963)
 
 (!type already_seen 959)
 
 (!type struct 964 nil  gc_unused "pair_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 965 nil  gc_unused "anonymous:../../gcc/ipa-devirt.c:174"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 966 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 967 nil  gc_unused "sanopt_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 968 nil  gc_unused "sanopt_tree_triplet_map_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 969 nil  gc_unused "sanopt_tree_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 970 nil  gc_unused "sanopt_tree_map_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 971 nil  gc_unused "sanopt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 972 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 973 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 974 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 975 
  (!type pointer 976 nil  gc_used
   (!type already_seen 975)
  )
  gc_pointed_to "hash_table<tree_type_map_cache_hasher>"
  (!srcfileloc  "ubsan.c" 127)
  (!fields 1 
   (!pair  "tree_type_map_cache_hasher"
    (!type struct 977 nil  gc_used "tree_type_map_cache_hasher"
     (!srcfileloc  "ubsan.c" 127)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ubsan.c" 127)
    nil )
  )
 )
 
 (!type already_seen 977)
 
 (!type struct 978 nil  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 97)
  (!fields 2 
   (!pair  "type"
    (!type struct 979 nil  gc_used "tree_map_base"
     (!srcfileloc  "tree-core.h" 1815)
     (!fields 1 
      (!pair  "from"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 1814)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "ubsan.c" 95)
    nil )
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "ubsan.c" 96)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 980 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 981 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 982 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 983 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 984 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 985 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 986 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 987 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 327)
 )
 
 (!type user_struct 988 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 326)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type struct 989 nil  gc_unused "vtbl_map_hasher"
     (!srcfileloc  "vtable-verify.c" 326)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "vtable-verify.c" 326)
    nil )
  )
 )
 
 (!type already_seen 989)
 
 (!type struct 990 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 991 nil  gc_unused "edge_growth_cache_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 992 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 993 
  (!type pointer 994 nil  gc_used
   (!type already_seen 993)
  )
  gc_pointed_to "function_summary<inline_summary*>"
  (!srcfileloc  "ipa-inline.h" 192)
  (!fields 1 
   (!pair  "inline_summary"
    (!type pointer 995 nil  gc_used
     (!type struct 996 
      (!type already_seen 995)
      gc_pointed_to "inline_summary"
      (!srcfileloc  "ipa-inline.h" 169)
      (!fields 18 
       (!pair  "estimated_self_stack_size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 119)
        nil )
       (!pair  "self_size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 121)
        nil )
       (!pair  "self_time"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 123)
        nil )
       (!pair  "min_size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 125)
        nil )
       (!pair  "inlinable"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 128)
        nil )
       (!pair  "contains_cilk_spawn"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 131)
        nil )
       (!pair  "single_caller"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 134)
        nil )
       (!pair  "estimated_stack_size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 141)
        nil )
       (!pair  "stack_frame_offset"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 143)
        nil )
       (!pair  "time"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 145)
        nil )
       (!pair  "size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 146)
        nil )
       (!pair  "conds"
        (!type pointer 997 nil  gc_used
         (!type user_struct 998 
          (!type already_seen 997)
          gc_pointed_to "vec<condition,va_gc>"
          (!srcfileloc  "ipa-inline.h" 80)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "ipa-inline.h" 80)
            nil )
           (!pair  "condition"
            (!type struct 999 nil  gc_used "condition"
             (!srcfileloc  "ipa-inline.h" 80)
             (!fields 6 
              (!pair  "offset"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 36)
               nil )
              (!pair  "val"
               (!type already_seen 5)
               (!srcfileloc  "ipa-inline.h" 37)
               nil )
              (!pair  "operand_num"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 38)
               nil )
              (!pair  "code"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 39)
               nil )
              (!pair  "agg_contents"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 42)
               nil )
              (!pair  "by_ref"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 45)
               nil )
             )
             nil 1023 nil nil )
            (!srcfileloc  "ipa-inline.h" 80)
            nil )
          )
         )
        )
        (!srcfileloc  "ipa-inline.h" 150)
        nil )
       (!pair  "entry"
        (!type pointer 1000 nil  gc_used
         (!type user_struct 1001 
          (!type already_seen 1000)
          gc_pointed_to "vec<size_time_entry,va_gc>"
          (!srcfileloc  "ipa-inline.h" 151)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "ipa-inline.h" 151)
            nil )
           (!pair  "size_time_entry"
            (!type struct 1002 nil  gc_used "size_time_entry"
             (!srcfileloc  "ipa-inline.h" 151)
             (!fields 3 
              (!pair  "predicate"
               (!type struct 1003 
                (!type pointer 1004 nil  gc_unused
                 (!type already_seen 1003)
                )
                gc_used "predicate"
                (!srcfileloc  "ipa-inline.h" 96)
                (!fields 1 
                 (!pair  "clause"
                  (!type array 1005 nil  gc_used "MAX_CLAUSES + 1" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "ipa-inline.h" 95)
                  nil )
                )
                nil 1023 nil nil )
               (!srcfileloc  "ipa-inline.h" 108)
               nil )
              (!pair  "size"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 109)
               nil )
              (!pair  "time"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 110)
               nil )
             )
             nil 1023 nil nil )
            (!srcfileloc  "ipa-inline.h" 151)
            nil )
          )
         )
        )
        (!srcfileloc  "ipa-inline.h" 151)
        nil )
       (!pair  "loop_iterations"
        (!type already_seen 1004)
        (!srcfileloc  "ipa-inline.h" 155)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "loop_stride"
        (!type already_seen 1004)
        (!srcfileloc  "ipa-inline.h" 158)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "array_index"
        (!type already_seen 1004)
        (!srcfileloc  "ipa-inline.h" 160)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "growth"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 166)
        nil )
       (!pair  "scc_no"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 168)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "ipa-inline.h" 192)
    nil )
  )
 )
 
 (!type user_struct 1006 nil  gc_unused "inline_summary_t"
  (!srcfileloc  "ipa-inline.h" 190)
  (!fields 0 )
 )
 
 (!type already_seen 1001)
 
 (!type already_seen 1002)
 
 (!type already_seen 1003)
 
 (!type already_seen 998)
 
 (!type already_seen 999)
 
 (!type already_seen 609)
 
 (!type already_seen 607)
 
 (!type already_seen 603)
 
 (!type already_seen 601)
 
 (!type already_seen 599)
 
 (!type already_seen 589)
 
 (!type already_seen 585)
 
 (!type already_seen 583)
 
 (!type already_seen 574)
 
 (!type already_seen 572)
 
 (!type struct 1007 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1008 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1009 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1010 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1011 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 371)
 
 (!type already_seen 370)
 
 (!type already_seen 368)
 
 (!type already_seen 366)
 
 (!type already_seen 362)
 
 (!type already_seen 367)
 
 (!type already_seen 363)
 
 (!type struct 1012 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1013 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 360)
 
 (!type struct 1014 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1015 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1016 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1017 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1018 nil  gc_unused "lto_simple_header_with_strings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1019 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "lto_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1021 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1022 nil  gc_unused "lto_location_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 357)
 
 (!type struct 1023 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1025 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1026 nil  gc_unused "vec<cgraph_node*>"
  (!srcfileloc  "trans-mem.c" 4107)
  (!fields 1 
   (!pair  "cgraph_node"
    (!type pointer 1027 
     (!type pointer 1028 nil  gc_used
      (!type already_seen 1027)
     )
     gc_pointed_to
     (!type struct 1029 
      (!type already_seen 1027)
      gc_pointed_to "cgraph_node"
      (!srcfileloc  "cgraph.h" 1330)
      (!fields 45 
       (!pair  "DEBUG_FUNCTION"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 961)
        nil )
       (!pair  "DEBUG_FUNCTION"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 970)
        nil )
       (!pair  "callees"
        (!type pointer 1030 nil  gc_used
         (!type struct 1031 
          (!type already_seen 1030)
          gc_pointed_to "cgraph_edge"
          (!srcfileloc  "cgraph.h" 1654)
          (!fields 20 
           (!pair  "count"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1581)
            nil )
           (!pair  "caller"
            (!type already_seen 1027)
            (!srcfileloc  "cgraph.h" 1582)
            nil )
           (!pair  "callee"
            (!type already_seen 1027)
            (!srcfileloc  "cgraph.h" 1583)
            nil )
           (!pair  "prev_caller"
            (!type already_seen 1030)
            (!srcfileloc  "cgraph.h" 1584)
            nil )
           (!pair  "next_caller"
            (!type already_seen 1030)
            (!srcfileloc  "cgraph.h" 1585)
            nil )
           (!pair  "prev_callee"
            (!type already_seen 1030)
            (!srcfileloc  "cgraph.h" 1586)
            nil )
           (!pair  "next_callee"
            (!type already_seen 1030)
            (!srcfileloc  "cgraph.h" 1587)
            nil )
           (!pair  "call_stmt"
            (!type pointer 1032 nil  gc_used
             (!type struct 1033 
              (!type already_seen 1032)
              gc_pointed_to "gcall"
              (!srcfileloc  "gimple.h" 297)
              (!fields 4 
               (!pair  "call_used"
                (!type already_seen 418)
                (!srcfileloc  "gimple.h" 283)
                nil )
               (!pair  "call_clobbered"
                (!type already_seen 418)
                (!srcfileloc  "gimple.h" 284)
                nil )
               (!pair  "u"
                (!type union 1034 nil  gc_used "anonymous:../../gcc/gimple.h:287"
                 (!srcfileloc  "gimple.h" 290)
                 (!fields 2 
                  (!pair  "fntype"
                   (!type already_seen 5)
                   (!srcfileloc  "gimple.h" 288)
                   (!options 
                    (!option tag string  "0")
                   )
                  )
                  (!pair  "internal_fn"
                   (!type already_seen 9)
                   (!srcfileloc  "gimple.h" 289)
                   (!options 
                    (!option tag string  "GF_CALL_INTERNAL")
                   )
                  )
                 )
                 (!options 
                  (!option desc string  "%1.subcode & GF_CALL_INTERNAL")
                 )
                 1023 nil )
                (!srcfileloc  "gimple.h" 290)
                nil )
               (!pair  "op"
                (!type array 1035 nil  gc_used "1" 
                 (!type already_seen 5)
                )
                (!srcfileloc  "gimple.h" 296)
                (!options 
                 (!option length string  "%h.num_ops")
                )
               )
              )
              (!options 
               (!option tag string  "GSS_CALL")
              )
              1023 nil 
              (!type struct 1036 nil  gc_pointed_to "gimple_statement_with_memory_ops_base"
               (!srcfileloc  "gimple.h" 256)
               (!fields 2 
                (!pair  "vdef"
                 (!type already_seen 5)
                 (!srcfileloc  "gimple.h" 254)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "vuse"
                 (!type already_seen 5)
                 (!srcfileloc  "gimple.h" 255)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               (!options 
                (!option tag string  "GSS_WITH_MEM_OPS_BASE")
               )
               1023 nil 
               (!type struct 1037 nil  gc_pointed_to "gimple_statement_with_ops_base"
                (!srcfileloc  "gimple.h" 226)
                (!fields 1 
                 (!pair  "use_ops"
                  (!type already_seen 428)
                  (!srcfileloc  "gimple.h" 225)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                )
                nil 1023 nil 
                (!type already_seen 312)
               )
              )
             )
            )
            (!srcfileloc  "cgraph.h" 1588)
            nil )
           (!pair  "indirect_info"
            (!type pointer 1038 nil  gc_used
             (!type struct 1039 
              (!type already_seen 1038)
              gc_pointed_to "cgraph_indirect_call_info"
              (!srcfileloc  "cgraph.h" 1591)
              (!fields 13 
               (!pair  "offset"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1474)
                nil )
               (!pair  "context"
                (!type struct 1040 nil  gc_used "ipa_polymorphic_call_context"
                 (!srcfileloc  "cgraph.h" 1466)
                 (!fields 10 
                  (!pair  "offset"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1376)
                   nil )
                  (!pair  "speculative_offset"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1377)
                   nil )
                  (!pair  "outer_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 1378)
                   nil )
                  (!pair  "speculative_outer_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 1379)
                   nil )
                  (!pair  "maybe_in_construction"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1381)
                   nil )
                  (!pair  "maybe_derived_type"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1383)
                   nil )
                  (!pair  "speculative_maybe_derived_type"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1386)
                   nil )
                  (!pair  "invalid"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1389)
                   nil )
                  (!pair  "dynamic"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1391)
                   nil )
                  (!pair  "DEBUG_FUNCTION"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1453)
                   nil )
                 )
                 nil 1023 nil nil )
                (!srcfileloc  "cgraph.h" 1476)
                nil )
               (!pair  "otr_token"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1478)
                nil )
               (!pair  "otr_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 1480)
                nil )
               (!pair  "param_index"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1482)
                nil )
               (!pair  "ecf_flags"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1484)
                nil )
               (!pair  "common_target_id"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1486)
                nil )
               (!pair  "common_target_probability"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1488)
                nil )
               (!pair  "polymorphic"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1492)
                nil )
               (!pair  "agg_contents"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1495)
                nil )
               (!pair  "member_ptr"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1497)
                nil )
               (!pair  "by_ref"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1500)
                nil )
               (!pair  "vptr_changed"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1503)
                nil )
              )
              nil 1023 nil nil )
            )
            (!srcfileloc  "cgraph.h" 1591)
            nil )
           (!pair  "aux"
            (!type already_seen 10)
            (!srcfileloc  "cgraph.h" 1592)
            (!options 
             (!option skip string  "")
            )
           )
           (!pair  "inline_failed"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1595)
            nil )
           (!pair  "lto_stmt_uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1598)
            nil )
           (!pair  "frequency"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1602)
            nil )
           (!pair  "uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1604)
            nil )
           (!pair  "indirect_inlining_edge"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1606)
            nil )
           (!pair  "indirect_unknown_callee"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1609)
            nil )
           (!pair  "call_stmt_cannot_inline_p"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1612)
            nil )
           (!pair  "can_throw_external"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1614)
            nil )
           (!pair  "speculative"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1632)
            nil )
           (!pair  "in_polymorphic_cdtor"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1635)
            nil )
          )
          (!options 
           (!option for_user string  "")
           (!option chain_prev string  "%h.prev_caller")
           (!option chain_next string  "%h.next_caller")
          )
          1023 nil nil )
        )
        (!srcfileloc  "cgraph.h" 1224)
        nil )
       (!pair  "callers"
        (!type already_seen 1030)
        (!srcfileloc  "cgraph.h" 1225)
        nil )
       (!pair  "indirect_calls"
        (!type already_seen 1030)
        (!srcfileloc  "cgraph.h" 1228)
        nil )
       (!pair  "origin"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1230)
        nil )
       (!pair  "nested"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1232)
        nil )
       (!pair  "next_nested"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1234)
        nil )
       (!pair  "next_sibling_clone"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1236)
        nil )
       (!pair  "prev_sibling_clone"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1237)
        nil )
       (!pair  "clones"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1238)
        nil )
       (!pair  "clone_of"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1239)
        nil )
       (!pair  "instrumented_version"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1243)
        nil )
       (!pair  "orig_decl"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 1246)
        nil )
       (!pair  "call_site_hash"
        (!type pointer 1041 nil  gc_used
         (!type user_struct 1042 
          (!type already_seen 1041)
          gc_pointed_to "hash_table<cgraph_edge_hasher>"
          (!srcfileloc  "cgraph.h" 1249)
          (!fields 1 
           (!pair  "cgraph_edge_hasher"
            (!type struct 1043 nil  gc_used "cgraph_edge_hasher"
             (!srcfileloc  "cgraph.h" 1249)
             (!fields 0 )
             nil 1023 nil nil )
            (!srcfileloc  "cgraph.h" 1249)
            nil )
          )
         )
        )
        (!srcfileloc  "cgraph.h" 1249)
        nil )
       (!pair  "former_clone_of"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 1251)
        nil )
       (!pair  "simdclone"
        (!type pointer 1044 nil  gc_used
         (!type struct 1045 
          (!type already_seen 1044)
          gc_pointed_to "cgraph_simd_clone"
          (!srcfileloc  "cgraph.h" 1255)
          (!fields 11 
           (!pair  "simdlen"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 712)
            nil )
           (!pair  "nargs"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 716)
            nil )
           (!pair  "vecsize_int"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 719)
            nil )
           (!pair  "vecsize_float"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 722)
            nil )
           (!pair  "vecsize_mangle"
            (!type already_seen 15)
            (!srcfileloc  "cgraph.h" 727)
            nil )
           (!pair  "inbranch"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 731)
            nil )
           (!pair  "cilk_elemental"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 734)
            nil )
           (!pair  "prev_clone"
            (!type already_seen 1027)
            (!srcfileloc  "cgraph.h" 737)
            nil )
           (!pair  "next_clone"
            (!type already_seen 1027)
            (!srcfileloc  "cgraph.h" 737)
            nil )
           (!pair  "origin"
            (!type already_seen 1027)
            (!srcfileloc  "cgraph.h" 740)
            nil )
           (!pair  "args"
            (!type array 1046 nil  gc_used "1" 
             (!type struct 1047 nil  gc_used "cgraph_simd_clone_arg"
              (!srcfileloc  "cgraph.h" 743)
              (!fields 8 
               (!pair  "orig_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 668)
                nil )
               (!pair  "orig_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 672)
                nil )
               (!pair  "vector_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 680)
                nil )
               (!pair  "vector_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 683)
                nil )
               (!pair  "simd_array"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 692)
                nil )
               (!pair  "arg_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 696)
                nil )
               (!pair  "linear_step"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 702)
                nil )
               (!pair  "alignment"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 705)
                nil )
              )
              nil 1023 nil nil )
            )
            (!srcfileloc  "cgraph.h" 743)
            (!options 
             (!option length string  "%h.nargs")
            )
           )
          )
          nil 1023 nil nil )
        )
        (!srcfileloc  "cgraph.h" 1255)
        nil )
       (!pair  "simd_clones"
        (!type already_seen 1027)
        (!srcfileloc  "cgraph.h" 1257)
        nil )
       (!pair  "ipa_transforms_to_apply"
        (!type user_struct 1048 nil  gc_unused "vec<ipa_opt_pass>"
         (!srcfileloc  "cgraph.h" 1262)
         (!fields 1 
          (!pair  "ipa_opt_pass"
           (!type pointer 1049 nil  gc_unused
            (!type struct 1050 
             (!type already_seen 1049)
             gc_unused "ipa_opt_pass_d"
             (!srcfileloc  "function.h" 165)
             (!fields 0 )
             nil 1023 nil nil )
           )
           (!srcfileloc  "cgraph.h" 1262)
           nil )
         )
        )
        (!srcfileloc  "cgraph.h" 1262)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "local"
        (!type struct 1051 nil  gc_used "cgraph_local_info"
         (!srcfileloc  "cgraph.h" 1264)
         (!fields 5 
          (!pair  "local"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 590)
           nil )
          (!pair  "versionable"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 593)
           nil )
          (!pair  "can_change_signature"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 597)
           nil )
          (!pair  "redefined_extern_inline"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 601)
           nil )
          (!pair  "tm_may_enter_irr"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 604)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1264)
        nil )
       (!pair  "global"
        (!type struct 1052 nil  gc_used "cgraph_global_info"
         (!srcfileloc  "cgraph.h" 1265)
         (!fields 1 
          (!pair  "inlined_to"
           (!type already_seen 1027)
           (!srcfileloc  "cgraph.h" 613)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1265)
        nil )
       (!pair  "rtl"
        (!type struct 1053 nil  gc_used "cgraph_rtl_info"
         (!srcfileloc  "cgraph.h" 1266)
         (!fields 3 
          (!pair  "preferred_incoming_stack_boundary"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 620)
           nil )
          (!pair  "function_used_regs"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 625)
           nil )
          (!pair  "function_used_regs_valid"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 627)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1266)
        nil )
       (!pair  "clone"
        (!type struct 1054 nil  gc_used "cgraph_clone_info"
         (!srcfileloc  "cgraph.h" 1267)
         (!fields 3 
          (!pair  "tree_map"
           (!type pointer 1055 nil  gc_used
            (!type user_struct 1056 
             (!type already_seen 1055)
             gc_pointed_to "vec<ipa_replace_map*,va_gc>"
             (!srcfileloc  "cgraph.h" 648)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cgraph.h" 648)
               nil )
              (!pair  "ipa_replace_map"
               (!type pointer 1057 nil  gc_used
                (!type struct 1058 
                 (!type already_seen 1057)
                 gc_pointed_to "ipa_replace_map"
                 (!srcfileloc  "cgraph.h" 644)
                 (!fields 5 
                  (!pair  "old_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 635)
                   nil )
                  (!pair  "new_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 637)
                   nil )
                  (!pair  "parm_num"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 639)
                   nil )
                  (!pair  "replace_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 641)
                   nil )
                  (!pair  "ref_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 643)
                   nil )
                 )
                 nil 1023 nil nil )
               )
               (!srcfileloc  "cgraph.h" 648)
               nil )
             )
            )
           )
           (!srcfileloc  "cgraph.h" 648)
           nil )
          (!pair  "args_to_skip"
           (!type already_seen 119)
           (!srcfileloc  "cgraph.h" 649)
           nil )
          (!pair  "combined_args_to_skip"
           (!type already_seen 119)
           (!srcfileloc  "cgraph.h" 650)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1267)
        nil )
       (!pair  "thunk"
        (!type struct 1059 nil  gc_used "cgraph_thunk_info"
         (!srcfileloc  "cgraph.h" 1268)
         (!fields 7 
          (!pair  "fixed_offset"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 574)
           nil )
          (!pair  "virtual_value"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 575)
           nil )
          (!pair  "alias"
           (!type already_seen 5)
           (!srcfileloc  "cgraph.h" 576)
           nil )
          (!pair  "this_adjusting"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 577)
           nil )
          (!pair  "virtual_offset_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 578)
           nil )
          (!pair  "add_pointer_bounds_args"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 579)
           nil )
          (!pair  "thunk_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 581)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1268)
        nil )
       (!pair  "count"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1271)
        nil )
       (!pair  "count_materialization_scale"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1274)
        nil )
       (!pair  "uid"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1276)
        nil )
       (!pair  "summary_uid"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1278)
        nil )
       (!pair  "profile_id"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1280)
        nil )
       (!pair  "tp_first_run"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1282)
        nil )
       (!pair  "used_as_abstract_origin"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1286)
        nil )
       (!pair  "lowered"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1288)
        nil )
       (!pair  "process"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1291)
        nil )
       (!pair  "frequency"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1294)
        nil )
       (!pair  "only_called_at_startup"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1296)
        nil )
       (!pair  "only_called_at_exit"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1298)
        nil )
       (!pair  "tm_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1303)
        nil )
       (!pair  "dispatcher_function"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1305)
        nil )
       (!pair  "calls_comdat_local"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1308)
        nil )
       (!pair  "icf_merged"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1310)
        nil )
       (!pair  "instrumentation_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1313)
        nil )
       (!pair  "nonfreeing_fn"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1317)
        nil )
       (!pair  "merged"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1319)
        nil )
       (!pair  "parallelized_function"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1321)
        nil )
       (!pair  "split_part"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1323)
        nil )
      )
      (!options 
       (!option tag string  "SYMTAB_FUNCTION")
      )
      1023 nil 
      (!type already_seen 345)
     )
    )
    (!srcfileloc  "trans-mem.c" 4107)
    nil )
  )
 )
 
 (!type struct 1060 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1061 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1062 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1063 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1064 
  (!type pointer 1065 nil  gc_unused
   (!type already_seen 1064)
  )
  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1066 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1067 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1068 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1069 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1070 
  (!type pointer 1071 nil  gc_unused
   (!type already_seen 1070)
  )
  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1072 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1073 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1074 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1075 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 
  (!type pointer 1077 nil  gc_unused
   (!type already_seen 1076)
  )
  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1078 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1079 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1080 
  (!type pointer 1081 nil  gc_used
   (!type already_seen 1080)
  )
  gc_pointed_to "hash_table<tm_wrapper_hasher>"
  (!srcfileloc  "trans-mem.c" 507)
  (!fields 1 
   (!pair  "tm_wrapper_hasher"
    (!type struct 1082 nil  gc_used "tm_wrapper_hasher"
     (!srcfileloc  "trans-mem.c" 507)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "trans-mem.c" 507)
    nil )
  )
 )
 
 (!type already_seen 1082)
 
 (!type user_struct 1083 nil  gc_unused "vec<ipa_parm_adjustment>"
  (!srcfileloc  "ipa-prop.h" 731)
  (!fields 1 
   (!pair  "ipa_parm_adjustment"
    (!type struct 1084 nil  gc_unused "ipa_parm_adjustment"
     (!srcfileloc  "ipa-prop.h" 731)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-prop.h" 731)
    nil )
  )
 )
 
 (!type user_struct 1085 
  (!type pointer 1086 nil  gc_used
   (!type already_seen 1085)
  )
  gc_pointed_to "vec<ipa_edge_args,va_gc>"
  (!srcfileloc  "ipa-prop.h" 548)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-prop.h" 548)
    nil )
   (!pair  "ipa_edge_args"
    (!type struct 1087 nil  gc_used "ipa_edge_args"
     (!srcfileloc  "ipa-prop.h" 548)
     (!fields 2 
      (!pair  "jump_functions"
       (!type pointer 1088 nil  gc_used
        (!type user_struct 1089 
         (!type already_seen 1088)
         gc_pointed_to "vec<ipa_jump_func,va_gc>"
         (!srcfileloc  "ipa-prop.h" 494)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-prop.h" 494)
           nil )
          (!pair  "ipa_jump_func"
           (!type struct 1090 nil  gc_used "ipa_jump_func"
            (!srcfileloc  "ipa-prop.h" 494)
            (!fields 4 
             (!pair  "agg"
              (!type struct 1091 
               (!type pointer 1092 nil  gc_unused
                (!type already_seen 1091)
               )
               gc_used "ipa_agg_jump_function"
               (!srcfileloc  "ipa-prop.h" 142)
               (!fields 2 
                (!pair  "items"
                 (!type pointer 1093 nil  gc_used
                  (!type user_struct 1094 
                   (!type already_seen 1093)
                   gc_pointed_to "vec<ipa_agg_jf_item,va_gc>"
                   (!srcfileloc  "ipa-prop.h" 139)
                   (!fields 2 
                    (!pair  "va_gc"
                     (!type already_seen 3)
                     (!srcfileloc  "ipa-prop.h" 139)
                     nil )
                    (!pair  "ipa_agg_jf_item"
                     (!type struct 1095 nil  gc_used "ipa_agg_jf_item"
                      (!srcfileloc  "ipa-prop.h" 139)
                      (!fields 2 
                       (!pair  "offset"
                        (!type already_seen 9)
                        (!srcfileloc  "ipa-prop.h" 126)
                        nil )
                       (!pair  "value"
                        (!type already_seen 5)
                        (!srcfileloc  "ipa-prop.h" 129)
                        nil )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "ipa-prop.h" 139)
                     nil )
                   )
                  )
                 )
                 (!srcfileloc  "ipa-prop.h" 139)
                 nil )
                (!pair  "by_ref"
                 (!type already_seen 9)
                 (!srcfileloc  "ipa-prop.h" 141)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "ipa-prop.h" 164)
              nil )
             (!pair  "alignment"
              (!type struct 1096 nil  gc_used "ipa_alignment"
               (!srcfileloc  "ipa-prop.h" 482)
               (!fields 3 
                (!pair  "known"
                 (!type already_seen 9)
                 (!srcfileloc  "ipa-prop.h" 150)
                 nil )
                (!pair  "align"
                 (!type already_seen 9)
                 (!srcfileloc  "ipa-prop.h" 153)
                 nil )
                (!pair  "misalign"
                 (!type already_seen 9)
                 (!srcfileloc  "ipa-prop.h" 154)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "ipa-prop.h" 167)
              nil )
             (!pair  "type"
              (!type already_seen 9)
              (!srcfileloc  "ipa-prop.h" 169)
              nil )
             (!pair  "value"
              (!type union 1097 nil  gc_used "jump_func_value"
               (!srcfileloc  "ipa-prop.h" 178)
               (!fields 3 
                (!pair  "constant"
                 (!type struct 1098 nil  gc_used "ipa_constant_data"
                  (!srcfileloc  "ipa-prop.h" 75)
                  (!fields 2 
                   (!pair  "value"
                    (!type already_seen 5)
                    (!srcfileloc  "ipa-prop.h" 72)
                    nil )
                   (!pair  "rdesc"
                    (!type pointer 1099 nil  gc_unused
                     (!type struct 1100 
                      (!type already_seen 1099)
                      gc_unused "ipa_cst_ref_desc"nil 
                      (!fields 0 )
                      nil 0 nil nil )
                    )
                    (!srcfileloc  "ipa-prop.h" 74)
                    (!options 
                     (!option skip string  "")
                    )
                   )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "ipa-prop.h" 175)
                 (!options 
                  (!option tag string  "IPA_JF_CONST")
                 )
                )
                (!pair  "pass_through"
                 (!type struct 1101 nil  gc_used "ipa_pass_through_data"
                  (!srcfileloc  "ipa-prop.h" 98)
                  (!fields 4 
                   (!pair  "operand"
                    (!type already_seen 5)
                    (!srcfileloc  "ipa-prop.h" 83)
                    nil )
                   (!pair  "formal_id"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 85)
                    nil )
                   (!pair  "operation"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 90)
                    nil )
                   (!pair  "agg_preserved"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 97)
                    nil )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "ipa-prop.h" 176)
                 (!options 
                  (!option tag string  "IPA_JF_PASS_THROUGH")
                 )
                )
                (!pair  "ancestor"
                 (!type struct 1102 nil  gc_used "ipa_ancestor_jf_data"
                  (!srcfileloc  "ipa-prop.h" 111)
                  (!fields 3 
                   (!pair  "offset"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 106)
                    nil )
                   (!pair  "formal_id"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 108)
                    nil )
                   (!pair  "agg_preserved"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 110)
                    nil )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "ipa-prop.h" 177)
                 (!options 
                  (!option tag string  "IPA_JF_ANCESTOR")
                 )
                )
               )
               nil 1023 nil )
              (!srcfileloc  "ipa-prop.h" 178)
              (!options 
               (!option desc string  "%1.type")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "ipa-prop.h" 494)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 494)
       nil )
      (!pair  "polymorphic_call_contexts"
       (!type pointer 1103 nil  gc_used
        (!type user_struct 1104 
         (!type already_seen 1103)
         gc_pointed_to "vec<ipa_polymorphic_call_context,va_gc>"
         (!srcfileloc  "ipa-prop.h" 495)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-prop.h" 495)
           nil )
          (!pair  "ipa_polymorphic_call_context"
           (!type already_seen 1040)
           (!srcfileloc  "ipa-prop.h" 495)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 495)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-prop.h" 548)
    nil )
  )
 )
 
 (!type user_struct 1105 
  (!type pointer 1106 nil  gc_used
   (!type already_seen 1105)
  )
  gc_pointed_to "vec<ipcp_transformation_summary,va_gc>"
  (!srcfileloc  "ipa-prop.h" 546)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-prop.h" 546)
    nil )
   (!pair  "ipcp_transformation_summary"
    (!type struct 1107 nil  gc_used "ipcp_transformation_summary"
     (!srcfileloc  "ipa-prop.h" 546)
     (!fields 2 
      (!pair  "agg_values"
       (!type pointer 1108 nil  gc_used
        (!type struct 1109 
         (!type already_seen 1108)
         gc_pointed_to "ipa_agg_replacement_value"
         (!srcfileloc  "ipa-prop.h" 480)
         (!fields 5 
          (!pair  "next"
           (!type already_seen 1108)
           (!srcfileloc  "ipa-prop.h" 464)
           nil )
          (!pair  "offset"
           (!type already_seen 9)
           (!srcfileloc  "ipa-prop.h" 466)
           nil )
          (!pair  "value"
           (!type already_seen 5)
           (!srcfileloc  "ipa-prop.h" 468)
           nil )
          (!pair  "index"
           (!type already_seen 9)
           (!srcfileloc  "ipa-prop.h" 470)
           nil )
          (!pair  "by_ref"
           (!type already_seen 9)
           (!srcfileloc  "ipa-prop.h" 472)
           nil )
         )
         nil 1023 nil nil )
       )
       (!srcfileloc  "ipa-prop.h" 480)
       nil )
      (!pair  "alignments"
       (!type pointer 1110 nil  gc_used
        (!type user_struct 1111 
         (!type already_seen 1110)
         gc_pointed_to "vec<ipa_alignment,va_gc>"
         (!srcfileloc  "ipa-prop.h" 482)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-prop.h" 482)
           nil )
          (!pair  "ipa_alignment"
           (!type already_seen 1096)
           (!srcfileloc  "ipa-prop.h" 482)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 482)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-prop.h" 546)
    nil )
  )
 )
 
 (!type struct 1112 nil  gc_unused "ipa_node_params_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1104)
 
 (!type already_seen 1089)
 
 (!type already_seen 1107)
 
 (!type already_seen 1111)
 
 (!type struct 1113 nil  gc_unused "ipa_param_descriptor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1097)
 
 (!type already_seen 1096)
 
 (!type already_seen 1094)
 
 (!type already_seen 1102)
 
 (!type already_seen 1101)
 
 (!type already_seen 1098)
 
 (!type undefined 1114 nil  gc_unused "TRAILING_WIDE_INT_ACCESSOR"
  (!srcfileloc  "tree-ssanames.h" 52)
 )
 
 (!type struct 1115 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1116 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1117 
  (!type pointer 1118 nil  gc_unused
   (!type already_seen 1117)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1119 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1120 
  (!type pointer 1121 nil  gc_unused
   (!type already_seen 1120)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1122 nil  gc_unused "pass_registry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1123 nil  gc_unused "pass_late_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1124 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1125 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1126 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1127 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1128 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1129 nil  gc_unused "pass_local_optimization_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1130 nil  gc_unused "pass_chkp_instrumentation_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1131 nil  gc_unused "pass_build_ssa_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1132 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1133 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1134 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1135 nil  gc_unused "register_pass_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1136 nil  gc_unused "pass_mips_machine_reorg2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1137 nil  gc_unused "hash_table<mips_lo_sum_offset_hasher>"
  (!srcfileloc  "config/mips/mips.c" 16405)
  (!fields 1 
   (!pair  "mips_lo_sum_offset_hasher"
    (!type struct 1138 nil  gc_unused "mips_lo_sum_offset_hasher"
     (!srcfileloc  "config/mips/mips.c" 16405)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "config/mips/mips.c" 16405)
    nil )
  )
 )
 
 (!type already_seen 1138)
 
 (!type struct 1139 nil  gc_unused "mips_lo_sum_offset"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1140 nil  gc_unused "mips_sim"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1141 nil  gc_unused "df_link"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1142 nil  gc_unused "mips16_constant_pool"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1143 nil  gc_unused "mips16_constant"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1144 nil  gc_unused "mips_builtin_description"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1145 nil  gc_unused "mips16_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1146 
  (!type pointer 1147 nil  gc_used
   (!type already_seen 1146)
  )
  gc_pointed_to "hash_map<rtx,rtx,local_alias_traits>"
  (!srcfileloc  "config/mips/mips.c" 6625)
  (!fields 3 
   (!pair  "local_alias_traits"
    (!type struct 1148 nil  gc_used "local_alias_traits"
     (!srcfileloc  "config/mips/mips.c" 6625)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "config/mips/mips.c" 6625)
    nil )
   (!pair  "rtx"
    (!type already_seen 135)
    (!srcfileloc  "config/mips/mips.c" 6625)
    nil )
   (!pair  "rtx"
    (!type already_seen 135)
    (!srcfileloc  "config/mips/mips.c" 6625)
    nil )
  )
 )
 
 (!type already_seen 1148)
 
 (!type struct 1149 nil  gc_unused "mips_multi_member"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "mips16_set_fcsr_one_only_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "mips16_get_fcsr_one_only_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1152 nil  gc_unused "mips16_rdhwr_one_only_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1153 nil  gc_unused "bool"
  (!srcfileloc  "config/mips/mips.c" 1290)
 )
 
 (!type user_struct 1154 
  (!type pointer 1155 nil  gc_used
   (!type already_seen 1154)
  )
  gc_pointed_to "hash_map<char*,bool,mips16_flip_traits>"
  (!srcfileloc  "config/mips/mips.c" 1290)
  (!fields 2 
   (!pair  "mips16_flip_traits"
    (!type struct 1156 nil  gc_used "mips16_flip_traits"
     (!srcfileloc  "config/mips/mips.c" 1290)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "config/mips/mips.c" 1290)
    nil )
   (!pair  "bool"
    (!type already_seen 1153)
    (!srcfileloc  "config/mips/mips.c" 1290)
    nil )
  )
 )
 
 (!type already_seen 1156)
 
 (!type struct 1157 nil  gc_unused "mips_rtx_cost_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1158 nil  gc_unused "mips16e_save_restore_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1159 nil  gc_unused "mips_integer_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1160 nil  gc_unused "mips_address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1161 nil  gc_unused "mips_arg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 442)
 
 (!type struct 1162 nil  gc_unused "mips_one_only_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1163 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1164 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1165 nil  gc_unused "pass_omp_simd_clone"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1166 nil  gc_unused "modify_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1167 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1168 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 nil  gc_unused "pass_expand_omp_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1171 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1172 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1173 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 426)
 
 (!type struct 1178 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1179 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1180 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1181 
  (!type pointer 1182 nil  gc_used
   (!type already_seen 1181)
  )
  gc_pointed_to "hash_table<scev_info_hasher>"
  (!srcfileloc  "tree-scalar-evolution.c" 360)
  (!fields 1 
   (!pair  "scev_info_hasher"
    (!type struct 1183 nil  gc_used "scev_info_hasher"
     (!srcfileloc  "tree-scalar-evolution.c" 360)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree-scalar-evolution.c" 360)
    nil )
  )
 )
 
 (!type already_seen 1183)
 
 (!type struct 1184 nil  gc_pointed_to "scev_info_str"
  (!srcfileloc  "tree-scalar-evolution.c" 333)
  (!fields 3 
   (!pair  "name_version"
    (!type already_seen 9)
    (!srcfileloc  "tree-scalar-evolution.c" 330)
    nil )
   (!pair  "instantiated_below"
    (!type already_seen 9)
    (!srcfileloc  "tree-scalar-evolution.c" 331)
    nil )
   (!pair  "chrec"
    (!type already_seen 5)
    (!srcfileloc  "tree-scalar-evolution.c" 332)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1185 nil  gc_unused "numbered_tree_d"
  (!srcfileloc  "tree-dfa.c" 862)
  (!fields 2 
   (!pair  "t"
    (!type already_seen 5)
    (!srcfileloc  "tree-dfa.c" 860)
    nil )
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "tree-dfa.c" 861)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1186 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1187 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1188 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1189 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1190 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1191 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1193 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1194 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1195 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1196 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1197 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1198 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1199 
  (!type pointer 1200 nil  gc_used
   (!type already_seen 1199)
  )
  gc_pointed_to "vec<mem_addr_template,va_gc>"
  (!srcfileloc  "tree-ssa-address.c" 120)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-ssa-address.c" 120)
    nil )
   (!pair  "mem_addr_template"
    (!type struct 1201 nil  gc_used "mem_addr_template"
     (!srcfileloc  "tree-ssa-address.c" 113)
     (!fields 3 
      (!pair  "ref"
       (!type already_seen 135)
       (!srcfileloc  "tree-ssa-address.c" 108)
       nil )
      (!pair  "step_p"
       (!type already_seen 136)
       (!srcfileloc  "tree-ssa-address.c" 109)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "off_p"
       (!type already_seen 136)
       (!srcfileloc  "tree-ssa-address.c" 111)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 1023 nil nil )
    (!srcfileloc  "tree-ssa-address.c" 120)
    nil )
  )
 )
 
 (!type already_seen 1201)
 
 (!type struct 1202 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1203 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1204 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1205 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1206 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1209 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1210 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1211 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1212 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1213 nil  gc_unused "anonymous:../../gcc/tree-eh.c:89"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1214 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1215 nil  gc_unused "pass_chkp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1216 nil  gc_unused "chkp_ctor_stmt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1217 nil  gc_unused "hash_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1218 nil  gc_unused "hash_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 431)
 
 (!type already_seen 424)
 
 (!type already_seen 422)
 
 (!type already_seen 420)
 
 (!type already_seen 417)
 
 (!type already_seen 423)
 
 (!type already_seen 432)
 
 (!type struct 1219 nil  gc_pointed_to "tm_restart_node"
  (!srcfileloc  "gimple-ssa.h" 34)
  (!fields 2 
   (!pair  "stmt"
    (!type already_seen 311)
    (!srcfileloc  "gimple-ssa.h" 32)
    nil )
   (!pair  "label_or_list"
    (!type already_seen 5)
    (!srcfileloc  "gimple-ssa.h" 33)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1220 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1221 nil  gc_pointed_to "gimple_statement_omp_return"
  (!srcfileloc  "gimple.h" 726)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  1023 nil 
  (!type struct 1222 nil  gc_pointed_to "gimple_statement_omp_atomic_store_layout"
   (!srcfileloc  "gimple.h" 710)
   (!fields 1 
    (!pair  "val"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 709)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
   )
   1023 nil 
   (!type already_seen 312)
  )
 )
 
 (!type already_seen 1222)
 
 (!type struct 1223 nil  gc_pointed_to "gimple_statement_omp_single_layout"
  (!srcfileloc  "gimple.h" 670)
  (!fields 1 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 669)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  1023 nil 
  (!type struct 1224 nil  gc_pointed_to "gimple_statement_omp"
   (!srcfileloc  "gimple.h" 309)
   (!fields 1 
    (!pair  "body"
     (!type already_seen 311)
     (!srcfileloc  "gimple.h" 308)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP")
   )
   1023 nil 
   (!type already_seen 312)
  )
 )
 
 (!type struct 1225 nil  gc_pointed_to "gimple_statement_omp_taskreg"
  (!srcfileloc  "gimple.h" 588)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  1023 nil 
  (!type struct 1226 nil  gc_pointed_to "gimple_statement_omp_parallel_layout"
   (!srcfileloc  "gimple.h" 579)
   (!fields 3 
    (!pair  "clauses"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 570)
     nil )
    (!pair  "child_fn"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 574)
     nil )
    (!pair  "data_arg"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 578)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
   )
   1023 nil 
   (!type already_seen 1224)
  )
 )
 
 (!type already_seen 1226)
 
 (!type struct 1227 
  (!type pointer 1228 nil  gc_unused
   (!type already_seen 1227)
  )
  gc_used "gimple_omp_for_iter"
  (!srcfileloc  "gimple.h" 536)
  (!fields 5 
   (!pair  "cond"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 523)
    nil )
   (!pair  "index"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 526)
    nil )
   (!pair  "initial"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 529)
    nil )
   (!pair  "final"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 532)
    nil )
   (!pair  "incr"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 535)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1229 nil  gc_pointed_to "gimple_statement_wce"
  (!srcfileloc  "gimple.h" 480)
  (!fields 1 
   (!pair  "cleanup"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 479)
    nil )
  )
  (!options 
   (!option tag string  "GSS_WCE")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1230 nil  gc_pointed_to "gimple_statement_eh_ctrl"
  (!srcfileloc  "gimple.h" 418)
  (!fields 1 
   (!pair  "region"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 417)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type already_seen 1224)
 
 (!type already_seen 1034)
 
 (!type already_seen 418)
 
 (!type struct 1231 nil  gc_pointed_to "gimple_statement_with_memory_ops"
  (!srcfileloc  "gimple.h" 272)
  (!fields 1 
   (!pair  "op"
    (!type array 1232 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 271)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  1023 nil 
  (!type already_seen 1036)
 )
 
 (!type already_seen 1036)
 
 (!type struct 1233 nil  gc_pointed_to "gimple_statement_with_ops"
  (!srcfileloc  "gimple.h" 241)
  (!fields 1 
   (!pair  "op"
    (!type array 1234 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 240)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1037)
 )
 
 (!type already_seen 1037)
 
 (!type already_seen 429)
 
 (!type struct 1235 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1236 
  (!type pointer 1237 nil  gc_used
   (!type already_seen 1236)
  )
  gc_pointed_to "hash_table<tm_clone_hasher>"
  (!srcfileloc  "varasm.c" 5798)
  (!fields 1 
   (!pair  "tm_clone_hasher"
    (!type struct 1238 nil  gc_used "tm_clone_hasher"
     (!srcfileloc  "varasm.c" 5798)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 5798)
    nil )
  )
 )
 
 (!type already_seen 1238)
 
 (!type struct 1239 nil  gc_unused "anonymous:../../gcc/varasm.c:4880"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1240 nil  gc_unused "anonymous:../../gcc/varasm.c:4637"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1241 
  (!type pointer 1242 nil  gc_used
   (!type already_seen 1241)
  )
  gc_pointed_to "hash_table<const_rtx_desc_hasher>"
  (!srcfileloc  "varasm.c" 3554)
  (!fields 1 
   (!pair  "const_rtx_desc_hasher"
    (!type struct 1243 nil  gc_used "const_rtx_desc_hasher"
     (!srcfileloc  "varasm.c" 3554)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 3554)
    nil )
  )
 )
 
 (!type already_seen 1243)
 
 (!type user_struct 1244 
  (!type pointer 1245 nil  gc_used
   (!type already_seen 1244)
  )
  gc_pointed_to "hash_table<tree_descriptor_hasher>"
  (!srcfileloc  "varasm.c" 2911)
  (!fields 1 
   (!pair  "tree_descriptor_hasher"
    (!type struct 1246 nil  gc_used "tree_descriptor_hasher"
     (!srcfileloc  "varasm.c" 2911)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 2911)
    nil )
  )
 )
 
 (!type struct 1247 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1248 
  (!type pointer 1249 nil  gc_used
   (!type already_seen 1248)
  )
  gc_pointed_to "hash_table<object_block_hasher>"
  (!srcfileloc  "varasm.c" 218)
  (!fields 1 
   (!pair  "object_block_hasher"
    (!type struct 1250 nil  gc_used "object_block_hasher"
     (!srcfileloc  "varasm.c" 218)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 218)
    nil )
  )
 )
 
 (!type already_seen 1250)
 
 (!type user_struct 1251 
  (!type pointer 1252 nil  gc_used
   (!type already_seen 1251)
  )
  gc_pointed_to "hash_table<section_hasher>"
  (!srcfileloc  "varasm.c" 207)
  (!fields 1 
   (!pair  "section_hasher"
    (!type struct 1253 nil  gc_used "section_hasher"
     (!srcfileloc  "varasm.c" 207)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 207)
    nil )
  )
 )
 
 (!type already_seen 1253)
 
 (!type struct 1254 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1255 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1256 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1257 
  (!type pointer 1258 nil  gc_used
   (!type already_seen 1257)
  )
  gc_pointed_to "hash_table<tree_vec_map_cache_hasher>"
  (!srcfileloc  "tree.c" 297)
  (!fields 1 
   (!pair  "tree_vec_map_cache_hasher"
    (!type struct 1259 nil  gc_used "tree_vec_map_cache_hasher"
     (!srcfileloc  "tree.c" 297)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 297)
    nil )
  )
 )
 
 (!type already_seen 1259)
 
 (!type user_struct 1260 
  (!type pointer 1261 nil  gc_used
   (!type already_seen 1260)
  )
  gc_pointed_to "hash_table<tree_decl_map_cache_hasher>"
  (!srcfileloc  "tree.c" 268)
  (!fields 1 
   (!pair  "tree_decl_map_cache_hasher"
    (!type struct 1262 nil  gc_used "tree_decl_map_cache_hasher"
     (!srcfileloc  "tree.c" 268)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 268)
    nil )
  )
 )
 
 (!type user_struct 1263 
  (!type pointer 1264 nil  gc_used
   (!type already_seen 1263)
  )
  gc_pointed_to "hash_table<cl_option_hasher>"
  (!srcfileloc  "tree.c" 262)
  (!fields 1 
   (!pair  "cl_option_hasher"
    (!type struct 1265 nil  gc_used "cl_option_hasher"
     (!srcfileloc  "tree.c" 262)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 262)
    nil )
  )
 )
 
 (!type already_seen 1265)
 
 (!type user_struct 1266 
  (!type pointer 1267 nil  gc_used
   (!type already_seen 1266)
  )
  gc_pointed_to "hash_table<int_cst_hasher>"
  (!srcfileloc  "tree.c" 246)
  (!fields 1 
   (!pair  "int_cst_hasher"
    (!type struct 1268 nil  gc_used "int_cst_hasher"
     (!srcfileloc  "tree.c" 246)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 246)
    nil )
  )
 )
 
 (!type already_seen 1268)
 
 (!type user_struct 1269 
  (!type pointer 1270 nil  gc_used
   (!type already_seen 1269)
  )
  gc_pointed_to "hash_table<type_cache_hasher>"
  (!srcfileloc  "tree.c" 235)
  (!fields 1 
   (!pair  "type_cache_hasher"
    (!type struct 1271 nil  gc_used "type_cache_hasher"
     (!srcfileloc  "tree.c" 235)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 235)
    nil )
  )
 )
 
 (!type already_seen 1271)
 
 (!type struct 1272 nil  gc_pointed_to "type_hash"
  (!srcfileloc  "tree.c" 205)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree.c" 203)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "tree.c" 204)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1273 
  (!type pointer 1274 nil  gc_used
   (!type already_seen 1273)
  )
  gc_pointed_to "string_pool_data"
  (!srcfileloc  "stringpool.c" 266)
  (!fields 3 
   (!pair  "entries"
    (!type already_seen 38)
    (!srcfileloc  "stringpool.c" 263)
    (!options 
     (!option nested_ptr nested 
      (!type already_seen 7)
      "%h ? HT_IDENT_TO_GCC_IDENT (%h) : NULL" "%h ? GCC_IDENT_TO_HT_IDENT (%h) : NULL")
     (!option length string  "%h.nslots")
    )
   )
   (!pair  "nslots"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 264)
    nil )
   (!pair  "nelements"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 265)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1275 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1276 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1277 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1278 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1279 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1280 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1281 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1282 
  (!type pointer 1283 nil  gc_unused
   (!type already_seen 1282)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1284 
  (!type pointer 1285 nil  gc_unused
   (!type already_seen 1284)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1286 nil  gc_unused "anonymous:../../gcc/mcf.c:355"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1287 nil  gc_unused "augmenting_path_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1288 nil  gc_unused "queue_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1289 nil  gc_unused "fixup_graph_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1290 
  (!type pointer 1291 nil  gc_unused
   (!type already_seen 1290)
  )
  gc_unused "fixup_vertex_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1292 
  (!type pointer 1293 nil  gc_unused
   (!type already_seen 1292)
  )
  gc_unused "fixup_edge_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1294 nil  gc_unused "edge_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1295 nil  gc_unused "bb_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1296 nil  gc_unused "atomic_op_functions"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1297 
  (!type pointer 1298 nil  gc_used
   (!type already_seen 1297)
  )
  gc_pointed_to "hash_table<libfunc_decl_hasher>"
  (!srcfileloc  "optabs.c" 6109)
  (!fields 1 
   (!pair  "libfunc_decl_hasher"
    (!type struct 1299 nil  gc_used "libfunc_decl_hasher"
     (!srcfileloc  "optabs.c" 6109)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "optabs.c" 6109)
    nil )
  )
 )
 
 (!type already_seen 1299)
 
 (!type struct 1300 nil  gc_unused "no_conflict_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1301 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1302 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1303 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1304 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1305 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1306 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1307 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1308 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1309 nil  gc_unused "modify_pair"
  (!srcfileloc  "gcse.c" 653)
 )
 
 (!type user_struct 1310 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 653)
  (!fields 1 
   (!pair  "modify_pair"
    (!type already_seen 1309)
    (!srcfileloc  "gcse.c" 653)
    nil )
  )
 )
 
 (!type user_struct 1311 nil  gc_unused "vec<rtx_insn*>"
  (!srcfileloc  "gcse.c" 652)
  (!fields 1 
   (!pair  "rtx_insn"
    (!type already_seen 323)
    (!srcfileloc  "gcse.c" 652)
    nil )
  )
 )
 
 (!type struct 1312 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1313 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1314 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1315 nil  gc_unused "gcse_hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1316 
  (!type pointer 1317 nil  gc_unused
   (!type already_seen 1316)
  )
  gc_unused "gcse_occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1318 nil  gc_unused "gcse_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 605)
 
 (!type struct 1319 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1320 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1321 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 803)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type struct 1322 nil  gc_unused "ehspec_hasher"
     (!srcfileloc  "except.c" 803)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 803)
    nil )
  )
 )
 
 (!type already_seen 1322)
 
 (!type user_struct 1323 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 766)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type struct 1324 nil  gc_unused "ttypes_filter_hasher"
     (!srcfileloc  "except.c" 766)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 766)
    nil )
  )
 )
 
 (!type already_seen 1324)
 
 (!type struct 1325 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1326 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1327 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 248)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type struct 1328 nil  gc_unused "action_record_hasher"
     (!srcfileloc  "except.c" 248)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 248)
    nil )
  )
 )
 
 (!type already_seen 1328)
 
 (!type struct 1329 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1330 
  (!type pointer 1331 nil  gc_used
   (!type already_seen 1330)
  )
  gc_pointed_to "hash_map<tree,tree,tree_hash_traits>"
  (!srcfileloc  "except.c" 190)
  (!fields 3 
   (!pair  "tree_hash_traits"
    (!type struct 1332 nil  gc_used "tree_hash_traits"
     (!srcfileloc  "except.c" 190)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 190)
    nil )
   (!pair  "tree"
    (!type already_seen 5)
    (!srcfileloc  "except.c" 190)
    nil )
   (!pair  "tree"
    (!type already_seen 5)
    (!srcfileloc  "except.c" 190)
    nil )
  )
 )
 
 (!type already_seen 1332)
 
 (!type struct 1333 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1334 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1335 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1336 nil  gc_unused "bounds_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1337 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1338 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1339 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1340 
  (!type pointer 1341 nil  gc_unused
   (!type already_seen 1340)
  )
  gc_used "initial_value_pair"
  (!srcfileloc  "function.c" 1246)
  (!fields 2 
   (!pair  "hard_reg"
    (!type already_seen 135)
    (!srcfileloc  "function.c" 1244)
    nil )
   (!pair  "pseudo"
    (!type already_seen 135)
    (!srcfileloc  "function.c" 1245)
    nil )
  )
  nil 1023 nil nil )
 
 (!type user_struct 1342 
  (!type pointer 1343 nil  gc_used
   (!type already_seen 1342)
  )
  gc_pointed_to "hash_table<temp_address_hasher>"
  (!srcfileloc  "function.c" 596)
  (!fields 1 
   (!pair  "temp_address_hasher"
    (!type struct 1344 nil  gc_used "temp_address_hasher"
     (!srcfileloc  "function.c" 596)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.c" 596)
    nil )
  )
 )
 
 (!type already_seen 1344)
 
 (!type struct 1345 nil  gc_pointed_to "temp_slot_address_entry"
  (!srcfileloc  "function.c" 586)
  (!fields 3 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "function.c" 583)
    nil )
   (!pair  "address"
    (!type already_seen 135)
    (!srcfileloc  "function.c" 584)
    nil )
   (!pair  "temp_slot"
    (!type pointer 1346 nil  gc_used
     (!type struct 1347 
      (!type already_seen 1346)
      gc_pointed_to "temp_slot"
      (!srcfileloc  "function.c" 579)
      (!fields 10 
       (!pair  "next"
        (!type already_seen 1346)
        (!srcfileloc  "function.c" 555)
        nil )
       (!pair  "prev"
        (!type already_seen 1346)
        (!srcfileloc  "function.c" 557)
        nil )
       (!pair  "slot"
        (!type already_seen 135)
        (!srcfileloc  "function.c" 559)
        nil )
       (!pair  "size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 561)
        nil )
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "function.c" 566)
        nil )
       (!pair  "align"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 568)
        nil )
       (!pair  "in_use"
        (!type already_seen 15)
        (!srcfileloc  "function.c" 570)
        nil )
       (!pair  "level"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 572)
        nil )
       (!pair  "base_offset"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 575)
        nil )
       (!pair  "full_size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 578)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "function.c" 585)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type user_struct 1348 
  (!type pointer 1349 nil  gc_used
   (!type already_seen 1348)
  )
  gc_pointed_to "hash_table<insn_cache_hasher>"
  (!srcfileloc  "function.c" 143)
  (!fields 1 
   (!pair  "insn_cache_hasher"
    (!type struct 1350 nil  gc_used "insn_cache_hasher"
     (!srcfileloc  "function.c" 143)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.c" 143)
    nil )
  )
 )
 
 (!type already_seen 1350)
 
 (!type struct 1351 
  (!type pointer 1352 nil  gc_unused
   (!type already_seen 1351)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1353 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 nil  gc_unused "throw_stmt_node"
  (!srcfileloc  "except.h" 291)
  (!fields 2 
   (!pair  "stmt"
    (!type already_seen 311)
    (!srcfileloc  "except.h" 289)
    nil )
   (!pair  "lp_nr"
    (!type already_seen 9)
    (!srcfileloc  "except.h" 290)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 405)
 
 (!type already_seen 403)
 
 (!type already_seen 401)
 
 (!type already_seen 399)
 
 (!type already_seen 388)
 
 (!type already_seen 393)
 
 (!type already_seen 392)
 
 (!type already_seen 389)
 
 (!type already_seen 391)
 
 (!type already_seen 395)
 
 (!type already_seen 387)
 
 (!type user_struct 1356 
  (!type pointer 1357 nil  gc_used
   (!type already_seen 1356)
  )
  gc_pointed_to "hash_table<const_fixed_hasher>"
  (!srcfileloc  "emit-rtl.c" 192)
  (!fields 1 
   (!pair  "const_fixed_hasher"
    (!type struct 1358 nil  gc_used "const_fixed_hasher"
     (!srcfileloc  "emit-rtl.c" 192)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 192)
    nil )
  )
 )
 
 (!type already_seen 1358)
 
 (!type user_struct 1359 
  (!type pointer 1360 nil  gc_used
   (!type already_seen 1359)
  )
  gc_pointed_to "hash_table<const_double_hasher>"
  (!srcfileloc  "emit-rtl.c" 183)
  (!fields 1 
   (!pair  "const_double_hasher"
    (!type struct 1361 nil  gc_used "const_double_hasher"
     (!srcfileloc  "emit-rtl.c" 183)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 183)
    nil )
  )
 )
 
 (!type already_seen 1361)
 
 (!type user_struct 1362 
  (!type pointer 1363 nil  gc_used
   (!type already_seen 1362)
  )
  gc_pointed_to "hash_table<reg_attr_hasher>"
  (!srcfileloc  "emit-rtl.c" 174)
  (!fields 1 
   (!pair  "reg_attr_hasher"
    (!type struct 1364 nil  gc_used "reg_attr_hasher"
     (!srcfileloc  "emit-rtl.c" 174)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 174)
    nil )
  )
 )
 
 (!type already_seen 1364)
 
 (!type user_struct 1365 
  (!type pointer 1366 nil  gc_used
   (!type already_seen 1365)
  )
  gc_pointed_to "hash_table<const_wide_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 165)
  (!fields 1 
   (!pair  "const_wide_int_hasher"
    (!type struct 1367 nil  gc_used "const_wide_int_hasher"
     (!srcfileloc  "emit-rtl.c" 165)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 165)
    nil )
  )
 )
 
 (!type already_seen 1367)
 
 (!type user_struct 1368 
  (!type pointer 1369 nil  gc_used
   (!type already_seen 1368)
  )
  gc_pointed_to "hash_table<const_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 157)
  (!fields 1 
   (!pair  "const_int_hasher"
    (!type struct 1370 nil  gc_used "const_int_hasher"
     (!srcfileloc  "emit-rtl.c" 157)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 157)
    nil )
  )
 )
 
 (!type already_seen 1370)
 
 (!type struct 1371 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1372 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1373 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 24509)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type struct 1374 nil  gc_unused "loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 24509)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 24509)
    nil )
  )
 )
 
 (!type already_seen 1374)
 
 (!type struct 1375 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1376 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 22299)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type struct 1377 nil  gc_unused "macinfo_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 22299)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 22299)
    nil )
  )
 )
 
 (!type already_seen 1377)
 
 (!type struct 1378 nil  gc_unused "qual_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1379 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1380 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1381 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1382 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 7785)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type struct 1383 nil  gc_unused "external_ref_hasher"
     (!srcfileloc  "dwarf2out.c" 7785)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 7785)
    nil )
  )
 )
 
 (!type already_seen 1383)
 
 (!type struct 1384 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1385 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 7229)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type struct 1386 nil  gc_unused "decl_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 7229)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 7229)
    nil )
  )
 )
 
 (!type already_seen 1386)
 
 (!type struct 1387 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1388 nil  gc_unused "hash_table<cu_hash_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 6906)
  (!fields 1 
   (!pair  "cu_hash_table_entry_hasher"
    (!type struct 1389 nil  gc_unused "cu_hash_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 6906)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 6906)
    nil )
  )
 )
 
 (!type already_seen 1389)
 
 (!type struct 1390 nil  gc_unused "cu_hash_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1391 
  (!type pointer 1392 nil  gc_used
   (!type already_seen 1391)
  )
  gc_pointed_to "hash_table<addr_hasher>"
  (!srcfileloc  "dwarf2out.c" 4266)
  (!fields 1 
   (!pair  "addr_hasher"
    (!type struct 1393 nil  gc_used "addr_hasher"
     (!srcfileloc  "dwarf2out.c" 4266)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 4266)
    nil )
  )
 )
 
 (!type already_seen 1393)
 
 (!type struct 1394 nil  gc_unused "loc_descr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1395 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1396 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1397 
  (!type pointer 1398 nil  gc_used
   (!type already_seen 1397)
  )
  gc_pointed_to "vec<die_arg_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3035)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 3035)
    nil )
   (!pair  "die_arg_entry"
    (!type struct 1399 nil  gc_used "die_arg_entry_struct"
     (!srcfileloc  "dwarf2out.c" 2844)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 468)
       (!srcfileloc  "dwarf2out.c" 2842)
       nil )
      (!pair  "arg"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 2843)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 3035)
    nil )
  )
 )
 
 (!type user_struct 1400 
  (!type pointer 1401 nil  gc_used
   (!type already_seen 1400)
  )
  gc_pointed_to "vec<macinfo_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2986)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2986)
    nil )
   (!pair  "macinfo_entry"
    (!type struct 1402 nil  gc_used "macinfo_struct"
     (!srcfileloc  "dwarf2out.c" 2677)
     (!fields 3 
      (!pair  "code"
       (!type already_seen 15)
       (!srcfileloc  "dwarf2out.c" 2674)
       nil )
      (!pair  "lineno"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.c" 2675)
       nil )
      (!pair  "info"
       (!type already_seen 39)
       (!srcfileloc  "dwarf2out.c" 2676)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2986)
    nil )
  )
 )
 
 (!type user_struct 1403 
  (!type pointer 1404 nil  gc_used
   (!type already_seen 1403)
  )
  gc_pointed_to "vec<pubname_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2978)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2978)
    nil )
   (!pair  "pubname_entry"
    (!type struct 1405 
     (!type pointer 1406 nil  gc_unused
      (!type already_seen 1405)
     )
     gc_used "pubname_struct"
     (!srcfileloc  "dwarf2out.c" 2661)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 468)
       (!srcfileloc  "dwarf2out.c" 2659)
       nil )
      (!pair  "name"
       (!type already_seen 39)
       (!srcfileloc  "dwarf2out.c" 2660)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2978)
    nil )
  )
 )
 
 (!type user_struct 1407 
  (!type pointer 1408 nil  gc_used
   (!type already_seen 1407)
  )
  gc_pointed_to "vec<dw_line_info_table_p,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2970)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2970)
    nil )
   (!pair  "dw_line_info_table_p"
    (!type pointer 1409 nil  gc_used
     (!type struct 1410 
      (!type already_seen 1409)
      gc_pointed_to "dw_line_info_table_struct"
      (!srcfileloc  "dwarf2out.c" 2603)
      (!fields 8 
       (!pair  "end_label"
        (!type already_seen 39)
        (!srcfileloc  "dwarf2out.c" 2591)
        nil )
       (!pair  "file_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2595)
        nil )
       (!pair  "line_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2596)
        nil )
       (!pair  "column_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2597)
        nil )
       (!pair  "discrim_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2598)
        nil )
       (!pair  "is_stmt"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2599)
        nil )
       (!pair  "in_use"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2600)
        nil )
       (!pair  "entries"
        (!type pointer 1411 nil  gc_used
         (!type user_struct 1412 
          (!type already_seen 1411)
          gc_pointed_to "vec<dw_line_info_entry,va_gc>"
          (!srcfileloc  "dwarf2out.c" 2602)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "dwarf2out.c" 2602)
            nil )
           (!pair  "dw_line_info_entry"
            (!type struct 1413 
             (!type pointer 1414 nil  gc_unused
              (!type already_seen 1413)
             )
             gc_used "dw_line_info_struct"
             (!srcfileloc  "dwarf2out.c" 2586)
             (!fields 2 
              (!pair  "opcode"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2584)
               nil )
              (!pair  "val"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2585)
               nil )
             )
             nil 1023 nil nil )
            (!srcfileloc  "dwarf2out.c" 2602)
            nil )
          )
         )
        )
        (!srcfileloc  "dwarf2out.c" 2602)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2970)
    nil )
  )
 )
 
 (!type user_struct 1415 
  (!type pointer 1416 nil  gc_used
   (!type already_seen 1415)
  )
  gc_pointed_to "hash_table<dw_loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 2939)
  (!fields 1 
   (!pair  "dw_loc_list_hasher"
    (!type struct 1417 nil  gc_used "dw_loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 2939)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2939)
    nil )
  )
 )
 
 (!type already_seen 1417)
 
 (!type struct 1418 nil  gc_pointed_to "cached_dw_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2926)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2922)
    nil )
   (!pair  "loc_list"
    (!type already_seen 460)
    (!srcfileloc  "dwarf2out.c" 2925)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type user_struct 1419 
  (!type pointer 1420 nil  gc_used
   (!type already_seen 1419)
  )
  gc_pointed_to "hash_table<decl_loc_hasher>"
  (!srcfileloc  "dwarf2out.c" 2904)
  (!fields 1 
   (!pair  "decl_loc_hasher"
    (!type struct 1421 nil  gc_used "decl_loc_hasher"
     (!srcfileloc  "dwarf2out.c" 2904)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2904)
    nil )
  )
 )
 
 (!type already_seen 1421)
 
 (!type struct 1422 
  (!type pointer 1423 nil  gc_used
   (!type already_seen 1422)
  )
  gc_pointed_to "call_arg_loc_node"
  (!srcfileloc  "dwarf2out.c" 2892)
  (!fields 6 
   (!pair  "call_arg_loc_note"
    (!type already_seen 135)
    (!srcfileloc  "dwarf2out.c" 2886)
    nil )
   (!pair  "label"
    (!type already_seen 39)
    (!srcfileloc  "dwarf2out.c" 2887)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2888)
    nil )
   (!pair  "tail_call_p"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2889)
    nil )
   (!pair  "symbol_ref"
    (!type already_seen 135)
    (!srcfileloc  "dwarf2out.c" 2890)
    nil )
   (!pair  "next"
    (!type already_seen 1423)
    (!srcfileloc  "dwarf2out.c" 2891)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1023 nil nil )
 
 (!type struct 1424 nil  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2881)
  (!fields 4 
   (!pair  "first"
    (!type pointer 1425 nil  gc_used
     (!type struct 1426 
      (!type already_seen 1425)
      gc_pointed_to "var_loc_node"
      (!srcfileloc  "dwarf2out.c" 2860)
      (!fields 3 
       (!pair  "loc"
        (!type already_seen 135)
        (!srcfileloc  "dwarf2out.c" 2857)
        nil )
       (!pair  "label"
        (!type already_seen 39)
        (!srcfileloc  "dwarf2out.c" 2858)
        nil )
       (!pair  "next"
        (!type already_seen 1425)
        (!srcfileloc  "dwarf2out.c" 2859)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      1023 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2864)
    nil )
   (!pair  "last"
    (!type already_seen 1425)
    (!srcfileloc  "dwarf2out.c" 2872)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1425)
    (!srcfileloc  "dwarf2out.c" 2877)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2880)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type already_seen 1426)
 
 (!type already_seen 1399)
 
 (!type user_struct 1427 
  (!type pointer 1428 nil  gc_used
   (!type already_seen 1427)
  )
  gc_pointed_to "hash_table<block_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 2839)
  (!fields 1 
   (!pair  "block_die_hasher"
    (!type struct 1429 nil  gc_used "block_die_hasher"
     (!srcfileloc  "dwarf2out.c" 2839)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2839)
    nil )
  )
 )
 
 (!type already_seen 1429)
 
 (!type user_struct 1430 
  (!type pointer 1431 nil  gc_used
   (!type already_seen 1430)
  )
  gc_pointed_to "hash_table<decl_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 2829)
  (!fields 1 
   (!pair  "decl_die_hasher"
    (!type struct 1432 nil  gc_used "decl_die_hasher"
     (!srcfileloc  "dwarf2out.c" 2829)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2829)
    nil )
  )
 )
 
 (!type already_seen 1432)
 
 (!type user_struct 1433 
  (!type pointer 1434 nil  gc_used
   (!type already_seen 1433)
  )
  gc_pointed_to "hash_table<dwarf_file_hasher>"
  (!srcfileloc  "dwarf2out.c" 2818)
  (!fields 1 
   (!pair  "dwarf_file_hasher"
    (!type struct 1435 nil  gc_used "dwarf_file_hasher"
     (!srcfileloc  "dwarf2out.c" 2818)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2818)
    nil )
  )
 )
 
 (!type already_seen 1435)
 
 (!type struct 1436 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1437 
  (!type pointer 1438 nil  gc_used
   (!type already_seen 1437)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 2702)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 468)
    (!srcfileloc  "dwarf2out.c" 2699)
    nil )
   (!pair  "created_for"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2700)
    nil )
   (!pair  "next"
    (!type already_seen 1438)
    (!srcfileloc  "dwarf2out.c" 2701)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 1402)
 
 (!type already_seen 476)
 
 (!type already_seen 471)
 
 (!type already_seen 1410)
 
 (!type already_seen 1412)
 
 (!type already_seen 473)
 
 (!type struct 1439 
  (!type pointer 1440 nil  gc_used
   (!type already_seen 1439)
  )
  gc_pointed_to "dw_ranges_by_label_struct"
  (!srcfileloc  "dwarf2out.c" 2684)
  (!fields 2 
   (!pair  "begin"
    (!type already_seen 39)
    (!srcfileloc  "dwarf2out.c" 2682)
    nil )
   (!pair  "end"
    (!type already_seen 39)
    (!srcfileloc  "dwarf2out.c" 2683)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1441 
  (!type pointer 1442 nil  gc_used
   (!type already_seen 1441)
  )
  gc_pointed_to "dw_ranges_struct"
  (!srcfileloc  "dwarf2out.c" 2669)
  (!fields 1 
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2668)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 1405)
 
 (!type already_seen 1413)
 
 (!type already_seen 477)
 
 (!type already_seen 458)
 
 (!type user_struct 1443 
  (!type pointer 1444 nil  gc_used
   (!type already_seen 1443)
  )
  gc_pointed_to "vec<deferred_locations,va_gc>"
  (!srcfileloc  "dwarf2out.c" 1280)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 1280)
    nil )
   (!pair  "deferred_locations"
    (!type struct 1445 nil  gc_used "deferred_locations_struct"
     (!srcfileloc  "dwarf2out.c" 1277)
     (!fields 2 
      (!pair  "variable"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 1275)
       nil )
      (!pair  "die"
       (!type already_seen 468)
       (!srcfileloc  "dwarf2out.c" 1276)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 1280)
    nil )
  )
 )
 
 (!type already_seen 1445)
 
 (!type user_struct 1446 
  (!type pointer 1447 nil  gc_used
   (!type already_seen 1446)
  )
  gc_pointed_to "hash_table<indirect_string_hasher>"
  (!srcfileloc  "dwarf2out.c" 245)
  (!fields 1 
   (!pair  "indirect_string_hasher"
    (!type struct 1448 nil  gc_used "indirect_string_hasher"
     (!srcfileloc  "dwarf2out.c" 245)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 245)
    nil )
  )
 )
 
 (!type already_seen 1448)
 
 (!type user_struct 1449 
  (!type pointer 1450 nil  gc_used
   (!type already_seen 1449)
  )
  gc_pointed_to "vec<dw_fde_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 227)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 227)
    nil )
   (!pair  "dw_fde_ref"
    (!type already_seen 445)
    (!srcfileloc  "dwarf2out.c" 227)
    nil )
  )
 )
 
 (!type struct 1451 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1452 nil  gc_unused "anonymous:../../gcc/dwarf2cfi.c:282"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1453 nil  gc_unused "anonymous:../../gcc/dwarf2cfi.c:240"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1454 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1455 
  (!type pointer 1456 nil  gc_unused
   (!type already_seen 1455)
  )
  gc_unused "anonymous:../../gcc/dwarf2cfi.c:123"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1457 
  (!type pointer 1458 nil  gc_used
   (!type already_seen 1457)
  )
  gc_pointed_to "reg_saved_in_data_struct"
  (!srcfileloc  "dwarf2cfi.c" 102)
  (!fields 2 
   (!pair  "orig_reg"
    (!type already_seen 135)
    (!srcfileloc  "dwarf2cfi.c" 100)
    nil )
   (!pair  "saved_in_reg"
    (!type already_seen 135)
    (!srcfileloc  "dwarf2cfi.c" 101)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1459 
  (!type pointer 1460 nil  gc_used
   (!type already_seen 1459)
  )
  gc_pointed_to "dw_cfi_row_struct"
  (!srcfileloc  "dwarf2cfi.c" 96)
  (!fields 3 
   (!pair  "cfa"
    (!type struct 1461 nil  gc_used "dw_cfa_location"
     (!srcfileloc  "dwarf2cfi.c" 91)
     (!fields 5 
      (!pair  "offset"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 117)
       nil )
      (!pair  "base_offset"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 118)
       nil )
      (!pair  "reg"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 120)
       nil )
      (!pair  "indirect"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 121)
       nil )
      (!pair  "in_use"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 122)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2cfi.c" 91)
    nil )
   (!pair  "cfa_cfi"
    (!type already_seen 449)
    (!srcfileloc  "dwarf2cfi.c" 92)
    nil )
   (!pair  "reg_save"
    (!type already_seen 447)
    (!srcfileloc  "dwarf2cfi.c" 95)
    nil )
  )
  nil 1023 nil nil )
 
 (!type user_struct 1462 
  (!type pointer 1463 nil  gc_used
   (!type already_seen 1462)
  )
  gc_pointed_to "hash_map<char*,tree>"
  (!srcfileloc  "dwarf2asm.c" 799)
  (!fields 1 
   (!pair  "tree"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2asm.c" 799)
    nil )
  )
 )
 
 (!type struct 1464 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 459)
 
 (!type already_seen 484)
 
 (!type already_seen 482)
 
 (!type already_seen 480)
 
 (!type already_seen 467)
 
 (!type already_seen 457)
 
 (!type already_seen 466)
 
 (!type already_seen 1461)
 
 (!type already_seen 448)
 
 (!type already_seen 451)
 
 (!type already_seen 461)
 
 (!type already_seen 453)
 
 (!type already_seen 450)
 
 (!type already_seen 454)
 
 (!type struct 1465 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1466 
  (!type pointer 1467 nil  gc_used
   (!type already_seen 1466)
  )
  gc_pointed_to "typeinfo"
  (!srcfileloc  "dbxout.c" 199)
  (!fields 3 
   (!pair  "status"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 196)
    nil )
   (!pair  "file_number"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 197)
    nil )
   (!pair  "type_number"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 198)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 958)
 
 (!type struct 1468 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1469 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 996)
 
 (!type already_seen 1091)
 
 (!type struct 1470 nil  gc_unused "ipa_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1471 nil  gc_unused "value_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1472 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "ipcp_param_lattices"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1475 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1476 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1477 nil  gc_unused "ipcp_value_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1478 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1479 nil  gc_unused "ipcp_modif_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1480 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1481 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1482 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1084)
 
 (!type already_seen 1109)
 
 (!type struct 1483 nil  gc_unused "inline_edge_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1484 nil  gc_unused "ipa_func_body_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1485 nil  gc_unused "analysis_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1087)
 
 (!type struct 1486 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1487 nil  gc_unused "ipa_param_aa_status"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "ipa_bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1489 nil  gc_unused "prop_type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1095)
 
 (!type already_seen 1090)
 
 (!type struct 1490 nil  gc_unused "ipa_node_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1100)
 
 (!type user_struct 1491 
  (!type pointer 1492 nil  gc_used
   (!type already_seen 1491)
  )
  gc_pointed_to "hash_table<function_version_hasher>"
  (!srcfileloc  "cgraph.c" 153)
  (!fields 1 
   (!pair  "function_version_hasher"
    (!type struct 1493 nil  gc_used "function_version_hasher"
     (!srcfileloc  "cgraph.c" 153)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.c" 153)
    nil )
  )
 )
 
 (!type already_seen 1493)
 
 (!type struct 1494 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1495 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1496 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1497 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1498 nil  gc_unused "bitmap_output_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1499 nil  gc_unused "bitmap_desc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1500 nil  gc_unused "loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1501 
  (!type pointer 1502 nil  gc_unused
   (!type already_seen 1501)
  )
  gc_unused "bitmap_descriptor_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1503 
  (!type pointer 1504 nil  gc_used
   (!type already_seen 1503)
  )
  gc_pointed_to "vec<alias_set_entry,va_gc>"
  (!srcfileloc  "alias.c" 315)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "alias.c" 315)
    nil )
   (!pair  "alias_set_entry"
    (!type pointer 1505 nil  gc_used
     (!type struct 1506 
      (!type already_seen 1505)
      gc_pointed_to "alias_set_entry_d"
      (!srcfileloc  "alias.c" 198)
      (!fields 3 
       (!pair  "alias_set"
        (!type already_seen 9)
        (!srcfileloc  "alias.c" 184)
        nil )
       (!pair  "has_zero_child"
        (!type already_seen 9)
        (!srcfileloc  "alias.c" 188)
        nil )
       (!pair  "children"
        (!type pointer 1507 nil  gc_used
         (!type user_struct 1508 
          (!type already_seen 1507)
          gc_pointed_to "hash_map<int,int,alias_set_traits>"
          (!srcfileloc  "alias.c" 197)
          (!fields 3 
           (!pair  "alias_set_traits"
            (!type struct 1509 nil  gc_used "alias_set_traits"
             (!srcfileloc  "alias.c" 197)
             (!fields 0 )
             nil 1023 nil nil )
            (!srcfileloc  "alias.c" 197)
            nil )
           (!pair  "int"
            (!type already_seen 404)
            (!srcfileloc  "alias.c" 197)
            nil )
           (!pair  "int"
            (!type already_seen 404)
            (!srcfileloc  "alias.c" 197)
            nil )
          )
         )
        )
        (!srcfileloc  "alias.c" 197)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "alias.c" 315)
    nil )
  )
 )
 
 (!type already_seen 1506)
 
 (!type already_seen 404)
 
 (!type already_seen 1508)
 
 (!type already_seen 1509)
 
 (!type struct 1510 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1511 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1512 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 587)
 
 (!type struct 1513 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1246)
 
 (!type struct 1514 nil  gc_pointed_to "constant_descriptor_tree"
  (!srcfileloc  "cgraph.h" 2739)
  (!fields 3 
   (!pair  "rtl"
    (!type already_seen 135)
    (!srcfileloc  "cgraph.h" 2730)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 2733)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2738)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type undefined 1515 
  (!type pointer 1516 nil  gc_unused
   (!type already_seen 1515)
  )
  gc_unused "FILE"
  (!srcfileloc  "cgraph.h" 2129)
 )
 
 (!type user_struct 1517 
  (!type pointer 1518 nil  gc_used
   (!type already_seen 1517)
  )
  gc_pointed_to "hash_map<symtab_node*,symbol_priority_map>"
  (!srcfileloc  "cgraph.h" 2127)
  (!fields 2 
   (!pair  "symbol_priority_map"
    (!type struct 1519 
     (!type pointer 1520 nil  gc_unused
      (!type already_seen 1519)
     )
     gc_used "symbol_priority_map"
     (!srcfileloc  "cgraph.h" 2127)
     (!fields 2 
      (!pair  "init"
       (!type already_seen 9)
       (!srcfileloc  "cgraph.h" 1846)
       nil )
      (!pair  "fini"
       (!type already_seen 9)
       (!srcfileloc  "cgraph.h" 1847)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.h" 2127)
    nil )
   (!pair  "symtab_node"
    (!type already_seen 344)
    (!srcfileloc  "cgraph.h" 2127)
    nil )
  )
 )
 
 (!type user_struct 1521 
  (!type pointer 1522 nil  gc_used
   (!type already_seen 1521)
  )
  gc_pointed_to "hash_table<asmname_hasher>"
  (!srcfileloc  "cgraph.h" 2124)
  (!fields 1 
   (!pair  "asmname_hasher"
    (!type struct 1523 nil  gc_used "asmname_hasher"
     (!srcfileloc  "cgraph.h" 2124)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.h" 2124)
    nil )
  )
 )
 
 (!type user_struct 1524 
  (!type pointer 1525 nil  gc_used
   (!type already_seen 1524)
  )
  gc_pointed_to "hash_table<section_name_hasher>"
  (!srcfileloc  "cgraph.h" 2121)
  (!fields 1 
   (!pair  "section_name_hasher"
    (!type struct 1526 nil  gc_used "section_name_hasher"
     (!srcfileloc  "cgraph.h" 2121)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.h" 2121)
    nil )
  )
 )
 
 (!type struct 1527 
  (!type pointer 1528 nil  gc_used
   (!type already_seen 1527)
  )
  gc_pointed_to "symbol_table"
  (!srcfileloc  "cgraph.h" 2173)
  (!fields 26 
   (!pair  "cgraph_count"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2090)
    nil )
   (!pair  "cgraph_max_uid"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2091)
    nil )
   (!pair  "cgraph_max_summary_uid"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2092)
    nil )
   (!pair  "edges_count"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2094)
    nil )
   (!pair  "edges_max_uid"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2095)
    nil )
   (!pair  "nodes"
    (!type already_seen 344)
    (!srcfileloc  "cgraph.h" 2097)
    nil )
   (!pair  "asmnodes"
    (!type pointer 1529 nil  gc_used
     (!type struct 1530 
      (!type already_seen 1529)
      gc_pointed_to "asm_node"
      (!srcfileloc  "cgraph.h" 1804)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1529)
        (!srcfileloc  "cgraph.h" 1799)
        nil )
       (!pair  "asm_str"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 1801)
        nil )
       (!pair  "order"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1803)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2098)
    nil )
   (!pair  "asm_last_node"
    (!type already_seen 1529)
    (!srcfileloc  "cgraph.h" 2099)
    nil )
   (!pair  "free_nodes"
    (!type already_seen 1027)
    (!srcfileloc  "cgraph.h" 2100)
    nil )
   (!pair  "free_edges"
    (!type already_seen 1030)
    (!srcfileloc  "cgraph.h" 2104)
    nil )
   (!pair  "order"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2109)
    nil )
   (!pair  "global_info_ready"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2112)
    nil )
   (!pair  "state"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2114)
    nil )
   (!pair  "function_flags_ready"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2116)
    nil )
   (!pair  "cpp_implicit_aliases_done"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2118)
    nil )
   (!pair  "section_hash"
    (!type already_seen 1525)
    (!srcfileloc  "cgraph.h" 2121)
    nil )
   (!pair  "assembler_name_hash"
    (!type already_seen 1522)
    (!srcfileloc  "cgraph.h" 2124)
    nil )
   (!pair  "init_priority_hash"
    (!type already_seen 1518)
    (!srcfileloc  "cgraph.h" 2127)
    nil )
   (!pair  "dump_file"
    (!type already_seen 1516)
    (!srcfileloc  "cgraph.h" 2129)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_removal_hook"
    (!type pointer 1531 nil  gc_unused
     (!type struct 1532 
      (!type already_seen 1531)
      gc_unused "cgraph_edge_hook_list"
      (!srcfileloc  "cgraph.h" 2013)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2160)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_removal_hook"
    (!type pointer 1533 nil  gc_unused
     (!type struct 1534 
      (!type already_seen 1533)
      gc_unused "cgraph_node_hook_list"
      (!srcfileloc  "cgraph.h" 2020)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2162)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_duplicated_hook"
    (!type pointer 1535 nil  gc_unused
     (!type struct 1536 
      (!type already_seen 1535)
      gc_unused "cgraph_2edge_hook_list"
      (!srcfileloc  "cgraph.h" 2048)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2164)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_duplicated_hook"
    (!type pointer 1537 nil  gc_unused
     (!type struct 1538 
      (!type already_seen 1537)
      gc_unused "cgraph_2node_hook_list"
      (!srcfileloc  "cgraph.h" 2054)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2166)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_insertion_hook"
    (!type already_seen 1533)
    (!srcfileloc  "cgraph.h" 2168)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_insertion_hook"
    (!type pointer 1539 nil  gc_unused
     (!type struct 1540 
      (!type already_seen 1539)
      gc_unused "varpool_node_hook_list"
      (!srcfileloc  "cgraph.h" 2027)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2170)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_removal_hook"
    (!type already_seen 1539)
    (!srcfileloc  "cgraph.h" 2172)
    (!options 
     (!option skip string  "")
    )
   )
  )
  (!options 
   (!option tag string  "SYMTAB")
  )
  1023 nil nil )
 
 (!type already_seen 1523)
 
 (!type already_seen 1538)
 
 (!type already_seen 1536)
 
 (!type already_seen 1540)
 
 (!type already_seen 1534)
 
 (!type already_seen 1532)
 
 (!type already_seen 1530)
 
 (!type undefined 1541 nil  gc_unused "availability"
  (!srcfileloc  "cgraph.h" 1679)
 )
 
 (!type already_seen 1039)
 
 (!type already_seen 1040)
 
 (!type struct 1542 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1543 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1544 
  (!type pointer 1545 nil  gc_unused
   (!type already_seen 1544)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1546 
  (!type pointer 1547 nil  gc_unused
   (!type already_seen 1546)
  )
  gc_unused "cgraph_node_set_def"
  (!srcfileloc  "cgraph.h" 1340)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type already_seen 1048)
 
 (!type already_seen 1042)
 
 (!type user_struct 1548 nil  gc_unused "vec<cgraph_edge*>"
  (!srcfileloc  "cgraph.h" 1032)
  (!fields 1 
   (!pair  "cgraph_edge"
    (!type already_seen 1030)
    (!srcfileloc  "cgraph.h" 1032)
    nil )
  )
 )
 
 (!type already_seen 1043)
 
 (!type already_seen 1031)
 
 (!type struct 1549 
  (!type pointer 1550 nil  gc_used
   (!type already_seen 1549)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 768)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 1027)
    (!srcfileloc  "cgraph.h" 749)
    nil )
   (!pair  "prev"
    (!type already_seen 1550)
    (!srcfileloc  "cgraph.h" 753)
    nil )
   (!pair  "next"
    (!type already_seen 1550)
    (!srcfileloc  "cgraph.h" 757)
    nil )
   (!pair  "dispatcher_resolver"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 767)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type already_seen 1045)
 
 (!type already_seen 1047)
 
 (!type already_seen 1054)
 
 (!type already_seen 1056)
 
 (!type already_seen 1058)
 
 (!type already_seen 1053)
 
 (!type already_seen 1052)
 
 (!type already_seen 1051)
 
 (!type already_seen 1059)
 
 (!type already_seen 1519)
 
 (!type already_seen 355)
 
 (!type already_seen 1526)
 
 (!type already_seen 373)
 
 (!type already_seen 352)
 
 (!type already_seen 349)
 
 (!type already_seen 350)
 
 (!type already_seen 346)
 
 (!type struct 1551 nil  gc_pointed_to "varpool_node"
  (!srcfileloc  "cgraph.h" 1791)
  (!fields 6 
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1668)
    nil )
   (!pair  "output"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1765)
    nil )
   (!pair  "need_bounds_init"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1769)
    nil )
   (!pair  "dynamically_initialized"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1773)
    nil )
   (!pair  "tls_model"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1775)
    nil )
   (!pair  "used_by_single_function"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1781)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_VARIABLE")
  )
  1023 nil 
  (!type already_seen 345)
 )
 
 (!type already_seen 1029)
 
 (!type struct 1552 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 320)
 
 (!type already_seen 322)
 
 (!type already_seen 319)
 
 (!type already_seen 301)
 
 (!type already_seen 321)
 
 (!type already_seen 326)
 
 (!type struct 1553 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1554 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1555 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 411)
 
 (!type already_seen 597)
 
 (!type struct 1556 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1557 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1558 nil  gc_unused "eni_weights_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 436)
 
 (!type already_seen 316)
 
 (!type already_seen 308)
 
 (!type already_seen 305)
 
 (!type already_seen 437)
 
 (!type already_seen 314)
 
 (!type already_seen 310)
 
 (!type already_seen 306)
 
 (!type already_seen 250)
 
 (!type already_seen 249)
 
 (!type already_seen 248)
 
 (!type already_seen 247)
 
 (!type struct 1559 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1560 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1561 
  (!type pointer 1562 nil  gc_used
   (!type already_seen 1561)
  )
  gc_pointed_to "hash_table<used_type_hasher>"
  (!srcfileloc  "function.h" 717)
  (!fields 1 
   (!pair  "used_type_hasher"
    (!type struct 1563 nil  gc_used "used_type_hasher"
     (!srcfileloc  "function.h" 717)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 717)
    nil )
  )
 )
 
 (!type already_seen 1563)
 
 (!type struct 1564 nil  gc_pointed_to "types_used_by_vars_entry"
  (!srcfileloc  "function.h" 704)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 702)
    nil )
   (!pair  "var_decl"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 703)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type already_seen 444)
 
 (!type already_seen 77)
 
 (!type already_seen 441)
 
 (!type already_seen 434)
 
 (!type already_seen 409)
 
 (!type already_seen 385)
 
 (!type already_seen 439)
 
 (!type struct 1565 nil  gc_used "rtl_data"
  (!srcfileloc  "function.h" 460)
  (!fields 58 
   (!pair  "expr"
    (!type struct 1566 nil  gc_used "expr_status"
     (!srcfileloc  "function.h" 133)
     (!fields 6 
      (!pair  "x_pending_stack_adjust"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 98)
       nil )
      (!pair  "x_inhibit_defer_pop"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 115)
       nil )
      (!pair  "x_stack_pointer_delta"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 121)
       nil )
      (!pair  "x_saveregs_value"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 126)
       nil )
      (!pair  "x_apply_args_value"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 129)
       nil )
      (!pair  "x_forced_labels"
       (!type pointer 1567 nil  gc_used
        (!type struct 1568 
         (!type already_seen 1567)
         gc_pointed_to "rtx_insn_list"
         (!srcfileloc  "rtl.h" 446)
         (!fields 0 )
         nil 1023 nil 
         (!type already_seen 137)
        )
       )
       (!srcfileloc  "function.h" 132)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 231)
    nil )
   (!pair  "emit"
    (!type struct 1569 nil  gc_used "emit_status"
     (!srcfileloc  "function.h" 76)
     (!fields 9 
      (!pair  "x_reg_rtx_no"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 39)
       nil )
      (!pair  "x_first_label_num"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 42)
       nil )
      (!pair  "x_first_insn"
       (!type already_seen 323)
       (!srcfileloc  "function.h" 49)
       nil )
      (!pair  "x_last_insn"
       (!type already_seen 323)
       (!srcfileloc  "function.h" 50)
       nil )
      (!pair  "sequence_stack"
       (!type pointer 1570 nil  gc_used
        (!type struct 1571 
         (!type already_seen 1570)
         gc_pointed_to "sequence_stack"
         (!srcfileloc  "function.h" 34)
         (!fields 3 
          (!pair  "first"
           (!type already_seen 323)
           (!srcfileloc  "function.h" 31)
           nil )
          (!pair  "last"
           (!type already_seen 323)
           (!srcfileloc  "function.h" 32)
           nil )
          (!pair  "next"
           (!type already_seen 1570)
           (!srcfileloc  "function.h" 33)
           nil )
         )
         nil 1023 nil nil )
       )
       (!srcfileloc  "function.h" 56)
       nil )
      (!pair  "x_cur_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 60)
       nil )
      (!pair  "x_cur_debug_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 64)
       nil )
      (!pair  "regno_pointer_align_length"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 70)
       nil )
      (!pair  "regno_pointer_align"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 75)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 232)
    nil )
   (!pair  "varasm"
    (!type struct 1572 nil  gc_used "varasm_status"
     (!srcfileloc  "function.h" 175)
     (!fields 2 
      (!pair  "pool"
       (!type pointer 1573 nil  gc_used
        (!type struct 1574 
         (!type already_seen 1573)
         gc_pointed_to "rtx_constant_pool"
         (!srcfileloc  "varasm.c" 3559)
         (!fields 4 
          (!pair  "first"
           (!type already_seen 254)
           (!srcfileloc  "varasm.c" 3547)
           nil )
          (!pair  "last"
           (!type already_seen 254)
           (!srcfileloc  "varasm.c" 3548)
           nil )
          (!pair  "const_rtx_htab"
           (!type already_seen 1242)
           (!srcfileloc  "varasm.c" 3554)
           nil )
          (!pair  "offset"
           (!type already_seen 9)
           (!srcfileloc  "varasm.c" 3558)
           nil )
         )
         nil 1023 nil nil )
       )
       (!srcfileloc  "function.h" 170)
       nil )
      (!pair  "deferred_constants"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 174)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 233)
    nil )
   (!pair  "args"
    (!type struct 1575 nil  gc_used "incoming_args"
     (!srcfileloc  "function.h" 204)
     (!fields 6 
      (!pair  "pops_args"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 182)
       nil )
      (!pair  "size"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 187)
       nil )
      (!pair  "pretend_args_size"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 192)
       nil )
      (!pair  "arg_offset_rtx"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 196)
       nil )
      (!pair  "info"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 200)
       nil )
      (!pair  "internal_arg_pointer"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 203)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 234)
    nil )
   (!pair  "subsections"
    (!type struct 1576 nil  gc_used "function_subsections"
     (!srcfileloc  "function.h" 216)
     (!fields 4 
      (!pair  "hot_section_label"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 212)
       nil )
      (!pair  "cold_section_label"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 213)
       nil )
      (!pair  "hot_section_end_label"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 214)
       nil )
      (!pair  "cold_section_end_label"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 215)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 235)
    nil )
   (!pair  "eh"
    (!type struct 1577 nil  gc_used "rtl_eh"
     (!srcfileloc  "function.h" 149)
     (!fields 7 
      (!pair  "ehr_stackadj"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 139)
       nil )
      (!pair  "ehr_handler"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 140)
       nil )
      (!pair  "ehr_label"
       (!type already_seen 396)
       (!srcfileloc  "function.h" 141)
       nil )
      (!pair  "sjlj_fc"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 143)
       nil )
      (!pair  "sjlj_exit_after"
       (!type already_seen 323)
       (!srcfileloc  "function.h" 144)
       nil )
      (!pair  "action_record_data"
       (!type already_seen 406)
       (!srcfileloc  "function.h" 146)
       nil )
      (!pair  "call_site_record_v"
       (!type array 1578 nil  gc_used "2" 
        (!type pointer 1579 nil  gc_used
         (!type user_struct 1580 
          (!type already_seen 1579)
          gc_pointed_to "vec<call_site_record,va_gc>"
          (!srcfileloc  "function.h" 148)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "function.h" 148)
            nil )
           (!pair  "call_site_record"
            (!type pointer 1581 nil  gc_used
             (!type struct 1582 
              (!type already_seen 1581)
              gc_pointed_to "call_site_record_d"
              (!srcfileloc  "except.c" 205)
              (!fields 2 
               (!pair  "landing_pad"
                (!type already_seen 135)
                (!srcfileloc  "except.c" 203)
                nil )
               (!pair  "action"
                (!type already_seen 9)
                (!srcfileloc  "except.c" 204)
                nil )
              )
              nil 1023 nil nil )
            )
            (!srcfileloc  "function.h" 148)
            nil )
          )
         )
        )
       )
       (!srcfileloc  "function.h" 148)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 236)
    nil )
   (!pair  "outgoing_args_size"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 242)
    nil )
   (!pair  "return_rtx"
    (!type already_seen 135)
    (!srcfileloc  "function.h" 248)
    nil )
   (!pair  "return_bnd"
    (!type already_seen 135)
    (!srcfileloc  "function.h" 251)
    nil )
   (!pair  "hard_reg_initial_vals"
    (!type pointer 1583 nil  gc_used
     (!type struct 1584 
      (!type already_seen 1583)
      gc_pointed_to "initial_value_struct"
      (!srcfileloc  "function.c" 1254)
      (!fields 3 
       (!pair  "num_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1251)
        nil )
       (!pair  "max_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1252)
        nil )
       (!pair  "entries"
        (!type already_seen 1341)
        (!srcfileloc  "function.c" 1253)
        (!options 
         (!option length string  "%h.num_entries")
        )
       )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "function.h" 258)
    nil )
   (!pair  "stack_protect_guard"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 262)
    nil )
   (!pair  "x_nonlocal_goto_handler_labels"
    (!type already_seen 1567)
    (!srcfileloc  "function.h" 266)
    nil )
   (!pair  "x_return_label"
    (!type already_seen 396)
    (!srcfileloc  "function.h" 271)
    nil )
   (!pair  "x_naked_return_label"
    (!type already_seen 396)
    (!srcfileloc  "function.h" 276)
    nil )
   (!pair  "x_stack_slot_list"
    (!type pointer 1585 nil  gc_used
     (!type struct 1586 
      (!type already_seen 1585)
      gc_pointed_to "rtx_expr_list"
      (!srcfileloc  "rtl.h" 417)
      (!fields 0 )
      nil 1023 nil 
      (!type already_seen 137)
     )
    )
    (!srcfileloc  "function.h" 280)
    nil )
   (!pair  "frame_space_list"
    (!type pointer 1587 nil  gc_used
     (!type struct 1588 
      (!type already_seen 1587)
      gc_pointed_to "frame_space"
      (!srcfileloc  "function.h" 227)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1587)
        (!srcfileloc  "function.h" 223)
        nil )
       (!pair  "start"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 225)
        nil )
       (!pair  "length"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 226)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "function.h" 283)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type pointer 1589 nil  gc_used
     (!type struct 1590 
      (!type already_seen 1589)
      gc_pointed_to "rtx_note"
      (!srcfileloc  "function.h" 286)
      (!fields 0 )
      nil 1023 nil 
      (!type already_seen 324)
     )
    )
    (!srcfileloc  "function.h" 286)
    nil )
   (!pair  "x_arg_pointer_save_area"
    (!type already_seen 135)
    (!srcfileloc  "function.h" 292)
    nil )
   (!pair  "drap_reg"
    (!type already_seen 135)
    (!srcfileloc  "function.h" 295)
    nil )
   (!pair  "x_frame_offset"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 300)
    nil )
   (!pair  "x_parm_birth_insn"
    (!type already_seen 323)
    (!srcfileloc  "function.h" 303)
    nil )
   (!pair  "x_used_temp_slots"
    (!type pointer 1591 nil  gc_used
     (!type user_struct 1592 
      (!type already_seen 1591)
      gc_pointed_to "vec<temp_slot_p,va_gc>"
      (!srcfileloc  "function.h" 306)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 3)
        (!srcfileloc  "function.h" 306)
        nil )
       (!pair  "temp_slot_p"
        (!type already_seen 1346)
        (!srcfileloc  "function.h" 306)
        nil )
      )
     )
    )
    (!srcfileloc  "function.h" 306)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1346)
    (!srcfileloc  "function.h" 309)
    nil )
   (!pair  "x_temp_slot_level"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 312)
    nil )
   (!pair  "stack_alignment_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 316)
    nil )
   (!pair  "preferred_stack_boundary"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 320)
    nil )
   (!pair  "parm_stack_boundary"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 323)
    nil )
   (!pair  "max_used_stack_slot_alignment"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 326)
    nil )
   (!pair  "stack_alignment_estimated"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 335)
    nil )
   (!pair  "accesses_prior_frames"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 341)
    nil )
   (!pair  "calls_eh_return"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 344)
    nil )
   (!pair  "saves_all_registers"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 348)
    nil )
   (!pair  "has_nonlocal_goto"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 352)
    nil )
   (!pair  "has_asm_statement"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 355)
    nil )
   (!pair  "all_throwers_are_sibcalls"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 362)
    nil )
   (!pair  "limit_stack"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 366)
    nil )
   (!pair  "profile"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 369)
    nil )
   (!pair  "uses_const_pool"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 372)
    nil )
   (!pair  "uses_pic_offset_table"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 375)
    nil )
   (!pair  "uses_eh_lsda"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 378)
    nil )
   (!pair  "tail_call_emit"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 381)
    nil )
   (!pair  "arg_pointer_save_area_init"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 384)
    nil )
   (!pair  "frame_pointer_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 389)
    nil )
   (!pair  "maybe_hot_insn_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 392)
    nil )
   (!pair  "stack_realign_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 399)
    nil )
   (!pair  "stack_realign_tried"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 404)
    nil )
   (!pair  "need_drap"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 408)
    nil )
   (!pair  "stack_realign_processed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 413)
    nil )
   (!pair  "stack_realign_finalized"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 417)
    nil )
   (!pair  "dbr_scheduled_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 420)
    nil )
   (!pair  "nothrow"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 425)
    nil )
   (!pair  "shrink_wrapped"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 428)
    nil )
   (!pair  "sp_is_unchanging"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 433)
    nil )
   (!pair  "is_leaf"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 439)
    nil )
   (!pair  "uses_only_leaf_regs"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 444)
    nil )
   (!pair  "has_bb_partition"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 449)
    nil )
   (!pair  "bb_reorder_complete"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 453)
    nil )
   (!pair  "asm_clobbers"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 459)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 1592)
 
 (!type already_seen 1584)
 
 (!type already_seen 1588)
 
 (!type already_seen 1576)
 
 (!type already_seen 1575)
 
 (!type already_seen 1572)
 
 (!type already_seen 1574)
 
 (!type already_seen 1050)
 
 (!type already_seen 446)
 
 (!type already_seen 1347)
 
 (!type already_seen 415)
 
 (!type already_seen 1577)
 
 (!type already_seen 1580)
 
 (!type already_seen 407)
 
 (!type already_seen 1582)
 
 (!type already_seen 1566)
 
 (!type already_seen 1569)
 
 (!type already_seen 1571)
 
 (!type struct 1593 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1594 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1595 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 591)
 
 (!type already_seen 594)
 
 (!type already_seen 595)
 
 (!type struct 1596 nil  gc_pointed_to "libfunc_entry"
  (!srcfileloc  "libfuncs.h" 61)
  (!fields 4 
   (!pair  "op"
    (!type already_seen 9)
    (!srcfileloc  "libfuncs.h" 59)
    nil )
   (!pair  "mode1"
    (!type already_seen 9)
    (!srcfileloc  "libfuncs.h" 59)
    nil )
   (!pair  "mode2"
    (!type already_seen 9)
    (!srcfileloc  "libfuncs.h" 59)
    nil )
   (!pair  "libfunc"
    (!type already_seen 135)
    (!srcfileloc  "libfuncs.h" 60)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type user_struct 1597 
  (!type pointer 1598 nil  gc_used
   (!type already_seen 1597)
  )
  gc_pointed_to "vec<alias_pair,va_gc>"
  (!srcfileloc  "tree-core.h" 1889)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-core.h" 1889)
    nil )
   (!pair  "alias_pair"
    (!type struct 1599 nil  gc_used "alias_pair"
     (!srcfileloc  "tree-core.h" 1889)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 751)
       nil )
      (!pair  "target"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 752)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "tree-core.h" 1889)
    nil )
  )
 )
 
 (!type struct 1600 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 1924)
  (!fields 3 
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1863)
    nil )
   (!pair  "implicit_p"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1866)
    nil )
   (!pair  "declared_p"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1868)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1601 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1602 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1603 nil  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 1841)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 979)
    (!srcfileloc  "tree-core.h" 1839)
    nil )
   (!pair  "to"
    (!type already_seen 49)
    (!srcfileloc  "tree-core.h" 1840)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1604 nil  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 1835)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 979)
    (!srcfileloc  "tree-core.h" 1833)
    nil )
   (!pair  "to"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1834)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1605 nil  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 1829)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 979)
    (!srcfileloc  "tree-core.h" 1827)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1828)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1606 nil  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 1823)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 979)
    (!srcfileloc  "tree-core.h" 1820)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1821)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1822)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type already_seen 979)
 
 (!type struct 1607 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1608 
  (!type pointer 1609 nil  gc_unused
   (!type already_seen 1608)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1610 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 611)
 
 (!type already_seen 568)
 
 (!type already_seen 564)
 
 (!type already_seen 567)
 
 (!type already_seen 557)
 
 (!type already_seen 559)
 
 (!type already_seen 380)
 
 (!type already_seen 485)
 
 (!type already_seen 381)
 
 (!type already_seen 342)
 
 (!type already_seen 375)
 
 (!type already_seen 343)
 
 (!type already_seen 345)
 
 (!type already_seen 374)
 
 (!type already_seen 379)
 
 (!type already_seen 378)
 
 (!type already_seen 377)
 
 (!type already_seen 376)
 
 (!type already_seen 134)
 
 (!type already_seen 41)
 
 (!type already_seen 43)
 
 (!type already_seen 40)
 
 (!type already_seen 556)
 
 (!type already_seen 539)
 
 (!type already_seen 488)
 
 (!type already_seen 490)
 
 (!type already_seen 486)
 
 (!type already_seen 487)
 
 (!type already_seen 555)
 
 (!type already_seen 50)
 
 (!type already_seen 561)
 
 (!type already_seen 562)
 
 (!type struct 1611 nil  gc_used "phi_arg_d"
  (!srcfileloc  "tree-core.h" 1294)
  (!fields 3 
   (!pair  "imm_use"
    (!type already_seen 552)
    (!srcfileloc  "tree-core.h" 1291)
    nil )
   (!pair  "def"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1292)
    nil )
   (!pair  "locus"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1293)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 546)
 
 (!type already_seen 547)
 
 (!type already_seen 554)
 
 (!type already_seen 552)
 
 (!type already_seen 543)
 
 (!type already_seen 544)
 
 (!type already_seen 560)
 
 (!type already_seen 509)
 
 (!type already_seen 510)
 
 (!type already_seen 541)
 
 (!type already_seen 540)
 
 (!type already_seen 35)
 
 (!type already_seen 30)
 
 (!type already_seen 34)
 
 (!type already_seen 32)
 
 (!type already_seen 27)
 
 (!type already_seen 23)
 
 (!type already_seen 21)
 
 (!type already_seen 20)
 
 (!type already_seen 19)
 
 (!type already_seen 8)
 
 (!type already_seen 12)
 
 (!type already_seen 18)
 
 (!type already_seen 14)
 
 (!type already_seen 13)
 
 (!type already_seen 1599)
 
 (!type already_seen 470)
 
 (!type already_seen 551)
 
 (!type already_seen 549)
 
 (!type struct 1612 nil  gc_used "int_n_trees_t"
  (!srcfileloc  "tree.h" 5066)
  (!fields 2 
   (!pair  "signed_type"
    (!type already_seen 5)
    (!srcfileloc  "tree.h" 5064)
    nil )
   (!pair  "unsigned_type"
    (!type already_seen 5)
    (!srcfileloc  "tree.h" 5065)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1613 nil  gc_unused "extended_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1262)
 
 (!type struct 1614 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1615 nil  gc_unused "extraction_insn"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1616 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 576)
 
 (!type struct 1617 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 383)
 
 (!type user_struct 1618 nil  gc_unused "std::pair<rtx,machine_mode>"
  (!srcfileloc  "rtl.h" 1969)
  (!fields 2 
   (!pair  "machine_mode"
    (!type already_seen 9)
    (!srcfileloc  "rtl.h" 1969)
    nil )
   (!pair  "rtx"
    (!type already_seen 135)
    (!srcfileloc  "rtl.h" 1969)
    nil )
  )
 )
 
 (!type struct 1619 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1620 nil  gc_unused "subreg_shape"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1621 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 139)
 
 (!type already_seen 140)
 
 (!type already_seen 141)
 
 (!type already_seen 142)
 
 (!type already_seen 143)
 
 (!type already_seen 144)
 
 (!type already_seen 145)
 
 (!type already_seen 146)
 
 (!type already_seen 147)
 
 (!type already_seen 148)
 
 (!type already_seen 149)
 
 (!type already_seen 150)
 
 (!type already_seen 151)
 
 (!type already_seen 152)
 
 (!type already_seen 153)
 
 (!type already_seen 154)
 
 (!type already_seen 155)
 
 (!type already_seen 156)
 
 (!type already_seen 157)
 
 (!type already_seen 158)
 
 (!type already_seen 159)
 
 (!type already_seen 160)
 
 (!type already_seen 161)
 
 (!type already_seen 162)
 
 (!type already_seen 163)
 
 (!type already_seen 164)
 
 (!type already_seen 165)
 
 (!type already_seen 166)
 
 (!type already_seen 167)
 
 (!type already_seen 168)
 
 (!type already_seen 169)
 
 (!type already_seen 170)
 
 (!type already_seen 171)
 
 (!type already_seen 172)
 
 (!type already_seen 173)
 
 (!type already_seen 174)
 
 (!type already_seen 175)
 
 (!type already_seen 176)
 
 (!type already_seen 177)
 
 (!type already_seen 178)
 
 (!type already_seen 179)
 
 (!type already_seen 180)
 
 (!type already_seen 181)
 
 (!type already_seen 182)
 
 (!type already_seen 183)
 
 (!type already_seen 184)
 
 (!type already_seen 185)
 
 (!type already_seen 186)
 
 (!type already_seen 187)
 
 (!type already_seen 188)
 
 (!type already_seen 189)
 
 (!type already_seen 190)
 
 (!type already_seen 191)
 
 (!type already_seen 192)
 
 (!type already_seen 193)
 
 (!type already_seen 194)
 
 (!type already_seen 195)
 
 (!type already_seen 196)
 
 (!type already_seen 197)
 
 (!type already_seen 198)
 
 (!type already_seen 199)
 
 (!type already_seen 200)
 
 (!type already_seen 201)
 
 (!type already_seen 202)
 
 (!type already_seen 203)
 
 (!type already_seen 204)
 
 (!type already_seen 205)
 
 (!type already_seen 206)
 
 (!type already_seen 207)
 
 (!type already_seen 208)
 
 (!type already_seen 209)
 
 (!type already_seen 210)
 
 (!type already_seen 211)
 
 (!type already_seen 212)
 
 (!type already_seen 213)
 
 (!type already_seen 214)
 
 (!type already_seen 215)
 
 (!type already_seen 216)
 
 (!type already_seen 217)
 
 (!type already_seen 218)
 
 (!type already_seen 219)
 
 (!type already_seen 220)
 
 (!type already_seen 221)
 
 (!type already_seen 222)
 
 (!type already_seen 223)
 
 (!type already_seen 224)
 
 (!type already_seen 225)
 
 (!type already_seen 226)
 
 (!type already_seen 227)
 
 (!type already_seen 228)
 
 (!type already_seen 229)
 
 (!type already_seen 230)
 
 (!type already_seen 231)
 
 (!type already_seen 232)
 
 (!type already_seen 233)
 
 (!type already_seen 234)
 
 (!type already_seen 235)
 
 (!type already_seen 236)
 
 (!type already_seen 237)
 
 (!type already_seen 238)
 
 (!type already_seen 239)
 
 (!type already_seen 256)
 
 (!type already_seen 257)
 
 (!type already_seen 260)
 
 (!type already_seen 264)
 
 (!type already_seen 265)
 
 (!type already_seen 266)
 
 (!type already_seen 267)
 
 (!type already_seen 268)
 
 (!type already_seen 271)
 
 (!type already_seen 272)
 
 (!type already_seen 273)
 
 (!type already_seen 274)
 
 (!type already_seen 275)
 
 (!type already_seen 276)
 
 (!type already_seen 277)
 
 (!type already_seen 278)
 
 (!type already_seen 279)
 
 (!type already_seen 280)
 
 (!type already_seen 281)
 
 (!type already_seen 282)
 
 (!type already_seen 283)
 
 (!type already_seen 284)
 
 (!type already_seen 285)
 
 (!type already_seen 286)
 
 (!type already_seen 287)
 
 (!type already_seen 288)
 
 (!type already_seen 289)
 
 (!type already_seen 290)
 
 (!type already_seen 291)
 
 (!type already_seen 292)
 
 (!type already_seen 293)
 
 (!type already_seen 294)
 
 (!type already_seen 295)
 
 (!type already_seen 296)
 
 (!type already_seen 327)
 
 (!type already_seen 328)
 
 (!type already_seen 329)
 
 (!type already_seen 330)
 
 (!type already_seen 331)
 
 (!type already_seen 332)
 
 (!type already_seen 333)
 
 (!type already_seen 334)
 
 (!type already_seen 335)
 
 (!type already_seen 336)
 
 (!type already_seen 337)
 
 (!type already_seen 338)
 
 (!type already_seen 339)
 
 (!type already_seen 340)
 
 (!type already_seen 341)
 
 (!type already_seen 253)
 
 (!type already_seen 297)
 
 (!type already_seen 255)
 
 (!type union 1622 nil  gc_unused "u"
  (!srcfileloc  "rtl.h" 402)
  (!fields 6 
   (!pair  "fld"
    (!type array 1623 nil  gc_unused "1" 
     (!type already_seen 242)
    )
    (!srcfileloc  "rtl.h" 396)
    nil )
   (!pair  "hwint"
    (!type array 1624 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "rtl.h" 397)
    nil )
   (!pair  "block_sym"
    (!type already_seen 240)
    (!srcfileloc  "rtl.h" 398)
    nil )
   (!pair  "rv"
    (!type already_seen 25)
    (!srcfileloc  "rtl.h" 399)
    nil )
   (!pair  "fv"
    (!type already_seen 29)
    (!srcfileloc  "rtl.h" 400)
    nil )
   (!pair  "hwiv"
    (!type struct 1625 
     (!type pointer 1626 nil  gc_unused
      (!type already_seen 1625)
     )
     gc_unused "hwivec_def"
     (!srcfileloc  "rtl.h" 259)
     (!fields 1 
      (!pair  "elem"
       (!type array 1627 nil  gc_unused "1" 
        (!type already_seen 9)
       )
       (!srcfileloc  "rtl.h" 258)
       nil )
     )
     (!options 
      (!option variable_size string  "")
     )
     1023 nil nil )
    (!srcfileloc  "rtl.h" 401)
    nil )
  )
  nil 1023 nil )
 
 (!type already_seen 29)
 
 (!type already_seen 25)
 
 (!type already_seen 138)
 
 (!type already_seen 3)
 
 (!type already_seen 252)
 
 (!type already_seen 240)
 
 (!type already_seen 244)
 
 (!type already_seen 242)
 
 (!type union 1628 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type already_seen 270)
 
 (!type already_seen 259)
 
 (!type struct 1629 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1630 nil  gc_unused "gcov_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1631 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1632 
  (!type pointer 1633 nil  gc_used
   (!type already_seen 1632)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 101)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1633)
    (!srcfileloc  "coverage.c" 95)
    nil )
   (!pair  "ident"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 96)
    nil )
   (!pair  "lineno_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 97)
    nil )
   (!pair  "cfg_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 98)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 5)
    (!srcfileloc  "coverage.c" 99)
    nil )
   (!pair  "ctr_vars"
    (!type array 1634 nil  gc_used "GCOV_COUNTERS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "coverage.c" 100)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1023 nil nil )
 
 (!type struct 1635 nil  gc_unused "never_used2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1636 nil  gc_unused "never_used1"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1637 nil  gc_unused "hwi_with_prec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1638 nil  gc_unused "primitive_int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1639 nil  gc_unused "trailing_wide_ints"
  (!srcfileloc  "wide-int.h" 1303)
  (!fields 4 
   (!pair  "m_precision"
    (!type already_seen 9)
    (!srcfileloc  "wide-int.h" 1287)
    nil )
   (!pair  "m_max_len"
    (!type already_seen 15)
    (!srcfileloc  "wide-int.h" 1290)
    nil )
   (!pair  "m_len"
    (!type array 1640 nil  gc_unused "N" 
     (!type already_seen 15)
    )
    (!srcfileloc  "wide-int.h" 1293)
    nil )
   (!pair  "m_val"
    (!type array 1641 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "wide-int.h" 1297)
    nil )
  )
  nil 1023 nil nil )
 
 (!type user_struct 1642 nil  gc_unused "generic_wide_int<trailing_wide_int_storage>"
  (!srcfileloc  "wide-int.h" 1268)
  (!fields 1 
   (!pair  "trailing_wide_int_storage"
    (!type struct 1643 nil  gc_unused "trailing_wide_int_storage"
     (!srcfileloc  "wide-int.h" 1268)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "wide-int.h" 1268)
    nil )
  )
 )
 
 (!type already_seen 1643)
 
 (!type struct 1644 nil  gc_unused "fixed_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1137)
  (!fields 2 
   (!pair  "val"
    (!type array 1645 nil  gc_unused "(N + HOST_BITS_PER_WIDE_INT + 1) / HOST_BITS_PER_WIDE_INT" 
     (!type already_seen 9)
    )
    (!srcfileloc  "wide-int.h" 1119)
    nil )
   (!pair  "len"
    (!type already_seen 9)
    (!srcfileloc  "wide-int.h" 1120)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1646 nil  gc_unused "int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1647 nil  gc_unused "UNARY_OPERATOR"
  (!srcfileloc  "wide-int.h" 678)
 )
 
 (!type undefined 1648 nil  gc_unused "WI_UNARY_RESULT"
  (!srcfileloc  "wide-int.h" 664)
 )
 
 (!type struct 1649 nil  gc_unused "generic_wide_int"
  (!srcfileloc  "wide-int.h" 710)
  (!fields 0 )
  nil 1023 nil 
  (!type struct 1650 nil  gc_unused "storage"nil 
   (!fields 0 )
   nil 0 nil nil )
 )
 
 (!type already_seen 1650)
 
 (!type struct 1651 nil  gc_unused "storage_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1652 nil  gc_unused "T1"
  (!srcfileloc  "wide-int.h" 401)
 )
 
 (!type user_struct 1653 nil  gc_unused "int_traits<T1"
  (!srcfileloc  "wide-int.h" 401)
  (!fields 1 
   (!pair  "T1"
    (!type already_seen 1652)
    (!srcfileloc  "wide-int.h" 401)
    nil )
  )
 )
 
 (!type user_struct 1654 nil  gc_unused "fixed_wide_int_storage<int_traits<T1"
  (!srcfileloc  "wide-int.h" 401)
  (!fields 1 
   (!pair  "int_traits<T1"
    (!type already_seen 1653)
    (!srcfileloc  "wide-int.h" 401)
    nil )
  )
 )
 
 (!type user_struct 1655 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<int_traits<T1>::precision>>"
  (!srcfileloc  "wide-int.h" 401)
  (!fields 2 
   (!pair  "::precision"
    (!type undefined 1656 nil  gc_unused "::precision"
     (!srcfileloc  "wide-int.h" 386)
    )
    (!srcfileloc  "wide-int.h" 401)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T1"
    (!type already_seen 1654)
    (!srcfileloc  "wide-int.h" 401)
    nil )
  )
 )
 
 (!type already_seen 1656)
 
 (!type undefined 1657 nil  gc_unused "T2"
  (!srcfileloc  "wide-int.h" 386)
 )
 
 (!type user_struct 1658 nil  gc_unused "int_traits<T2"
  (!srcfileloc  "wide-int.h" 386)
  (!fields 1 
   (!pair  "T2"
    (!type already_seen 1657)
    (!srcfileloc  "wide-int.h" 386)
    nil )
  )
 )
 
 (!type user_struct 1659 nil  gc_unused "fixed_wide_int_storage<int_traits<T2"
  (!srcfileloc  "wide-int.h" 386)
  (!fields 1 
   (!pair  "int_traits<T2"
    (!type already_seen 1658)
    (!srcfileloc  "wide-int.h" 386)
    nil )
  )
 )
 
 (!type user_struct 1660 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<int_traits<T2>::precision>>"
  (!srcfileloc  "wide-int.h" 386)
  (!fields 2 
   (!pair  "::precision"
    (!type already_seen 1656)
    (!srcfileloc  "wide-int.h" 386)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T2"
    (!type already_seen 1659)
    (!srcfileloc  "wide-int.h" 386)
    nil )
  )
 )
 
 (!type struct 1661 nil  gc_unused "unary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1662 nil  gc_unused "binary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1663 nil  gc_unused "false"
  (!srcfileloc  "wide-int.h" 298)
 )
 
 (!type user_struct 1664 nil  gc_unused "wide_int_ref_storage<false"
  (!srcfileloc  "wide-int.h" 298)
  (!fields 1 
   (!pair  "false"
    (!type already_seen 1663)
    (!srcfileloc  "wide-int.h" 298)
    nil )
  )
 )
 
 (!type user_struct 1665 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false>>"
  (!srcfileloc  "wide-int.h" 298)
  (!fields 1 
   (!pair  "wide_int_ref_storage<false"
    (!type already_seen 1664)
    (!srcfileloc  "wide-int.h" 298)
    nil )
  )
 )
 
 (!type struct 1666 nil  gc_unused "wide_int_ref_storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1667 nil  gc_unused "FIXED_WIDE_INT"
  (!srcfileloc  "wide-int.h" 292)
 )
 
 (!type already_seen 463)
 
 (!type already_seen 464)
 
 (!type struct 1668 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 125)
 
 (!type already_seen 126)
 
 (!type already_seen 122)
 
 (!type struct 1669 
  (!type pointer 1670 nil  gc_unused
   (!type already_seen 1669)
  )
  gc_unused "splay_tree_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1671 
  (!type pointer 1672 nil  gc_unused
   (!type already_seen 1671)
  )
  gc_unused "splay_tree_node_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 570)
 
 (!type struct 1673 nil  gc_unused "mips_asm_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1674 nil  gc_unused "mips_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1675 nil  gc_unused "mips_cpu_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1676 nil  gc_unused "cpp_reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1677 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1678 nil  gc_unused "_dont_use_rtx_insn_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1679 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1680 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1681 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1682 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 299)
 
 (!type already_seen 303)
 
 (!type struct 1683 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1684 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1685 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1686 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1687 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 565)
 
 (!type already_seen 610)
 
 (!type struct 1688 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 246)
 
 (!type struct 1689 nil  gc_pointed_to "gomp_teams"
  (!srcfileloc  "gimple.h" 684)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1223)
 )
 
 (!type struct 1690 nil  gc_pointed_to "gomp_target"
  (!srcfileloc  "gimple.h" 604)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1226)
 )
 
 (!type struct 1691 nil  gc_pointed_to "gomp_single"
  (!srcfileloc  "gimple.h" 677)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1223)
 )
 
 (!type struct 1692 nil  gc_pointed_to "gomp_sections"
  (!srcfileloc  "gimple.h" 642)
  (!fields 2 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 636)
    nil )
   (!pair  "control"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 641)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_SECTIONS")
  )
  1023 nil 
  (!type already_seen 1224)
 )
 
 (!type struct 1693 nil  gc_pointed_to "gomp_task"
  (!srcfileloc  "gimple.h" 621)
  (!fields 3 
   (!pair  "copy_fn"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 615)
    nil )
   (!pair  "arg_size"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 619)
    nil )
   (!pair  "arg_align"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 620)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_TASK")
  )
  1023 nil 
  (!type already_seen 1225)
 )
 
 (!type struct 1694 nil  gc_pointed_to "gomp_parallel"
  (!srcfileloc  "gimple.h" 596)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1225)
 )
 
 (!type struct 1695 nil  gc_pointed_to "gomp_for"
  (!srcfileloc  "gimple.h" 558)
  (!fields 4 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 546)
    nil )
   (!pair  "collapse"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 550)
    nil )
   (!pair  "iter"
    (!type already_seen 1228)
    (!srcfileloc  "gimple.h" 553)
    (!options 
     (!option length string  "%h.collapse")
    )
   )
   (!pair  "pre_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 557)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_FOR")
  )
  1023 nil 
  (!type already_seen 1224)
 )
 
 (!type struct 1696 nil  gc_pointed_to "gomp_critical"
  (!srcfileloc  "gimple.h" 518)
  (!fields 1 
   (!pair  "name"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 517)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CRITICAL")
  )
  1023 nil 
  (!type already_seen 1224)
 )
 
 (!type struct 1697 nil  gc_pointed_to "gomp_continue"
  (!srcfileloc  "gimple.h" 659)
  (!fields 2 
   (!pair  "control_def"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 655)
    nil )
   (!pair  "control_use"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 658)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CONTINUE")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1698 nil  gc_pointed_to "gomp_atomic_store"
  (!srcfileloc  "gimple.h" 718)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1222)
 )
 
 (!type struct 1699 nil  gc_pointed_to "gomp_atomic_load"
  (!srcfileloc  "gimple.h" 698)
  (!fields 2 
   (!pair  "rhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 697)
    nil )
   (!pair  "lhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 697)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_LOAD")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1700 nil  gc_pointed_to "gtry"
  (!srcfileloc  "gimple.h" 449)
  (!fields 2 
   (!pair  "eval"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 444)
    nil )
   (!pair  "cleanup"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 448)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRY")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1701 nil  gc_pointed_to "gphi"
  (!srcfileloc  "gimple.h" 405)
  (!fields 4 
   (!pair  "capacity"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 397)
    nil )
   (!pair  "nargs"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 398)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 401)
    nil )
   (!pair  "args"
    (!type array 1702 nil  gc_used "1" 
     (!type already_seen 1611)
    )
    (!srcfileloc  "gimple.h" 404)
    (!options 
     (!option length string  "%h.nargs")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_PHI")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1703 nil  gc_pointed_to "geh_dispatch"
  (!srcfileloc  "gimple.h" 432)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  1023 nil 
  (!type already_seen 1230)
 )
 
 (!type struct 1704 nil  gc_pointed_to "gresx"
  (!srcfileloc  "gimple.h" 425)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  1023 nil 
  (!type already_seen 1230)
 )
 
 (!type struct 1705 nil  gc_pointed_to "geh_else"
  (!srcfileloc  "gimple.h" 376)
  (!fields 2 
   (!pair  "n_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 375)
    nil )
   (!pair  "e_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 375)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_ELSE")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1706 nil  gc_pointed_to "geh_mnt"
  (!srcfileloc  "gimple.h" 387)
  (!fields 1 
   (!pair  "fndecl"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 386)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_MNT")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1707 nil  gc_pointed_to "geh_filter"
  (!srcfileloc  "gimple.h" 365)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 360)
    nil )
   (!pair  "failure"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 364)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_FILTER")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1708 nil  gc_pointed_to "gcatch"
  (!srcfileloc  "gimple.h" 348)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 344)
    nil )
   (!pair  "handler"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 347)
    nil )
  )
  (!options 
   (!option tag string  "GSS_CATCH")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1709 nil  gc_pointed_to "gbind"
  (!srcfileloc  "gimple.h" 333)
  (!fields 3 
   (!pair  "vars"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 321)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 329)
    nil )
   (!pair  "body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 332)
    nil )
  )
  (!options 
   (!option tag string  "GSS_BIND")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1710 nil  gc_pointed_to "greturn"
  (!srcfileloc  "gimple.h" 843)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  1023 nil 
  (!type already_seen 1231)
 )
 
 (!type struct 1711 nil  gc_pointed_to "gtransaction"
  (!srcfileloc  "gimple.h" 766)
  (!fields 2 
   (!pair  "body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 762)
    nil )
   (!pair  "label"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 765)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRANSACTION")
  )
  1023 nil 
  (!type already_seen 1036)
 )
 
 (!type already_seen 1033)
 
 (!type struct 1712 nil  gc_pointed_to "gasm"
  (!srcfileloc  "gimple.h" 506)
  (!fields 6 
   (!pair  "string"
    (!type already_seen 39)
    (!srcfileloc  "gimple.h" 492)
    nil )
   (!pair  "ni"
    (!type already_seen 15)
    (!srcfileloc  "gimple.h" 496)
    nil )
   (!pair  "no"
    (!type already_seen 15)
    (!srcfileloc  "gimple.h" 497)
    nil )
   (!pair  "nc"
    (!type already_seen 15)
    (!srcfileloc  "gimple.h" 498)
    nil )
   (!pair  "nl"
    (!type already_seen 15)
    (!srcfileloc  "gimple.h" 499)
    nil )
   (!pair  "op"
    (!type array 1713 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 505)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_ASM")
  )
  1023 nil 
  (!type already_seen 1036)
 )
 
 (!type struct 1714 nil  gc_pointed_to "gassign"
  (!srcfileloc  "gimple.h" 833)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  1023 nil 
  (!type already_seen 1231)
 )
 
 (!type struct 1715 nil  gc_pointed_to "gswitch"
  (!srcfileloc  "gimple.h" 823)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1233)
 )
 
 (!type struct 1716 nil  gc_pointed_to "glabel"
  (!srcfileloc  "gimple.h" 813)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1233)
 )
 
 (!type struct 1717 nil  gc_pointed_to "ggoto"
  (!srcfileloc  "gimple.h" 803)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1233)
 )
 
 (!type struct 1718 nil  gc_pointed_to "gdebug"
  (!srcfileloc  "gimple.h" 793)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1233)
 )
 
 (!type struct 1719 nil  gc_pointed_to "gcond"
  (!srcfileloc  "gimple.h" 783)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1233)
 )
 
 (!type struct 1720 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 312)
 
 (!type already_seen 1625)
 
 (!type already_seen 262)
 
 (!type already_seen 1590)
 
 (!type already_seen 397)
 
 (!type struct 1721 nil  gc_pointed_to "rtx_barrier"
  (!srcfileloc  "rtl.h" 607)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 324)
 )
 
 (!type struct 1722 nil  gc_pointed_to "rtx_jump_table_data"
  (!srcfileloc  "rtl.h" 596)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 324)
 )
 
 (!type struct 1723 nil  gc_pointed_to "rtx_call_insn"
  (!srcfileloc  "rtl.h" 569)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 324)
 )
 
 (!type struct 1724 nil  gc_pointed_to "rtx_jump_insn"
  (!srcfileloc  "rtl.h" 556)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 324)
 )
 
 (!type struct 1725 nil  gc_pointed_to "rtx_nonjump_insn"
  (!srcfileloc  "rtl.h" 545)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 324)
 )
 
 (!type struct 1726 nil  gc_pointed_to "rtx_debug_insn"
  (!srcfileloc  "rtl.h" 534)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 324)
 )
 
 (!type already_seen 324)
 
 (!type struct 1727 nil  gc_pointed_to "rtx_sequence"
  (!srcfileloc  "rtl.h" 473)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 137)
 )
 
 (!type already_seen 1568)
 
 (!type already_seen 1586)
 
 (!type already_seen 137)
 
 (!type struct 1728 
  (!type pointer 1729 nil  gc_unused
   (!type already_seen 1728)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 120)
 
 (!type already_seen 628)
 
 (!type struct 1730 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1731 nil  gc_unused "anonymous:../../gcc/../libcpp/include/cpplib.h:1029"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1732 nil  gc_unused "anonymous:../../gcc/../libcpp/include/cpplib.h:1018"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1733 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 36)
 
 (!type already_seen 625)
 
 (!type already_seen 631)
 
 (!type already_seen 632)
 
 (!type already_seen 634)
 
 (!type struct 1734 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 636)
 
 (!type struct 1735 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1736 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 627)
 
 (!type already_seen 633)
 
 (!type already_seen 630)
 
 (!type struct 1737 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1738 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1739 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1740 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1741 nil  gc_unused "anonymous:../../gcc/../libcpp/include/line-map.h:656"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1742 
  (!type pointer 1743 nil  gc_used
   (!type already_seen 1742)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 322)
  (!fields 11 
   (!pair  "info_ordinary"
    (!type struct 1744 nil  gc_used "maps_info"
     (!srcfileloc  "../libcpp/include/line-map.h" 259)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1745 nil  gc_unused
        (!type struct 1746 
         (!type already_seen 1745)
         gc_used "line_map"
         (!srcfileloc  "../libcpp/include/line-map.h" 213)
         (!fields 3 
          (!pair  "start_location"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 204)
           nil )
          (!pair  "reason"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 207)
           nil )
          (!pair  "d"
           (!type union 1747 nil  gc_used "map_u"
            (!srcfileloc  "../libcpp/include/line-map.h" 212)
            (!fields 2 
             (!pair  "ordinary"
              (!type struct 1748 nil  gc_used "line_map_ordinary"
               (!srcfileloc  "../libcpp/include/line-map.h" 87)
               (!fields 5 
                (!pair  "to_file"
                 (!type already_seen 39)
                 (!srcfileloc  "../libcpp/include/line-map.h" 71)
                 nil )
                (!pair  "to_line"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 72)
                 nil )
                (!pair  "included_from"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 77)
                 nil )
                (!pair  "sysp"
                 (!type already_seen 15)
                 (!srcfileloc  "../libcpp/include/line-map.h" 83)
                 nil )
                (!pair  "column_bits"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 86)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "../libcpp/include/line-map.h" 210)
              (!options 
               (!option tag string  "0")
              )
             )
             (!pair  "macro"
              (!type struct 1749 nil  gc_used "line_map_macro"
               (!srcfileloc  "../libcpp/include/line-map.h" 175)
               (!fields 4 
                (!pair  "macro"
                 (!type already_seen 623)
                 (!srcfileloc  "../libcpp/include/line-map.h" 109)
                 (!options 
                  (!option nested_ptr nested 
                   (!type already_seen 7)
                   "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                 )
                )
                (!pair  "n_tokens"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 112)
                 nil )
                (!pair  "macro_locations"
                 (!type already_seen 10)
                 (!srcfileloc  "../libcpp/include/line-map.h" 167)
                 (!options 
                  (!option atomic string  "")
                 )
                )
                (!pair  "expansion"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 174)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "../libcpp/include/line-map.h" 211)
              (!options 
               (!option tag string  "1")
              )
             )
            )
            nil 1023 nil )
           (!srcfileloc  "../libcpp/include/line-map.h" 212)
           (!options 
            (!option desc string  "%1.reason == LC_ENTER_MACRO")
           )
          )
         )
         nil 1023 nil nil )
       )
       (!srcfileloc  "../libcpp/include/line-map.h" 249)
       (!options 
        (!option length string  "%h.used")
       )
      )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 252)
       nil )
      (!pair  "used"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 256)
       nil )
      (!pair  "cache"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 258)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "../libcpp/include/line-map.h" 289)
    nil )
   (!pair  "info_macro"
    (!type already_seen 1744)
    (!srcfileloc  "../libcpp/include/line-map.h" 291)
    nil )
   (!pair  "depth"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 294)
    nil )
   (!pair  "trace_includes"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 297)
    nil )
   (!pair  "highest_location"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 300)
    nil )
   (!pair  "highest_line"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 303)
    nil )
   (!pair  "max_column_hint"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 307)
    nil )
   (!pair  "reallocator"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 311)
    nil )
   (!pair  "round_alloc_size"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 315)
    nil )
   (!pair  "location_adhoc_data_map"
    (!type struct 1750 nil  gc_used "location_adhoc_data_map"
     (!srcfileloc  "../libcpp/include/line-map.h" 284)
     (!fields 4 
      (!pair  "htab"
       (!type already_seen 364)
       (!srcfileloc  "../libcpp/include/line-map.h" 280)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "curr_loc"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 281)
       nil )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 282)
       nil )
      (!pair  "data"
       (!type pointer 1751 nil  gc_unused
        (!type struct 1752 
         (!type already_seen 1751)
         gc_used "location_adhoc_data"
         (!srcfileloc  "../libcpp/include/line-map.h" 265)
         (!fields 2 
          (!pair  "locus"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 263)
           nil )
          (!pair  "data"
           (!type already_seen 10)
           (!srcfileloc  "../libcpp/include/line-map.h" 264)
           (!options 
            (!option skip string  "")
           )
          )
         )
         nil 1023 nil nil )
       )
       (!srcfileloc  "../libcpp/include/line-map.h" 283)
       (!options 
        (!option length string  "%h.allocated")
       )
      )
     )
     nil 1023 nil nil )
    (!srcfileloc  "../libcpp/include/line-map.h" 317)
    nil )
   (!pair  "builtin_location"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 321)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 1750)
 
 (!type already_seen 365)
 
 (!type already_seen 1752)
 
 (!type already_seen 1744)
 
 (!type already_seen 1746)
 
 (!type already_seen 1747)
 
 (!type already_seen 1749)
 
 (!type already_seen 7)
 
 (!type already_seen 622)
 
 (!type already_seen 1748)
)
(!typedefs 728
 (!pair  "vec<ivarref_entry,va_gc>"
  (!type already_seen 1)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2776)
  nil )
 (!pair  "ivarref_entry"
  (!type already_seen 4)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2774)
  nil )
 (!pair  "vec<prot_list_entry,va_gc>"
  (!type already_seen 674)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1270)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 676)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1269)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 677)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1216)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 679)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1214)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 680)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1051)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 682)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1029)
  nil )
 (!pair  "objc_string_hasher"
  (!type already_seen 686)
  (!srcfileloc  "objc/objc-act.c" 286)
  nil )
 (!pair  "hash_table<objc_string_hasher>"
  (!type already_seen 684)
  (!srcfileloc  "objc/objc-act.c" 286)
  nil )
 (!pair  "string_section"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 654)
  nil )
 (!pair  "attr"
  (!type already_seen 692)
  (!srcfileloc  "objc/objc-act.h" 260)
  nil )
 (!pair  "hash"
  (!type already_seen 694)
  (!srcfileloc  "objc/objc-act.h" 259)
  nil )
 (!pair  "objc_property_assign_semantics"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 102)
  nil )
 (!pair  "objc_map_iterator_t"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-map.h" 241)
  nil )
 (!pair  "objc_map_t"
  (!type already_seen 697)
  (!srcfileloc  "objc/objc-map.h" 90)
  nil )
 (!pair  "objc_map_private_hash_t"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-map.h" 40)
  nil )
 (!pair  "lto_file"
  (!type already_seen 698)
  (!srcfileloc  "lto/lto.h" 34)
  nil )
 (!pair  "rewrite_rule"
  (!type already_seen 706)
  (!srcfileloc  "java/expr.c" 2074)
  nil )
 (!pair  "class_flag_node"
  (!type already_seen 707)
  (!srcfileloc  "java/class.c" 103)
  nil )
 (!pair  "builtin_creator_function"
  (!type already_seen 711)
  (!srcfileloc  "java/builtins.c" 107)
  nil )
 (!pair  "JCF"
  (!type already_seen 495)
  (!srcfileloc  "java/jcf.h" 123)
  nil )
 (!pair  "BootstrapMethods"
  (!type already_seen 502)
  (!srcfileloc  "java/jcf.h" 99)
  nil )
 (!pair  "bootstrap_method"
  (!type already_seen 504)
  (!srcfileloc  "java/jcf.h" 94)
  nil )
 (!pair  "CPool"
  (!type already_seen 498)
  (!srcfileloc  "java/jcf.h" 88)
  nil )
 (!pair  "jcf_filbuf_t"
  (!type already_seen 9)
  (!srcfileloc  "java/jcf.h" 66)
  nil )
 (!pair  "type_assertion_hasher"
  (!type already_seen 513)
  (!srcfileloc  "java/java-tree.h" 920)
  nil )
 (!pair  "hash_table<type_assertion_hasher>"
  (!type already_seen 512)
  (!srcfileloc  "java/java-tree.h" 920)
  nil )
 (!pair  "vec<method_entry,va_gc>"
  (!type already_seen 506)
  (!srcfileloc  "java/java-tree.h" 897)
  nil )
 (!pair  "method_entry"
  (!type already_seen 507)
  (!srcfileloc  "java/java-tree.h" 887)
  nil )
 (!pair  "type_assertion"
  (!type already_seen 712)
  (!srcfileloc  "java/java-tree.h" 799)
  nil )
 (!pair  "jv_attr_kind"
  (!type already_seen 9)
  (!srcfileloc  "java/java-tree.h" 793)
  nil )
 (!pair  "jv_attr_type"
  (!type already_seen 9)
  (!srcfileloc  "java/java-tree.h" 783)
  nil )
 (!pair  "ict_hasher"
  (!type already_seen 56)
  (!srcfileloc  "java/java-tree.h" 751)
  nil )
 (!pair  "hash_table<ict_hasher>"
  (!type already_seen 55)
  (!srcfileloc  "java/java-tree.h" 751)
  nil )
 (!pair  "treetreehasher"
  (!type already_seen 53)
  (!srcfileloc  "java/java-tree.h" 748)
  nil )
 (!pair  "hash_table<treetreehasher>"
  (!type already_seen 52)
  (!srcfileloc  "java/java-tree.h" 748)
  nil )
 (!pair  "constant_pool"
  (!type already_seen 498)
  (!srcfileloc  "java/java-tree.h" 135)
  nil )
 (!pair  "go_char_p"
  (!type already_seen 16)
  (!srcfileloc  "go/go-lang.c" 184)
  nil )
 (!pair  "gfc_interface_mapping"
  (!type already_seen 715)
  (!srcfileloc  "fortran/trans.h" 1009)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 716)
  (!srcfileloc  "fortran/trans.h" 994)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 717)
  (!srcfileloc  "fortran/trans.h" 774)
  nil )
 (!pair  "module_decl_hasher"
  (!type already_seen 721)
  (!srcfileloc  "fortran/trans.h" 605)
  nil )
 (!pair  "hash_table<module_decl_hasher>"
  (!type already_seen 719)
  (!srcfileloc  "fortran/trans.h" 605)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 722)
  (!srcfileloc  "fortran/trans.h" 350)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 723)
  (!srcfileloc  "fortran/trans.h" 337)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 724)
  (!srcfileloc  "fortran/trans.h" 327)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 725)
  (!srcfileloc  "fortran/trans.h" 278)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 726)
  (!srcfileloc  "fortran/trans.h" 238)
  nil )
 (!pair  "gfc_ss_type"
  (!type already_seen 9)
  (!srcfileloc  "fortran/trans.h" 190)
  nil )
 (!pair  "gfc_array_info"
  (!type already_seen 727)
  (!srcfileloc  "fortran/trans.h" 145)
  nil )
 (!pair  "gfc_coarray_type"
  (!type already_seen 9)
  (!srcfileloc  "fortran/trans.h" 114)
  nil )
 (!pair  "gfc_se"
  (!type already_seen 728)
  (!srcfileloc  "fortran/trans.h" 101)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 729)
  (!srcfileloc  "fortran/trans.h" 37)
  nil )
 (!pair  "gfc_packed"
  (!type already_seen 9)
  (!srcfileloc  "fortran/trans-types.h" 52)
  nil )
 (!pair  "forall_info"
  (!type already_seen 730)
  (!srcfileloc  "fortran/trans-stmt.c" 70)
  nil )
 (!pair  "iter_info"
  (!type already_seen 731)
  (!srcfileloc  "fortran/trans-stmt.c" 58)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 732)
  (!srcfileloc  "fortran/trans-io.c" 91)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 733)
  (!srcfileloc  "fortran/trans-io.c" 85)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 734)
  (!srcfileloc  "fortran/trans-intrinsic.c" 99)
  nil )
 (!pair  "module_hasher"
  (!type already_seen 738)
  (!srcfileloc  "fortran/trans-decl.c" 4331)
  nil )
 (!pair  "hash_table<module_hasher>"
  (!type already_seen 736)
  (!srcfileloc  "fortran/trans-decl.c" 4331)
  nil )
 (!pair  "constexpr_call_hasher"
  (!type already_seen 741)
  (!srcfileloc  "cp/constexpr.c" 914)
  nil )
 (!pair  "hash_table<constexpr_call_hasher>"
  (!type already_seen 739)
  (!srcfileloc  "cp/constexpr.c" 914)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 745)
  (!srcfileloc  "cp/constexpr.c" 864)
  nil )
 (!pair  "constexpr_fundef_hasher"
  (!type already_seen 748)
  (!srcfileloc  "cp/constexpr.c" 142)
  nil )
 (!pair  "hash_table<constexpr_fundef_hasher>"
  (!type already_seen 746)
  (!srcfileloc  "cp/constexpr.c" 142)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 751)
  (!srcfileloc  "cp/except.c" 1195)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 753)
  (!srcfileloc  "cp/except.c" 1194)
  nil )
 (!pair  "secondary_vptr_vtt_init_data"
  (!type already_seen 754)
  (!srcfileloc  "cp/class.c" 8558)
  nil )
 (!pair  "find_final_overrider_data"
  (!type already_seen 755)
  (!srcfileloc  "cp/class.c" 2404)
  nil )
 (!pair  "subobject_offset_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/class.c" 121)
  nil )
 (!pair  "vtbl_init_data"
  (!type already_seen 757)
  (!srcfileloc  "cp/class.c" 118)
  nil )
 (!pair  "class_stack_node_t"
  (!type already_seen 759)
  (!srcfileloc  "cp/class.c" 87)
  nil )
 (!pair  "abstract_type_hasher"
  (!type already_seen 762)
  (!srcfileloc  "cp/typeck2.c" 196)
  nil )
 (!pair  "hash_table<abstract_type_hasher>"
  (!type already_seen 760)
  (!srcfileloc  "cp/typeck2.c" 196)
  nil )
 (!pair  "mangling_flags"
  (!type already_seen 9)
  (!srcfileloc  "cp/method.c" 72)
  nil )
 (!pair  "vec<tree_int,va_gc>"
  (!type already_seen 766)
  (!srcfileloc  "cp/parser.c" 8957)
  nil )
 (!pair  "tree_int"
  (!type already_seen 768)
  (!srcfileloc  "cp/parser.c" 8956)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 1753 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 769)
  )
  (!srcfileloc  "cp/parser.c" 1807)
  nil )
 (!pair  "cp_parser_expression_stack_entry"
  (!type already_seen 769)
  (!srcfileloc  "cp/parser.c" 1801)
  nil )
 (!pair  "cp_parser_binary_operations_map_node"
  (!type already_seen 770)
  (!srcfileloc  "cp/parser.c" 1785)
  nil )
 (!pair  "cp_parser_declarator_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 1751)
  nil )
 (!pair  "cp_parser_flags"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 1739)
  nil )
 (!pair  "required_token"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 201)
  nil )
 (!pair  "name_lookup_error"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 145)
  nil )
 (!pair  "non_integral_constant"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 133)
  nil )
 (!pair  "cp_parser"
  (!type already_seen 772)
  (!srcfileloc  "cp/parser.h" 400)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 788)
  (!srcfileloc  "cp/parser.h" 367)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 782)
  (!srcfileloc  "cp/parser.h" 355)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 780)
  (!srcfileloc  "cp/parser.h" 200)
  nil )
 (!pair  "cp_parser_status_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.h" 184)
  nil )
 (!pair  "cp_unparsed_functions_entry"
  (!type already_seen 783)
  (!srcfileloc  "cp/parser.h" 170)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 785)
  (!srcfileloc  "cp/parser.h" 157)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 786)
  (!srcfileloc  "cp/parser.h" 149)
  nil )
 (!pair  "cp_token_ident"
  (!type already_seen 789)
  (!srcfileloc  "cp/parser.h" 139)
  nil )
 (!pair  "cp_token_cache_ptr"
  (!type already_seen 66)
  (!srcfileloc  "cp/parser.h" 127)
  nil )
 (!pair  "cp_token_cache"
  (!type already_seen 67)
  (!srcfileloc  "cp/parser.h" 125)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 775)
  (!srcfileloc  "cp/parser.h" 110)
  nil )
 (!pair  "vec<cp_token_position>"
  (!type already_seen 778)
  (!srcfileloc  "cp/parser.h" 99)
  nil )
 (!pair  "vec<cp_token,va_gc>"
  (!type already_seen 777)
  (!srcfileloc  "cp/parser.h" 85)
  nil )
 (!pair  "cp_token_position"
  (!type already_seen 68)
  (!srcfileloc  "cp/parser.h" 75)
  nil )
 (!pair  "cp_token"
  (!type already_seen 69)
  (!srcfileloc  "cp/parser.h" 71)
  nil )
 (!pair  "list_hasher"
  (!type already_seen 793)
  (!srcfileloc  "cp/tree.c" 1667)
  nil )
 (!pair  "hash_table<list_hasher>"
  (!type already_seen 791)
  (!srcfileloc  "cp/tree.c" 1667)
  nil )
 (!pair  "cplus_array_hasher"
  (!type already_seen 797)
  (!srcfileloc  "cp/tree.c" 780)
  nil )
 (!pair  "hash_table<cplus_array_hasher>"
  (!type already_seen 795)
  (!srcfileloc  "cp/tree.c" 780)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 800)
  (!srcfileloc  "cp/semantics.c" 154)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 802)
  (!srcfileloc  "cp/semantics.c" 151)
  nil )
 (!pair  "vec<deferred_access_check,va_gc>"
  (!type already_seen 74)
  (!srcfileloc  "cp/semantics.c" 146)
  nil )
 (!pair  "spec_hasher"
  (!type already_seen 809)
  (!srcfileloc  "cp/pt.c" 105)
  nil )
 (!pair  "hash_table<spec_hasher>"
  (!type already_seen 807)
  (!srcfileloc  "cp/pt.c" 105)
  nil )
 (!pair  "tree_fn_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/pt.c" 61)
  nil )
 (!pair  "priority_info"
  (!type already_seen 816)
  (!srcfileloc  "cp/decl2.c" 85)
  nil )
 (!pair  "reshape_iter"
  (!type already_seen 817)
  (!srcfileloc  "cp/decl.c" 5313)
  nil )
 (!pair  "predefined_identifier"
  (!type already_seen 818)
  (!srcfileloc  "cp/decl.c" 3797)
  nil )
 (!pair  "typename_hasher"
  (!type already_seen 821)
  (!srcfileloc  "cp/decl.c" 3400)
  nil )
 (!pair  "hash_table<typename_hasher>"
  (!type already_seen 819)
  (!srcfileloc  "cp/decl.c" 3400)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 824)
  (!srcfileloc  "cp/decl.c" 279)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 826)
  (!srcfileloc  "cp/decl.c" 276)
  nil )
 (!pair  "candidate_warning"
  (!type already_seen 830)
  (!srcfileloc  "cp/call.c" 457)
  nil )
 (!pair  "z_candidate"
  (!type already_seen 831)
  (!srcfileloc  "cp/call.c" 455)
  nil )
 (!pair  "conversion"
  (!type already_seen 833)
  (!srcfileloc  "cp/call.c" 99)
  nil )
 (!pair  "conversion_rank"
  (!type already_seen 9)
  (!srcfileloc  "cp/call.c" 93)
  nil )
 (!pair  "conversion_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/call.c" 79)
  nil )
 (!pair  "deferred_access_check"
  (!type already_seen 75)
  (!srcfileloc  "cp/cp-tree.h" 5872)
  nil )
 (!pair  "walk_namespaces_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5436)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 835)
  (!srcfileloc  "cp/cp-tree.h" 5032)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 836)
  (!srcfileloc  "cp/cp-tree.h" 5030)
  nil )
 (!pair  "cp_declarator_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5026)
  nil )
 (!pair  "cp_decl_specifier_seq"
  (!type already_seen 837)
  (!srcfileloc  "cp/cp-tree.h" 5014)
  nil )
 (!pair  "cp_decl_spec"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4966)
  nil )
 (!pair  "cp_storage_class"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4935)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4905)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4889)
  nil )
 (!pair  "operator_name_info_t"
  (!type already_seen 838)
  (!srcfileloc  "cp/cp-tree.h" 4877)
  nil )
 (!pair  "unification_kind_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4511)
  nil )
 (!pair  "base_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4474)
  nil )
 (!pair  "deferring_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4461)
  nil )
 (!pair  "base_access"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4454)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4440)
  nil )
 (!pair  "duration_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4411)
  nil )
 (!pair  "linkage_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4404)
  nil )
 (!pair  "special_function_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4381)
  nil )
 (!pair  "access_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4360)
  nil )
 (!pair  "tmpl_spec_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4349)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4331)
  nil )
 (!pair  "aggr_init_expr_arg_iterator"
  (!type already_seen 839)
  (!srcfileloc  "cp/cp-tree.h" 3174)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 525)
  (!srcfileloc  "cp/cp-tree.h" 1538)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 527)
  (!srcfileloc  "cp/cp-tree.h" 1443)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 526)
  (!srcfileloc  "cp/cp-tree.h" 1442)
  nil )
 (!pair  "cxx_int_tree_map_hasher"
  (!type already_seen 108)
  (!srcfileloc  "cp/cp-tree.h" 1237)
  nil )
 (!pair  "hash_table<cxx_int_tree_map_hasher>"
  (!type already_seen 107)
  (!srcfileloc  "cp/cp-tree.h" 1237)
  nil )
 (!pair  "named_label_hasher"
  (!type already_seen 95)
  (!srcfileloc  "cp/cp-tree.h" 1231)
  nil )
 (!pair  "hash_table<named_label_hasher>"
  (!type already_seen 94)
  (!srcfileloc  "cp/cp-tree.h" 1231)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 843)
  (!srcfileloc  "cp/cp-tree.h" 1057)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 669)
  (!srcfileloc  "cp/cp-tree.h" 819)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 670)
  (!srcfileloc  "cp/cp-tree.h" 801)
  nil )
 (!pair  "cp_trait_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 677)
  nil )
 (!pair  "abstract_class_use"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 526)
  nil )
 (!pair  "impl_conv_void"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 513)
  nil )
 (!pair  "impl_conv_rhs"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 502)
  nil )
 (!pair  "expr_list_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 492)
  nil )
 (!pair  "composite_pointer_operation"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 485)
  nil )
 (!pair  "cpp0x_warn_str"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 473)
  nil )
 (!pair  "cp_id_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 436)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 657)
  (!srcfileloc  "cp/cp-tree.h" 303)
  nil )
 (!pair  "template_parm_index"
  (!type already_seen 655)
  (!srcfileloc  "cp/cp-tree.h" 297)
  nil )
 (!pair  "vec<cp_label_binding,va_gc>"
  (!type already_seen 104)
  (!srcfileloc  "cp/name-lookup.h" 215)
  nil )
 (!pair  "vec<cp_class_binding,va_gc>"
  (!type already_seen 99)
  (!srcfileloc  "cp/name-lookup.h" 204)
  nil )
 (!pair  "cp_label_binding"
  (!type already_seen 105)
  (!srcfileloc  "cp/name-lookup.h" 155)
  nil )
 (!pair  "cp_class_binding"
  (!type already_seen 100)
  (!srcfileloc  "cp/name-lookup.h" 147)
  nil )
 (!pair  "tag_scope"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 141)
  nil )
 (!pair  "scope_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 124)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 845)
  (!srcfileloc  "cp/name-lookup.h" 86)
  nil )
 (!pair  "cp_binding_level"
  (!type already_seen 97)
  (!srcfileloc  "cp/name-lookup.h" 55)
  nil )
 (!pair  "cxx_binding"
  (!type already_seen 102)
  (!srcfileloc  "cp/name-lookup.h" 52)
  nil )
 (!pair  "bt_foreach_proc"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 32)
  nil )
 (!pair  "binding_entry"
  (!type already_seen 531)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 528)
  (!srcfileloc  "cp/name-lookup.h" 28)
  nil )
 (!pair  "conv_type_hasher"
  (!type already_seen 853)
  (!srcfileloc  "cp/mangle.c" 3791)
  nil )
 (!pair  "hash_table<conv_type_hasher>"
  (!type already_seen 851)
  (!srcfileloc  "cp/mangle.c" 3791)
  nil )
 (!pair  "substitution_identifier_index_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 151)
  nil )
 (!pair  "globals"
  (!type already_seen 854)
  (!srcfileloc  "cp/mangle.c" 124)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 855)
  (!srcfileloc  "cp/rtti.c" 114)
  nil )
 (!pair  "tinfo_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/rtti.c" 100)
  nil )
 (!pair  "tinfo_s"
  (!type already_seen 857)
  (!srcfileloc  "cp/rtti.c" 83)
  nil )
 (!pair  "c_dtr_syn"
  (!type already_seen 9)
  (!srcfileloc  "c/c-parser.c" 1162)
  nil )
 (!pair  "c_parser"
  (!type already_seen 860)
  (!srcfileloc  "c/c-parser.c" 243)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 866)
  (!srcfileloc  "c/c-parser.c" 242)
  nil )
 (!pair  "c_token"
  (!type already_seen 863)
  (!srcfileloc  "c/c-parser.c" 191)
  nil )
 (!pair  "c_id_kind"
  (!type already_seen 9)
  (!srcfileloc  "c/c-parser.c" 171)
  nil )
 (!pair  "pragma_ns_name"
  (!type already_seen 868)
  (!srcfileloc  "c-family/c-pragma.c" 1190)
  nil )
 (!pair  "opt_stack"
  (!type already_seen 869)
  (!srcfileloc  "c-family/c-pragma.c" 921)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 871)
  (!srcfileloc  "c-family/c-pragma.c" 452)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 873)
  (!srcfileloc  "c-family/c-pragma.c" 449)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 874)
  (!srcfileloc  "c-family/c-pragma.c" 263)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 876)
  (!srcfileloc  "c-family/c-pragma.c" 260)
  nil )
 (!pair  "align_stack"
  (!type already_seen 877)
  (!srcfileloc  "c-family/c-pragma.c" 72)
  nil )
 (!pair  "internal_pragma_handler"
  (!type already_seen 879)
  (!srcfileloc  "c-family/c-pragma.h" 194)
  nil )
 (!pair  "pragma_handler_2arg"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 178)
  nil )
 (!pair  "pragma_handler_1arg"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 175)
  nil )
 (!pair  "pragma_omp_clause"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 162)
  nil )
 (!pair  "pragma_kind"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 74)
  nil )
 (!pair  "objc_ivar_visibility_kind"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-objc.h" 29)
  nil )
 (!pair  "an_loop_parts"
  (!type already_seen 882)
  (!srcfileloc  "c-family/c-common.h" 1397)
  nil )
 (!pair  "an_parts"
  (!type already_seen 883)
  (!srcfileloc  "c-family/c-common.h" 1386)
  nil )
 (!pair  "omp_clause_mask"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 1100)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 92)
  (!srcfileloc  "c-family/c-common.h" 534)
  nil )
 (!pair  "ref_operator"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 514)
  nil )
 (!pair  "c_language_kind"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 491)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 888)
  (!srcfileloc  "c-family/c-common.c" 11905)
  nil )
 (!pair  "tree_gc_vec"
  (!type already_seen 49)
  (!srcfileloc  "c-family/c-common.c" 11904)
  nil )
 (!pair  "vec<const_char_p,va_gc>"
  (!type already_seen 890)
  (!srcfileloc  "c-family/c-common.c" 9311)
  nil )
 (!pair  "const_char_p"
  (!type already_seen 16)
  (!srcfileloc  "c-family/c-common.c" 9310)
  nil )
 (!pair  "disabled_builtin"
  (!type already_seen 892)
  (!srcfileloc  "c-family/c-common.c" 5903)
  nil )
 (!pair  "c_type_hasher"
  (!type already_seen 895)
  (!srcfileloc  "c-family/c-common.c" 4951)
  nil )
 (!pair  "hash_table<c_type_hasher>"
  (!type already_seen 893)
  (!srcfileloc  "c-family/c-common.c" 4951)
  nil )
 (!pair  "c_binding_ptr"
  (!type already_seen 639)
  (!srcfileloc  "c/c-decl.c" 596)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 648)
  (!srcfileloc  "c/c-decl.c" 404)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 649)
  (!srcfileloc  "c/c-decl.c" 385)
  nil )
 (!pair  "c_arg_tag"
  (!type already_seen 907)
  (!srcfileloc  "c/c-tree.h" 363)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 910)
  (!srcfileloc  "c/c-tree.h" 139)
  nil )
 (!pair  "builtin_type"
  (!type already_seen 9)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5397)
  nil )
 (!pair  "pad_type_hasher"
  (!type already_seen 915)
  (!srcfileloc  "ada/gcc-interface/utils.c" 258)
  nil )
 (!pair  "hash_table<pad_type_hasher>"
  (!type already_seen 913)
  (!srcfileloc  "ada/gcc-interface/utils.c" 258)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 920)
  (!srcfileloc  "ada/gcc-interface/trans.c" 229)
  nil )
 (!pair  "loop_info"
  (!type already_seen 922)
  (!srcfileloc  "ada/gcc-interface/trans.c" 225)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 925)
  (!srcfileloc  "ada/gcc-interface/trans.c" 222)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 926)
  (!srcfileloc  "ada/gcc-interface/trans.c" 215)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 116)
  (!srcfileloc  "ada/gcc-interface/trans.c" 140)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 117)
  (!srcfileloc  "ada/gcc-interface/trans.c" 136)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 932)
  (!srcfileloc  "ada/gcc-interface/decl.c" 6907)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 933)
  (!srcfileloc  "ada/gcc-interface/decl.c" 222)
  nil )
 (!pair  "value_annotation_hasher"
  (!type already_seen 936)
  (!srcfileloc  "ada/gcc-interface/decl.c" 169)
  nil )
 (!pair  "hash_table<value_annotation_hasher>"
  (!type already_seen 934)
  (!srcfileloc  "ada/gcc-interface/decl.c" 169)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 937)
  (!srcfileloc  "ada/gcc-interface/decl.c" 137)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 938)
  (!srcfileloc  "ada/gcc-interface/decl.c" 122)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 952)
  (!srcfileloc  "ipa-devirt.c" 2572)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 953)
  (!srcfileloc  "ipa-devirt.c" 2571)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 952)
  (!srcfileloc  "ipa-devirt.c" 2571)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 955)
  (!srcfileloc  "ipa-devirt.c" 625)
  nil )
 (!pair  "odr_vtable_hash_type"
  (!type already_seen 960)
  (!srcfileloc  "ipa-devirt.c" 618)
  nil )
 (!pair  "odr_vtable_hasher"
  (!type already_seen 961)
  (!srcfileloc  "ipa-devirt.c" 618)
  nil )
 (!pair  "hash_table<odr_vtable_hasher>"
  (!type already_seen 960)
  (!srcfileloc  "ipa-devirt.c" 618)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 962)
  (!srcfileloc  "ipa-devirt.c" 616)
  nil )
 (!pair  "odr_name_hasher"
  (!type already_seen 963)
  (!srcfileloc  "ipa-devirt.c" 616)
  nil )
 (!pair  "hash_table<odr_name_hasher>"
  (!type already_seen 962)
  (!srcfileloc  "ipa-devirt.c" 616)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 959)
  (!srcfileloc  "ipa-devirt.c" 226)
  nil )
 (!pair  "type_pair"
  (!type already_seen 965)
  (!srcfileloc  "ipa-devirt.c" 177)
  nil )
 (!pair  "tree_type_map_cache_hasher"
  (!type already_seen 977)
  (!srcfileloc  "ubsan.c" 127)
  nil )
 (!pair  "hash_table<tree_type_map_cache_hasher>"
  (!type already_seen 975)
  (!srcfileloc  "ubsan.c" 127)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 987)
  (!srcfileloc  "vtable-verify.c" 327)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 987)
  (!srcfileloc  "vtable-verify.c" 327)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 988)
  (!srcfileloc  "vtable-verify.c" 326)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 989)
  (!srcfileloc  "vtable-verify.c" 326)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 988)
  (!srcfileloc  "vtable-verify.c" 326)
  nil )
 (!pair  "inline_edge_summary_t"
  (!type already_seen 1483)
  (!srcfileloc  "ipa-inline.h" 224)
  nil )
 (!pair  "function_summary<inline_summary*>"
  (!type already_seen 993)
  (!srcfileloc  "ipa-inline.h" 192)
  nil )
 (!pair  "inline_summary_t"
  (!type already_seen 1006)
  (!srcfileloc  "ipa-inline.h" 190)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 1002)
  (!srcfileloc  "ipa-inline.h" 151)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 1001)
  (!srcfileloc  "ipa-inline.h" 151)
  nil )
 (!pair  "clause_t"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 92)
  nil )
 (!pair  "conditions"
  (!type already_seen 997)
  (!srcfileloc  "ipa-inline.h" 80)
  nil )
 (!pair  "condition"
  (!type already_seen 999)
  (!srcfileloc  "ipa-inline.h" 80)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 998)
  (!srcfileloc  "ipa-inline.h" 80)
  nil )
 (!pair  "inline_hints"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 77)
  nil )
 (!pair  "lto_file_decl_data_ptr"
  (!type already_seen 353)
  (!srcfileloc  "lto-streamer.h" 604)
  nil )
 (!pair  "ld_plugin_symbol_resolution"
  (!type already_seen 371)
  (!srcfileloc  "lto-streamer.h" 598)
  nil )
 (!pair  "hash_map<tree,ld_plugin_symbol_resolution>"
  (!type already_seen 370)
  (!srcfileloc  "lto-streamer.h" 598)
  nil )
 (!pair  "res_pair"
  (!type already_seen 367)
  (!srcfileloc  "lto-streamer.h" 592)
  nil )
 (!pair  "vec<res_pair>"
  (!type already_seen 366)
  (!srcfileloc  "lto-streamer.h" 592)
  nil )
 (!pair  "decl_state_hasher"
  (!type already_seen 363)
  (!srcfileloc  "lto-streamer.h" 574)
  nil )
 (!pair  "hash_table<decl_state_hasher>"
  (!type already_seen 362)
  (!srcfileloc  "lto-streamer.h" 574)
  nil )
 (!pair  "lto_out_decl_state_ptr"
  (!type already_seen 1118)
  (!srcfileloc  "lto-streamer.h" 545)
  nil )
 (!pair  "lto_in_decl_state_ptr"
  (!type already_seen 356)
  (!srcfileloc  "lto-streamer.h" 512)
  nil )
 (!pair  "lto_symtab_encoder_t"
  (!type already_seen 359)
  (!srcfileloc  "lto-streamer.h" 481)
  nil )
 (!pair  "lto_free_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 308)
  nil )
 (!pair  "lto_get_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 299)
  nil )
 (!pair  "ld_plugin_symbol_resolution_t"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 268)
  nil )
 (!pair  "lto_decl_flags_t"
  (!type already_seen 15)
  (!srcfileloc  "lto-streamer.h" 139)
  nil )
 (!pair  "cgraph_node_queue"
  (!type already_seen 1026)
  (!srcfileloc  "trans-mem.c" 4107)
  nil )
 (!pair  "vec<cgraph_node*>"
  (!type already_seen 1026)
  (!srcfileloc  "trans-mem.c" 4107)
  nil )
 (!pair  "tm_memop_t"
  (!type already_seen 1065)
  (!srcfileloc  "trans-mem.c" 3347)
  nil )
 (!pair  "tm_region_p"
  (!type already_seen 1071)
  (!srcfileloc  "trans-mem.c" 1898)
  nil )
 (!pair  "tm_new_mem_map_t"
  (!type already_seen 1074)
  (!srcfileloc  "trans-mem.c" 1046)
  nil )
 (!pair  "tm_log_entry_t"
  (!type already_seen 1077)
  (!srcfileloc  "trans-mem.c" 970)
  nil )
 (!pair  "tm_wrapper_hasher"
  (!type already_seen 1082)
  (!srcfileloc  "trans-mem.c" 507)
  nil )
 (!pair  "hash_table<tm_wrapper_hasher>"
  (!type already_seen 1080)
  (!srcfileloc  "trans-mem.c" 507)
  nil )
 (!pair  "ipa_parm_adjustment_vec"
  (!type already_seen 1083)
  (!srcfileloc  "ipa-prop.h" 731)
  nil )
 (!pair  "ipa_parm_adjustment"
  (!type already_seen 1084)
  (!srcfileloc  "ipa-prop.h" 731)
  nil )
 (!pair  "vec<ipa_parm_adjustment>"
  (!type already_seen 1083)
  (!srcfileloc  "ipa-prop.h" 731)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 1087)
  (!srcfileloc  "ipa-prop.h" 548)
  nil )
 (!pair  "vec<ipa_edge_args,va_gc>"
  (!type already_seen 1085)
  (!srcfileloc  "ipa-prop.h" 548)
  nil )
 (!pair  "ipcp_transformation_summary"
  (!type already_seen 1107)
  (!srcfileloc  "ipa-prop.h" 546)
  nil )
 (!pair  "vec<ipcp_transformation_summary,va_gc>"
  (!type already_seen 1105)
  (!srcfileloc  "ipa-prop.h" 546)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context,va_gc>"
  (!type already_seen 1104)
  (!srcfileloc  "ipa-prop.h" 495)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 1090)
  (!srcfileloc  "ipa-prop.h" 494)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 1089)
  (!srcfileloc  "ipa-prop.h" 494)
  nil )
 (!pair  "ipa_alignment"
  (!type already_seen 1096)
  (!srcfileloc  "ipa-prop.h" 482)
  nil )
 (!pair  "vec<ipa_alignment,va_gc>"
  (!type already_seen 1111)
  (!srcfileloc  "ipa-prop.h" 482)
  nil )
 (!pair  "ipa_agg_replacement_value"
  (!type already_seen 1109)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "ipa_agg_jump_function_p"
  (!type already_seen 1092)
  (!srcfileloc  "ipa-prop.h" 144)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 1095)
  (!srcfileloc  "ipa-prop.h" 139)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 1094)
  (!srcfileloc  "ipa-prop.h" 139)
  nil )
 (!pair  "TRAILING_WIDE_INT_ACCESSOR"
  (!type already_seen 1114)
  (!srcfileloc  "tree-ssanames.h" 52)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1121)
  (!srcfileloc  "passes.c" 998)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 16)
  (!srcfileloc  "passes.c" 867)
  nil )
 (!pair  "mips_offset_table"
  (!type already_seen 1137)
  (!srcfileloc  "config/mips/mips.c" 16405)
  nil )
 (!pair  "mips_lo_sum_offset_hasher"
  (!type already_seen 1138)
  (!srcfileloc  "config/mips/mips.c" 16405)
  nil )
 (!pair  "hash_table<mips_lo_sum_offset_hasher>"
  (!type already_seen 1137)
  (!srcfileloc  "config/mips/mips.c" 16405)
  nil )
 (!pair  "mips_save_restore_fn"
  (!type already_seen 9)
  (!srcfileloc  "config/mips/mips.c" 10759)
  nil )
 (!pair  "local_alias_traits"
  (!type already_seen 1148)
  (!srcfileloc  "config/mips/mips.c" 6625)
  nil )
 (!pair  "hash_map<rtx,rtx,local_alias_traits>"
  (!type already_seen 1146)
  (!srcfileloc  "config/mips/mips.c" 6625)
  nil )
 (!pair  "mips_multi_member"
  (!type already_seen 1149)
  (!srcfileloc  "config/mips/mips.c" 4358)
  nil )
 (!pair  "mips16_flip_traits"
  (!type already_seen 1156)
  (!srcfileloc  "config/mips/mips.c" 1290)
  nil )
 (!pair  "bool"
  (!type already_seen 1153)
  (!srcfileloc  "config/mips/mips.c" 1290)
  nil )
 (!pair  "hash_map<char*,bool,mips16_flip_traits>"
  (!type already_seen 1154)
  (!srcfileloc  "config/mips/mips.c" 1290)
  nil )
 (!pair  "omp_context"
  (!type already_seen 1174)
  (!srcfileloc  "omp-low.c" 234)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 428)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 553)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 552)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "def_operand_p"
  (!type already_seen 6)
  (!srcfileloc  "tree-ssa-operands.h" 27)
  nil )
 (!pair  "t_bool"
  (!type already_seen 9)
  (!srcfileloc  "tree-scalar-evolution.c" 926)
  nil )
 (!pair  "scev_info_hasher"
  (!type already_seen 1183)
  (!srcfileloc  "tree-scalar-evolution.c" 360)
  nil )
 (!pair  "hash_table<scev_info_hasher>"
  (!type already_seen 1181)
  (!srcfileloc  "tree-scalar-evolution.c" 360)
  nil )
 (!pair  "numbered_tree"
  (!type already_seen 1185)
  (!srcfileloc  "tree-dfa.c" 863)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1199)
  (!srcfileloc  "tree-ssa-address.c" 120)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1201)
  (!srcfileloc  "tree-ssa-address.c" 113)
  nil )
 (!pair  "treemple"
  (!type already_seen 1213)
  (!srcfileloc  "tree-eh.c" 89)
  nil )
 (!pair  "assign_handler"
  (!type already_seen 9)
  (!srcfileloc  "tree-chkp.c" 357)
  nil )
 (!pair  "tm_restart_hasher"
  (!type already_seen 432)
  (!srcfileloc  "gimple-ssa.h" 117)
  nil )
 (!pair  "hash_table<tm_restart_hasher>"
  (!type already_seen 431)
  (!srcfileloc  "gimple-ssa.h" 117)
  nil )
 (!pair  "ssa_name_hasher"
  (!type already_seen 423)
  (!srcfileloc  "gimple-ssa.h" 99)
  nil )
 (!pair  "hash_table<ssa_name_hasher>"
  (!type already_seen 422)
  (!srcfileloc  "gimple-ssa.h" 99)
  nil )
 (!pair  "hash_map<tree,tree>"
  (!type already_seen 420)
  (!srcfileloc  "gimple-ssa.h" 90)
  nil )
 (!pair  "vec<gimple,va_gc>"
  (!type already_seen 417)
  (!srcfileloc  "gimple-ssa.h" 77)
  nil )
 (!pair  "elt_t"
  (!type already_seen 1220)
  (!srcfileloc  "gimple.h" 1416)
  nil )
 (!pair  "gimple_seq_node"
  (!type already_seen 311)
  (!srcfileloc  "gimple.h" 25)
  nil )
 (!pair  "tm_alias_pair"
  (!type already_seen 1235)
  (!srcfileloc  "varasm.c" 5838)
  nil )
 (!pair  "tm_clone_hasher"
  (!type already_seen 1238)
  (!srcfileloc  "varasm.c" 5798)
  nil )
 (!pair  "hash_table<tm_clone_hasher>"
  (!type already_seen 1236)
  (!srcfileloc  "varasm.c" 5798)
  nil )
 (!pair  "oc_local_state"
  (!type already_seen 1239)
  (!srcfileloc  "varasm.c" 4901)
  nil )
 (!pair  "oc_outer_state"
  (!type already_seen 1240)
  (!srcfileloc  "varasm.c" 4640)
  nil )
 (!pair  "const_rtx_desc_hasher"
  (!type already_seen 1243)
  (!srcfileloc  "varasm.c" 3554)
  nil )
 (!pair  "hash_table<const_rtx_desc_hasher>"
  (!type already_seen 1241)
  (!srcfileloc  "varasm.c" 3554)
  nil )
 (!pair  "tree_descriptor_hasher"
  (!type already_seen 1246)
  (!srcfileloc  "varasm.c" 2911)
  nil )
 (!pair  "hash_table<tree_descriptor_hasher>"
  (!type already_seen 1244)
  (!srcfileloc  "varasm.c" 2911)
  nil )
 (!pair  "object_block_hasher"
  (!type already_seen 1250)
  (!srcfileloc  "varasm.c" 218)
  nil )
 (!pair  "hash_table<object_block_hasher>"
  (!type already_seen 1248)
  (!srcfileloc  "varasm.c" 218)
  nil )
 (!pair  "section_hasher"
  (!type already_seen 1253)
  (!srcfileloc  "varasm.c" 207)
  nil )
 (!pair  "hash_table<section_hasher>"
  (!type already_seen 1251)
  (!srcfileloc  "varasm.c" 207)
  nil )
 (!pair  "tree_vec_map_cache_hasher"
  (!type already_seen 1259)
  (!srcfileloc  "tree.c" 297)
  nil )
 (!pair  "hash_table<tree_vec_map_cache_hasher>"
  (!type already_seen 1257)
  (!srcfileloc  "tree.c" 297)
  nil )
 (!pair  "tree_decl_map_cache_hasher"
  (!type already_seen 1262)
  (!srcfileloc  "tree.c" 268)
  nil )
 (!pair  "hash_table<tree_decl_map_cache_hasher>"
  (!type already_seen 1260)
  (!srcfileloc  "tree.c" 268)
  nil )
 (!pair  "cl_option_hasher"
  (!type already_seen 1265)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "hash_table<cl_option_hasher>"
  (!type already_seen 1263)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "int_cst_hasher"
  (!type already_seen 1268)
  (!srcfileloc  "tree.c" 246)
  nil )
 (!pair  "hash_table<int_cst_hasher>"
  (!type already_seen 1266)
  (!srcfileloc  "tree.c" 246)
  nil )
 (!pair  "type_cache_hasher"
  (!type already_seen 1271)
  (!srcfileloc  "tree.c" 235)
  nil )
 (!pair  "hash_table<type_cache_hasher>"
  (!type already_seen 1269)
  (!srcfileloc  "tree.c" 235)
  nil )
 (!pair  "block_info"
  (!type already_seen 1283)
  (!srcfileloc  "reg-stack.c" 233)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1285)
  (!srcfileloc  "reg-stack.c" 220)
  nil )
 (!pair  "augmenting_path_type"
  (!type already_seen 1287)
  (!srcfileloc  "mcf.c" 151)
  nil )
 (!pair  "queue_type"
  (!type already_seen 1288)
  (!srcfileloc  "mcf.c" 140)
  nil )
 (!pair  "fixup_graph_type"
  (!type already_seen 1289)
  (!srcfileloc  "mcf.c" 132)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1291)
  (!srcfileloc  "mcf.c" 115)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1290)
  (!srcfileloc  "mcf.c" 113)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1293)
  (!srcfileloc  "mcf.c" 106)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1292)
  (!srcfileloc  "mcf.c" 104)
  nil )
 (!pair  "edge_type"
  (!type already_seen 9)
  (!srcfileloc  "mcf.c" 85)
  nil )
 (!pair  "libfunc_decl_hasher"
  (!type already_seen 1299)
  (!srcfileloc  "optabs.c" 6109)
  nil )
 (!pair  "hash_table<libfunc_decl_hasher>"
  (!type already_seen 1297)
  (!srcfileloc  "optabs.c" 6109)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1310)
  (!srcfileloc  "gcse.c" 653)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1309)
  (!srcfileloc  "gcse.c" 653)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1310)
  (!srcfileloc  "gcse.c" 653)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1311)
  (!srcfileloc  "gcse.c" 652)
  nil )
 (!pair  "vec<rtx_insn*>"
  (!type already_seen 1311)
  (!srcfileloc  "gcse.c" 652)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1317)
  (!srcfileloc  "gcse.c" 336)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1321)
  (!srcfileloc  "except.c" 803)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1322)
  (!srcfileloc  "except.c" 803)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1321)
  (!srcfileloc  "except.c" 803)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1323)
  (!srcfileloc  "except.c" 766)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1324)
  (!srcfileloc  "except.c" 766)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1323)
  (!srcfileloc  "except.c" 766)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1327)
  (!srcfileloc  "except.c" 248)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1328)
  (!srcfileloc  "except.c" 248)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1327)
  (!srcfileloc  "except.c" 248)
  nil )
 (!pair  "tree_hash_traits"
  (!type already_seen 1332)
  (!srcfileloc  "except.c" 190)
  nil )
 (!pair  "hash_map<tree,tree,tree_hash_traits>"
  (!type already_seen 1330)
  (!srcfileloc  "except.c" 190)
  nil )
 (!pair  "initial_value_struct"
  (!type already_seen 1584)
  (!srcfileloc  "function.c" 1254)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1340)
  (!srcfileloc  "function.c" 1246)
  nil )
 (!pair  "temp_address_hasher"
  (!type already_seen 1344)
  (!srcfileloc  "function.c" 596)
  nil )
 (!pair  "hash_table<temp_address_hasher>"
  (!type already_seen 1342)
  (!srcfileloc  "function.c" 596)
  nil )
 (!pair  "function_p"
  (!type already_seen 382)
  (!srcfileloc  "function.c" 172)
  nil )
 (!pair  "insn_cache_hasher"
  (!type already_seen 1350)
  (!srcfileloc  "function.c" 143)
  nil )
 (!pair  "hash_table<insn_cache_hasher>"
  (!type already_seen 1348)
  (!srcfileloc  "function.c" 143)
  nil )
 (!pair  "sepops"
  (!type already_seen 1352)
  (!srcfileloc  "expr.h" 55)
  nil )
 (!pair  "duplicate_eh_regions_map"
  (!type already_seen 9)
  (!srcfileloc  "except.h" 250)
  nil )
 (!pair  "hash_map<gimple,int>"
  (!type already_seen 403)
  (!srcfileloc  "except.h" 206)
  nil )
 (!pair  "vec<eh_landing_pad,va_gc>"
  (!type already_seen 401)
  (!srcfileloc  "except.h" 202)
  nil )
 (!pair  "vec<eh_region,va_gc>"
  (!type already_seen 399)
  (!srcfileloc  "except.h" 199)
  nil )
 (!pair  "eh_region"
  (!type already_seen 386)
  (!srcfileloc  "except.h" 186)
  nil )
 (!pair  "eh_catch"
  (!type already_seen 390)
  (!srcfileloc  "except.h" 185)
  nil )
 (!pair  "eh_landing_pad"
  (!type already_seen 394)
  (!srcfileloc  "except.h" 184)
  nil )
 (!pair  "const_fixed_hasher"
  (!type already_seen 1358)
  (!srcfileloc  "emit-rtl.c" 192)
  nil )
 (!pair  "hash_table<const_fixed_hasher>"
  (!type already_seen 1356)
  (!srcfileloc  "emit-rtl.c" 192)
  nil )
 (!pair  "const_double_hasher"
  (!type already_seen 1361)
  (!srcfileloc  "emit-rtl.c" 183)
  nil )
 (!pair  "hash_table<const_double_hasher>"
  (!type already_seen 1359)
  (!srcfileloc  "emit-rtl.c" 183)
  nil )
 (!pair  "reg_attr_hasher"
  (!type already_seen 1364)
  (!srcfileloc  "emit-rtl.c" 174)
  nil )
 (!pair  "hash_table<reg_attr_hasher>"
  (!type already_seen 1362)
  (!srcfileloc  "emit-rtl.c" 174)
  nil )
 (!pair  "const_wide_int_hasher"
  (!type already_seen 1367)
  (!srcfileloc  "emit-rtl.c" 165)
  nil )
 (!pair  "hash_table<const_wide_int_hasher>"
  (!type already_seen 1365)
  (!srcfileloc  "emit-rtl.c" 165)
  nil )
 (!pair  "const_int_hasher"
  (!type already_seen 1370)
  (!srcfileloc  "emit-rtl.c" 157)
  nil )
 (!pair  "hash_table<const_int_hasher>"
  (!type already_seen 1368)
  (!srcfileloc  "emit-rtl.c" 157)
  nil )
 (!pair  "elem_op_func"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 141)
  nil )
 (!pair  "loc_list_hash_type"
  (!type already_seen 1373)
  (!srcfileloc  "dwarf2out.c" 24509)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1374)
  (!srcfileloc  "dwarf2out.c" 24509)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1373)
  (!srcfileloc  "dwarf2out.c" 24509)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1376)
  (!srcfileloc  "dwarf2out.c" 22299)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1377)
  (!srcfileloc  "dwarf2out.c" 22299)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1376)
  (!srcfileloc  "dwarf2out.c" 22299)
  nil )
 (!pair  "dchar_p"
  (!type already_seen 16)
  (!srcfileloc  "dwarf2out.c" 19619)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1382)
  (!srcfileloc  "dwarf2out.c" 7785)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1383)
  (!srcfileloc  "dwarf2out.c" 7785)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1382)
  (!srcfileloc  "dwarf2out.c" 7785)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1385)
  (!srcfileloc  "dwarf2out.c" 7229)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1386)
  (!srcfileloc  "dwarf2out.c" 7229)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1385)
  (!srcfileloc  "dwarf2out.c" 7229)
  nil )
 (!pair  "cu_hash_type"
  (!type already_seen 1388)
  (!srcfileloc  "dwarf2out.c" 6906)
  nil )
 (!pair  "cu_hash_table_entry_hasher"
  (!type already_seen 1389)
  (!srcfileloc  "dwarf2out.c" 6906)
  nil )
 (!pair  "hash_table<cu_hash_table_entry_hasher>"
  (!type already_seen 1388)
  (!srcfileloc  "dwarf2out.c" 6906)
  nil )
 (!pair  "addr_hasher"
  (!type already_seen 1393)
  (!srcfileloc  "dwarf2out.c" 4266)
  nil )
 (!pair  "hash_table<addr_hasher>"
  (!type already_seen 1391)
  (!srcfileloc  "dwarf2out.c" 4266)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1397)
  (!srcfileloc  "dwarf2out.c" 3035)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1400)
  (!srcfileloc  "dwarf2out.c" 2986)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1403)
  (!srcfileloc  "dwarf2out.c" 2978)
  nil )
 (!pair  "vec<dw_line_info_table_p,va_gc>"
  (!type already_seen 1407)
  (!srcfileloc  "dwarf2out.c" 2970)
  nil )
 (!pair  "dw_loc_list_hasher"
  (!type already_seen 1417)
  (!srcfileloc  "dwarf2out.c" 2939)
  nil )
 (!pair  "hash_table<dw_loc_list_hasher>"
  (!type already_seen 1415)
  (!srcfileloc  "dwarf2out.c" 2939)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1418)
  (!srcfileloc  "dwarf2out.c" 2927)
  nil )
 (!pair  "decl_loc_hasher"
  (!type already_seen 1421)
  (!srcfileloc  "dwarf2out.c" 2904)
  nil )
 (!pair  "hash_table<decl_loc_hasher>"
  (!type already_seen 1419)
  (!srcfileloc  "dwarf2out.c" 2904)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1424)
  (!srcfileloc  "dwarf2out.c" 2882)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1399)
  (!srcfileloc  "dwarf2out.c" 2844)
  nil )
 (!pair  "block_die_hasher"
  (!type already_seen 1429)
  (!srcfileloc  "dwarf2out.c" 2839)
  nil )
 (!pair  "hash_table<block_die_hasher>"
  (!type already_seen 1427)
  (!srcfileloc  "dwarf2out.c" 2839)
  nil )
 (!pair  "decl_die_hasher"
  (!type already_seen 1432)
  (!srcfileloc  "dwarf2out.c" 2829)
  nil )
 (!pair  "hash_table<decl_die_hasher>"
  (!type already_seen 1430)
  (!srcfileloc  "dwarf2out.c" 2829)
  nil )
 (!pair  "dwarf_file_hasher"
  (!type already_seen 1435)
  (!srcfileloc  "dwarf2out.c" 2818)
  nil )
 (!pair  "hash_table<dwarf_file_hasher>"
  (!type already_seen 1433)
  (!srcfileloc  "dwarf2out.c" 2818)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1436)
  (!srcfileloc  "dwarf2out.c" 2711)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1437)
  (!srcfileloc  "dwarf2out.c" 2703)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 473)
  (!srcfileloc  "dwarf2out.c" 2695)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1402)
  (!srcfileloc  "dwarf2out.c" 2678)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1405)
  (!srcfileloc  "dwarf2out.c" 2662)
  nil )
 (!pair  "die_node"
  (!type already_seen 470)
  (!srcfileloc  "dwarf2out.c" 2645)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 476)
  (!srcfileloc  "dwarf2out.c" 2630)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 477)
  (!srcfileloc  "dwarf2out.c" 2616)
  nil )
 (!pair  "dw_line_info_table_p"
  (!type already_seen 1409)
  (!srcfileloc  "dwarf2out.c" 2605)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1410)
  (!srcfileloc  "dwarf2out.c" 2603)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1412)
  (!srcfileloc  "dwarf2out.c" 2602)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1413)
  (!srcfileloc  "dwarf2out.c" 2586)
  nil )
 (!pair  "comdat_type_node_ref"
  (!type already_seen 472)
  (!srcfileloc  "dwarf2out.c" 2550)
  nil )
 (!pair  "dw_ranges_by_label_ref"
  (!type already_seen 1440)
  (!srcfileloc  "dwarf2out.c" 2549)
  nil )
 (!pair  "dw_ranges_ref"
  (!type already_seen 1442)
  (!srcfileloc  "dwarf2out.c" 2548)
  nil )
 (!pair  "pubname_ref"
  (!type already_seen 1406)
  (!srcfileloc  "dwarf2out.c" 2547)
  nil )
 (!pair  "dw_line_info_ref"
  (!type already_seen 1414)
  (!srcfileloc  "dwarf2out.c" 2546)
  nil )
 (!pair  "dw_attr_ref"
  (!type already_seen 478)
  (!srcfileloc  "dwarf2out.c" 2545)
  nil )
 (!pair  "dw_offset"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2541)
  nil )
 (!pair  "dw_loc_list_node"
  (!type already_seen 461)
  (!srcfileloc  "dwarf2out.c" 1326)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 457)
  (!srcfileloc  "dwarf2out.c" 1302)
  nil )
 (!pair  "vec<deferred_locations,va_gc>"
  (!type already_seen 1443)
  (!srcfileloc  "dwarf2out.c" 1280)
  nil )
 (!pair  "deferred_locations"
  (!type already_seen 1445)
  (!srcfileloc  "dwarf2out.c" 1277)
  nil )
 (!pair  "indirect_string_hasher"
  (!type already_seen 1448)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "hash_table<indirect_string_hasher>"
  (!type already_seen 1446)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1449)
  (!srcfileloc  "dwarf2out.c" 227)
  nil )
 (!pair  "init_one_dwarf_reg_state"
  (!type already_seen 1452)
  (!srcfileloc  "dwarf2cfi.c" 290)
  nil )
 (!pair  "queued_reg_save"
  (!type already_seen 1453)
  (!srcfileloc  "dwarf2cfi.c" 244)
  nil )
 (!pair  "dw_trace_info_ref"
  (!type already_seen 1456)
  (!srcfileloc  "dwarf2cfi.c" 178)
  nil )
 (!pair  "dw_trace_info"
  (!type already_seen 1455)
  (!srcfileloc  "dwarf2cfi.c" 175)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1457)
  (!srcfileloc  "dwarf2cfi.c" 102)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1459)
  (!srcfileloc  "dwarf2cfi.c" 96)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 1461)
  (!srcfileloc  "dwarf2cfi.c" 91)
  nil )
 (!pair  "hash_map<char*,tree>"
  (!type already_seen 1462)
  (!srcfileloc  "dwarf2asm.c" 799)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 454)
  (!srcfileloc  "dwarf2out.h" 215)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 466)
  (!srcfileloc  "dwarf2out.h" 183)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 445)
  (!srcfileloc  "dwarf2out.h" 67)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 447)
  (!srcfileloc  "dwarf2out.h" 65)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 448)
  (!srcfileloc  "dwarf2out.h" 65)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 451)
  (!srcfileloc  "dwarf2out.h" 54)
  nil )
 (!pair  "wide_int_ptr"
  (!type already_seen 462)
  (!srcfileloc  "dwarf2out.h" 33)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 460)
  (!srcfileloc  "dwarf2out.h" 32)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 452)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 449)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 455)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 468)
  (!srcfileloc  "dwarf2out.h" 27)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 468)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "signop"
  (!type already_seen 9)
  (!srcfileloc  "signop.h" 33)
  nil )
 (!pair  "odr_type"
  (!type already_seen 957)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 958)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "function_version_hasher"
  (!type already_seen 1493)
  (!srcfileloc  "cgraph.c" 153)
  nil )
 (!pair  "hash_table<function_version_hasher>"
  (!type already_seen 1491)
  (!srcfileloc  "cgraph.c" 153)
  nil )
 (!pair  "const_bitmap_descriptor"
  (!type already_seen 1502)
  (!srcfileloc  "bitmap.c" 45)
  nil )
 (!pair  "bitmap_descriptor"
  (!type already_seen 1502)
  (!srcfileloc  "bitmap.c" 44)
  nil )
 (!pair  "vec<alias_set_entry,va_gc>"
  (!type already_seen 1503)
  (!srcfileloc  "alias.c" 315)
  nil )
 (!pair  "alias_set_entry"
  (!type already_seen 1505)
  (!srcfileloc  "alias.c" 199)
  nil )
 (!pair  "alias_set_traits"
  (!type already_seen 1509)
  (!srcfileloc  "alias.c" 197)
  nil )
 (!pair  "int"
  (!type already_seen 404)
  (!srcfileloc  "alias.c" 197)
  nil )
 (!pair  "hash_map<int,int,alias_set_traits>"
  (!type already_seen 1508)
  (!srcfileloc  "alias.c" 197)
  nil )
 (!pair  "FILE"
  (!type already_seen 1515)
  (!srcfileloc  "cgraph.h" 2129)
  nil )
 (!pair  "symbol_priority_map"
  (!type already_seen 1519)
  (!srcfileloc  "cgraph.h" 2127)
  nil )
 (!pair  "hash_map<symtab_node*,symbol_priority_map>"
  (!type already_seen 1517)
  (!srcfileloc  "cgraph.h" 2127)
  nil )
 (!pair  "asmname_hasher"
  (!type already_seen 1523)
  (!srcfileloc  "cgraph.h" 2124)
  nil )
 (!pair  "hash_table<asmname_hasher>"
  (!type already_seen 1521)
  (!srcfileloc  "cgraph.h" 2124)
  nil )
 (!pair  "section_name_hasher"
  (!type already_seen 1526)
  (!srcfileloc  "cgraph.h" 2121)
  nil )
 (!pair  "hash_table<section_name_hasher>"
  (!type already_seen 1524)
  (!srcfileloc  "cgraph.h" 2121)
  nil )
 (!pair  "cgraph_2node_hook_list"
  (!type already_seen 1538)
  (!srcfileloc  "cgraph.h" 2054)
  nil )
 (!pair  "cgraph_2edge_hook_list"
  (!type already_seen 1536)
  (!srcfileloc  "cgraph.h" 2048)
  nil )
 (!pair  "varpool_node_hook_list"
  (!type already_seen 1540)
  (!srcfileloc  "cgraph.h" 2027)
  nil )
 (!pair  "cgraph_node_hook_list"
  (!type already_seen 1534)
  (!srcfileloc  "cgraph.h" 2020)
  nil )
 (!pair  "cgraph_edge_hook_list"
  (!type already_seen 1532)
  (!srcfileloc  "cgraph.h" 2013)
  nil )
 (!pair  "symbol_table"
  (!type already_seen 1527)
  (!srcfileloc  "cgraph.h" 1892)
  nil )
 (!pair  "cgraph_2node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1836)
  nil )
 (!pair  "cgraph_2edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1835)
  nil )
 (!pair  "varpool_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1834)
  nil )
 (!pair  "cgraph_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1833)
  nil )
 (!pair  "cgraph_edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1832)
  nil )
 (!pair  "asm_node"
  (!type already_seen 1530)
  (!srcfileloc  "cgraph.h" 1799)
  nil )
 (!pair  "availability"
  (!type already_seen 1541)
  (!srcfileloc  "cgraph.h" 1679)
  nil )
 (!pair  "cgraph_indirect_call_info"
  (!type already_seen 1039)
  (!srcfileloc  "cgraph.h" 1591)
  nil )
 (!pair  "gcall"
  (!type already_seen 1033)
  (!srcfileloc  "cgraph.h" 1588)
  nil )
 (!pair  "ipa_polymorphic_call_context"
  (!type already_seen 1040)
  (!srcfileloc  "cgraph.h" 1394)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1545)
  (!srcfileloc  "cgraph.h" 1341)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1547)
  (!srcfileloc  "cgraph.h" 1340)
  nil )
 (!pair  "cgraph_node_set_def"
  (!type already_seen 1546)
  (!srcfileloc  "cgraph.h" 1340)
  nil )
 (!pair  "cgraph_thunk_info"
  (!type already_seen 1059)
  (!srcfileloc  "cgraph.h" 1268)
  nil )
 (!pair  "cgraph_clone_info"
  (!type already_seen 1054)
  (!srcfileloc  "cgraph.h" 1267)
  nil )
 (!pair  "cgraph_rtl_info"
  (!type already_seen 1053)
  (!srcfileloc  "cgraph.h" 1266)
  nil )
 (!pair  "cgraph_global_info"
  (!type already_seen 1052)
  (!srcfileloc  "cgraph.h" 1265)
  nil )
 (!pair  "cgraph_local_info"
  (!type already_seen 1051)
  (!srcfileloc  "cgraph.h" 1264)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 1048)
  (!srcfileloc  "cgraph.h" 1262)
  nil )
 (!pair  "cgraph_simd_clone"
  (!type already_seen 1045)
  (!srcfileloc  "cgraph.h" 1255)
  nil )
 (!pair  "cgraph_edge_hasher"
  (!type already_seen 1043)
  (!srcfileloc  "cgraph.h" 1249)
  nil )
 (!pair  "hash_table<cgraph_edge_hasher>"
  (!type already_seen 1042)
  (!srcfileloc  "cgraph.h" 1249)
  nil )
 (!pair  "vec<cgraph_edge*>"
  (!type already_seen 1548)
  (!srcfileloc  "cgraph.h" 1032)
  nil )
 (!pair  "cgraph_edge"
  (!type already_seen 1031)
  (!srcfileloc  "cgraph.h" 1006)
  nil )
 (!pair  "cgraph_function_version_info"
  (!type already_seen 1549)
  (!srcfileloc  "cgraph.h" 753)
  nil )
 (!pair  "cgraph_simd_clone_arg"
  (!type already_seen 1047)
  (!srcfileloc  "cgraph.h" 743)
  nil )
 (!pair  "vec<ipa_replace_map*,va_gc>"
  (!type already_seen 1056)
  (!srcfileloc  "cgraph.h" 648)
  nil )
 (!pair  "cgraph_node"
  (!type already_seen 1029)
  (!srcfileloc  "cgraph.h" 613)
  nil )
 (!pair  "ipa_ref_list"
  (!type already_seen 346)
  (!srcfileloc  "cgraph.h" 506)
  nil )
 (!pair  "ipa_ref"
  (!type already_seen 350)
  (!srcfileloc  "cgraph.h" 121)
  nil )
 (!pair  "section_hash_entry"
  (!type already_seen 373)
  (!srcfileloc  "cgraph.h" 45)
  nil )
 (!pair  "vec<ipa_ref_ptr>"
  (!type already_seen 352)
  (!srcfileloc  "ipa-ref.h" 135)
  nil )
 (!pair  "vec<ipa_ref_t,va_gc>"
  (!type already_seen 349)
  (!srcfileloc  "ipa-ref.h" 132)
  nil )
 (!pair  "ipa_ref_ptr"
  (!type already_seen 351)
  (!srcfileloc  "ipa-ref.h" 69)
  nil )
 (!pair  "ipa_ref_t"
  (!type already_seen 350)
  (!srcfileloc  "ipa-ref.h" 68)
  nil )
 (!pair  "symtab_node"
  (!type already_seen 345)
  (!srcfileloc  "ipa-ref.h" 59)
  nil )
 (!pair  "__assert_gimple_bb_smaller_rtl_bb"
  (!type array 1754 nil  gc_unused "(int) sizeof (struct rtl_bb_info)\n               - (int) sizeof (struct gimple_bb_info)" 
   (!type already_seen 9)
  )
  (!srcfileloc  "basic-block.h" 168)
  nil )
 (!pair  "vec<edge,va_gc>"
  (!type already_seen 301)
  (!srcfileloc  "basic-block.h" 122)
  nil )
 (!pair  "edge_def"
  (!type already_seen 303)
  (!srcfileloc  "basic-block.h" 56)
  nil )
 (!pair  "cselib_expand_callback"
  (!type already_seen 9)
  (!srcfileloc  "cselib.h" 87)
  nil )
 (!pair  "vec<basic_block,va_gc>"
  (!type already_seen 411)
  (!srcfileloc  "cfg.h" 43)
  nil )
 (!pair  "loop_exit_hasher"
  (!type already_seen 437)
  (!srcfileloc  "cfgloop.h" 247)
  nil )
 (!pair  "hash_table<loop_exit_hasher>"
  (!type already_seen 436)
  (!srcfileloc  "cfgloop.h" 247)
  nil )
 (!pair  "vec<loop_p,va_gc>"
  (!type already_seen 308)
  (!srcfileloc  "cfgloop.h" 143)
  nil )
 (!pair  "loop_p"
  (!type already_seen 304)
  (!srcfileloc  "cfgloop.h" 106)
  nil )
 (!pair  "noswitch_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 485)
  nil )
 (!pair  "unnamed_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 459)
  nil )
 (!pair  "__gcc_host_wide_int__"
  (!type already_seen 9)
  (!srcfileloc  "hwint.h" 74)
  nil )
 (!pair  "used_type_hasher"
  (!type already_seen 1563)
  (!srcfileloc  "function.h" 717)
  nil )
 (!pair  "hash_table<used_type_hasher>"
  (!type already_seen 1561)
  (!srcfileloc  "function.h" 717)
  nil )
 (!pair  "hash_set<tree>"
  (!type already_seen 444)
  (!srcfileloc  "function.h" 564)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1592)
  (!srcfileloc  "function.h" 306)
  nil )
 (!pair  "rtx_note"
  (!type already_seen 1590)
  (!srcfileloc  "function.h" 286)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 1049)
  (!srcfileloc  "function.h" 165)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 1050)
  (!srcfileloc  "function.h" 165)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1346)
  (!srcfileloc  "function.h" 160)
  nil )
 (!pair  "vec<call_site_record,va_gc>"
  (!type already_seen 1580)
  (!srcfileloc  "function.h" 148)
  nil )
 (!pair  "vec<uchar,va_gc>"
  (!type already_seen 407)
  (!srcfileloc  "function.h" 146)
  nil )
 (!pair  "rtx_code_label"
  (!type already_seen 397)
  (!srcfileloc  "function.h" 141)
  nil )
 (!pair  "call_site_record"
  (!type already_seen 1581)
  (!srcfileloc  "function.h" 135)
  nil )
 (!pair  "ht_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/symtab.h" 89)
  nil )
 (!pair  "hashnode"
  (!type already_seen 37)
  (!srcfileloc  "../libcpp/include/symtab.h" 41)
  nil )
 (!pair  "cpp_hash_table"
  (!type already_seen 1595)
  (!srcfileloc  "../libcpp/include/symtab.h" 40)
  nil )
 (!pair  "ht_identifier_ptr"
  (!type already_seen 37)
  (!srcfileloc  "../libcpp/include/symtab.h" 30)
  nil )
 (!pair  "ht_identifier"
  (!type already_seen 36)
  (!srcfileloc  "../libcpp/include/symtab.h" 29)
  nil )
 (!pair  "libfunc_hasher"
  (!type already_seen 595)
  (!srcfileloc  "libfuncs.h" 78)
  nil )
 (!pair  "hash_table<libfunc_hasher>"
  (!type already_seen 594)
  (!srcfileloc  "libfuncs.h" 78)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 1600)
  (!srcfileloc  "tree-core.h" 1924)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 1599)
  (!srcfileloc  "tree-core.h" 1889)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 1597)
  (!srcfileloc  "tree-core.h" 1889)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 1609)
  (!srcfileloc  "tree-core.h" 1805)
  nil )
 (!pair  "vec<tree,va_gc>"
  (!type already_seen 50)
  (!srcfileloc  "tree-core.h" 1330)
  nil )
 (!pair  "constructor_elt"
  (!type already_seen 510)
  (!srcfileloc  "tree-core.h" 1222)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 509)
  (!srcfileloc  "tree-core.h" 1222)
  nil )
 (!pair  "walk_tree_lh"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 763)
  nil )
 (!pair  "walk_tree_fn"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 759)
  nil )
 (!pair  "priority_type"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 756)
  nil )
 (!pair  "hash_rtx_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2912)
  nil )
 (!pair  "rtx_equal_p_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2907)
  nil )
 (!pair  "for_each_inc_dec_fn"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2903)
  nil )
 (!pair  "rtx_mode_t"
  (!type already_seen 1618)
  (!srcfileloc  "rtl.h" 1969)
  nil )
 (!pair  "std::pair<rtx,machine_mode>"
  (!type already_seen 1618)
  (!srcfileloc  "rtl.h" 1969)
  nil )
 (!pair  "rtx_insn"
  (!type already_seen 324)
  (!srcfileloc  "rtl.h" 444)
  nil )
 (!pair  "rtx_insn_list"
  (!type already_seen 1568)
  (!srcfileloc  "rtl.h" 441)
  nil )
 (!pair  "rtx_expr_list"
  (!type already_seen 1586)
  (!srcfileloc  "rtl.h" 413)
  nil )
 (!pair  "va_gc"
  (!type already_seen 3)
  (!srcfileloc  "rtl.h" 244)
  nil )
 (!pair  "vec<rtx,va_gc>"
  (!type already_seen 252)
  (!srcfileloc  "rtl.h" 244)
  nil )
 (!pair  "rtunion"
  (!type already_seen 242)
  (!srcfileloc  "rtl.h" 214)
  nil )
 (!pair  "counts_entry_t"
  (!type already_seen 1631)
  (!srcfileloc  "coverage.c" 122)
  nil )
 (!pair  "alias_set_type"
  (!type already_seen 9)
  (!srcfileloc  "alias.h" 29)
  nil )
 (!pair  "trailing_wide_int"
  (!type already_seen 1642)
  (!srcfileloc  "wide-int.h" 1268)
  nil )
 (!pair  "trailing_wide_int_storage"
  (!type already_seen 1643)
  (!srcfileloc  "wide-int.h" 1268)
  nil )
 (!pair  "generic_wide_int<trailing_wide_int_storage>"
  (!type already_seen 1642)
  (!srcfileloc  "wide-int.h" 1268)
  nil )
 (!pair  "fixed_wide_int_storage"
  (!type already_seen 1644)
  (!srcfileloc  "wide-int.h" 1123)
  nil )
 (!pair  "UNARY_OPERATOR"
  (!type already_seen 1647)
  (!srcfileloc  "wide-int.h" 678)
  nil )
 (!pair  "WI_UNARY_RESULT"
  (!type already_seen 1648)
  (!srcfileloc  "wide-int.h" 664)
  nil )
 (!pair  "generic_wide_int"
  (!type already_seen 1649)
  (!srcfileloc  "wide-int.h" 633)
  nil )
 (!pair  "T1"
  (!type already_seen 1652)
  (!srcfileloc  "wide-int.h" 401)
  nil )
 (!pair  "int_traits<T1"
  (!type already_seen 1653)
  (!srcfileloc  "wide-int.h" 401)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T1"
  (!type already_seen 1654)
  (!srcfileloc  "wide-int.h" 401)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T1>::precision>>"
  (!type already_seen 1655)
  (!srcfileloc  "wide-int.h" 401)
  nil )
 (!pair  "::precision"
  (!type already_seen 1656)
  (!srcfileloc  "wide-int.h" 386)
  nil )
 (!pair  "T2"
  (!type already_seen 1657)
  (!srcfileloc  "wide-int.h" 386)
  nil )
 (!pair  "int_traits<T2"
  (!type already_seen 1658)
  (!srcfileloc  "wide-int.h" 386)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T2"
  (!type already_seen 1659)
  (!srcfileloc  "wide-int.h" 386)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T2>::precision>>"
  (!type already_seen 1660)
  (!srcfileloc  "wide-int.h" 386)
  nil )
 (!pair  "result_type"
  (!type already_seen 9)
  (!srcfileloc  "wide-int.h" 371)
  nil )
 (!pair  "wide_int_ref"
  (!type already_seen 1665)
  (!srcfileloc  "wide-int.h" 298)
  nil )
 (!pair  "false"
  (!type already_seen 1663)
  (!srcfileloc  "wide-int.h" 298)
  nil )
 (!pair  "wide_int_ref_storage<false"
  (!type already_seen 1664)
  (!srcfileloc  "wide-int.h" 298)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false>>"
  (!type already_seen 1665)
  (!srcfileloc  "wide-int.h" 298)
  nil )
 (!pair  "WIDE_INT_MAX_PRECISION"
  (!type already_seen 1667)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "ADDR_MAX_PRECISION"
  (!type already_seen 1667)
  (!srcfileloc  "wide-int.h" 292)
  nil )
 (!pair  "FIXED_WIDE_INT"
  (!type already_seen 1667)
  (!srcfileloc  "wide-int.h" 292)
  nil )
 (!pair  "wide_int"
  (!type already_seen 463)
  (!srcfileloc  "wide-int.h" 291)
  nil )
 (!pair  "wide_int_storage"
  (!type already_seen 464)
  (!srcfileloc  "wide-int.h" 291)
  nil )
 (!pair  "generic_wide_int<wide_int_storage>"
  (!type already_seen 463)
  (!srcfileloc  "wide-int.h" 291)
  nil )
 (!pair  "bitmap_obstack"
  (!type already_seen 125)
  (!srcfileloc  "bitmap.h" 187)
  nil )
 (!pair  "bitmap_element"
  (!type already_seen 122)
  (!srcfileloc  "bitmap.h" 185)
  nil )
 (!pair  "BITMAP_WORD"
  (!type already_seen 9)
  (!srcfileloc  "bitmap.h" 136)
  nil )
 (!pair  "splay_tree"
  (!type already_seen 1670)
  (!srcfileloc  "../include/splay-tree.h" 121)
  nil )
 (!pair  "splay_tree_deallocate_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 82)
  nil )
 (!pair  "splay_tree_allocate_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 76)
  nil )
 (!pair  "splay_tree_foreach_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 70)
  nil )
 (!pair  "splay_tree_delete_value_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 67)
  nil )
 (!pair  "splay_tree_delete_key_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 63)
  nil )
 (!pair  "splay_tree_compare_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 59)
  nil )
 (!pair  "splay_tree_node"
  (!type already_seen 1672)
  (!srcfileloc  "../include/splay-tree.h" 55)
  nil )
 (!pair  "splay_tree_value"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 52)
  nil )
 (!pair  "splay_tree_key"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 51)
  nil )
 (!pair  "htab_t"
  (!type already_seen 364)
  (!srcfileloc  "../include/hashtab.h" 140)
  nil )
 (!pair  "htab_free_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 79)
  nil )
 (!pair  "htab_alloc_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 78)
  nil )
 (!pair  "htab_free"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 74)
  nil )
 (!pair  "htab_alloc"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 71)
  nil )
 (!pair  "htab_trav"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 65)
  nil )
 (!pair  "htab_del"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 59)
  nil )
 (!pair  "htab_eq"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 55)
  nil )
 (!pair  "htab_hash"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 48)
  nil )
 (!pair  "hashval_t"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 43)
  nil )
 (!pair  "gt_pointer_operator"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 296)
  nil )
 (!pair  "reg_class_t"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 232)
  nil )
 (!pair  "const_basic_block"
  (!type already_seen 298)
  (!srcfileloc  "coretypes.h" 219)
  nil )
 (!pair  "basic_block"
  (!type already_seen 298)
  (!srcfileloc  "coretypes.h" 218)
  nil )
 (!pair  "const_edge"
  (!type already_seen 302)
  (!srcfileloc  "coretypes.h" 216)
  nil )
 (!pair  "edge"
  (!type already_seen 302)
  (!srcfileloc  "coretypes.h" 215)
  nil )
 (!pair  "addr_space_t"
  (!type already_seen 15)
  (!srcfileloc  "coretypes.h" 136)
  nil )
 (!pair  "section"
  (!type already_seen 246)
  (!srcfileloc  "coretypes.h" 125)
  nil )
 (!pair  "gimple_seq"
  (!type already_seen 311)
  (!srcfileloc  "coretypes.h" 87)
  nil )
 (!pair  "const_gimple"
  (!type already_seen 311)
  (!srcfileloc  "coretypes.h" 86)
  nil )
 (!pair  "gimple"
  (!type already_seen 311)
  (!srcfileloc  "coretypes.h" 85)
  nil )
 (!pair  "const_tree"
  (!type already_seen 5)
  (!srcfileloc  "coretypes.h" 84)
  nil )
 (!pair  "tree"
  (!type already_seen 5)
  (!srcfileloc  "coretypes.h" 83)
  nil )
 (!pair  "const_hwivec"
  (!type already_seen 1626)
  (!srcfileloc  "coretypes.h" 81)
  nil )
 (!pair  "hwivec"
  (!type already_seen 1626)
  (!srcfileloc  "coretypes.h" 80)
  nil )
 (!pair  "const_rtvec"
  (!type already_seen 261)
  (!srcfileloc  "coretypes.h" 78)
  nil )
 (!pair  "rtvec"
  (!type already_seen 261)
  (!srcfileloc  "coretypes.h" 77)
  nil )
 (!pair  "const_rtx"
  (!type already_seen 135)
  (!srcfileloc  "coretypes.h" 57)
  nil )
 (!pair  "rtx"
  (!type already_seen 135)
  (!srcfileloc  "coretypes.h" 56)
  nil )
 (!pair  "const_sbitmap"
  (!type already_seen 1729)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 1729)
  (!srcfileloc  "coretypes.h" 53)
  nil )
 (!pair  "const_bitmap"
  (!type already_seen 119)
  (!srcfileloc  "coretypes.h" 51)
  nil )
 (!pair  "bitmap"
  (!type already_seen 119)
  (!srcfileloc  "coretypes.h" 50)
  nil )
 (!pair  "gcov_type_unsigned"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 47)
  nil )
 (!pair  "gcov_type"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 46)
  nil )
 (!pair  "location_t"
  (!type already_seen 9)
  (!srcfileloc  "input.h" 48)
  nil )
 (!pair  "uchar"
  (!type already_seen 15)
  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 21)
  nil )
 (!pair  "cpp_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1051)
  nil )
 (!pair  "cpp_comment_table"
  (!type already_seen 1731)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1038)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 1732)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1024)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 1733)
  (!srcfileloc  "../libcpp/include/cpplib.h" 848)
  nil )
 (!pair  "cpp_num_part"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 847)
  nil )
 (!pair  "missing_header_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 537)
  nil )
 (!pair  "cppchar_signed_t"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 284)
  nil )
 (!pair  "cppchar_t"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 283)
  nil )
 (!pair  "cpp_dir"
  (!type already_seen 1735)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 1736)
  (!srcfileloc  "../libcpp/include/cpplib.h" 36)
  nil )
 (!pair  "cpp_macro"
  (!type already_seen 627)
  (!srcfileloc  "../libcpp/include/cpplib.h" 35)
  nil )
 (!pair  "cpp_hashnode"
  (!type already_seen 622)
  (!srcfileloc  "../libcpp/include/cpplib.h" 34)
  nil )
 (!pair  "cpp_string"
  (!type already_seen 633)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 630)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 1737)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 1738)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 1739)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 1741)
  (!srcfileloc  "../libcpp/include/line-map.h" 669)
  nil )
 (!pair  "line_map_round_alloc_size_func"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 57)
  nil )
 (!pair  "line_map_realloc"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 53)
  nil )
 (!pair  "source_location"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 50)
  nil )
 (!pair  "linenum_type"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 47)
  nil )
 (!pair  "PTR"
  (!type already_seen 10)
  (!srcfileloc  "gengtype.c" 5263)
  nil )
 (!pair  "machine_mode"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5260)
  nil )
 (!pair  "void"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5259)
  nil )
 (!pair  "JCF_u2"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5258)
  nil )
 (!pair  "jword"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5257)
  nil )
 (!pair  "uintptr_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5256)
  nil )
 (!pair  "uint8"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5255)
  nil )
 (!pair  "uint64_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5254)
  nil )
 (!pair  "int64_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5253)
  nil )
 (!pair  "widest_int"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5252)
  nil )
 (!pair  "offset_int"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5251)
  nil )
 (!pair  "double_int"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5250)
  nil )
 (!pair  "FIXED_VALUE_TYPE"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5249)
  nil )
 (!pair  "REAL_VALUE_TYPE"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5248)
  nil )
 (!pair  "CUMULATIVE_ARGS"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5247)
  nil )
)
(!variables 637
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3619)
  nil )
 (!pair  "next_v2_EHTYPE_id_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3409)
  nil )
 (!pair  "next_v2_ehvtable_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3408)
  nil )
 (!pair  "objc_v2_ehtype_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3407)
  nil )
 (!pair  "ehtype_list"
  (!type already_seen 681)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3066)
  nil )
 (!pair  "ivar_offset_refs"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2776)
  nil )
 (!pair  "protlist"
  (!type already_seen 675)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2121)
  nil )
 (!pair  "nonlazy_category_list"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2033)
  nil )
 (!pair  "category_list"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2022)
  nil )
 (!pair  "nonlazy_class_list"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2011)
  nil )
 (!pair  "class_list"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2003)
  nil )
 (!pair  "metaclass_super_refs"
  (!type already_seen 681)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1447)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 681)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1446)
  nil )
 (!pair  "protrefs"
  (!type already_seen 675)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1270)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 678)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1216)
  nil )
 (!pair  "classrefs"
  (!type already_seen 681)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1051)
  nil )
 (!pair  "extern_names"
  (!type already_seen 695)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 247)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 1755 nil  gc_used "OCTI_V2_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 197)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1756 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 194)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 2797)
  nil )
 (!pair  "V1_Property_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1527)
  nil )
 (!pair  "V1_ProtocolExt_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1526)
  nil )
 (!pair  "V1_Protocol_OPT_CLS_METHODS_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1525)
  nil )
 (!pair  "V1_Protocol_OPT_NST_METHODS_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1524)
  nil )
 (!pair  "objc_class_ext_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1119)
  nil )
 (!pair  "objc_protocol_extension_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1085)
  nil )
 (!pair  "objc_v1_property_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1055)
  nil )
 (!pair  "class_reference_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 687)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1757 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 118)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 2148)
  nil )
 (!pair  "num_static_inst"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 869)
  nil )
 (!pair  "meta_base"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 202)
  nil )
 (!pair  "objc_meta"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 201)
  nil )
 (!pair  "property_name_attr_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 304)
  nil )
 (!pair  "meth_var_types_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 303)
  nil )
 (!pair  "meth_var_names_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 302)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1758 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 66)
  nil )
 (!pair  "objc_parmlist"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-act.c" 8250)
  nil )
 (!pair  "interface_map"
  (!type already_seen 697)
  (!srcfileloc  "objc/objc-act.c" 3802)
  nil )
 (!pair  "string_layout_checked"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.c" 3088)
  nil )
 (!pair  "string_htab"
  (!type already_seen 685)
  (!srcfileloc  "objc/objc-act.c" 286)
  nil )
 (!pair  "alias_name_map"
  (!type already_seen 697)
  (!srcfileloc  "objc/objc-act.c" 190)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 697)
  (!srcfileloc  "objc/objc-act.c" 189)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 697)
  (!srcfileloc  "objc/objc-act.c" 185)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 697)
  (!srcfileloc  "objc/objc-act.c" 184)
  nil )
 (!pair  "objc_global_trees"
  (!type array 1759 nil  gc_used "OCTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-act.h" 420)
  nil )
 (!pair  "objc_ivar_visibility"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 294)
  nil )
 (!pair  "cat_count"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 292)
  nil )
 (!pair  "imp_count"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 291)
  nil )
 (!pair  "imp_list"
  (!type already_seen 690)
  (!srcfileloc  "objc/objc-act.h" 290)
  nil )
 (!pair  "local_variables_to_volatilize"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-act.h" 277)
  nil )
 (!pair  "lto_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 3377)
  nil )
 (!pair  "real_file_decl_data"
  (!type already_seen 354)
  (!srcfileloc  "lto/lto.c" 2913)
  (!options 
   (!option length string  "real_file_count + 1")
  )
 )
 (!pair  "all_file_decl_data"
  (!type already_seen 354)
  (!srcfileloc  "lto/lto.c" 2881)
  (!options 
   (!option length string  "lto_stats.num_input_files + 1")
  )
 )
 (!pair  "tree_with_vars"
  (!type already_seen 49)
  (!srcfileloc  "lto/lto.c" 727)
  nil )
 (!pair  "lto_mode_identity_table"
  (!type already_seen 39)
  (!srcfileloc  "lto/lto.c" 88)
  nil )
 (!pair  "first_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 86)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 733)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 217)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 216)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 215)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 214)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 213)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 212)
  nil )
 (!pair  "builtin_types"
  (!type array 1760 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 210)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1761 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 154)
  nil )
 (!pair  "resources"
  (!type already_seen 49)
  (!srcfileloc  "java/resource.c" 59)
  nil )
 (!pair  "compression_table"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 308)
  nil )
 (!pair  "atms"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 82)
  nil )
 (!pair  "java_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 921)
  nil )
 (!pair  "last_error_function"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 490)
  nil )
 (!pair  "last_error_function_context"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 489)
  nil )
 (!pair  "all_class_list"
  (!type already_seen 49)
  (!srcfileloc  "java/jcf-parse.c" 107)
  nil )
 (!pair  "main_jcf"
  (!type already_seen 494)
  (!srcfileloc  "java/jcf-parse.c" 104)
  nil )
 (!pair  "parse_roots"
  (!type array 1762 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/jcf-parse.c" 92)
  nil )
 (!pair  "class_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 2366)
  nil )
 (!pair  "page_size"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 141)
  nil )
 (!pair  "quick_stack"
  (!type already_seen 49)
  (!srcfileloc  "java/expr.c" 137)
  nil )
 (!pair  "ncode_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 103)
  nil )
 (!pair  "methods_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 102)
  nil )
 (!pair  "operand_type"
  (!type array 1763 nil  gc_used "59" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/expr.c" 100)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "java/decl.c" 457)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "java/decl.c" 451)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "java/decl.c" 447)
  nil )
 (!pair  "pending_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 136)
  nil )
 (!pair  "base_decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 128)
  nil )
 (!pair  "decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 122)
  nil )
 (!pair  "tag_nodes"
  (!type array 1764 nil  gc_used "13" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/constants.c" 325)
  nil )
 (!pair  "alias_labelno"
  (!type already_seen 9)
  (!srcfileloc  "java/class.c" 1388)
  nil )
 (!pair  "this_classdollar"
  (!type already_seen 5)
  (!srcfileloc  "java/class.c" 124)
  nil )
 (!pair  "registered_class"
  (!type already_seen 49)
  (!srcfileloc  "java/class.c" 120)
  nil )
 (!pair  "class_roots"
  (!type array 1765 nil  gc_used "4" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/class.c" 114)
  nil )
 (!pair  "java_builtins"
  (!type array 1766 nil  gc_used "" 
   (!type already_seen 708)
  )
  (!srcfileloc  "java/builtins.c" 111)
  nil )
 (!pair  "pending_static_fields"
  (!type already_seen 49)
  (!srcfileloc  "java/java-tree.h" 1197)
  nil )
 (!pair  "soft_resolvepoolentry_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 575)
  nil )
 (!pair  "java_global_trees"
  (!type array 1767 nil  gc_used "JTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/java-tree.h" 319)
  nil )
 (!pair  "constants_data_field_decl_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 178)
  nil )
 (!pair  "constants_field_decl_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 175)
  nil )
 (!pair  "gcj_abi_version"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 172)
  nil )
 (!pair  "java_io_serializable_identifier_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 171)
  nil )
 (!pair  "java_lang_cloneable_identifier_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 170)
  nil )
 (!pair  "current_jcf"
  (!type already_seen 494)
  (!srcfileloc  "java/java-tree.h" 121)
  nil )
 (!pair  "go_non_zero_struct"
  (!type already_seen 5)
  (!srcfileloc  "go/go-c.h" 64)
  nil )
 (!pair  "go_gc_root"
  (!type already_seen 5)
  (!srcfileloc  "go/go-lang.c" 534)
  nil )
 (!pair  "gfc_rank_cst"
  (!type array 1768 nil  gc_used "GFC_MAX_DIMENSIONS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-const.h" 64)
  nil )
 (!pair  "gfor_fndecl_ieee_procedure_exit"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 827)
  nil )
 (!pair  "gfor_fndecl_ieee_procedure_entry"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 826)
  nil )
 (!pair  "gfor_fndecl_sr_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 823)
  nil )
 (!pair  "gfor_fndecl_si_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 822)
  nil )
 (!pair  "gfor_fndecl_sc_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 821)
  nil )
 (!pair  "gfor_fndecl_iargc"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 818)
  nil )
 (!pair  "gfor_fndecl_size1"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 817)
  nil )
 (!pair  "gfor_fndecl_size0"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 816)
  nil )
 (!pair  "gfor_fndecl_convert_char4_to_char1"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 813)
  nil )
 (!pair  "gfor_fndecl_convert_char1_to_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 812)
  nil )
 (!pair  "gfor_fndecl_select_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 809)
  nil )
 (!pair  "gfor_fndecl_adjustr_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 808)
  nil )
 (!pair  "gfor_fndecl_adjustl_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 807)
  nil )
 (!pair  "gfor_fndecl_string_minmax_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 806)
  nil )
 (!pair  "gfor_fndecl_string_trim_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 805)
  nil )
 (!pair  "gfor_fndecl_string_verify_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 804)
  nil )
 (!pair  "gfor_fndecl_string_scan_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 803)
  nil )
 (!pair  "gfor_fndecl_string_index_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 802)
  nil )
 (!pair  "gfor_fndecl_string_len_trim_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 801)
  nil )
 (!pair  "gfor_fndecl_concat_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 800)
  nil )
 (!pair  "gfor_fndecl_compare_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 799)
  nil )
 (!pair  "gfor_fndecl_select_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 798)
  nil )
 (!pair  "gfor_fndecl_adjustr"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 797)
  nil )
 (!pair  "gfor_fndecl_adjustl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 796)
  nil )
 (!pair  "gfor_fndecl_string_minmax"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 795)
  nil )
 (!pair  "gfor_fndecl_string_trim"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 794)
  nil )
 (!pair  "gfor_fndecl_string_verify"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 793)
  nil )
 (!pair  "gfor_fndecl_string_scan"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 792)
  nil )
 (!pair  "gfor_fndecl_string_index"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 791)
  nil )
 (!pair  "gfor_fndecl_string_len_trim"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 790)
  nil )
 (!pair  "gfor_fndecl_concat_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 789)
  nil )
 (!pair  "gfor_fndecl_compare_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 788)
  nil )
 (!pair  "gfor_fndecl_zgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 785)
  nil )
 (!pair  "gfor_fndecl_cgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 784)
  nil )
 (!pair  "gfor_fndecl_dgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 783)
  nil )
 (!pair  "gfor_fndecl_sgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 782)
  nil )
 (!pair  "gfor_fndecl_math_ishftc16"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 779)
  nil )
 (!pair  "gfor_fndecl_math_ishftc8"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 778)
  nil )
 (!pair  "gfor_fndecl_math_ishftc4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 777)
  nil )
 (!pair  "gfor_fndecl_math_powi"
  (!type array 1769 nil  gc_used "4" 
   (!type array 1770 nil  gc_used "3" 
    (!type already_seen 717)
   )
  )
  (!srcfileloc  "fortran/trans.h" 776)
  nil )
 (!pair  "gfor_fndecl_co_sum"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 763)
  nil )
 (!pair  "gfor_fndecl_co_reduce"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 762)
  nil )
 (!pair  "gfor_fndecl_co_min"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 761)
  nil )
 (!pair  "gfor_fndecl_co_max"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 760)
  nil )
 (!pair  "gfor_fndecl_co_broadcast"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 759)
  nil )
 (!pair  "gfor_fndecl_caf_unlock"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 758)
  nil )
 (!pair  "gfor_fndecl_caf_lock"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 757)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_op"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 756)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_cas"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 755)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_ref"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 754)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_def"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 753)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop_str"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 752)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 751)
  nil )
 (!pair  "gfor_fndecl_caf_sync_images"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 750)
  nil )
 (!pair  "gfor_fndecl_caf_sync_memory"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 749)
  nil )
 (!pair  "gfor_fndecl_caf_sync_all"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 748)
  nil )
 (!pair  "gfor_fndecl_caf_sendget"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 747)
  nil )
 (!pair  "gfor_fndecl_caf_send"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 746)
  nil )
 (!pair  "gfor_fndecl_caf_get"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 745)
  nil )
 (!pair  "gfor_fndecl_caf_deregister"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 744)
  nil )
 (!pair  "gfor_fndecl_caf_register"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 743)
  nil )
 (!pair  "gfor_fndecl_caf_num_images"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 742)
  nil )
 (!pair  "gfor_fndecl_caf_this_image"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 741)
  nil )
 (!pair  "gfor_fndecl_caf_finalize"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 740)
  nil )
 (!pair  "gfor_fndecl_caf_init"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 739)
  nil )
 (!pair  "gfor_fndecl_system_clock8"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 735)
  nil )
 (!pair  "gfor_fndecl_system_clock4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 734)
  nil )
 (!pair  "gfor_fndecl_associated"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 733)
  nil )
 (!pair  "gfor_fndecl_in_unpack"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 732)
  nil )
 (!pair  "gfor_fndecl_in_pack"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 731)
  nil )
 (!pair  "gfor_fndecl_fdate"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 730)
  nil )
 (!pair  "gfor_fndecl_ctime"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 729)
  nil )
 (!pair  "gfor_fndecl_ttynam"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 728)
  nil )
 (!pair  "gfor_fndecl_set_options"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 727)
  nil )
 (!pair  "gfor_fndecl_set_fpe"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 726)
  nil )
 (!pair  "gfor_fndecl_generate_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 725)
  nil )
 (!pair  "gfor_fndecl_os_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 724)
  nil )
 (!pair  "gfor_fndecl_runtime_warning_at"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 723)
  nil )
 (!pair  "gfor_fndecl_runtime_error_at"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 722)
  nil )
 (!pair  "gfor_fndecl_runtime_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 721)
  nil )
 (!pair  "gfor_fndecl_error_stop_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 720)
  nil )
 (!pair  "gfor_fndecl_error_stop_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 719)
  nil )
 (!pair  "gfor_fndecl_stop_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 718)
  nil )
 (!pair  "gfor_fndecl_stop_numeric_f08"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 717)
  nil )
 (!pair  "gfor_fndecl_stop_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 716)
  nil )
 (!pair  "gfor_fndecl_pause_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 715)
  nil )
 (!pair  "gfor_fndecl_pause_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 714)
  nil )
 (!pair  "gfc_static_ctors"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 617)
  nil )
 (!pair  "gfc_charlen_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 40)
  nil )
 (!pair  "complex_float128_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 34)
  nil )
 (!pair  "float128_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 33)
  nil )
 (!pair  "pchar_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 32)
  nil )
 (!pair  "prvoid_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 31)
  nil )
 (!pair  "pvoid_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 30)
  nil )
 (!pair  "ppvoid_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 29)
  nil )
 (!pair  "gfc_character1_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 28)
  nil )
 (!pair  "gfc_array_range_type"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 27)
  nil )
 (!pair  "gfc_array_index_type"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 26)
  nil )
 (!pair  "gfc_pcharacter_types"
  (!type array 1771 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 114)
  nil )
 (!pair  "gfc_character_types"
  (!type array 1772 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 113)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 1773 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 109)
  nil )
 (!pair  "gfc_real_types"
  (!type array 1774 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 108)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 1775 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 104)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 1776 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 103)
  nil )
 (!pair  "gfc_array_descriptor_base_caf"
  (!type array 1777 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 95)
  nil )
 (!pair  "gfc_array_descriptor_base"
  (!type array 1778 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 94)
  nil )
 (!pair  "gfc_max_array_element_size"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.c" 93)
  nil )
 (!pair  "gfc_desc_dim_type"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.c" 92)
  nil )
 (!pair  "select_struct"
  (!type array 1779 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-stmt.c" 2343)
  nil )
 (!pair  "dt_parm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-io.c" 171)
  nil )
 (!pair  "iocall"
  (!type array 1780 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-io.c" 162)
  nil )
 (!pair  "st_parameter_field"
  (!type array 1781 nil  gc_used "" 
   (!type already_seen 733)
  )
  (!srcfileloc  "fortran/trans-io.c" 112)
  nil )
 (!pair  "st_parameter"
  (!type array 1782 nil  gc_used "" 
   (!type already_seen 732)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 1783 nil  gc_used "" 
   (!type already_seen 734)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 128)
  nil )
 (!pair  "module_htab"
  (!type already_seen 737)
  (!srcfileloc  "fortran/trans-decl.c" 4331)
  nil )
 (!pair  "saved_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 86)
  nil )
 (!pair  "nonlocal_dummy_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 82)
  nil )
 (!pair  "saved_parent_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 79)
  nil )
 (!pair  "saved_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 78)
  nil )
 (!pair  "parent_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 73)
  nil )
 (!pair  "current_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 72)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "fortran/f95-lang.c" 346)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "fortran/f95-lang.c" 342)
  nil )
 (!pair  "current_translation_unit"
  (!type already_seen 5)
  (!srcfileloc  "fortran/f95-lang.c" 202)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "fortran/f95-lang.c" 196)
  nil )
 (!pair  "constexpr_call_table"
  (!type already_seen 740)
  (!srcfileloc  "cp/constexpr.c" 914)
  nil )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 747)
  (!srcfileloc  "cp/constexpr.c" 142)
  nil )
 (!pair  "vlt_register_set_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 145)
  nil )
 (!pair  "vlt_register_pairs_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 144)
  nil )
 (!pair  "vlt_saved_class_info"
  (!type already_seen 49)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 143)
  nil )
 (!pair  "pending_noexcept_checks"
  (!type already_seen 752)
  (!srcfileloc  "cp/except.c" 1195)
  nil )
 (!pair  "cp_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-lang.c" 150)
  nil )
 (!pair  "shadowed_var_for_decl"
  (!type already_seen 1261)
  (!srcfileloc  "cp/cp-objcp-common.c" 191)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 8938)
  nil )
 (!pair  "sizeof_biggest_empty_class"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 129)
  nil )
 (!pair  "abstract_pending_vars"
  (!type already_seen 761)
  (!srcfileloc  "cp/typeck2.c" 196)
  nil )
 (!pair  "thunk_labelno"
  (!type already_seen 9)
  (!srcfileloc  "cp/method.c" 221)
  nil )
 (!pair  "generic_parm_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 33543)
  nil )
 (!pair  "the_parser"
  (!type already_seen 773)
  (!srcfileloc  "cp/parser.c" 32874)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 767)
  (!srcfileloc  "cp/parser.c" 8957)
  nil )
 (!pair  "lambda_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 8951)
  nil )
 (!pair  "lambda_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/parser.c" 8950)
  nil )
 (!pair  "literal_zeros"
  (!type array 1784 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/parser.c" 6812)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 779)
  (!srcfileloc  "cp/parser.c" 1818)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "list_hash_table"
  (!type already_seen 792)
  (!srcfileloc  "cp/tree.c" 1667)
  nil )
 (!pair  "cplus_array_htab"
  (!type already_seen 796)
  (!srcfileloc  "cp/tree.c" 780)
  nil )
 (!pair  "deferred_access_no_check"
  (!type already_seen 9)
  (!srcfileloc  "cp/semantics.c" 155)
  nil )
 (!pair  "deferred_access_stack"
  (!type already_seen 801)
  (!srcfileloc  "cp/semantics.c" 154)
  nil )
 (!pair  "pending_repo"
  (!type already_seen 49)
  (!srcfileloc  "cp/repo.c" 55)
  nil )
 (!pair  "last_error_tinst_level"
  (!type already_seen 813)
  (!srcfileloc  "cp/pt.c" 8552)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 49)
  (!srcfileloc  "cp/pt.c" 113)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 808)
  (!srcfileloc  "cp/pt.c" 107)
  nil )
 (!pair  "decl_specializations"
  (!type already_seen 808)
  (!srcfileloc  "cp/pt.c" 105)
  nil )
 (!pair  "saved_access_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 82)
  nil )
 (!pair  "current_tinst_level"
  (!type already_seen 813)
  (!srcfileloc  "cp/pt.c" 80)
  nil )
 (!pair  "saved_trees"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 77)
  nil )
 (!pair  "last_pending_template"
  (!type already_seen 812)
  (!srcfileloc  "cp/pt.c" 72)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 812)
  (!srcfileloc  "cp/pt.c" 71)
  nil )
 (!pair  "ssdf_decls"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 3429)
  nil )
 (!pair  "ssdf_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3425)
  nil )
 (!pair  "priority_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3422)
  nil )
 (!pair  "initialize_p_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3419)
  nil )
 (!pair  "mangling_aliases"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 123)
  nil )
 (!pair  "no_linkage_decls"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 119)
  nil )
 (!pair  "deferred_fns"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 115)
  nil )
 (!pair  "pending_statics"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 111)
  nil )
 (!pair  "start_cleanup_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/decl.c" 6984)
  nil )
 (!pair  "typename_htab"
  (!type already_seen 820)
  (!srcfileloc  "cp/decl.c" 3400)
  nil )
 (!pair  "incomplete_vars"
  (!type already_seen 825)
  (!srcfileloc  "cp/decl.c" 279)
  nil )
 (!pair  "java_iface_lookup_fn"
  (!type already_seen 5)
  (!srcfileloc  "cp/call.c" 7663)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 49)
  (!srcfileloc  "cp/call.c" 6762)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 49)
  (!srcfileloc  "cp/cp-tree.h" 5806)
  nil )
 (!pair  "deferred_mark_used_calls"
  (!type already_seen 49)
  (!srcfileloc  "cp/cp-tree.h" 5460)
  nil )
 (!pair  "assignment_operator_name_info"
  (!type array 1785 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 838)
  )
  (!srcfileloc  "cp/cp-tree.h" 4884)
  nil )
 (!pair  "operator_name_info"
  (!type array 1786 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 838)
  )
  (!srcfileloc  "cp/cp-tree.h" 4881)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4624)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4622)
  nil )
 (!pair  "local_classes"
  (!type already_seen 49)
  (!srcfileloc  "cp/cp-tree.h" 4519)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4482)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 847)
  (!srcfileloc  "cp/cp-tree.h" 1096)
  nil )
 (!pair  "cp_global_trees"
  (!type array 1787 nil  gc_used "CPTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/cp-tree.h" 940)
  nil )
 (!pair  "lambda_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2115)
  nil )
 (!pair  "anon_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2096)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 96)
  (!srcfileloc  "cp/name-lookup.c" 1536)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_bindings"
  (!type already_seen 101)
  (!srcfileloc  "cp/name-lookup.c" 285)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_entry"
  (!type already_seen 531)
  (!srcfileloc  "cp/name-lookup.c" 101)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "anonymous_namespace_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.c" 74)
  nil )
 (!pair  "global_type_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 286)
  nil )
 (!pair  "global_scope_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 281)
  nil )
 (!pair  "global_namespace"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 280)
  nil )
 (!pair  "temp_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 3920)
  nil )
 (!pair  "conv_type_names"
  (!type already_seen 852)
  (!srcfileloc  "cp/mangle.c" 3791)
  nil )
 (!pair  "subst_identifiers"
  (!type array 1788 nil  gc_used "SUBID_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/mangle.c" 155)
  nil )
 (!pair  "G"
  (!type already_seen 854)
  (!srcfileloc  "cp/mangle.c" 126)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 856)
  (!srcfileloc  "cp/rtti.c" 114)
  nil )
 (!pair  "current_omp_declare_target_attribute"
  (!type already_seen 9)
  (!srcfileloc  "c/c-lang.h" 60)
  nil )
 (!pair  "the_parser"
  (!type already_seen 861)
  (!srcfileloc  "c/c-parser.c" 249)
  nil )
 (!pair  "options_stack"
  (!type already_seen 870)
  (!srcfileloc  "c-family/c-pragma.c" 923)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 872)
  (!srcfileloc  "c-family/c-pragma.c" 452)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 875)
  (!srcfileloc  "c-family/c-pragma.c" 263)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 878)
  (!srcfileloc  "c-family/c-pragma.c" 74)
  nil )
 (!pair  "pragma_extern_prefix"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-pragma.h" 234)
  nil )
 (!pair  "lazy_hex_fp_value_count"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1404)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 1789 nil  gc_used "12" 
   (!type already_seen 881)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1403)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-common.h" 1064)
  nil )
 (!pair  "pending_lang_change"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 987)
  nil )
 (!pair  "c_global_trees"
  (!type array 1790 nil  gc_used "CTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.h" 471)
  nil )
 (!pair  "ridpointers"
  (!type already_seen 6)
  (!srcfileloc  "c-family/c-common.h" 265)
  (!options 
   (!option length string  "(int) RID_MAX")
  )
 )
 (!pair  "tree_vector_cache"
  (!type already_seen 889)
  (!srcfileloc  "c-family/c-common.c" 11905)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 891)
  (!srcfileloc  "c-family/c-common.c" 9311)
  nil )
 (!pair  "compound_literal_number"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.c" 5874)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1791 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.c" 5224)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 894)
  (!srcfileloc  "c-family/c-common.c" 4951)
  nil )
 (!pair  "ext_block"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 10704)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 901)
  (!srcfileloc  "c/c-decl.c" 582)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 639)
  (!srcfileloc  "c/c-decl.c" 534)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 645)
  (!srcfileloc  "c/c-decl.c" 530)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 645)
  (!srcfileloc  "c/c-decl.c" 526)
  nil )
 (!pair  "file_scope"
  (!type already_seen 645)
  (!srcfileloc  "c/c-decl.c" 521)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 645)
  (!srcfileloc  "c/c-decl.c" 517)
  nil )
 (!pair  "current_scope"
  (!type already_seen 645)
  (!srcfileloc  "c/c-decl.c" 511)
  nil )
 (!pair  "visible_builtins"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 144)
  nil )
 (!pair  "c_stmt_tree"
  (!type already_seen 91)
  (!srcfileloc  "c/c-decl.c" 137)
  nil )
 (!pair  "gnat_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/misc.c" 920)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1792 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5552)
  nil )
 (!pair  "builtin_types"
  (!type array 1793 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5400)
  nil )
 (!pair  "dummy_global"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5179)
  nil )
 (!pair  "pad_type_hash_table"
  (!type already_seen 914)
  (!srcfileloc  "ada/gcc-interface/utils.c" 258)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "free_block_chain"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 240)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "global_renaming_pointers"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/utils.c" 237)
  nil )
 (!pair  "builtin_decls"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/utils.c" 234)
  nil )
 (!pair  "global_decls"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/utils.c" 231)
  nil )
 (!pair  "global_context"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 228)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 918)
  (!srcfileloc  "ada/gcc-interface/utils.c" 225)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 918)
  (!srcfileloc  "ada/gcc-interface/utils.c" 222)
  nil )
 (!pair  "float_types"
  (!type array 1794 nil  gc_used "NUM_MACHINE_MODES" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 206)
  nil )
 (!pair  "signed_and_unsigned_types"
  (!type array 1795 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 1796 nil  gc_used "2" 
    (!type already_seen 5)
   )
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 203)
  nil )
 (!pair  "dummy_node_table"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 186)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "associate_gnat_to_gnu"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 174)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "gnu_program_error_label_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 234)
  nil )
 (!pair  "gnu_storage_error_label_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 233)
  nil )
 (!pair  "gnu_constraint_error_label_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 232)
  nil )
 (!pair  "gnu_loop_stack"
  (!type already_seen 921)
  (!srcfileloc  "ada/gcc-interface/trans.c" 229)
  nil )
 (!pair  "gnu_return_var_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 205)
  nil )
 (!pair  "gnu_return_label_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 201)
  nil )
 (!pair  "gnu_elab_proc_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 197)
  nil )
 (!pair  "gnu_incoming_exc_ptr"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 194)
  nil )
 (!pair  "gnu_except_ptr_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 191)
  nil )
 (!pair  "elab_info_list"
  (!type already_seen 929)
  (!srcfileloc  "ada/gcc-interface/trans.c" 186)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 931)
  (!srcfileloc  "ada/gcc-interface/trans.c" 173)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 931)
  (!srcfileloc  "ada/gcc-interface/trans.c" 170)
  nil )
 (!pair  "annotate_value_cache"
  (!type already_seen 935)
  (!srcfileloc  "ada/gcc-interface/decl.c" 169)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 1797 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 460)
  nil )
 (!pair  "gnat_raise_decls"
  (!type array 1798 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 459)
  nil )
 (!pair  "gnat_std_decls"
  (!type array 1799 nil  gc_used "(int) ADT_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 458)
  nil )
 (!pair  "internal_fn_fnspec_array"
  (!type array 1800 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "internal-fn.h" 52)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 956)
  (!srcfileloc  "ipa-devirt.c" 625)
  nil )
 (!pair  "ubsan_vptr_type_cache_decl"
  (!type already_seen 5)
  (!srcfileloc  "ubsan.c" 1056)
  nil )
 (!pair  "ubsan_source_location_type"
  (!type already_seen 5)
  (!srcfileloc  "ubsan.c" 265)
  nil )
 (!pair  "ubsan_type_descriptor_type"
  (!type already_seen 5)
  (!srcfileloc  "ubsan.c" 216)
  nil )
 (!pair  "decl_tree_for_type"
  (!type already_seen 976)
  (!srcfileloc  "ubsan.c" 127)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "asan_ctor_statements"
  (!type already_seen 5)
  (!srcfileloc  "asan.c" 2452)
  nil )
 (!pair  "asan_detect_stack_use_after_return"
  (!type already_seen 5)
  (!srcfileloc  "asan.c" 317)
  nil )
 (!pair  "shadow_ptr_types"
  (!type array 1801 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "asan.c" 314)
  nil )
 (!pair  "verify_vtbl_ptr_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "vtable-verify.c" 178)
  nil )
 (!pair  "inline_summaries"
  (!type already_seen 994)
  (!srcfileloc  "ipa-inline.h" 192)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1081)
  (!srcfileloc  "trans-mem.c" 507)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipa_edge_args_vector"
  (!type already_seen 1086)
  (!srcfileloc  "ipa-prop.h" 548)
  nil )
 (!pair  "ipcp_transformations"
  (!type already_seen 1106)
  (!srcfileloc  "ipa-prop.h" 546)
  nil )
 (!pair  "ipa_escaped_pt"
  (!type already_seen 418)
  (!srcfileloc  "tree-ssa-alias.h" 156)
  nil )
 (!pair  "free_phinodes"
  (!type array 1802 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 416)
  )
  (!srcfileloc  "tree-phinodes.c" 93)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "clone_fn_id_num"
  (!type already_seen 9)
  (!srcfileloc  "cgraphclones.c" 539)
  nil )
 (!pair  "vtable_entry_type"
  (!type already_seen 5)
  (!srcfileloc  "cgraphunit.c" 247)
  nil )
 (!pair  "order"
  (!type already_seen 1028)
  (!srcfileloc  "passes.c" 1666)
  (!options 
   (!option length string  "nnodes")
  )
 )
 (!pair  "mips_builtin_decls"
  (!type array 1803 nil  gc_used "ARRAY_SIZE (mips_builtins)" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/mips/mips.c" 14619)
  nil )
 (!pair  "mips_gnu_local_gp"
  (!type already_seen 135)
  (!srcfileloc  "config/mips/mips.c" 11210)
  nil )
 (!pair  "mips16_local_aliases"
  (!type already_seen 1147)
  (!srcfileloc  "config/mips/mips.c" 6625)
  nil )
 (!pair  "mips_tls_symbol"
  (!type already_seen 135)
  (!srcfileloc  "config/mips/mips.c" 3210)
  nil )
 (!pair  "mips16_flipper"
  (!type already_seen 9)
  (!srcfileloc  "config/mips/mips.c" 1295)
  nil )
 (!pair  "mflip_mips16_htab"
  (!type already_seen 1155)
  (!srcfileloc  "config/mips/mips.c" 1291)
  nil )
 (!pair  "mips_output_filename_first_time"
  (!type already_seen 9)
  (!srcfileloc  "config/mips/mips.c" 654)
  nil )
 (!pair  "stack_chk_fail_decl"
  (!type already_seen 5)
  (!srcfileloc  "targhooks.c" 743)
  nil )
 (!pair  "stack_chk_guard_decl"
  (!type already_seen 5)
  (!srcfileloc  "targhooks.c" 710)
  nil )
 (!pair  "offload_vars"
  (!type already_seen 49)
  (!srcfileloc  "omp-low.h" 33)
  nil )
 (!pair  "offload_funcs"
  (!type already_seen 49)
  (!srcfileloc  "omp-low.h" 32)
  nil )
 (!pair  "critical_name_mutexes"
  (!type already_seen 419)
  (!srcfileloc  "omp-low.c" 10420)
  nil )
 (!pair  "trampoline_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-nested.c" 506)
  nil )
 (!pair  "ptr_void"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 92)
  nil )
 (!pair  "ic_gcov_type_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 91)
  nil )
 (!pair  "ic_void_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 90)
  nil )
 (!pair  "tree_ior_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 87)
  nil )
 (!pair  "tree_average_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 86)
  nil )
 (!pair  "tree_time_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 85)
  nil )
 (!pair  "tree_indirect_call_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 84)
  nil )
 (!pair  "tree_one_value_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 83)
  nil )
 (!pair  "tree_pow2_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 82)
  nil )
 (!pair  "tree_interval_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 81)
  nil )
 (!pair  "gcov_type_node"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 80)
  nil )
 (!pair  "scalar_evolution_info"
  (!type already_seen 1182)
  (!srcfileloc  "tree-scalar-evolution.c" 360)
  nil )
 (!pair  "chrec_known"
  (!type already_seen 5)
  (!srcfileloc  "tree-chrec.h" 30)
  nil )
 (!pair  "chrec_dont_know"
  (!type already_seen 5)
  (!srcfileloc  "tree-chrec.h" 29)
  nil )
 (!pair  "tmp_var_id_num"
  (!type already_seen 9)
  (!srcfileloc  "gimple-expr.c" 455)
  nil )
 (!pair  "stmt_list_cache"
  (!type already_seen 49)
  (!srcfileloc  "tree-iterator.c" 42)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "mem_addr_template_list"
  (!type already_seen 1200)
  (!srcfileloc  "tree-ssa-address.c" 120)
  nil )
 (!pair  "chkp_abnormal_copies"
  (!type already_seen 119)
  (!srcfileloc  "tree-chkp.c" 404)
  nil )
 (!pair  "size_tmp_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 403)
  nil )
 (!pair  "tmp_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 402)
  nil )
 (!pair  "incomplete_bounds"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 401)
  nil )
 (!pair  "none_bounds"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 400)
  nil )
 (!pair  "zero_bounds"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 399)
  nil )
 (!pair  "entry_block"
  (!type already_seen 298)
  (!srcfileloc  "tree-chkp.c" 398)
  nil )
 (!pair  "chkp_none_bounds_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 396)
  nil )
 (!pair  "chkp_zero_bounds_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 395)
  nil )
 (!pair  "chkp_uintptr_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 393)
  nil )
 (!pair  "elf_fini_array_section"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 7671)
  nil )
 (!pair  "elf_init_array_section"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 7670)
  nil )
 (!pair  "tm_clone_hash"
  (!type already_seen 1237)
  (!srcfileloc  "varasm.c" 5798)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "weakref_targets"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 5462)
  nil )
 (!pair  "const_desc_htab"
  (!type already_seen 1245)
  (!srcfileloc  "varasm.c" 2911)
  nil )
 (!pair  "initial_trampoline"
  (!type already_seen 135)
  (!srcfileloc  "varasm.c" 2624)
  nil )
 (!pair  "weak_decls"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2426)
  nil )
 (!pair  "pending_assemble_externals"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2356)
  nil )
 (!pair  "shared_constant_pool"
  (!type already_seen 1573)
  (!srcfileloc  "varasm.c" 224)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 221)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1249)
  (!srcfileloc  "varasm.c" 218)
  nil )
 (!pair  "section_htab"
  (!type already_seen 1252)
  (!srcfileloc  "varasm.c" 207)
  nil )
 (!pair  "unnamed_sections"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 191)
  nil )
 (!pair  "const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 106)
  nil )
 (!pair  "weak_global_object_name"
  (!type already_seen 39)
  (!srcfileloc  "varasm.c" 92)
  nil )
 (!pair  "first_global_object_name"
  (!type already_seen 39)
  (!srcfileloc  "varasm.c" 91)
  nil )
 (!pair  "gcc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 11931)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 1804 nil  gc_used "2 * MAX_INT_CACHED_PREC + 2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree.c" 7796)
  nil )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1258)
  (!srcfileloc  "tree.c" 297)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1261)
  (!srcfileloc  "tree.c" 271)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1261)
  (!srcfileloc  "tree.c" 268)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 1264)
  (!srcfileloc  "tree.c" 262)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_target_option_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 254)
  nil )
 (!pair  "cl_optimization_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 253)
  nil )
 (!pair  "int_cst_hash_table"
  (!type already_seen 1267)
  (!srcfileloc  "tree.c" 246)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "int_cst_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 238)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 1270)
  (!srcfileloc  "tree.c" 235)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "next_debug_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 197)
  nil )
 (!pair  "next_type_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 194)
  nil )
 (!pair  "next_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 192)
  nil )
 (!pair  "spd"
  (!type already_seen 1274)
  (!srcfileloc  "stringpool.c" 268)
  nil )
 (!pair  "size_functions"
  (!type already_seen 49)
  (!srcfileloc  "stor-layout.c" 128)
  nil )
 (!pair  "sdbout_initialized"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 77)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 76)
  nil )
 (!pair  "deferred_global_decls"
  (!type already_seen 49)
  (!srcfileloc  "sdbout.c" 70)
  nil )
 (!pair  "unnamed_struct_number"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 66)
  nil )
 (!pair  "anonymous_types"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 62)
  nil )
 (!pair  "cfg_layout_function_header"
  (!type already_seen 323)
  (!srcfileloc  "cfgrtl.c" 96)
  nil )
 (!pair  "cfg_layout_function_footer"
  (!type already_seen 323)
  (!srcfileloc  "cfgrtl.c" 95)
  nil )
 (!pair  "libfunc_decls"
  (!type already_seen 1298)
  (!srcfileloc  "optabs.c" 6109)
  nil )
 (!pair  "unused_expr_list"
  (!type already_seen 135)
  (!srcfileloc  "lists.c" 36)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "unused_insn_list"
  (!type already_seen 135)
  (!srcfileloc  "lists.c" 33)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "queue"
  (!type already_seen 49)
  (!srcfileloc  "godump.c" 72)
  nil )
 (!pair  "test_insn"
  (!type already_seen 323)
  (!srcfileloc  "gcse.c" 854)
  nil )
 (!pair  "sjlj_fc_type_node"
  (!type already_seen 5)
  (!srcfileloc  "except.c" 193)
  nil )
 (!pair  "type_to_runtime_map"
  (!type already_seen 1331)
  (!srcfileloc  "except.c" 190)
  nil )
 (!pair  "call_site_base"
  (!type already_seen 9)
  (!srcfileloc  "except.c" 183)
  nil )
 (!pair  "next_block_index"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 4594)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1343)
  (!srcfileloc  "function.c" 596)
  nil )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1349)
  (!srcfileloc  "function.c" 145)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1349)
  (!srcfileloc  "function.c" 143)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "funcdef_no"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 125)
  nil )
 (!pair  "block_clear_fn"
  (!type already_seen 5)
  (!srcfileloc  "expr.h" 85)
  nil )
 (!pair  "block_move_fn"
  (!type already_seen 5)
  (!srcfileloc  "expr.c" 1408)
  nil )
 (!pair  "stack_check_libfunc"
  (!type already_seen 135)
  (!srcfileloc  "explow.c" 1493)
  nil )
 (!pair  "hard_reg_clobbers"
  (!type array 1805 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 1806 nil  gc_used "FIRST_PSEUDO_REGISTER" 
    (!type already_seen 135)
   )
  )
  (!srcfileloc  "emit-rtl.c" 6236)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_sequence_stack"
  (!type already_seen 1570)
  (!srcfileloc  "emit-rtl.c" 5380)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "spill_slot_decl"
  (!type already_seen 5)
  (!srcfileloc  "emit-rtl.c" 2493)
  nil )
 (!pair  "const_fixed_htab"
  (!type already_seen 1357)
  (!srcfileloc  "emit-rtl.c" 192)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1360)
  (!srcfileloc  "emit-rtl.c" 183)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1363)
  (!srcfileloc  "emit-rtl.c" 174)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_wide_int_htab"
  (!type already_seen 1366)
  (!srcfileloc  "emit-rtl.c" 165)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1369)
  (!srcfileloc  "emit-rtl.c" 157)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "emit-rtl.c" 112)
  nil )
 (!pair  "shift_test"
  (!type already_seen 135)
  (!srcfileloc  "dojump.c" 183)
  nil )
 (!pair  "and_test"
  (!type already_seen 135)
  (!srcfileloc  "dojump.c" 182)
  nil )
 (!pair  "and_reg"
  (!type already_seen 135)
  (!srcfileloc  "dojump.c" 181)
  nil )
 (!pair  "vector_last_nunits"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 116)
  nil )
 (!pair  "vector_last_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 115)
  nil )
 (!pair  "vector_inner_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 114)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1392)
  (!srcfileloc  "dwarf2out.c" 4266)
  nil )
 (!pair  "generic_type_instances"
  (!type already_seen 49)
  (!srcfileloc  "dwarf2out.c" 3041)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1398)
  (!srcfileloc  "dwarf2out.c" 3035)
  nil )
 (!pair  "file_table_last_lookup"
  (!type already_seen 481)
  (!srcfileloc  "dwarf2out.c" 3033)
  nil )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3030)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 481)
  (!srcfileloc  "dwarf2out.c" 3027)
  nil )
 (!pair  "poc_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3024)
  nil )
 (!pair  "loclabel_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3021)
  nil )
 (!pair  "have_location_lists"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3018)
  nil )
 (!pair  "ranges_by_label_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3011)
  nil )
 (!pair  "ranges_by_label_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3008)
  nil )
 (!pair  "ranges_by_label"
  (!type already_seen 1440)
  (!srcfileloc  "dwarf2out.c" 3005)
  (!options 
   (!option length string  "ranges_by_label_allocated")
  )
 )
 (!pair  "ranges_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3001)
  nil )
 (!pair  "ranges_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2998)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1442)
  (!srcfileloc  "dwarf2out.c" 2995)
  (!options 
   (!option length string  "ranges_table_allocated")
  )
 )
 (!pair  "macinfo_table"
  (!type already_seen 1401)
  (!srcfileloc  "dwarf2out.c" 2986)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1404)
  (!srcfileloc  "dwarf2out.c" 2982)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1404)
  (!srcfileloc  "dwarf2out.c" 2978)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1408)
  (!srcfileloc  "dwarf2out.c" 2970)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1409)
  (!srcfileloc  "dwarf2out.c" 2967)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1409)
  (!srcfileloc  "dwarf2out.c" 2966)
  nil )
 (!pair  "abbrev_die_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2951)
  nil )
 (!pair  "abbrev_die_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2948)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 469)
  (!srcfileloc  "dwarf2out.c" 2945)
  (!options 
   (!option length string  "abbrev_die_table_allocated")
  )
 )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1416)
  (!srcfileloc  "dwarf2out.c" 2939)
  nil )
 (!pair  "call_arg_locations"
  (!type already_seen 1423)
  (!srcfileloc  "dwarf2out.c" 2907)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1420)
  (!srcfileloc  "dwarf2out.c" 2904)
  nil )
 (!pair  "common_block_die_table"
  (!type already_seen 1428)
  (!srcfileloc  "dwarf2out.c" 2839)
  nil )
 (!pair  "decl_die_table"
  (!type already_seen 1431)
  (!srcfileloc  "dwarf2out.c" 2829)
  nil )
 (!pair  "file_table"
  (!type already_seen 1434)
  (!srcfileloc  "dwarf2out.c" 2818)
  nil )
 (!pair  "deferred_asm_name"
  (!type already_seen 1438)
  (!srcfileloc  "dwarf2out.c" 2807)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1438)
  (!srcfileloc  "dwarf2out.c" 2803)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 472)
  (!srcfileloc  "dwarf2out.c" 2800)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 468)
  (!srcfileloc  "dwarf2out.c" 2797)
  nil )
 (!pair  "deferred_locations_list"
  (!type already_seen 1444)
  (!srcfileloc  "dwarf2out.c" 1280)
  nil )
 (!pair  "current_unit_personality"
  (!type already_seen 135)
  (!srcfileloc  "dwarf2out.c" 295)
  nil )
 (!pair  "decltype_auto_die"
  (!type already_seen 468)
  (!srcfileloc  "dwarf2out.c" 285)
  nil )
 (!pair  "auto_die"
  (!type already_seen 468)
  (!srcfileloc  "dwarf2out.c" 282)
  nil )
 (!pair  "cold_text_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 279)
  nil )
 (!pair  "cold_text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 276)
  nil )
 (!pair  "text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 275)
  nil )
 (!pair  "have_multiple_function_sections"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 271)
  nil )
 (!pair  "dw2_string_counter"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 268)
  nil )
 (!pair  "skeleton_debug_str_hash"
  (!type already_seen 1447)
  (!srcfileloc  "dwarf2out.c" 266)
  nil )
 (!pair  "debug_str_hash"
  (!type already_seen 1447)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "fde_vec"
  (!type already_seen 1450)
  (!srcfileloc  "dwarf2out.c" 227)
  nil )
 (!pair  "debug_frame_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 192)
  nil )
 (!pair  "debug_ranges_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 191)
  nil )
 (!pair  "debug_str_offsets_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 190)
  nil )
 (!pair  "debug_str_dwo_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 189)
  nil )
 (!pair  "debug_str_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 188)
  nil )
 (!pair  "debug_pubtypes_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 187)
  nil )
 (!pair  "debug_pubnames_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 186)
  nil )
 (!pair  "debug_loc_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 185)
  nil )
 (!pair  "debug_skeleton_line_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 184)
  nil )
 (!pair  "debug_line_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 183)
  nil )
 (!pair  "debug_macinfo_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 182)
  nil )
 (!pair  "debug_addr_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 181)
  nil )
 (!pair  "debug_aranges_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 180)
  nil )
 (!pair  "debug_skeleton_abbrev_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 179)
  nil )
 (!pair  "debug_abbrev_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 178)
  nil )
 (!pair  "debug_skeleton_info_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 177)
  nil )
 (!pair  "debug_info_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 176)
  nil )
 (!pair  "decl_scope_table"
  (!type already_seen 49)
  (!srcfileloc  "dwarf2out.c" 173)
  nil )
 (!pair  "incomplete_types"
  (!type already_seen 49)
  (!srcfileloc  "dwarf2out.c" 166)
  nil )
 (!pair  "used_rtx_array"
  (!type already_seen 251)
  (!srcfileloc  "dwarf2out.c" 160)
  nil )
 (!pair  "saved_do_cfi_asm"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 3396)
  nil )
 (!pair  "dwarf2out_cfi_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 218)
  nil )
 (!pair  "cie_return_save"
  (!type already_seen 1458)
  (!srcfileloc  "dwarf2cfi.c" 216)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1460)
  (!srcfileloc  "dwarf2cfi.c" 214)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2asm.c" 801)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1463)
  (!srcfileloc  "dwarf2asm.c" 799)
  nil )
 (!pair  "cie_cfi_vec"
  (!type already_seen 447)
  (!srcfileloc  "dwarf2out.h" 242)
  nil )
 (!pair  "lastfile_is_base"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 276)
  nil )
 (!pair  "lastfile"
  (!type already_seen 39)
  (!srcfileloc  "dbxout.c" 272)
  nil )
 (!pair  "source_label_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 268)
  nil )
 (!pair  "dbxout_source_line_counter"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 263)
  nil )
 (!pair  "scope_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 259)
  nil )
 (!pair  "next_file_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 255)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "dbxout.c" 222)
  nil )
 (!pair  "next_type_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 216)
  nil )
 (!pair  "typevec_len"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 210)
  nil )
 (!pair  "typevec"
  (!type already_seen 1467)
  (!srcfileloc  "dbxout.c" 206)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1550)
  (!srcfileloc  "cgraph.c" 173)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1492)
  (!srcfileloc  "cgraph.c" 153)
  nil )
 (!pair  "callmem"
  (!type already_seen 135)
  (!srcfileloc  "cselib.c" 242)
  nil )
 (!pair  "bitmap_ggc_free"
  (!type already_seen 121)
  (!srcfileloc  "bitmap.c" 140)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "frame_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1066)
  nil )
 (!pair  "varargs_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1044)
  nil )
 (!pair  "alias_sets"
  (!type already_seen 1504)
  (!srcfileloc  "alias.c" 315)
  nil )
 (!pair  "reg_known_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 293)
  nil )
 (!pair  "old_reg_base_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 274)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "arg_base_value"
  (!type already_seen 135)
  (!srcfileloc  "alias.c" 266)
  nil )
 (!pair  "reg_base_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 261)
  nil )
 (!pair  "restinsn"
  (!type already_seen 323)
  (!srcfileloc  "caller-save.c" 131)
  nil )
 (!pair  "saveinsn"
  (!type already_seen 323)
  (!srcfileloc  "caller-save.c" 130)
  nil )
 (!pair  "test_mem"
  (!type already_seen 135)
  (!srcfileloc  "caller-save.c" 129)
  nil )
 (!pair  "test_reg"
  (!type already_seen 135)
  (!srcfileloc  "caller-save.c" 128)
  nil )
 (!pair  "restpat"
  (!type already_seen 135)
  (!srcfileloc  "caller-save.c" 127)
  nil )
 (!pair  "savepat"
  (!type already_seen 135)
  (!srcfileloc  "caller-save.c" 126)
  nil )
 (!pair  "symtab"
  (!type already_seen 1528)
  (!srcfileloc  "cgraph.h" 2175)
  nil )
 (!pair  "in_cold_section_p"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 525)
  nil )
 (!pair  "in_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 524)
  nil )
 (!pair  "bss_noswitch_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 522)
  nil )
 (!pair  "lcomm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 521)
  nil )
 (!pair  "comm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 520)
  nil )
 (!pair  "tls_comm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 519)
  nil )
 (!pair  "eh_frame_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 518)
  nil )
 (!pair  "exception_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 517)
  nil )
 (!pair  "sbss_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 516)
  nil )
 (!pair  "bss_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 515)
  nil )
 (!pair  "dtors_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 514)
  nil )
 (!pair  "ctors_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 513)
  nil )
 (!pair  "sdata_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 512)
  nil )
 (!pair  "readonly_data_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 511)
  nil )
 (!pair  "data_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 510)
  nil )
 (!pair  "text_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 509)
  nil )
 (!pair  "types_used_by_cur_var_decl"
  (!type already_seen 49)
  (!srcfileloc  "function.h" 723)
  nil )
 (!pair  "types_used_by_vars_hash"
  (!type already_seen 1562)
  (!srcfileloc  "function.h" 717)
  nil )
 (!pair  "cfun"
  (!type already_seen 382)
  (!srcfileloc  "function.h" 688)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1565)
  (!srcfileloc  "function.h" 477)
  nil )
 (!pair  "regno_reg_rtx"
  (!type already_seen 136)
  (!srcfileloc  "function.h" 87)
  (!options 
   (!option length string  "crtl->emit.x_reg_rtx_no")
  )
 )
 (!pair  "default_target_libfuncs"
  (!type already_seen 591)
  (!srcfileloc  "libfuncs.h" 81)
  nil )
 (!pair  "current_function_func_begin_label"
  (!type already_seen 39)
  (!srcfileloc  "tree-core.h" 1933)
  nil )
 (!pair  "current_function_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-core.h" 1930)
  nil )
 (!pair  "builtin_info"
  (!type array 1807 nil  gc_used "(int)END_BUILTINS" 
   (!type already_seen 1600)
  )
  (!srcfileloc  "tree-core.h" 1924)
  nil )
 (!pair  "sizetype_tab"
  (!type array 1808 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1912)
  nil )
 (!pair  "integer_types"
  (!type array 1809 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1909)
  nil )
 (!pair  "global_trees"
  (!type array 1810 nil  gc_used "TI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1905)
  nil )
 (!pair  "all_translation_units"
  (!type already_seen 49)
  (!srcfileloc  "tree-core.h" 1902)
  nil )
 (!pair  "alias_pairs"
  (!type already_seen 1598)
  (!srcfileloc  "tree-core.h" 1889)
  nil )
 (!pair  "int_n_trees"
  (!type array 1811 nil  gc_used "NUM_INT_N_ENTS" 
   (!type already_seen 1612)
  )
  (!srcfileloc  "tree.h" 5070)
  nil )
 (!pair  "stack_limit_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3542)
  nil )
 (!pair  "default_target_rtl"
  (!type already_seen 576)
  (!srcfileloc  "rtl.h" 3124)
  nil )
 (!pair  "simple_return_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3022)
  nil )
 (!pair  "ret_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3021)
  nil )
 (!pair  "cc0_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3020)
  nil )
 (!pair  "pc_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3019)
  nil )
 (!pair  "const_tiny_rtx"
  (!type array 1812 nil  gc_used "4" 
   (!type array 1813 nil  gc_used "(int) MAX_MACHINE_MODE" 
    (!type already_seen 135)
   )
  )
  (!srcfileloc  "rtl.h" 3006)
  nil )
 (!pair  "const_true_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3004)
  nil )
 (!pair  "const_int_rtx"
  (!type array 1814 nil  gc_used "MAX_SAVED_CONST_INT * 2 + 1" 
   (!type already_seen 135)
  )
  (!srcfileloc  "rtl.h" 2998)
  nil )
 (!pair  "gcov_fn_info_ptr_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 140)
  nil )
 (!pair  "gcov_fn_info_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 139)
  nil )
 (!pair  "gcov_info_var"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 138)
  nil )
 (!pair  "fn_v_ctrs"
  (!type array 1815 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 5)
  )
  (!srcfileloc  "coverage.c" 133)
  nil )
 (!pair  "functions_head"
  (!type already_seen 1633)
  (!srcfileloc  "coverage.c" 124)
  nil )
 (!pair  "mips16_globals"
  (!type already_seen 569)
  (!srcfileloc  "config/mips/mips.h" 3095)
  nil )
 (!pair  "line_table"
  (!type already_seen 1743)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
