;;;;@@@@ 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  "6.2.1 20160824")
(!srcdir  "../../gcc")
(!languages 10 ada c cp fortran go java jit lto objc objcp)
(!fileslist 200
 (!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/arc/arc-arch.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/arc/linux.h")
 (!srcfile 1023  "config/arc/arc.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.h")
 (!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-libfuncs.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/arc/arc.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  "sancov.c")
 (!srcfile 1023  "ipa-devirt.c")
 (!srcfile 1023  "internal-fn.h")
 (!srcfile 1023  "hsa.c")
 (!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 516  "cp/cp-gimplify.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 1332
 
 (!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" 2762)
  (!fields 2 
   (!pair  "va_gc"
    (!type undefined 3 nil  gc_unused "va_gc"
     (!srcfileloc  "rtl.h" 264)
    )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2762)
    nil )
   (!pair  "ivarref_entry"
    (!type struct 4 nil  gc_used "ivarref_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2762)
     (!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" 1806)
         (!fields 38 
          (!pair  "base"
           (!type struct 8 nil  gc_used "tree_base"
            (!srcfileloc  "tree-core.h" 935)
            (!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" 847)
              nil )
             (!pair  "side_effects_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 849)
              nil )
             (!pair  "constant_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 850)
              nil )
             (!pair  "addressable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 851)
              nil )
             (!pair  "volatile_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 852)
              nil )
             (!pair  "readonly_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 853)
              nil )
             (!pair  "asm_written_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 854)
              nil )
             (!pair  "nowarning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 855)
              nil )
             (!pair  "visited"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 856)
              nil )
             (!pair  "used_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 858)
              nil )
             (!pair  "nothrow_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 859)
              nil )
             (!pair  "static_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 860)
              nil )
             (!pair  "public_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 861)
              nil )
             (!pair  "private_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 862)
              nil )
             (!pair  "protected_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 863)
              nil )
             (!pair  "deprecated_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 864)
              nil )
             (!pair  "default_def_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 865)
              nil )
             (!pair  "u"
              (!type union 12 nil  gc_unused "anonymous:../../gcc/tree-core.h:867"
               (!srcfileloc  "tree-core.h" 934)
               (!fields 6 
                (!pair  "bits"
                 (!type struct 13 nil  gc_unused "anonymous:../../gcc/tree-core.h:870"
                  (!srcfileloc  "tree-core.h" 893)
                  (!fields 16 
                   (!pair  "lang_flag_0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 871)
                    nil )
                   (!pair  "lang_flag_1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 872)
                    nil )
                   (!pair  "lang_flag_2"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 873)
                    nil )
                   (!pair  "lang_flag_3"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 874)
                    nil )
                   (!pair  "lang_flag_4"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 875)
                    nil )
                   (!pair  "lang_flag_5"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 876)
                    nil )
                   (!pair  "lang_flag_6"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 877)
                    nil )
                   (!pair  "saturating_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 878)
                    nil )
                   (!pair  "unsigned_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 880)
                    nil )
                   (!pair  "packed_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 881)
                    nil )
                   (!pair  "user_align"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 882)
                    nil )
                   (!pair  "nameless_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 883)
                    nil )
                   (!pair  "atomic_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 884)
                    nil )
                   (!pair  "spare0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 885)
                    nil )
                   (!pair  "spare1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 887)
                    nil )
                   (!pair  "address_space"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 892)
                    nil )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "tree-core.h" 893)
                 nil )
                (!pair  "int_length"
                 (!type struct 14 nil  gc_unused "anonymous:../../gcc/tree-core.h:900"
                  (!srcfileloc  "tree-core.h" 914)
                  (!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" 903)
                    nil )
                   (!pair  "extended"
                    (!type already_seen 15)
                    (!srcfileloc  "tree-core.h" 907)
                    nil )
                   (!pair  "offset"
                    (!type already_seen 15)
                    (!srcfileloc  "tree-core.h" 913)
                    nil )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "tree-core.h" 914)
                 nil )
                (!pair  "length"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 917)
                 nil )
                (!pair  "version"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 920)
                 nil )
                (!pair  "ifn"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 923)
                 nil )
                (!pair  "dependence_info"
                 (!type struct 18 nil  gc_unused "anonymous:../../gcc/tree-core.h:930"
                  (!srcfileloc  "tree-core.h" 933)
                  (!fields 2 
                   (!pair  "clique"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 931)
                    nil )
                   (!pair  "base"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 932)
                    nil )
                  )
                  nil 1023 nil nil )
                 (!srcfileloc  "tree-core.h" 933)
                 nil )
               )
               nil 1023 nil )
              (!srcfileloc  "tree-core.h" 934)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1764)
           (!options 
            (!option tag string  "TS_BASE")
           )
          )
          (!pair  "typed"
           (!type struct 19 nil  gc_used "tree_typed"
            (!srcfileloc  "tree-core.h" 1217)
            (!fields 2 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1215)
              nil )
             (!pair  "type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1216)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1765)
           (!options 
            (!option tag string  "TS_TYPED")
           )
          )
          (!pair  "common"
           (!type struct 20 nil  gc_used "tree_common"
            (!srcfileloc  "tree-core.h" 1222)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1220)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1221)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1766)
           (!options 
            (!option tag string  "TS_COMMON")
           )
          )
          (!pair  "int_cst"
           (!type struct 21 nil  gc_used "tree_int_cst"
            (!srcfileloc  "tree-core.h" 1227)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1225)
              nil )
             (!pair  "val"
              (!type array 22 nil  gc_used "1" 
               (!type already_seen 9)
              )
              (!srcfileloc  "tree-core.h" 1226)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1767)
           (!options 
            (!option tag string  "TS_INT_CST")
           )
          )
          (!pair  "real_cst"
           (!type struct 23 nil  gc_used "tree_real_cst"
            (!srcfileloc  "tree-core.h" 1233)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1231)
              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" 50)
                (!fields 7 
                 (!pair  "cl"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 43)
                  nil )
                 (!pair  "decimal"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 44)
                  nil )
                 (!pair  "sign"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 45)
                  nil )
                 (!pair  "signalling"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 46)
                  nil )
                 (!pair  "canonical"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 47)
                  nil )
                 (!pair  "uexp"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 48)
                  nil )
                 (!pair  "sig"
                  (!type array 26 nil  gc_used "SIGSZ" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "real.h" 49)
                  nil )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1232)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1768)
           (!options 
            (!option tag string  "TS_REAL_CST")
           )
          )
          (!pair  "fixed_cst"
           (!type struct 27 nil  gc_used "tree_fixed_cst"
            (!srcfileloc  "tree-core.h" 1238)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1236)
              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" 27)
                (!fields 2 
                 (!pair  "data"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 25)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 26)
                  nil )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1237)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1769)
           (!options 
            (!option tag string  "TS_FIXED_CST")
           )
          )
          (!pair  "vector"
           (!type struct 30 nil  gc_used "tree_vector"
            (!srcfileloc  "tree-core.h" 1255)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1253)
              nil )
             (!pair  "elts"
              (!type array 31 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1254)
              (!options 
               (!option length string  "TYPE_VECTOR_SUBPARTS (TREE_TYPE ((tree)&%h))")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1770)
           (!options 
            (!option tag string  "TS_VECTOR")
           )
          )
          (!pair  "string"
           (!type struct 32 nil  gc_used "tree_string"
            (!srcfileloc  "tree-core.h" 1244)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1241)
              nil )
             (!pair  "length"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1242)
              nil )
             (!pair  "str"
              (!type array 33 nil  gc_used "1" 
               (!type already_seen 15)
              )
              (!srcfileloc  "tree-core.h" 1243)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1771)
           (!options 
            (!option tag string  "TS_STRING")
           )
          )
          (!pair  "complex"
           (!type struct 34 nil  gc_used "tree_complex"
            (!srcfileloc  "tree-core.h" 1250)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1247)
              nil )
             (!pair  "real"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1248)
              nil )
             (!pair  "imag"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1249)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1772)
           (!options 
            (!option tag string  "TS_COMPLEX")
           )
          )
          (!pair  "identifier"
           (!type struct 35 nil  gc_used "tree_identifier"
            (!srcfileloc  "tree-core.h" 1260)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1258)
              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" 1259)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1773)
           (!options 
            (!option tag string  "TS_IDENTIFIER")
           )
          )
          (!pair  "decl_minimal"
           (!type struct 40 nil  gc_used "tree_decl_minimal"
            (!srcfileloc  "tree-core.h" 1496)
            (!fields 5 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1491)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1492)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1493)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1494)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1495)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1774)
           (!options 
            (!option tag string  "TS_DECL_MINIMAL")
           )
          )
          (!pair  "decl_common"
           (!type struct 41 nil  gc_used "tree_decl_common"
            (!srcfileloc  "tree-core.h" 1562)
            (!fields 35 
             (!pair  "common"
              (!type already_seen 40)
              (!srcfileloc  "tree-core.h" 1499)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1500)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1502)
              nil )
             (!pair  "nonlocal_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1504)
              nil )
             (!pair  "virtual_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1505)
              nil )
             (!pair  "ignored_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1506)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1507)
              nil )
             (!pair  "artificial_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1508)
              nil )
             (!pair  "preserve_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1509)
              nil )
             (!pair  "debug_expr_is_from"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1510)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1512)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1513)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1514)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1515)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1516)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1517)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1518)
              nil )
             (!pair  "lang_flag_7"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1519)
              nil )
             (!pair  "lang_flag_8"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1520)
              nil )
             (!pair  "decl_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1523)
              nil )
             (!pair  "decl_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1527)
              nil )
             (!pair  "decl_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1531)
              nil )
             (!pair  "decl_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1533)
              nil )
             (!pair  "gimple_reg_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1536)
              nil )
             (!pair  "decl_by_reference_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1538)
              nil )
             (!pair  "decl_read_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1540)
              nil )
             (!pair  "decl_nonshareable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1542)
              nil )
             (!pair  "off_align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1545)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1550)
              nil )
             (!pair  "pt_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1553)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1555)
              nil )
             (!pair  "initial"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1556)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1557)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1558)
              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" 32)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 31)
                    nil )
                  )
                  nil 128 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 45 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "jit/dummy-frontend.c" 44)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "jit/dummy-frontend.c" 43)
                    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" 836)
                  (!fields 2 
                   (!pair  "desc"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 830)
                    nil )
                   (!pair  "u"
                    (!type union 47 nil  gc_used "lang_decl_u"
                     (!srcfileloc  "java/java-tree.h" 835)
                     (!fields 2 
                      (!pair  "f"
                       (!type struct 48 nil  gc_used "lang_decl_func"
                        (!srcfileloc  "java/java-tree.h" 761)
                        (!fields 20 
                         (!pair  "code_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 734)
                          nil )
                         (!pair  "code_length"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 735)
                          nil )
                         (!pair  "linenumbers_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 736)
                          nil )
                         (!pair  "localvariables_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 737)
                          nil )
                         (!pair  "arg_slots"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 738)
                          nil )
                         (!pair  "max_locals"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 739)
                          nil )
                         (!pair  "max_stack"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 740)
                          nil )
                         (!pair  "arg_slot_count"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 741)
                          nil )
                         (!pair  "last_line"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 742)
                          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" 1407)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "tree-core.h" 1407)
                              nil )
                             (!pair  "tree"
                              (!type already_seen 5)
                              (!srcfileloc  "tree-core.h" 1407)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 743)
                          nil )
                         (!pair  "exc_obj"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 744)
                          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" 747)
                            (!fields 1 
                             (!pair  "treetreehasher"
                              (!type struct 53 nil  gc_used "treetreehasher"
                               (!srcfileloc  "java/java-tree.h" 747)
                               (!fields 0 )
                               nil 32 nil nil )
                              (!srcfileloc  "java/java-tree.h" 747)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 747)
                          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" 750)
                            (!fields 1 
                             (!pair  "ict_hasher"
                              (!type struct 56 nil  gc_used "ict_hasher"
                               (!srcfileloc  "java/java-tree.h" 750)
                               (!fields 0 )
                               nil 32 nil nil )
                              (!srcfileloc  "java/java-tree.h" 750)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 750)
                          nil )
                         (!pair  "native"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 752)
                          nil )
                         (!pair  "strictfp"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 753)
                          nil )
                         (!pair  "invisible"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 754)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 757)
                          nil )
                         (!pair  "local_cni"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 758)
                          nil )
                         (!pair  "bridge"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 759)
                          nil )
                         (!pair  "varargs"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 760)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 833)
                       (!options 
                        (!option tag string  "LANG_DECL_FUNC")
                       )
                      )
                      (!pair  "v"
                       (!type struct 57 nil  gc_used "lang_decl_var"
                        (!srcfileloc  "java/java-tree.h" 823)
                        (!fields 10 
                         (!pair  "slot_number"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 813)
                          nil )
                         (!pair  "start_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 814)
                          nil )
                         (!pair  "end_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 815)
                          nil )
                         (!pair  "slot_chain"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 816)
                          nil )
                         (!pair  "owner"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 817)
                          nil )
                         (!pair  "freed"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 818)
                          nil )
                         (!pair  "local_slot"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 819)
                          nil )
                         (!pair  "class_field"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 820)
                          nil )
                         (!pair  "vtable"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 821)
                          nil )
                         (!pair  "field_enum"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 822)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 834)
                       (!options 
                        (!option tag string  "LANG_DECL_VAR")
                       )
                      )
                     )
                     nil 32 
                     (!type lang_struct 58 nil  gc_used "lang_decl_u"
                      (!srcfileloc  "cp/cp-tree.h" 2365)
                      (!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" 2365)
                        (!fields 5 
                         (!pair  "base"
                          (!type struct 60 nil  gc_used "lang_decl_base"
                           (!srcfileloc  "cp/cp-tree.h" 2244)
                           (!fields 13 
                            (!pair  "selector"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2229)
                             nil )
                            (!pair  "language"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2230)
                             nil )
                            (!pair  "use_template"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2231)
                             nil )
                            (!pair  "not_really_extern"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2232)
                             nil )
                            (!pair  "initialized_in_class"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2233)
                             nil )
                            (!pair  "repo_available_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2234)
                             nil )
                            (!pair  "threadprivate_or_deleted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2235)
                             nil )
                            (!pair  "anticipated_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2236)
                             nil )
                            (!pair  "friend_or_tls"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2238)
                             nil )
                            (!pair  "template_conv_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2239)
                             nil )
                            (!pair  "odr_used"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2240)
                             nil )
                            (!pair  "u2sel"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2241)
                             nil )
                            (!pair  "concept_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2242)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2360)
                          (!options 
                           (!option default string  "")
                          )
                         )
                         (!pair  "min"
                          (!type struct 61 nil  gc_used "lang_decl_min"
                           (!srcfileloc  "cp/cp-tree.h" 2276)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2258)
                             nil )
                            (!pair  "template_info"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2265)
                             nil )
                            (!pair  "u2"
                             (!type union 62 nil  gc_used "lang_decl_u2"
                              (!srcfileloc  "cp/cp-tree.h" 2275)
                              (!fields 2 
                               (!pair  "access"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2271)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "discriminator"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2274)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2275)
                             (!options 
                              (!option desc string  "%0.u.base.u2sel")
                             )
                            )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2361)
                          (!options 
                           (!option tag string  "0")
                          )
                         )
                         (!pair  "fn"
                          (!type struct 63 nil  gc_used "lang_decl_fn"
                           (!srcfileloc  "cp/cp-tree.h" 2335)
                           (!fields 20 
                            (!pair  "min"
                             (!type already_seen 61)
                             (!srcfileloc  "cp/cp-tree.h" 2281)
                             nil )
                            (!pair  "operator_code"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2285)
                             nil )
                            (!pair  "global_ctor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2287)
                             nil )
                            (!pair  "global_dtor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2288)
                             nil )
                            (!pair  "assignment_operator_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2289)
                             nil )
                            (!pair  "static_function"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2290)
                             nil )
                            (!pair  "pure_virtual"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2291)
                             nil )
                            (!pair  "defaulted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2292)
                             nil )
                            (!pair  "has_in_charge_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2294)
                             nil )
                            (!pair  "has_vtt_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2295)
                             nil )
                            (!pair  "pending_inline_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2296)
                             nil )
                            (!pair  "nonconverting"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2297)
                             nil )
                            (!pair  "thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2298)
                             nil )
                            (!pair  "this_thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2299)
                             nil )
                            (!pair  "hidden_friend_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2300)
                             nil )
                            (!pair  "omp_declare_reduction_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2301)
                             nil )
                            (!pair  "befriending_classes"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2307)
                             nil )
                            (!pair  "context"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2315)
                             nil )
                            (!pair  "u5"
                             (!type union 64 nil  gc_used "lang_decl_u5"
                              (!srcfileloc  "cp/cp-tree.h" 2326)
                              (!fields 2 
                               (!pair  "cloned_function"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2321)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "fixed_offset"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2325)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2326)
                             (!options 
                              (!option desc string  "%1.thunk_p")
                             )
                            )
                            (!pair  "u"
                             (!type union 65 nil  gc_used "lang_decl_u3"
                              (!srcfileloc  "cp/cp-tree.h" 2333)
                              (!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" 128)
                                  (!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" 86)
                                      (!fields 8 
                                       (!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  "implicit_extern_c"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 51)
                                        nil )
                                       (!pair  "error_reported"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 55)
                                        nil )
                                       (!pair  "purged_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 59)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 62)
                                        nil )
                                       (!pair  "u"
                                        (!type union 70 nil  gc_used "cp_token_value"
                                         (!srcfileloc  "cp/parser.h" 69)
                                         (!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" 126)
                                                 (!fields 2 
                                                  (!pair  "va_gc"
                                                   (!type already_seen 3)
                                                   (!srcfileloc  "cp/semantics.c" 126)
                                                   nil )
                                                  (!pair  "deferred_access_check"
                                                   (!type struct 75 nil  gc_used "deferred_access_check"
                                                    (!srcfileloc  "cp/semantics.c" 126)
                                                    (!fields 4 
                                                     (!pair  "binfo"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 6234)
                                                      nil )
                                                     (!pair  "decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 6236)
                                                      nil )
                                                     (!pair  "diag_decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 6238)
                                                      nil )
                                                     (!pair  "loc"
                                                      (!type already_seen 9)
                                                      (!srcfileloc  "cp/cp-tree.h" 6240)
                                                      nil )
                                                    )
                                                    nil 516 nil nil )
                                                   (!srcfileloc  "cp/semantics.c" 126)
                                                   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" 66)
                                           (!options 
                                            (!option tag string  "1")
                                           )
                                          )
                                          (!pair  "value"
                                           (!type already_seen 5)
                                           (!srcfileloc  "cp/parser.h" 68)
                                           (!options 
                                            (!option tag string  "0")
                                           )
                                          )
                                         )
                                         nil 516 nil )
                                        (!srcfileloc  "cp/parser.h" 71)
                                        (!options 
                                         (!option desc string  "(%1.type == CPP_TEMPLATE_ID)|| (%1.type == CPP_NESTED_NAME_SPECIFIER)|| (%1.type == CPP_DECLTYPE)")
                                        )
                                       )
                                      )
                                      nil 516 nil nil )
                                    )
                                    (!srcfileloc  "cp/parser.h" 122)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "last"
                                    (!type already_seen 68)
                                    (!srcfileloc  "cp/parser.h" 125)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                  )
                                  nil 516 nil nil )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2330)
                                (!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" 116)
                                  (!fields 0 )
                                  nil 1023 
                                  (!homotypes 8
                                   (!type struct 78 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "lto/lto-tree.h" 42)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "lto/lto-tree.h" 41)
                                      nil )
                                    )
                                    nil 128 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 79 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "jit/dummy-frontend.c" 70)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "jit/dummy-frontend.c" 69)
                                      nil )
                                    )
                                    nil 64 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 80 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "java/lang.c" 110)
                                    (!fields 1 
                                     (!pair  "unused"
                                      (!type already_seen 9)
                                      (!srcfileloc  "java/lang.c" 109)
                                      nil )
                                    )
                                    nil 32 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 81 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "go/go-lang.c" 79)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "go/go-lang.c" 78)
                                      nil )
                                    )
                                    nil 16 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 82 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "fortran/f95-lang.c" 67)
                                    (!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" 295)
                                        (!fields 0 )
                                        nil 40 
                                        (!homotypes 2
                                         (!type struct 85 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "java/decl.c" 420)
                                          (!fields 10 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 388)
                                            nil )
                                           (!pair  "shadowed"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 394)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 399)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 83)
                                            (!srcfileloc  "java/decl.c" 402)
                                            nil )
                                           (!pair  "end_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 405)
                                            nil )
                                           (!pair  "start_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 407)
                                            nil )
                                           (!pair  "stmts"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 410)
                                            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" 413)
                                            (!options 
                                             (!option skip string  "")
                                            )
                                           )
                                           (!pair  "binding_depth"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 416)
                                            nil )
                                           (!pair  "loc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 419)
                                            nil )
                                          )
                                          nil 32 
                                          (!type already_seen 84)
                                          nil )
                                         
                                         (!type struct 88 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "fortran/f95-lang.c" 295)
                                          (!fields 4 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 286)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 289)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 83)
                                            (!srcfileloc  "fortran/f95-lang.c" 291)
                                            nil )
                                           (!pair  "reversed"
                                            (!type already_seen 9)
                                            (!srcfileloc  "fortran/f95-lang.c" 294)
                                            nil )
                                          )
                                          nil 8 
                                          (!type already_seen 84)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "fortran/f95-lang.c" 66)
                                      nil )
                                    )
                                    nil 8 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 89 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "cp/cp-tree.h" 1448)
                                    (!fields 22 
                                     (!pair  "base"
                                      (!type struct 90 nil  gc_used "c_language_function"
                                       (!srcfileloc  "c-family/c-common.h" 543)
                                       (!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" 528)
                                          (!fields 2 
                                           (!pair  "x_cur_stmt_list"
                                            (!type already_seen 49)
                                            (!srcfileloc  "c-family/c-common.h" 516)
                                            nil )
                                           (!pair  "stmts_are_full_exprs_p"
                                            (!type already_seen 9)
                                            (!srcfileloc  "c-family/c-common.h" 527)
                                            nil )
                                          )
                                          nil 774 nil nil )
                                         (!srcfileloc  "c-family/c-common.h" 538)
                                         nil )
                                        (!pair  "local_typedefs"
                                         (!type already_seen 49)
                                         (!srcfileloc  "c-family/c-common.h" 542)
                                         nil )
                                       )
                                       nil 774 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 1418)
                                      nil )
                                     (!pair  "x_cdtor_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1420)
                                      nil )
                                     (!pair  "x_current_class_ptr"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1421)
                                      nil )
                                     (!pair  "x_current_class_ref"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1422)
                                      nil )
                                     (!pair  "x_eh_spec_block"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1423)
                                      nil )
                                     (!pair  "x_in_charge_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1424)
                                      nil )
                                     (!pair  "x_vtt_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1425)
                                      nil )
                                     (!pair  "x_return_value"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1426)
                                      nil )
                                     (!pair  "x_auto_return_pattern"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1427)
                                      nil )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1429)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1430)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1431)
                                      nil )
                                     (!pair  "infinite_loop"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1432)
                                      nil )
                                     (!pair  "x_in_function_try_handler"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1433)
                                      nil )
                                     (!pair  "x_in_base_initializer"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1434)
                                      nil )
                                     (!pair  "can_throw"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1437)
                                      nil )
                                     (!pair  "invalid_constexpr"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1439)
                                      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" 1441)
                                        (!fields 1 
                                         (!pair  "named_label_hasher"
                                          (!type struct 95 nil  gc_used "named_label_hasher"
                                           (!srcfileloc  "cp/cp-tree.h" 1441)
                                           (!fields 0 )
                                           nil 516 nil nil )
                                          (!srcfileloc  "cp/cp-tree.h" 1441)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1441)
                                      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" 268)
                                        (!fields 20 
                                         (!pair  "names"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 189)
                                          nil )
                                         (!pair  "namespaces"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 192)
                                          nil )
                                         (!pair  "static_decls"
                                          (!type already_seen 49)
                                          (!srcfileloc  "cp/name-lookup.h" 195)
                                          nil )
                                         (!pair  "usings"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 198)
                                          nil )
                                         (!pair  "using_directives"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 202)
                                          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" 206)
                                            (!fields 2 
                                             (!pair  "va_gc"
                                              (!type already_seen 3)
                                              (!srcfileloc  "cp/name-lookup.h" 206)
                                              nil )
                                             (!pair  "cp_class_binding"
                                              (!type struct 100 nil  gc_used "cp_class_binding"
                                               (!srcfileloc  "cp/name-lookup.h" 206)
                                               (!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" 146)
                                                 nil )
                                                (!pair  "identifier"
                                                 (!type already_seen 5)
                                                 (!srcfileloc  "cp/name-lookup.h" 148)
                                                 nil )
                                               )
                                               nil 516 nil nil )
                                              (!srcfileloc  "cp/name-lookup.h" 206)
                                              nil )
                                            )
                                           )
                                          )
                                          (!srcfileloc  "cp/name-lookup.h" 206)
                                          nil )
                                         (!pair  "type_shadowed"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 213)
                                          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" 217)
                                            (!fields 2 
                                             (!pair  "va_gc"
                                              (!type already_seen 3)
                                              (!srcfileloc  "cp/name-lookup.h" 217)
                                              nil )
                                             (!pair  "cp_label_binding"
                                              (!type struct 105 nil  gc_used "cp_label_binding"
                                               (!srcfileloc  "cp/name-lookup.h" 217)
                                               (!fields 2 
                                                (!pair  "label"
                                                 (!type already_seen 5)
                                                 (!srcfileloc  "cp/name-lookup.h" 154)
                                                 nil )
                                                (!pair  "prev_value"
                                                 (!type already_seen 5)
                                                 (!srcfileloc  "cp/name-lookup.h" 156)
                                                 nil )
                                               )
                                               nil 516 nil nil )
                                              (!srcfileloc  "cp/name-lookup.h" 217)
                                              nil )
                                            )
                                           )
                                          )
                                          (!srcfileloc  "cp/name-lookup.h" 217)
                                          nil )
                                         (!pair  "blocks"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 222)
                                          nil )
                                         (!pair  "this_entity"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 226)
                                          nil )
                                         (!pair  "level_chain"
                                          (!type already_seen 96)
                                          (!srcfileloc  "cp/name-lookup.h" 229)
                                          nil )
                                         (!pair  "dead_vars_from_for"
                                          (!type already_seen 49)
                                          (!srcfileloc  "cp/name-lookup.h" 234)
                                          nil )
                                         (!pair  "statement_list"
                                          (!type already_seen 5)
                                          (!srcfileloc  "cp/name-lookup.h" 238)
                                          nil )
                                         (!pair  "binding_depth"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 241)
                                          nil )
                                         (!pair  "kind"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 246)
                                          nil )
                                         (!pair  "explicit_spec_p"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 250)
                                          nil )
                                         (!pair  "keep"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 253)
                                          nil )
                                         (!pair  "more_cleanups_ok"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 257)
                                          nil )
                                         (!pair  "have_cleanups"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 258)
                                          nil )
                                         (!pair  "defining_class_p"
                                          (!type already_seen 9)
                                          (!srcfileloc  "cp/name-lookup.h" 265)
                                          nil )
                                        )
                                        nil 516 nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1442)
                                      nil )
                                     (!pair  "x_local_names"
                                      (!type already_seen 49)
                                      (!srcfileloc  "cp/cp-tree.h" 1443)
                                      nil )
                                     (!pair  "infinite_loops"
                                      (!type already_seen 49)
                                      (!srcfileloc  "cp/cp-tree.h" 1446)
                                      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" 1447)
                                        (!fields 1 
                                         (!pair  "cxx_int_tree_map_hasher"
                                          (!type struct 108 nil  gc_used "cxx_int_tree_map_hasher"
                                           (!srcfileloc  "cp/cp-tree.h" 1447)
                                           (!fields 0 )
                                           nil 516 nil nil )
                                          (!srcfileloc  "cp/cp-tree.h" 1447)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1447)
                                      nil )
                                    )
                                    nil 516 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 109 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "c/c-lang.h" 55)
                                    (!fields 9 
                                     (!pair  "base"
                                      (!type already_seen 90)
                                      (!srcfileloc  "c/c-lang.h" 46)
                                      nil )
                                     (!pair  "x_break_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 47)
                                      nil )
                                     (!pair  "x_cont_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 48)
                                      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" 49)
                                      (!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" 50)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 51)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 52)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 53)
                                      nil )
                                     (!pair  "warn_about_return_type"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 54)
                                      nil )
                                    )
                                    nil 258 
                                    (!type already_seen 77)
                                    nil )
                                   
                                   (!type struct 114 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                    (!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" 112)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 3)
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 112)
                                          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" 106)
                                            (!fields 5 
                                             (!pair  "id"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 101)
                                              nil )
                                             (!pair  "dim"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 102)
                                              nil )
                                             (!pair  "first"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 103)
                                              nil )
                                             (!pair  "last"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 104)
                                              nil )
                                             (!pair  "length"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 105)
                                              nil )
                                            )
                                            nil 1 nil nil )
                                          )
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 112)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 112)
                                      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" 246)
                                        (!fields 5 
                                         (!pair  "indx"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 238)
                                          nil )
                                         (!pair  "descriptor_id"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 239)
                                          nil )
                                         (!pair  "first"
                                          (!type pointer 121 nil  gc_used
                                           (!type struct 122 
                                            (!type already_seen 121)
                                            gc_pointed_to "bitmap_element"
                                            (!srcfileloc  "bitmap.h" 242)
                                            (!fields 4 
                                             (!pair  "next"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 228)
                                              nil )
                                             (!pair  "prev"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 229)
                                              nil )
                                             (!pair  "indx"
                                              (!type already_seen 9)
                                              (!srcfileloc  "bitmap.h" 230)
                                              nil )
                                             (!pair  "bits"
                                              (!type array 123 nil  gc_used "BITMAP_ELEMENT_WORDS" 
                                               (!type already_seen 9)
                                              )
                                              (!srcfileloc  "bitmap.h" 231)
                                              nil )
                                            )
                                            (!options 
                                             (!option chain_prev string  "%h.prev")
                                             (!option chain_next string  "%h.next")
                                            )
                                            1023 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 242)
                                          nil )
                                         (!pair  "current"
                                          (!type already_seen 121)
                                          (!srcfileloc  "bitmap.h" 243)
                                          (!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" 244)
                                            (!fields 3 
                                             (!pair  "elements"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 210)
                                              nil )
                                             (!pair  "heads"
                                              (!type already_seen 119)
                                              (!srcfileloc  "bitmap.h" 211)
                                              nil )
                                             (!pair  "obstack"
                                              (!type struct 126 nil  gc_unused "obstack"nil 
                                               (!fields 0 )
                                               nil 0 nil nil )
                                              (!srcfileloc  "bitmap.h" 212)
                                              (!options 
                                               (!option skip string  "")
                                              )
                                             )
                                            )
                                            nil 1023 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 244)
                                          nil )
                                        )
                                        nil 1023 nil nil )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 113)
                                      nil )
                                     (!pair  "other_ret_val"
                                      (!type already_seen 49)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 114)
                                      nil )
                                     (!pair  "gnat_ret"
                                      (!type already_seen 9)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 115)
                                      nil )
                                    )
                                    nil 1 
                                    (!type already_seen 77)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2332)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2333)
                             (!options 
                              (!option desc string  "%1.pending_inline_p")
                             )
                            )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2362)
                          (!options 
                           (!option tag string  "1")
                          )
                         )
                         (!pair  "ns"
                          (!type struct 127 nil  gc_used "lang_decl_ns"
                           (!srcfileloc  "cp/cp-tree.h" 2344)
                           (!fields 4 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2340)
                             nil )
                            (!pair  "level"
                             (!type already_seen 96)
                             (!srcfileloc  "cp/cp-tree.h" 2341)
                             nil )
                            (!pair  "ns_using"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2342)
                             nil )
                            (!pair  "ns_users"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2343)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2363)
                          (!options 
                           (!option tag string  "2")
                          )
                         )
                         (!pair  "parm"
                          (!type struct 128 nil  gc_used "lang_decl_parm"
                           (!srcfileloc  "cp/cp-tree.h" 2352)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2349)
                             nil )
                            (!pair  "level"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2350)
                             nil )
                            (!pair  "index"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2351)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2364)
                          (!options 
                           (!option tag string  "3")
                          )
                         )
                        )
                        (!options 
                         (!option desc string  "%h.base.selector")
                        )
                        516 
                        (!type already_seen 58)
                       )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 835)
                    (!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" 53)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "go/go-lang.c" 52)
                    nil )
                  )
                  nil 16 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 130 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "fortran/trans.h" 900)
                  (!fields 8 
                   (!pair  "saved_descriptor"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 888)
                    nil )
                   (!pair  "stringlen"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 893)
                    nil )
                   (!pair  "addr"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 894)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 895)
                    nil )
                   (!pair  "token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 897)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 897)
                    nil )
                   (!pair  "scalar_allocatable"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 898)
                    nil )
                   (!pair  "scalar_pointer"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 899)
                    nil )
                  )
                  nil 8 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 131 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "cp/cp-tree.h" 2366)
                  (!fields 1 
                   (!pair  "u"
                    (!type already_seen 58)
                    (!srcfileloc  "cp/cp-tree.h" 2365)
                    nil )
                  )
                  nil 516 
                  (!type already_seen 43)
                  nil )
                 
                 (!type struct 132 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "c/c-lang.h" 39)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "c/c-lang.h" 38)
                    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" 1561)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1775)
           (!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" 1567)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 41)
              (!srcfileloc  "tree-core.h" 1565)
              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" 424)
                (!fields 12 
                 (!pair  "code"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 306)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 309)
                  nil )
                 (!pair  "jump"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 321)
                  nil )
                 (!pair  "call"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 326)
                  nil )
                 (!pair  "unchanging"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 337)
                  nil )
                 (!pair  "volatil"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 350)
                  nil )
                 (!pair  "in_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 364)
                  nil )
                 (!pair  "used"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 373)
                  nil )
                 (!pair  "frame_related"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 381)
                  nil )
                 (!pair  "return_val"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 387)
                  nil )
                 (!pair  "u2"
                  (!type union 138 nil  gc_unused "anonymous:../../gcc/rtl.h:389"
                   (!srcfileloc  "rtl.h" 410)
                   (!fields 5 
                    (!pair  "original_regno"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 396)
                     nil )
                    (!pair  "insn_uid"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 399)
                     nil )
                    (!pair  "symbol_ref_flags"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 402)
                     nil )
                    (!pair  "var_location_status"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 405)
                     nil )
                    (!pair  "num_elem"
                     (!type already_seen 9)
                     (!srcfileloc  "rtl.h" 409)
                     nil )
                   )
                   nil 1023 nil )
                  (!srcfileloc  "rtl.h" 410)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "u"
                  (!type union 139 nil  gc_used "rtx_def_subunion"
                   (!srcfileloc  "rtl.h" 423)
                   (!fields 148 
                    (!pair  ""
                     (!type struct 140 nil  gc_used "rtx_def_debug_parameter_ref"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "DEBUG_PARAMETER_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 141 nil  gc_used "rtx_def_entry_value"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ENTRY_VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 142 nil  gc_used "rtx_def_debug_implicit_ptr"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "DEBUG_IMPLICIT_PTR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 143 nil  gc_used "rtx_def_var_location"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "VAR_LOCATION")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 144 nil  gc_used "rtx_def_fma"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "FMA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 145 nil  gc_used "rtx_def_us_truncate"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "US_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 146 nil  gc_used "rtx_def_ss_truncate"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SS_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 147 nil  gc_used "rtx_def_us_minus"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "US_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 148 nil  gc_used "rtx_def_us_ashift"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "US_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 149 nil  gc_used "rtx_def_ss_ashift"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SS_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 150 nil  gc_used "rtx_def_ss_abs"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SS_ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 151 nil  gc_used "rtx_def_us_neg"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "US_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 152 nil  gc_used "rtx_def_ss_neg"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SS_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 153 nil  gc_used "rtx_def_ss_minus"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SS_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 154 nil  gc_used "rtx_def_us_plus"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "US_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 155 nil  gc_used "rtx_def_ss_plus"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SS_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 156 nil  gc_used "rtx_def_vec_duplicate"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "VEC_DUPLICATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 157 nil  gc_used "rtx_def_vec_concat"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "VEC_CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 158 nil  gc_used "rtx_def_vec_select"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "VEC_SELECT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 159 nil  gc_used "rtx_def_vec_merge"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "VEC_MERGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 160 nil  gc_used "rtx_def_lo_sum"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "LO_SUM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 161 nil  gc_used "rtx_def_high"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "HIGH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 162 nil  gc_used "rtx_def_zero_extract"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ZERO_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 163 nil  gc_used "rtx_def_sign_extract"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SIGN_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 164 nil  gc_used "rtx_def_parity"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "PARITY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 165 nil  gc_used "rtx_def_popcount"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "POPCOUNT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 166 nil  gc_used "rtx_def_ctz"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CTZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 167 nil  gc_used "rtx_def_clz"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CLZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 168 nil  gc_used "rtx_def_clrsb"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CLRSB")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 169 nil  gc_used "rtx_def_ffs"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "FFS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 170 nil  gc_used "rtx_def_bswap"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "BSWAP")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 171 nil  gc_used "rtx_def_sqrt"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SQRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 172 nil  gc_used "rtx_def_abs"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 173 nil  gc_used "rtx_def_unsigned_sat_fract"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNSIGNED_SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 174 nil  gc_used "rtx_def_sat_fract"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 175 nil  gc_used "rtx_def_unsigned_fract_convert"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNSIGNED_FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 176 nil  gc_used "rtx_def_fract_convert"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 177 nil  gc_used "rtx_def_unsigned_fix"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNSIGNED_FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 178 nil  gc_used "rtx_def_unsigned_float"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNSIGNED_FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 179 nil  gc_used "rtx_def_fix"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 180 nil  gc_used "rtx_def_float"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 181 nil  gc_used "rtx_def_float_truncate"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "FLOAT_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 182 nil  gc_used "rtx_def_float_extend"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "FLOAT_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 183 nil  gc_used "rtx_def_truncate"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 184 nil  gc_used "rtx_def_zero_extend"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ZERO_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 185 nil  gc_used "rtx_def_sign_extend"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SIGN_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 186 nil  gc_used "rtx_def_ltgt"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "LTGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 187 nil  gc_used "rtx_def_unlt"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNLT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 188 nil  gc_used "rtx_def_unle"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 189 nil  gc_used "rtx_def_ungt"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 190 nil  gc_used "rtx_def_unge"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 191 nil  gc_used "rtx_def_uneq"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNEQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 192 nil  gc_used "rtx_def_ordered"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 193 nil  gc_used "rtx_def_unordered"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 194 nil  gc_used "rtx_def_ltu"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "LTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 195 nil  gc_used "rtx_def_leu"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "LEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 196 nil  gc_used "rtx_def_gtu"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "GTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 197 nil  gc_used "rtx_def_geu"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "GEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 198 nil  gc_used "rtx_def_lt"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "LT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 199 nil  gc_used "rtx_def_le"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "LE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 200 nil  gc_used "rtx_def_gt"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "GT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 201 nil  gc_used "rtx_def_ge"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "GE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 202 nil  gc_used "rtx_def_eq"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "EQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 203 nil  gc_used "rtx_def_ne"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "NE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 204 nil  gc_used "rtx_def_post_modify"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "POST_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 205 nil  gc_used "rtx_def_pre_modify"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "PRE_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 206 nil  gc_used "rtx_def_post_inc"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "POST_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 207 nil  gc_used "rtx_def_post_dec"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "POST_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 208 nil  gc_used "rtx_def_pre_inc"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "PRE_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 209 nil  gc_used "rtx_def_pre_dec"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "PRE_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 210 nil  gc_used "rtx_def_umax"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 211 nil  gc_used "rtx_def_umin"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 212 nil  gc_used "rtx_def_smax"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 213 nil  gc_used "rtx_def_smin"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 214 nil  gc_used "rtx_def_rotatert"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ROTATERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 215 nil  gc_used "rtx_def_lshiftrt"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "LSHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 216 nil  gc_used "rtx_def_ashiftrt"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ASHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 217 nil  gc_used "rtx_def_rotate"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ROTATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 218 nil  gc_used "rtx_def_ashift"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 219 nil  gc_used "rtx_def_not"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "NOT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 220 nil  gc_used "rtx_def_xor"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "XOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 221 nil  gc_used "rtx_def_ior"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "IOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 222 nil  gc_used "rtx_def_and"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "AND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 223 nil  gc_used "rtx_def_umod"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UMOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 224 nil  gc_used "rtx_def_udiv"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UDIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 225 nil  gc_used "rtx_def_mod"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "MOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 226 nil  gc_used "rtx_def_us_div"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "US_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 227 nil  gc_used "rtx_def_ss_div"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SS_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 228 nil  gc_used "rtx_def_div"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 229 nil  gc_used "rtx_def_us_mult"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "US_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 230 nil  gc_used "rtx_def_ss_mult"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SS_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 231 nil  gc_used "rtx_def_mult"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 232 nil  gc_used "rtx_def_neg"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 233 nil  gc_used "rtx_def_minus"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 234 nil  gc_used "rtx_def_plus"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 235 nil  gc_used "rtx_def_compare"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "COMPARE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 236 nil  gc_used "rtx_def_if_then_else"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "IF_THEN_ELSE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 237 nil  gc_used "rtx_def_cc0"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CC0")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 238 nil  gc_used "rtx_def_symbol_ref"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 3 
                       (!pair  "block_sym"
                        (!type union 239 nil  gc_used "fake_union_1"
                         (!srcfileloc  "rtl.h" 423)
                         (!fields 1 
                          (!pair  ""
                           (!type struct 240 nil  gc_used "block_symbol"
                            (!srcfileloc  "rtl.h" 242)
                            (!fields 3 
                             (!pair  "fld"
                              (!type array 241 nil  gc_unused "2" 
                               (!type undefined 242 nil  gc_unused "rtunion"
                                (!srcfileloc  "rtl.h" 234)
                               )
                              )
                              (!srcfileloc  "rtl.h" 234)
                              (!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" 275)
                                (!fields 5 
                                 (!pair  "sect"
                                  (!type pointer 245 nil  gc_used
                                   (!type union 246 
                                    (!type already_seen 245)
                                    gc_pointed_to "section"
                                    (!srcfileloc  "output.h" 498)
                                    (!fields 4 
                                     (!pair  "common"
                                      (!type struct 247 nil  gc_used "section_common"
                                       (!srcfileloc  "output.h" 440)
                                       (!fields 1 
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 439)
                                         nil )
                                       )
                                       nil 1023 nil nil )
                                      (!srcfileloc  "output.h" 494)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "named"
                                      (!type struct 248 nil  gc_used "named_section"
                                       (!srcfileloc  "output.h" 452)
                                       (!fields 3 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 444)
                                         nil )
                                        (!pair  "name"
                                         (!type already_seen 39)
                                         (!srcfileloc  "output.h" 447)
                                         nil )
                                        (!pair  "decl"
                                         (!type already_seen 5)
                                         (!srcfileloc  "output.h" 451)
                                         nil )
                                       )
                                       nil 1023 nil nil )
                                      (!srcfileloc  "output.h" 495)
                                      (!options 
                                       (!option tag string  "SECTION_NAMED")
                                      )
                                     )
                                     (!pair  "unnamed"
                                      (!type struct 249 nil  gc_used "unnamed_section"
                                       (!srcfileloc  "output.h" 469)
                                       (!fields 4 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 460)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 464)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "data"
                                         (!type already_seen 10)
                                         (!srcfileloc  "output.h" 465)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "next"
                                         (!type already_seen 245)
                                         (!srcfileloc  "output.h" 468)
                                         nil )
                                       )
                                       nil 1023 nil nil )
                                      (!srcfileloc  "output.h" 496)
                                      (!options 
                                       (!option tag string  "SECTION_UNNAMED")
                                      )
                                     )
                                     (!pair  "noswitch"
                                      (!type struct 250 nil  gc_used "noswitch_section"
                                       (!srcfileloc  "output.h" 490)
                                       (!fields 2 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 486)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 489)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                       )
                                       nil 1023 nil nil )
                                      (!srcfileloc  "output.h" 497)
                                      (!options 
                                       (!option tag string  "SECTION_NOSWITCH")
                                      )
                                     )
                                    )
                                    (!options 
                                     (!option for_user string  "")
                                     (!option desc string  "SECTION_STYLE (&(%h))")
                                    )
                                    1023 nil )
                                  )
                                  (!srcfileloc  "rtl.h" 248)
                                  nil )
                                 (!pair  "alignment"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 251)
                                  nil )
                                 (!pair  "size"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 254)
                                  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" 264)
                                    (!fields 2 
                                     (!pair  "va_gc"
                                      (!type already_seen 3)
                                      (!srcfileloc  "rtl.h" 264)
                                      nil )
                                     (!pair  "rtx"
                                      (!type already_seen 135)
                                      (!srcfileloc  "rtl.h" 264)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "rtl.h" 264)
                                  nil )
                                 (!pair  "anchors"
                                  (!type already_seen 251)
                                  (!srcfileloc  "rtl.h" 274)
                                  nil )
                                )
                                (!options 
                                 (!option for_user string  "")
                                )
                                1023 nil nil )
                              )
                              (!srcfileloc  "rtl.h" 237)
                              nil )
                             (!pair  "offset"
                              (!type already_seen 9)
                              (!srcfileloc  "rtl.h" 241)
                              nil )
                            )
                            nil 1023 nil nil )
                           (!srcfileloc  "gengtype.c" 1010)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 1023 nil )
                        (!srcfileloc  "gengtype.c" 1351)
                        (!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" 423)
                         (!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" 3493)
                             (!fields 10 
                              (!pair  "next"
                               (!type already_seen 254)
                               (!srcfileloc  "varasm.c" 3483)
                               nil )
                              (!pair  "mem"
                               (!type already_seen 135)
                               (!srcfileloc  "varasm.c" 3484)
                               nil )
                              (!pair  "sym"
                               (!type already_seen 135)
                               (!srcfileloc  "varasm.c" 3485)
                               nil )
                              (!pair  "constant"
                               (!type already_seen 135)
                               (!srcfileloc  "varasm.c" 3486)
                               nil )
                              (!pair  "offset"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3487)
                               nil )
                              (!pair  "hash"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3488)
                               nil )
                              (!pair  "mode"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3489)
                               nil )
                              (!pair  "align"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3490)
                               nil )
                              (!pair  "labelno"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3491)
                               nil )
                              (!pair  "mark"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3492)
                               nil )
                             )
                             (!options 
                              (!option for_user string  "")
                              (!option chain_next string  "%h.next")
                             )
                             1023 nil nil )
                           )
                           (!srcfileloc  "gengtype.c" 1215)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1213)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 1023 nil )
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option desc string  "CONSTANT_POOL_ADDRESS_P (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SYMBOL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 256 nil  gc_used "rtx_def_label_ref"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "LABEL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 257 nil  gc_used "rtx_def_mem"
                      (!srcfileloc  "rtl.h" 423)
                      (!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" 183)
                          (!fields 8 
                           (!pair  "expr"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 157)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 161)
                            nil )
                           (!pair  "size"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 165)
                            nil )
                           (!pair  "alias"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 168)
                            nil )
                           (!pair  "align"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 173)
                            nil )
                           (!pair  "addrspace"
                            (!type already_seen 15)
                            (!srcfileloc  "rtl.h" 176)
                            nil )
                           (!pair  "offset_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 179)
                            nil )
                           (!pair  "size_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 182)
                            nil )
                          )
                          nil 1023 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "MEM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 260 nil  gc_used "rtx_def_concatn"
                      (!srcfileloc  "rtl.h" 423)
                      (!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" 707)
                          (!fields 2 
                           (!pair  "num_elem"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 705)
                            nil )
                           (!pair  "elem"
                            (!type array 263 nil  gc_used "1" 
                             (!type already_seen 135)
                            )
                            (!srcfileloc  "rtl.h" 706)
                            (!options 
                             (!option length string  "%h.num_elem")
                            )
                           )
                          )
                          nil 1023 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONCATN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 264 nil  gc_used "rtx_def_concat"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 265 nil  gc_used "rtx_def_strict_low_part"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "STRICT_LOW_PART")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 266 nil  gc_used "rtx_def_subreg"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SUBREG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 267 nil  gc_used "rtx_def_scratch"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SCRATCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 268 nil  gc_used "rtx_def_reg"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  "reg.attrs"
                        (!type pointer 269 nil  gc_used
                         (!type struct 270 
                          (!type already_seen 269)
                          gc_pointed_to "reg_attrs"
                          (!srcfileloc  "rtl.h" 226)
                          (!fields 2 
                           (!pair  "decl"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 193)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 194)
                            nil )
                          )
                          (!options 
                           (!option for_user string  "")
                          )
                          1023 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1342)
                        nil )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "REG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 271 nil  gc_used "rtx_def_pc"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "PC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 272 nil  gc_used "rtx_def_const"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 273 nil  gc_used "rtx_def_const_string"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONST_STRING")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 274 nil  gc_used "rtx_def_const_vector"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONST_VECTOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 275 nil  gc_used "rtx_def_const_double"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONST_DOUBLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 276 nil  gc_used "rtx_def_const_fixed"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONST_FIXED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 277 nil  gc_used "rtx_def_const_wide_int"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONST_WIDE_INT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 278 nil  gc_used "rtx_def_const_int"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CONST_INT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 279 nil  gc_used "rtx_def_trap_if"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "TRAP_IF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 280 nil  gc_used "rtx_def_eh_return"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "EH_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 281 nil  gc_used "rtx_def_simple_return"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SIMPLE_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 282 nil  gc_used "rtx_def_return"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 0 )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 283 nil  gc_used "rtx_def_call"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CALL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 284 nil  gc_used "rtx_def_clobber"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CLOBBER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 285 nil  gc_used "rtx_def_use"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "USE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 286 nil  gc_used "rtx_def_set"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SET")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 287 nil  gc_used "rtx_def_prefetch"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "PREFETCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 288 nil  gc_used "rtx_def_addr_diff_vec"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 5 
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ADDR_DIFF_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 289 nil  gc_used "rtx_def_addr_vec"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ADDR_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 290 nil  gc_used "rtx_def_unspec_volatile"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNSPEC_VOLATILE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 291 nil  gc_used "rtx_def_unspec"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNSPEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 292 nil  gc_used "rtx_def_asm_operands"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ASM_OPERANDS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 293 nil  gc_used "rtx_def_asm_input"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ASM_INPUT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 294 nil  gc_used "rtx_def_parallel"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "PARALLEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 295 nil  gc_used "rtx_def_cond_exec"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "COND_EXEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 296 nil  gc_used "rtx_def_note"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 6 
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3]."
                        (!type union 297 nil  gc_used "rtx_def_note_subunion"
                         (!srcfileloc  "rtl.h" 423)
                         (!fields 18 
                          (!pair  "rt_str"
                           (!type already_seen 39)
                           (!srcfileloc  "gengtype.c" 1181)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_UPDATE_SJLJ_CONTEXT")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_SWITCH_TEXT_SECTIONS")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_BASIC_BLOCK")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 135)
                           (!srcfileloc  "gengtype.c" 1191)
                           (!options 
                            (!option tag string  "NOTE_INSN_CALL_ARG_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 135)
                           (!srcfileloc  "gengtype.c" 1191)
                           (!options 
                            (!option tag string  "NOTE_INSN_VAR_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_EPILOGUE_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_PROLOGUE_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_FUNCTION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1186)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1186)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 39)
                           (!srcfileloc  "gengtype.c" 1181)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 39)
                           (!srcfileloc  "gengtype.c" 1181)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1195)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 1023 nil )
                        (!srcfileloc  "gengtype.c" 1329)
                        (!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" 219)
                              (!fields 29 
                               (!pair  "num"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 118)
                                nil )
                               (!pair  "ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 121)
                                nil )
                               (!pair  "header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 124)
                                nil )
                               (!pair  "latch"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 127)
                                nil )
                               (!pair  "lpt_decision"
                                (!type struct 306 nil  gc_used "lpt_decision"
                                 (!srcfileloc  "cfgloop.h" 37)
                                 (!fields 2 
                                  (!pair  "decision"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 35)
                                   nil )
                                  (!pair  "times"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 36)
                                   nil )
                                 )
                                 nil 1023 nil nil )
                                (!srcfileloc  "cfgloop.h" 130)
                                nil )
                               (!pair  "av_ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 133)
                                nil )
                               (!pair  "num_nodes"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 136)
                                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" 139)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "cfgloop.h" 139)
                                    nil )
                                   (!pair  "loop_p"
                                    (!type already_seen 304)
                                    (!srcfileloc  "cfgloop.h" 139)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cfgloop.h" 139)
                                nil )
                               (!pair  "inner"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 142)
                                nil )
                               (!pair  "next"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 145)
                                nil )
                               (!pair  "aux"
                                (!type already_seen 10)
                                (!srcfileloc  "cfgloop.h" 148)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "nb_iterations"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 157)
                                nil )
                               (!pair  "nb_iterations_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 161)
                                nil )
                               (!pair  "nb_iterations_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 166)
                                nil )
                               (!pair  "any_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 168)
                                nil )
                               (!pair  "any_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 169)
                                nil )
                               (!pair  "can_be_parallel"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 172)
                                nil )
                               (!pair  "warned_aggressive_loop_optimizations"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 176)
                                nil )
                               (!pair  "estimate_state"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 180)
                                nil )
                               (!pair  "safelen"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 186)
                                nil )
                               (!pair  "dont_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 189)
                                nil )
                               (!pair  "force_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 192)
                                nil )
                               (!pair  "in_oacc_kernels_region"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 195)
                                nil )
                               (!pair  "simduid"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 200)
                                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" 69)
                                  (!fields 4 
                                   (!pair  "stmt"
                                    (!type pointer 311 nil  gc_used
                                     (!type struct 312 
                                      (!type already_seen 311)
                                      gc_pointed_to "gimple"
                                      (!srcfileloc  "gimple.h" 276)
                                      (!fields 15 
                                       (!pair  "code"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 217)
                                        nil )
                                       (!pair  "no_warning"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 220)
                                        nil )
                                       (!pair  "visited"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 224)
                                        nil )
                                       (!pair  "nontemporal_move"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 227)
                                        nil )
                                       (!pair  "plf"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 234)
                                        nil )
                                       (!pair  "modified"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 238)
                                        nil )
                                       (!pair  "has_volatile_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 241)
                                        nil )
                                       (!pair  "pad"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 244)
                                        nil )
                                       (!pair  "subcode"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 250)
                                        nil )
                                       (!pair  "uid"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 255)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 259)
                                        nil )
                                       (!pair  "num_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 262)
                                        nil )
                                       (!pair  "bb"
                                        (!type already_seen 298)
                                        (!srcfileloc  "gimple.h" 266)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 274)
                                        nil )
                                       (!pair  "prev"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 275)
                                        (!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" 51)
                                    nil )
                                   (!pair  "bound"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 60)
                                    nil )
                                   (!pair  "is_exit"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 65)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 309)
                                    (!srcfileloc  "cfgloop.h" 68)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  1023 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 203)
                                nil )
                               (!pair  "control_ivs"
                                (!type pointer 313 nil  gc_used
                                 (!type struct 314 
                                  (!type already_seen 313)
                                  gc_pointed_to "control_iv"
                                  (!srcfileloc  "cfgloop.h" 113)
                                  (!fields 3 
                                   (!pair  "base"
                                    (!type already_seen 5)
                                    (!srcfileloc  "cfgloop.h" 110)
                                    nil )
                                   (!pair  "step"
                                    (!type already_seen 5)
                                    (!srcfileloc  "cfgloop.h" 111)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 313)
                                    (!srcfileloc  "cfgloop.h" 112)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  1023 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 206)
                                nil )
                               (!pair  "exits"
                                (!type pointer 315 nil  gc_used
                                 (!type struct 316 
                                  (!type already_seen 315)
                                  gc_pointed_to "loop_exit"
                                  (!srcfileloc  "cfgloop.h" 83)
                                  (!fields 4 
                                   (!pair  "e"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 75)
                                    nil )
                                   (!pair  "prev"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 78)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 79)
                                    nil )
                                   (!pair  "next_e"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 82)
                                    nil )
                                  )
                                  (!options 
                                   (!option for_user string  "")
                                  )
                                  1023 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 209)
                                nil )
                               (!pair  "simple_loop_desc"
                                (!type pointer 317 nil  gc_used
                                 (!type struct 318 
                                  (!type already_seen 317)
                                  gc_pointed_to "niter_desc"
                                  (!srcfileloc  "cfgloop.h" 408)
                                  (!fields 11 
                                   (!pair  "out_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 375)
                                    nil )
                                   (!pair  "in_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 378)
                                    nil )
                                   (!pair  "simple_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 382)
                                    nil )
                                   (!pair  "const_iter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 385)
                                    nil )
                                   (!pair  "niter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 388)
                                    nil )
                                   (!pair  "assumptions"
                                    (!type already_seen 135)
                                    (!srcfileloc  "cfgloop.h" 391)
                                    nil )
                                   (!pair  "noloop_assumptions"
                                    (!type already_seen 135)
                                    (!srcfileloc  "cfgloop.h" 395)
                                    nil )
                                   (!pair  "infinite"
                                    (!type already_seen 135)
                                    (!srcfileloc  "cfgloop.h" 398)
                                    nil )
                                   (!pair  "signed_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 401)
                                    nil )
                                   (!pair  "mode"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 404)
                                    nil )
                                   (!pair  "niter_expr"
                                    (!type already_seen 135)
                                    (!srcfileloc  "cfgloop.h" 407)
                                    nil )
                                  )
                                  nil 1023 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 212)
                                nil )
                               (!pair  "former_header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 218)
                                nil )
                              )
                              (!options 
                               (!option chain_next string  "%h.next")
                              )
                              1023 nil nil )
                            )
                            (!srcfileloc  "basic-block.h" 129)
                            nil )
                           (!pair  "dom"
                            (!type array 319 nil  gc_unused "2" 
                             (!type pointer 320 nil  gc_unused
                              (!type struct 321 
                               (!type already_seen 320)
                               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 322 nil  gc_used "basic_block_il_dependent"
                             (!srcfileloc  "basic-block.h" 144)
                             (!fields 2 
                              (!pair  "gimple"
                               (!type struct 323 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 324 nil  gc_used "anonymous:../../gcc/basic-block.h:140"
                                (!srcfileloc  "basic-block.h" 143)
                                (!fields 2 
                                 (!pair  "head_"
                                  (!type pointer 325 nil  gc_used
                                   (!type struct 326 
                                    (!type already_seen 325)
                                    gc_pointed_to "rtx_insn"
                                    (!srcfileloc  "rtl.h" 542)
                                    (!fields 0 )
                                    nil 1023 nil 
                                    (!type already_seen 137)
                                   )
                                  )
                                  (!srcfileloc  "basic-block.h" 141)
                                  nil )
                                 (!pair  "rtl"
                                  (!type pointer 327 nil  gc_used
                                   (!type struct 328 
                                    (!type already_seen 327)
                                    gc_pointed_to "rtl_bb_info"
                                    (!srcfileloc  "basic-block.h" 84)
                                    (!fields 3 
                                     (!pair  "end_"
                                      (!type already_seen 325)
                                      (!srcfileloc  "basic-block.h" 78)
                                      nil )
                                     (!pair  "header_"
                                      (!type already_seen 325)
                                      (!srcfileloc  "basic-block.h" 82)
                                      nil )
                                     (!pair  "footer_"
                                      (!type already_seen 325)
                                      (!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" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "NOTE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 329 nil  gc_used "rtx_def_code_label"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 7 
                       (!pair  ".fld[6].rt_str"
                        (!type already_seen 39)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CODE_LABEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 330 nil  gc_used "rtx_def_barrier"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "BARRIER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 331 nil  gc_used "rtx_def_jump_table_data"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 8 
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "JUMP_TABLE_DATA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 332 nil  gc_used "rtx_def_call_insn"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "CALL_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 333 nil  gc_used "rtx_def_jump_insn"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "JUMP_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 334 nil  gc_used "rtx_def_insn"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 7 
                       (!pair  ".fld[6].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 335 nil  gc_used "rtx_def_debug_insn"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 7 
                       (!pair  ".fld[6].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "DEBUG_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 336 nil  gc_used "rtx_def_address"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "ADDRESS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 337 nil  gc_used "rtx_def_sequence"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "SEQUENCE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 338 nil  gc_used "rtx_def_int_list"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "INT_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 339 nil  gc_used "rtx_def_insn_list"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "INSN_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 340 nil  gc_used "rtx_def_expr_list"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 135)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "EXPR_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 341 nil  gc_used "rtx_def_debug_expr"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "DEBUG_EXPR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 342 nil  gc_used "rtx_def_value"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 343 nil  gc_used "rtx_def_UnKnown"
                      (!srcfileloc  "rtl.h" 423)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1329)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "gengtype.c" 1361)
                     (!options 
                      (!option tag string  "UNKNOWN")
                      (!option dot string  "")
                     )
                    )
                   )
                   (!options 
                    (!option dot string  "")
                   )
                   1023 nil )
                  (!srcfileloc  "rtl.h" 423)
                  (!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" 1566)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1776)
           (!options 
            (!option tag string  "TS_DECL_WRTL")
           )
          )
          (!pair  "decl_non_common"
           (!type struct 344 nil  gc_used "tree_decl_non_common"
            (!srcfileloc  "tree-core.h" 1642)
            (!fields 2 
             (!pair  "common"
              (!type struct 345 nil  gc_used "tree_decl_with_vis"
               (!srcfileloc  "tree-core.h" 1632)
               (!fields 20 
                (!pair  "common"
                 (!type already_seen 134)
                 (!srcfileloc  "tree-core.h" 1599)
                 nil )
                (!pair  "assembler_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1600)
                 nil )
                (!pair  "symtab_node"
                 (!type pointer 346 nil  gc_used
                  (!type struct 347 
                   (!type already_seen 346)
                   gc_pointed_to "symtab_node"
                   (!srcfileloc  "cgraph.h" 599)
                   (!fields 39 
                    (!pair  "DEBUG_FUNCTION"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 116)
                     nil )
                    (!pair  "DEBUG_FUNCTION"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 119)
                     nil )
                    (!pair  "type"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 420)
                     nil )
                    (!pair  "resolution"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 423)
                     nil )
                    (!pair  "definition"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 429)
                     nil )
                    (!pair  "alias"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 432)
                     nil )
                    (!pair  "transparent_alias"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 454)
                     nil )
                    (!pair  "weakref"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 456)
                     nil )
                    (!pair  "cpp_implicit_alias"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 463)
                     nil )
                    (!pair  "analyzed"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 466)
                     nil )
                    (!pair  "writeonly"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 468)
                     nil )
                    (!pair  "refuse_visibility_changes"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 471)
                     nil )
                    (!pair  "externally_visible"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 476)
                     nil )
                    (!pair  "no_reorder"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 478)
                     nil )
                    (!pair  "force_output"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 481)
                     nil )
                    (!pair  "forced_by_abi"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 485)
                     nil )
                    (!pair  "unique_name"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 487)
                     nil )
                    (!pair  "implicit_section"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 490)
                     nil )
                    (!pair  "body_removed"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 493)
                     nil )
                    (!pair  "used_from_other_partition"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 500)
                     nil )
                    (!pair  "in_other_partition"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 504)
                     nil )
                    (!pair  "address_taken"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 511)
                     nil )
                    (!pair  "in_init_priority_hash"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 513)
                     nil )
                    (!pair  "need_lto_streaming"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 517)
                     nil )
                    (!pair  "offloadable"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 520)
                     nil )
                    (!pair  "order"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 524)
                     nil )
                    (!pair  "decl"
                     (!type already_seen 5)
                     (!srcfileloc  "cgraph.h" 527)
                     nil )
                    (!pair  "next"
                     (!type already_seen 346)
                     (!srcfileloc  "cgraph.h" 530)
                     nil )
                    (!pair  "previous"
                     (!type already_seen 346)
                     (!srcfileloc  "cgraph.h" 531)
                     nil )
                    (!pair  "next_sharing_asm_name"
                     (!type already_seen 346)
                     (!srcfileloc  "cgraph.h" 542)
                     nil )
                    (!pair  "previous_sharing_asm_name"
                     (!type already_seen 346)
                     (!srcfileloc  "cgraph.h" 543)
                     nil )
                    (!pair  "same_comdat_group"
                     (!type already_seen 346)
                     (!srcfileloc  "cgraph.h" 546)
                     nil )
                    (!pair  "ref_list"
                     (!type struct 348 
                      (!type pointer 349 nil  gc_unused
                       (!type already_seen 348)
                      )
                      gc_used "ipa_ref_list"
                      (!srcfileloc  "cgraph.h" 549)
                      (!fields 2 
                       (!pair  "references"
                        (!type pointer 350 nil  gc_used
                         (!type user_struct 351 
                          (!type already_seen 350)
                          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 352 
                             (!type pointer 353 nil  gc_unused
                              (!type already_seen 352)
                             )
                             gc_used "ipa_ref"
                             (!srcfileloc  "cgraph.h" 124)
                             (!fields 7 
                              (!pair  "referring"
                               (!type already_seen 346)
                               (!srcfileloc  "ipa-ref.h" 59)
                               nil )
                              (!pair  "referred"
                               (!type already_seen 346)
                               (!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 354 nil  gc_unused "vec<ipa_ref_ptr>"
                         (!srcfileloc  "ipa-ref.h" 135)
                         (!fields 1 
                          (!pair  "ipa_ref_ptr"
                           (!type already_seen 353)
                           (!srcfileloc  "ipa-ref.h" 135)
                           nil )
                         )
                        )
                        (!srcfileloc  "ipa-ref.h" 135)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                      )
                      nil 1023 nil nil )
                     (!srcfileloc  "cgraph.h" 549)
                     nil )
                    (!pair  "alias_target"
                     (!type already_seen 5)
                     (!srcfileloc  "cgraph.h" 554)
                     nil )
                    (!pair  "lto_file_data"
                     (!type pointer 355 
                      (!type pointer 356 nil  gc_used
                       (!type already_seen 355)
                      )
                      gc_pointed_to
                      (!type struct 357 
                       (!type already_seen 355)
                       gc_pointed_to "lto_file_decl_data"
                       (!srcfileloc  "lto-streamer.h" 603)
                       (!fields 14 
                        (!pair  "current_decl_state"
                         (!type pointer 358 nil  gc_used
                          (!type struct 359 
                           (!type already_seen 358)
                           gc_pointed_to "lto_in_decl_state"
                           (!srcfileloc  "lto-streamer.h" 508)
                           (!fields 3 
                            (!pair  "streams"
                             (!type array 360 nil  gc_used "LTO_N_DECL_STREAMS" 
                              (!type already_seen 49)
                             )
                             (!srcfileloc  "lto-streamer.h" 500)
                             nil )
                            (!pair  "fn_decl"
                             (!type already_seen 5)
                             (!srcfileloc  "lto-streamer.h" 504)
                             nil )
                            (!pair  "compressed"
                             (!type already_seen 9)
                             (!srcfileloc  "lto-streamer.h" 507)
                             nil )
                           )
                           (!options 
                            (!option for_user string  "")
                           )
                           1023 nil nil )
                         )
                         (!srcfileloc  "lto-streamer.h" 565)
                         nil )
                        (!pair  "global_decl_state"
                         (!type already_seen 358)
                         (!srcfileloc  "lto-streamer.h" 569)
                         nil )
                        (!pair  "symtab_node_encoder"
                         (!type pointer 361 nil  gc_unused
                          (!type struct 362 
                           (!type already_seen 361)
                           gc_unused "lto_symtab_encoder_d"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "lto-streamer.h" 572)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "function_decl_states"
                         (!type pointer 363 nil  gc_used
                          (!type user_struct 364 
                           (!type already_seen 363)
                           gc_pointed_to "hash_table<decl_state_hasher>"
                           (!srcfileloc  "lto-streamer.h" 575)
                           (!fields 1 
                            (!pair  "decl_state_hasher"
                             (!type struct 365 nil  gc_used "decl_state_hasher"
                              (!srcfileloc  "lto-streamer.h" 575)
                              (!fields 0 )
                              nil 1023 nil nil )
                             (!srcfileloc  "lto-streamer.h" 575)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "lto-streamer.h" 575)
                         nil )
                        (!pair  "file_name"
                         (!type already_seen 39)
                         (!srcfileloc  "lto-streamer.h" 578)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "section_hash_table"
                         (!type pointer 366 nil  gc_unused
                          (!type struct 367 
                           (!type already_seen 366)
                           gc_unused "htab"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "lto-streamer.h" 581)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "renaming_hash_table"
                         (!type already_seen 366)
                         (!srcfileloc  "lto-streamer.h" 584)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "next"
                         (!type already_seen 355)
                         (!srcfileloc  "lto-streamer.h" 587)
                         nil )
                        (!pair  "id"
                         (!type already_seen 9)
                         (!srcfileloc  "lto-streamer.h" 590)
                         nil )
                        (!pair  "respairs"
                         (!type user_struct 368 nil  gc_unused "vec<res_pair>"
                          (!srcfileloc  "lto-streamer.h" 593)
                          (!fields 1 
                           (!pair  "res_pair"
                            (!type struct 369 nil  gc_unused "res_pair"
                             (!srcfileloc  "lto-streamer.h" 593)
                             (!fields 0 )
                             nil 1023 nil nil )
                            (!srcfileloc  "lto-streamer.h" 593)
                            nil )
                          )
                         )
                         (!srcfileloc  "lto-streamer.h" 593)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "max_index"
                         (!type already_seen 9)
                         (!srcfileloc  "lto-streamer.h" 594)
                         nil )
                        (!pair  "profile_info"
                         (!type struct 370 nil  gc_unused "gcov_ctr_summary"nil 
                          (!fields 0 )
                          nil 0 nil nil )
                         (!srcfileloc  "lto-streamer.h" 596)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "resolution_map"
                         (!type pointer 371 nil  gc_unused
                          (!type user_struct 372 
                           (!type already_seen 371)
                           gc_unused "hash_map<tree,ld_plugin_symbol_resolution>"
                           (!srcfileloc  "lto-streamer.h" 599)
                           (!fields 2 
                            (!pair  "ld_plugin_symbol_resolution"
                             (!type undefined 373 nil  gc_unused "ld_plugin_symbol_resolution"
                              (!srcfileloc  "lto-streamer.h" 599)
                             )
                             (!srcfileloc  "lto-streamer.h" 599)
                             nil )
                            (!pair  "tree"
                             (!type already_seen 5)
                             (!srcfileloc  "lto-streamer.h" 599)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "lto-streamer.h" 599)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "mode_table"
                         (!type already_seen 39)
                         (!srcfileloc  "lto-streamer.h" 602)
                         nil )
                       )
                       nil 1023 nil nil )
                     )
                     (!srcfileloc  "cgraph.h" 557)
                     nil )
                    (!pair  "aux"
                     (!type already_seen 10)
                     (!srcfileloc  "cgraph.h" 559)
                     (!options 
                      (!option skip string  "")
                     )
                    )
                    (!pair  "x_comdat_group"
                     (!type already_seen 5)
                     (!srcfileloc  "cgraph.h" 562)
                     nil )
                    (!pair  "x_section"
                     (!type pointer 374 nil  gc_used
                      (!type struct 375 
                       (!type already_seen 374)
                       gc_pointed_to "section_hash_entry"
                       (!srcfileloc  "cgraph.h" 565)
                       (!fields 2 
                        (!pair  "ref_count"
                         (!type already_seen 9)
                         (!srcfileloc  "cgraph.h" 44)
                         nil )
                        (!pair  "name"
                         (!type already_seen 39)
                         (!srcfileloc  "cgraph.h" 45)
                         nil )
                       )
                       (!options 
                        (!option for_user string  "")
                       )
                       1023 nil nil )
                     )
                     (!srcfileloc  "cgraph.h" 565)
                     nil )
                    (!pair  "DEBUG_FUNCTION"
                     (!type already_seen 9)
                     (!srcfileloc  "cgraph.h" 572)
                     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" 1601)
                 nil )
                (!pair  "defer_output"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1604)
                 nil )
                (!pair  "hard_register"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1605)
                 nil )
                (!pair  "common_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1606)
                 nil )
                (!pair  "in_text_section"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1607)
                 nil )
                (!pair  "in_constant_pool"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1608)
                 nil )
                (!pair  "dllimport_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1609)
                 nil )
                (!pair  "weak_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1611)
                 nil )
                (!pair  "seen_in_bind_expr"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1613)
                 nil )
                (!pair  "comdat_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1614)
                 nil )
                (!pair  "visibility"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1616)
                 nil )
                (!pair  "visibility_specified"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1617)
                 nil )
                (!pair  "init_priority_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1620)
                 nil )
                (!pair  "shadowed_for_var_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1622)
                 nil )
                (!pair  "cxx_constructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1624)
                 nil )
                (!pair  "cxx_destructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1626)
                 nil )
                (!pair  "final"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1628)
                 nil )
                (!pair  "regdecl_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1630)
                 nil )
               )
               nil 1023 nil nil )
              (!srcfileloc  "tree-core.h" 1639)
              nil )
             (!pair  "result"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1641)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1778)
           (!options 
            (!option tag string  "TS_DECL_NON_COMMON")
           )
          )
          (!pair  "parm_decl"
           (!type struct 376 nil  gc_used "tree_parm_decl"
            (!srcfileloc  "tree-core.h" 1596)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 134)
              (!srcfileloc  "tree-core.h" 1594)
              nil )
             (!pair  "incoming_rtl"
              (!type already_seen 135)
              (!srcfileloc  "tree-core.h" 1595)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1779)
           (!options 
            (!option tag string  "TS_PARM_DECL")
           )
          )
          (!pair  "decl_with_vis"
           (!type already_seen 345)
           (!srcfileloc  "tree-core.h" 1780)
           (!options 
            (!option tag string  "TS_DECL_WITH_VIS")
           )
          )
          (!pair  "var_decl"
           (!type struct 377 nil  gc_used "tree_var_decl"
            (!srcfileloc  "tree-core.h" 1636)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 345)
              (!srcfileloc  "tree-core.h" 1635)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1781)
           (!options 
            (!option tag string  "TS_VAR_DECL")
           )
          )
          (!pair  "field_decl"
           (!type struct 378 nil  gc_used "tree_field_decl"
            (!srcfileloc  "tree-core.h" 1577)
            (!fields 6 
             (!pair  "common"
              (!type already_seen 41)
              (!srcfileloc  "tree-core.h" 1570)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1572)
              nil )
             (!pair  "bit_field_type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1573)
              nil )
             (!pair  "qualifier"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1574)
              nil )
             (!pair  "bit_offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1575)
              nil )
             (!pair  "fcontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1576)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1782)
           (!options 
            (!option tag string  "TS_FIELD_DECL")
           )
          )
          (!pair  "label_decl"
           (!type struct 379 nil  gc_used "tree_label_decl"
            (!srcfileloc  "tree-core.h" 1583)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 134)
              (!srcfileloc  "tree-core.h" 1580)
              nil )
             (!pair  "label_decl_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1581)
              nil )
             (!pair  "eh_landing_pad_nr"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1582)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1783)
           (!options 
            (!option tag string  "TS_LABEL_DECL")
           )
          )
          (!pair  "result_decl"
           (!type struct 380 nil  gc_used "tree_result_decl"
            (!srcfileloc  "tree-core.h" 1587)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 134)
              (!srcfileloc  "tree-core.h" 1586)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1784)
           (!options 
            (!option tag string  "TS_RESULT_DECL")
           )
          )
          (!pair  "const_decl"
           (!type struct 381 nil  gc_used "tree_const_decl"
            (!srcfileloc  "tree-core.h" 1591)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 41)
              (!srcfileloc  "tree-core.h" 1590)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1785)
           (!options 
            (!option tag string  "TS_CONST_DECL")
           )
          )
          (!pair  "type_decl"
           (!type struct 382 nil  gc_used "tree_type_decl"
            (!srcfileloc  "tree-core.h" 1709)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 344)
              (!srcfileloc  "tree-core.h" 1707)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1786)
           (!options 
            (!option tag string  "TS_TYPE_DECL")
           )
          )
          (!pair  "function_decl"
           (!type struct 383 nil  gc_used "tree_function_decl"
            (!srcfileloc  "tree-core.h" 1696)
            (!fields 28 
             (!pair  "common"
              (!type already_seen 344)
              (!srcfileloc  "tree-core.h" 1650)
              nil )
             (!pair  "f"
              (!type pointer 384 nil  gc_used
               (!type struct 385 
                (!type already_seen 384)
                gc_pointed_to "function"
                (!srcfileloc  "function.h" 385)
                (!fields 45 
                 (!pair  "eh"
                  (!type pointer 386 nil  gc_used
                   (!type struct 387 
                    (!type already_seen 386)
                    gc_pointed_to "eh_status"
                    (!srcfileloc  "except.h" 218)
                    (!fields 6 
                     (!pair  "region_tree"
                      (!type pointer 388 nil  gc_used
                       (!type struct 389 
                        (!type already_seen 388)
                        gc_pointed_to "eh_region_d"
                        (!srcfileloc  "except.h" 180)
                        (!fields 10 
                         (!pair  "outer"
                          (!type already_seen 388)
                          (!srcfileloc  "except.h" 121)
                          nil )
                         (!pair  "inner"
                          (!type already_seen 388)
                          (!srcfileloc  "except.h" 124)
                          nil )
                         (!pair  "next_peer"
                          (!type already_seen 388)
                          (!srcfileloc  "except.h" 125)
                          nil )
                         (!pair  "index"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 128)
                          nil )
                         (!pair  "type"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 131)
                          nil )
                         (!pair  "u"
                          (!type union 390 nil  gc_used "eh_region_u"
                           (!srcfileloc  "except.h" 167)
                           (!fields 3 
                            (!pair  "eh_try"
                             (!type struct 391 nil  gc_used "eh_region_u_try"
                              (!srcfileloc  "except.h" 139)
                              (!fields 2 
                               (!pair  "first_catch"
                                (!type pointer 392 nil  gc_used
                                 (!type struct 393 
                                  (!type already_seen 392)
                                  gc_pointed_to "eh_catch_d"
                                  (!srcfileloc  "except.h" 114)
                                  (!fields 5 
                                   (!pair  "next_catch"
                                    (!type already_seen 392)
                                    (!srcfileloc  "except.h" 98)
                                    nil )
                                   (!pair  "prev_catch"
                                    (!type already_seen 392)
                                    (!srcfileloc  "except.h" 99)
                                    nil )
                                   (!pair  "type_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 103)
                                    nil )
                                   (!pair  "filter_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 108)
                                    nil )
                                   (!pair  "label"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 113)
                                    nil )
                                  )
                                  nil 1023 nil nil )
                                )
                                (!srcfileloc  "except.h" 137)
                                nil )
                               (!pair  "last_catch"
                                (!type already_seen 392)
                                (!srcfileloc  "except.h" 138)
                                nil )
                              )
                              nil 1023 nil nil )
                             (!srcfileloc  "except.h" 139)
                             (!options 
                              (!option tag string  "ERT_TRY")
                             )
                            )
                            (!pair  "allowed"
                             (!type struct 394 nil  gc_used "eh_region_u_allowed"
                              (!srcfileloc  "except.h" 153)
                              (!fields 3 
                               (!pair  "type_list"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 143)
                                nil )
                               (!pair  "label"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 147)
                                nil )
                               (!pair  "filter"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 152)
                                nil )
                              )
                              nil 1023 nil nil )
                             (!srcfileloc  "except.h" 153)
                             (!options 
                              (!option tag string  "ERT_ALLOWED_EXCEPTIONS")
                             )
                            )
                            (!pair  "must_not_throw"
                             (!type struct 395 nil  gc_used "eh_region_u_must_not_throw"
                              (!srcfileloc  "except.h" 166)
                              (!fields 2 
                               (!pair  "failure_decl"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 163)
                                nil )
                               (!pair  "failure_loc"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 165)
                                nil )
                              )
                              nil 1023 nil nil )
                             (!srcfileloc  "except.h" 166)
                             (!options 
                              (!option tag string  "ERT_MUST_NOT_THROW")
                             )
                            )
                           )
                           nil 1023 nil )
                          (!srcfileloc  "except.h" 167)
                          (!options 
                           (!option desc string  "%0.type")
                          )
                         )
                         (!pair  "landing_pads"
                          (!type pointer 396 nil  gc_used
                           (!type struct 397 
                            (!type already_seen 396)
                            gc_pointed_to "eh_landing_pad_d"
                            (!srcfileloc  "except.h" 91)
                            (!fields 5 
                             (!pair  "next_lp"
                              (!type already_seen 396)
                              (!srcfileloc  "except.h" 72)
                              nil )
                             (!pair  "region"
                              (!type already_seen 388)
                              (!srcfileloc  "except.h" 75)
                              nil )
                             (!pair  "post_landing_pad"
                              (!type already_seen 5)
                              (!srcfileloc  "except.h" 80)
                              nil )
                             (!pair  "landing_pad"
                              (!type pointer 398 nil  gc_used
                               (!type struct 399 
                                (!type already_seen 398)
                                gc_pointed_to "rtx_code_label"
                                (!srcfileloc  "function.h" 138)
                                (!fields 0 )
                                nil 1023 nil 
                                (!type already_seen 326)
                               )
                              )
                              (!srcfileloc  "except.h" 87)
                              nil )
                             (!pair  "index"
                              (!type already_seen 9)
                              (!srcfileloc  "except.h" 90)
                              nil )
                            )
                            nil 1023 nil nil )
                          )
                          (!srcfileloc  "except.h" 170)
                          nil )
                         (!pair  "exc_ptr_reg"
                          (!type already_seen 135)
                          (!srcfileloc  "except.h" 175)
                          nil )
                         (!pair  "filter_reg"
                          (!type already_seen 135)
                          (!srcfileloc  "except.h" 175)
                          nil )
                         (!pair  "use_cxa_end_cleanup"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 179)
                          nil )
                        )
                        nil 1023 nil nil )
                      )
                      (!srcfileloc  "except.h" 194)
                      nil )
                     (!pair  "region_array"
                      (!type pointer 400 nil  gc_used
                       (!type user_struct 401 
                        (!type already_seen 400)
                        gc_pointed_to "vec<eh_region,va_gc>"
                        (!srcfileloc  "except.h" 197)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 197)
                          nil )
                         (!pair  "eh_region"
                          (!type already_seen 388)
                          (!srcfileloc  "except.h" 197)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 197)
                      nil )
                     (!pair  "lp_array"
                      (!type pointer 402 nil  gc_used
                       (!type user_struct 403 
                        (!type already_seen 402)
                        gc_pointed_to "vec<eh_landing_pad,va_gc>"
                        (!srcfileloc  "except.h" 200)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 200)
                          nil )
                         (!pair  "eh_landing_pad"
                          (!type already_seen 396)
                          (!srcfileloc  "except.h" 200)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 200)
                      nil )
                     (!pair  "throw_stmt_table"
                      (!type pointer 404 nil  gc_used
                       (!type user_struct 405 
                        (!type already_seen 404)
                        gc_pointed_to "hash_map<gimple*,int>"
                        (!srcfileloc  "except.h" 204)
                        (!fields 2 
                         (!pair  "int"
                          (!type undefined 406 nil  gc_unused "int"
                           (!srcfileloc  "alias.c" 135)
                          )
                          (!srcfileloc  "except.h" 204)
                          nil )
                         (!pair  "gimple"
                          (!type already_seen 311)
                          (!srcfileloc  "except.h" 204)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 204)
                      nil )
                     (!pair  "ttype_data"
                      (!type already_seen 49)
                      (!srcfileloc  "except.h" 208)
                      nil )
                     (!pair  "ehspec_data"
                      (!type union 407 nil  gc_used "eh_status_u"
                       (!srcfileloc  "except.h" 217)
                       (!fields 2 
                        (!pair  "arm_eabi"
                         (!type already_seen 49)
                         (!srcfileloc  "except.h" 215)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                        (!pair  "other"
                         (!type pointer 408 nil  gc_used
                          (!type user_struct 409 
                           (!type already_seen 408)
                           gc_pointed_to "vec<uchar,va_gc>"
                           (!srcfileloc  "function.h" 143)
                           (!fields 2 
                            (!pair  "va_gc"
                             (!type already_seen 3)
                             (!srcfileloc  "function.h" 143)
                             nil )
                            (!pair  "uchar"
                             (!type already_seen 15)
                             (!srcfileloc  "function.h" 143)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "except.h" 216)
                         (!options 
                          (!option tag string  "0")
                         )
                        )
                       )
                       nil 1023 nil )
                      (!srcfileloc  "except.h" 217)
                      (!options 
                       (!option desc string  "targetm.arm_eabi_unwinder")
                      )
                     )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 223)
                  nil )
                 (!pair  "cfg"
                  (!type pointer 410 nil  gc_used
                   (!type struct 411 
                    (!type already_seen 410)
                    gc_pointed_to "control_flow_graph"
                    (!srcfileloc  "cfg.h" 74)
                    (!fields 12 
                     (!pair  "x_entry_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "cfg.h" 41)
                      nil )
                     (!pair  "x_exit_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "cfg.h" 42)
                      nil )
                     (!pair  "x_basic_block_info"
                      (!type pointer 412 nil  gc_used
                       (!type user_struct 413 
                        (!type already_seen 412)
                        gc_pointed_to "vec<basic_block,va_gc>"
                        (!srcfileloc  "cfg.h" 45)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "cfg.h" 45)
                          nil )
                         (!pair  "basic_block"
                          (!type already_seen 298)
                          (!srcfileloc  "cfg.h" 45)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "cfg.h" 45)
                      nil )
                     (!pair  "x_n_basic_blocks"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 48)
                      nil )
                     (!pair  "x_n_edges"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 51)
                      nil )
                     (!pair  "x_last_basic_block"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 54)
                      nil )
                     (!pair  "last_label_uid"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 57)
                      nil )
                     (!pair  "x_label_to_block_map"
                      (!type already_seen 412)
                      (!srcfileloc  "cfg.h" 61)
                      nil )
                     (!pair  "x_profile_status"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 63)
                      nil )
                     (!pair  "x_dom_computed"
                      (!type array 414 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "cfg.h" 66)
                      nil )
                     (!pair  "x_n_bbs_in_dom_tree"
                      (!type array 415 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "cfg.h" 69)
                      nil )
                     (!pair  "max_jumptable_ents"
                      (!type already_seen 9)
                      (!srcfileloc  "cfg.h" 73)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 226)
                  nil )
                 (!pair  "gimple_body"
                  (!type already_seen 311)
                  (!srcfileloc  "function.h" 229)
                  nil )
                 (!pair  "gimple_df"
                  (!type pointer 416 nil  gc_used
                   (!type struct 417 
                    (!type already_seen 416)
                    gc_pointed_to "gimple_df"
                    (!srcfileloc  "gimple-ssa.h" 115)
                    (!fields 13 
                     (!pair  "ssa_names"
                      (!type already_seen 49)
                      (!srcfileloc  "gimple-ssa.h" 74)
                      nil )
                     (!pair  "vop"
                      (!type already_seen 5)
                      (!srcfileloc  "gimple-ssa.h" 77)
                      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" 80)
                      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" 84)
                        (!fields 2 
                         (!pair  "tree"
                          (!type already_seen 5)
                          (!srcfileloc  "gimple-ssa.h" 84)
                          nil )
                         (!pair  "tree"
                          (!type already_seen 5)
                          (!srcfileloc  "gimple-ssa.h" 84)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 84)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                     (!pair  "free_ssanames"
                      (!type already_seen 49)
                      (!srcfileloc  "gimple-ssa.h" 87)
                      nil )
                     (!pair  "free_ssanames_queue"
                      (!type already_seen 49)
                      (!srcfileloc  "gimple-ssa.h" 90)
                      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" 96)
                        (!fields 1 
                         (!pair  "ssa_name_hasher"
                          (!type struct 423 nil  gc_used "ssa_name_hasher"
                           (!srcfileloc  "gimple-ssa.h" 96)
                           (!fields 0 )
                           nil 1023 nil nil )
                          (!srcfileloc  "gimple-ssa.h" 96)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 96)
                      nil )
                     (!pair  "ssa_renaming_needed"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 99)
                      nil )
                     (!pair  "rename_vops"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 102)
                      nil )
                     (!pair  "in_ssa_p"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 105)
                      nil )
                     (!pair  "ipa_pta"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 108)
                      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" 110)
                      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" 114)
                        (!fields 1 
                         (!pair  "tm_restart_hasher"
                          (!type struct 432 nil  gc_used "tm_restart_hasher"
                           (!srcfileloc  "gimple-ssa.h" 114)
                           (!fields 0 )
                           nil 1023 nil nil )
                          (!srcfileloc  "gimple-ssa.h" 114)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 114)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 232)
                  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" 253)
                    (!fields 4 
                     (!pair  "state"
                      (!type already_seen 9)
                      (!srcfileloc  "cfgloop.h" 241)
                      nil )
                     (!pair  "larray"
                      (!type already_seen 307)
                      (!srcfileloc  "cfgloop.h" 244)
                      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" 249)
                        (!fields 1 
                         (!pair  "loop_exit_hasher"
                          (!type struct 437 nil  gc_used "loop_exit_hasher"
                           (!srcfileloc  "cfgloop.h" 249)
                           (!fields 0 )
                           nil 1023 nil nil )
                          (!srcfileloc  "cfgloop.h" 249)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "cfgloop.h" 249)
                      nil )
                     (!pair  "tree_root"
                      (!type already_seen 304)
                      (!srcfileloc  "cfgloop.h" 252)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 235)
                  nil )
                 (!pair  "su"
                  (!type pointer 438 nil  gc_used
                   (!type struct 439 
                    (!type already_seen 438)
                    gc_pointed_to "stack_usage"
                    (!srcfileloc  "function.h" 208)
                    (!fields 4 
                     (!pair  "static_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 195)
                      nil )
                     (!pair  "dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 199)
                      nil )
                     (!pair  "pushed_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 203)
                      nil )
                     (!pair  "has_unbounded_dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 207)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 238)
                  nil )
                 (!pair  "value_histograms"
                  (!type already_seen 366)
                  (!srcfileloc  "function.h" 241)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 246)
                  nil )
                 (!pair  "static_chain_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 250)
                  nil )
                 (!pair  "nonlocal_goto_save_area"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 255)
                  nil )
                 (!pair  "local_decls"
                  (!type already_seen 49)
                  (!srcfileloc  "function.h" 258)
                  nil )
                 (!pair  "cilk_frame_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 261)
                  nil )
                 (!pair  "machine"
                  (!type pointer 440 nil  gc_unused
                   (!type struct 441 
                    (!type already_seen 440)
                    gc_maybe_pointed_to "machine_function"
                    (!srcfileloc  "config/arc/arc.c" 2120)
                    (!fields 9 
                     (!pair  "fn_type"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arc/arc.c" 2109)
                      nil )
                     (!pair  "frame_info"
                      (!type struct 442 nil  gc_used "arc_frame_info"
                       (!srcfileloc  "config/arc/arc.c" 2103)
                       (!fields 12 
                        (!pair  "total_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2091)
                         nil )
                        (!pair  "extra_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2092)
                         nil )
                        (!pair  "pretend_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2093)
                         nil )
                        (!pair  "args_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2094)
                         nil )
                        (!pair  "reg_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2095)
                         nil )
                        (!pair  "var_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2096)
                         nil )
                        (!pair  "reg_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2097)
                         nil )
                        (!pair  "gmask"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2098)
                         nil )
                        (!pair  "initialized"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2099)
                         nil )
                        (!pair  "millicode_start_reg"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2100)
                         nil )
                        (!pair  "millicode_end_reg"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2101)
                         nil )
                        (!pair  "save_return_addr"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 2102)
                         nil )
                       )
                       nil 1023 nil nil )
                      (!srcfileloc  "config/arc/arc.c" 2110)
                      nil )
                     (!pair  "unalign"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arc/arc.c" 2112)
                      nil )
                     (!pair  "force_short_suffix"
                      (!type already_seen 9)
                      (!srcfileloc  "config/arc/arc.c" 2113)
                      nil )
                     (!pair  "size_reason"
                      (!type already_seen 39)
                      (!srcfileloc  "config/arc/arc.c" 2114)
                      nil )
                     (!pair  "ccfsm_current"
                      (!type struct 443 nil  gc_used "arc_ccfsm"
                       (!srcfileloc  "config/arc/arc.c" 118)
                       (!fields 5 
                        (!pair  "state"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 113)
                         nil )
                        (!pair  "cc"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 114)
                         nil )
                        (!pair  "cond"
                         (!type already_seen 135)
                         (!srcfileloc  "config/arc/arc.c" 115)
                         nil )
                        (!pair  "target_insn"
                         (!type already_seen 325)
                         (!srcfileloc  "config/arc/arc.c" 116)
                         nil )
                        (!pair  "target_label"
                         (!type already_seen 9)
                         (!srcfileloc  "config/arc/arc.c" 117)
                         nil )
                       )
                       nil 1023 nil nil )
                      (!srcfileloc  "config/arc/arc.c" 2115)
                      nil )
                     (!pair  "ccfsm_current_insn"
                      (!type already_seen 135)
                      (!srcfileloc  "config/arc/arc.c" 2117)
                      nil )
                     (!pair  "arc_reorg_started"
                      (!type already_seen 15)
                      (!srcfileloc  "config/arc/arc.c" 2118)
                      nil )
                     (!pair  "prescan_initialized"
                      (!type already_seen 15)
                      (!srcfileloc  "config/arc/arc.c" 2119)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "function.h" 266)
                  (!options 
                   (!option maybe_undef string  "")
                  )
                 )
                 (!pair  "language"
                  (!type already_seen 76)
                  (!srcfileloc  "function.h" 269)
                  nil )
                 (!pair  "used_types_hash"
                  (!type pointer 444 nil  gc_used
                   (!type user_struct 445 
                    (!type already_seen 444)
                    gc_pointed_to "hash_set<tree>"
                    (!srcfileloc  "function.h" 272)
                    (!fields 1 
                     (!pair  "tree"
                      (!type already_seen 5)
                      (!srcfileloc  "function.h" 272)
                      nil )
                    )
                   )
                  )
                  (!srcfileloc  "function.h" 272)
                  nil )
                 (!pair  "fde"
                  (!type pointer 446 nil  gc_used
                   (!type struct 447 
                    (!type already_seen 446)
                    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 448 nil  gc_used
                       (!type user_struct 449 
                        (!type already_seen 448)
                        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 450 nil  gc_used
                           (!type struct 451 
                            (!type already_seen 450)
                            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 452 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 453 nil  gc_used
                                  (!type struct 454 
                                   (!type already_seen 453)
                                   gc_pointed_to "dw_loc_descr_node"
                                   (!srcfileloc  "dwarf2out.h" 250)
                                   (!fields 8 
                                    (!pair  "dw_loc_next"
                                     (!type already_seen 453)
                                     (!srcfileloc  "dwarf2out.h" 232)
                                     nil )
                                    (!pair  "dw_loc_opc"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 233)
                                     nil )
                                    (!pair  "dtprel"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 236)
                                     nil )
                                    (!pair  "frame_offset_rel"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 240)
                                     nil )
                                    (!pair  "dw_loc_addr"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 241)
                                     nil )
                                    (!pair  "dw_loc_frame_offset"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 246)
                                     nil )
                                    (!pair  "dw_loc_oprnd1"
                                     (!type struct 455 
                                      (!type pointer 456 nil  gc_unused
                                       (!type already_seen 455)
                                      )
                                      gc_used "dw_val_node"
                                      (!srcfileloc  "dwarf2out.h" 248)
                                      (!fields 3 
                                       (!pair  "val_class"
                                        (!type already_seen 9)
                                        (!srcfileloc  "dwarf2out.h" 192)
                                        nil )
                                       (!pair  "val_entry"
                                        (!type pointer 457 nil  gc_used
                                         (!type struct 458 
                                          (!type already_seen 457)
                                          gc_pointed_to "addr_table_entry"
                                          (!srcfileloc  "dwarf2out.c" 1283)
                                          (!fields 4 
                                           (!pair  "kind"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1266)
                                            nil )
                                           (!pair  "refcount"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1267)
                                            nil )
                                           (!pair  "index"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1268)
                                            nil )
                                           (!pair  "addr"
                                            (!type union 459 nil  gc_used "addr_table_entry_struct_union"
                                             (!srcfileloc  "dwarf2out.c" 1273)
                                             (!fields 2 
                                              (!pair  "rtl"
                                               (!type already_seen 135)
                                               (!srcfileloc  "dwarf2out.c" 1271)
                                               (!options 
                                                (!option tag string  "0")
                                               )
                                              )
                                              (!pair  "label"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1272)
                                               (!options 
                                                (!option tag string  "1")
                                               )
                                              )
                                             )
                                             nil 1023 nil )
                                            (!srcfileloc  "dwarf2out.c" 1274)
                                            (!options 
                                             (!option desc string  "%1.kind")
                                            )
                                           )
                                          )
                                          (!options 
                                           (!option for_user string  "")
                                          )
                                          1023 nil nil )
                                        )
                                        (!srcfileloc  "dwarf2out.h" 193)
                                        nil )
                                       (!pair  "v"
                                        (!type union 460 nil  gc_used "dw_val_struct_union"
                                         (!srcfileloc  "dwarf2out.h" 224)
                                         (!fields 20 
                                          (!pair  "val_addr"
                                           (!type already_seen 135)
                                           (!srcfileloc  "dwarf2out.h" 196)
                                           (!options 
                                            (!option tag string  "dw_val_class_addr")
                                           )
                                          )
                                          (!pair  "val_offset"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 197)
                                           (!options 
                                            (!option tag string  "dw_val_class_offset")
                                           )
                                          )
                                          (!pair  "val_loc_list"
                                           (!type pointer 461 nil  gc_used
                                            (!type struct 462 
                                             (!type already_seen 461)
                                             gc_pointed_to "dw_loc_list_struct"
                                             (!srcfileloc  "dwarf2out.c" 1299)
                                             (!fields 12 
                                              (!pair  "dw_loc_next"
                                               (!type already_seen 461)
                                               (!srcfileloc  "dwarf2out.c" 1281)
                                               nil )
                                              (!pair  "begin"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1282)
                                               nil )
                                              (!pair  "begin_entry"
                                               (!type already_seen 457)
                                               (!srcfileloc  "dwarf2out.c" 1283)
                                               nil )
                                              (!pair  "end"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1284)
                                               nil )
                                              (!pair  "ll_symbol"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1285)
                                               nil )
                                              (!pair  "section"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1287)
                                               nil )
                                              (!pair  "expr"
                                               (!type already_seen 453)
                                               (!srcfileloc  "dwarf2out.c" 1288)
                                               nil )
                                              (!pair  "hash"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1289)
                                               nil )
                                              (!pair  "resolved_addr"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1292)
                                               nil )
                                              (!pair  "replaced"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1294)
                                               nil )
                                              (!pair  "emitted"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1295)
                                               nil )
                                              (!pair  "force"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1298)
                                               nil )
                                             )
                                             nil 1023 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 198)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc_list")
                                           )
                                          )
                                          (!pair  "val_loc"
                                           (!type already_seen 453)
                                           (!srcfileloc  "dwarf2out.h" 199)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc")
                                           )
                                          )
                                          (!pair  "val_int"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 200)
                                           (!options 
                                            (!option default string  "")
                                           )
                                          )
                                          (!pair  "val_unsigned"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 201)
                                           (!options 
                                            (!option tag string  "dw_val_class_unsigned_const")
                                           )
                                          )
                                          (!pair  "val_double"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 202)
                                           (!options 
                                            (!option tag string  "dw_val_class_const_double")
                                           )
                                          )
                                          (!pair  "val_wide"
                                           (!type pointer 463 nil  gc_used
                                            (!type user_struct 464 
                                             (!type already_seen 463)
                                             gc_pointed_to "generic_wide_int<wide_int_storage>"
                                             (!srcfileloc  "wide-int.h" 286)
                                             (!fields 1 
                                              (!pair  "wide_int_storage"
                                               (!type struct 465 nil  gc_used "wide_int_storage"
                                                (!srcfileloc  "wide-int.h" 998)
                                                (!fields 3 
                                                 (!pair  "val"
                                                  (!type array 466 nil  gc_used "WIDE_INT_MAX_ELTS" 
                                                   (!type already_seen 9)
                                                  )
                                                  (!srcfileloc  "wide-int.h" 975)
                                                  nil )
                                                 (!pair  "len"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "wide-int.h" 976)
                                                  nil )
                                                 (!pair  "precision"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "wide-int.h" 977)
                                                  nil )
                                                )
                                                nil 1023 nil nil )
                                               (!srcfileloc  "wide-int.h" 286)
                                               nil )
                                             )
                                            )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 203)
                                           (!options 
                                            (!option tag string  "dw_val_class_wide_int")
                                           )
                                          )
                                          (!pair  "val_vec"
                                           (!type struct 467 nil  gc_used "dw_vec_const"
                                            (!srcfileloc  "dwarf2out.h" 204)
                                            (!fields 3 
                                             (!pair  "array"
                                              (!type already_seen 39)
                                              (!srcfileloc  "dwarf2out.h" 162)
                                              (!options 
                                               (!option atomic string  "")
                                              )
                                             )
                                             (!pair  "length"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 163)
                                              nil )
                                             (!pair  "elt_size"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 164)
                                              nil )
                                            )
                                            nil 1023 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 204)
                                           (!options 
                                            (!option tag string  "dw_val_class_vec")
                                           )
                                          )
                                          (!pair  "val_die_ref"
                                           (!type struct 468 nil  gc_used "dw_val_die_union"
                                            (!srcfileloc  "dwarf2out.h" 209)
                                            (!fields 2 
                                             (!pair  "die"
                                              (!type pointer 469 
                                               (!type pointer 470 nil  gc_used
                                                (!type already_seen 469)
                                               )
                                               gc_pointed_to
                                               (!type struct 471 
                                                (!type already_seen 469)
                                                gc_pointed_to "die_struct"
                                                (!srcfileloc  "dwarf2out.c" 2712)
                                                (!fields 13 
                                                 (!pair  "die_id"
                                                  (!type union 472 nil  gc_used "die_symbol_or_type_node"
                                                   (!srcfileloc  "dwarf2out.c" 2696)
                                                   (!fields 2 
                                                    (!pair  "die_symbol"
                                                     (!type already_seen 39)
                                                     (!srcfileloc  "dwarf2out.c" 2694)
                                                     (!options 
                                                      (!option tag string  "0")
                                                     )
                                                    )
                                                    (!pair  "die_type_node"
                                                     (!type pointer 473 nil  gc_used
                                                      (!type struct 474 
                                                       (!type already_seen 473)
                                                       gc_pointed_to "comdat_type_node"
                                                       (!srcfileloc  "dwarf2out.c" 2770)
                                                       (!fields 5 
                                                        (!pair  "root_die"
                                                         (!type already_seen 469)
                                                         (!srcfileloc  "dwarf2out.c" 2765)
                                                         nil )
                                                        (!pair  "type_die"
                                                         (!type already_seen 469)
                                                         (!srcfileloc  "dwarf2out.c" 2766)
                                                         nil )
                                                        (!pair  "skeleton_die"
                                                         (!type already_seen 469)
                                                         (!srcfileloc  "dwarf2out.c" 2767)
                                                         nil )
                                                        (!pair  "signature"
                                                         (!type array 475 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                          (!type already_seen 15)
                                                         )
                                                         (!srcfileloc  "dwarf2out.c" 2768)
                                                         nil )
                                                        (!pair  "next"
                                                         (!type already_seen 473)
                                                         (!srcfileloc  "dwarf2out.c" 2769)
                                                         nil )
                                                       )
                                                       nil 1023 nil nil )
                                                     )
                                                     (!srcfileloc  "dwarf2out.c" 2695)
                                                     (!options 
                                                      (!option tag string  "1")
                                                     )
                                                    )
                                                   )
                                                   nil 1023 nil )
                                                  (!srcfileloc  "dwarf2out.c" 2697)
                                                  (!options 
                                                   (!option desc string  "%0.comdat_type_p")
                                                  )
                                                 )
                                                 (!pair  "die_attr"
                                                  (!type pointer 476 nil  gc_used
                                                   (!type user_struct 477 
                                                    (!type already_seen 476)
                                                    gc_pointed_to "vec<dw_attr_node,va_gc>"
                                                    (!srcfileloc  "dwarf2out.c" 2698)
                                                    (!fields 2 
                                                     (!pair  "va_gc"
                                                      (!type already_seen 3)
                                                      (!srcfileloc  "dwarf2out.c" 2698)
                                                      nil )
                                                     (!pair  "dw_attr_node"
                                                      (!type struct 478 nil  gc_used "dw_attr_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2683)
                                                       (!fields 2 
                                                        (!pair  "dw_attr"
                                                         (!type already_seen 9)
                                                         (!srcfileloc  "dwarf2out.c" 2681)
                                                         nil )
                                                        (!pair  "dw_attr_val"
                                                         (!type already_seen 455)
                                                         (!srcfileloc  "dwarf2out.c" 2682)
                                                         nil )
                                                       )
                                                       nil 1023 nil nil )
                                                      (!srcfileloc  "dwarf2out.c" 2698)
                                                      nil )
                                                    )
                                                   )
                                                  )
                                                  (!srcfileloc  "dwarf2out.c" 2698)
                                                  nil )
                                                 (!pair  "die_parent"
                                                  (!type already_seen 469)
                                                  (!srcfileloc  "dwarf2out.c" 2699)
                                                  nil )
                                                 (!pair  "die_child"
                                                  (!type already_seen 469)
                                                  (!srcfileloc  "dwarf2out.c" 2700)
                                                  nil )
                                                 (!pair  "die_sib"
                                                  (!type already_seen 469)
                                                  (!srcfileloc  "dwarf2out.c" 2701)
                                                  nil )
                                                 (!pair  "die_definition"
                                                  (!type already_seen 469)
                                                  (!srcfileloc  "dwarf2out.c" 2702)
                                                  nil )
                                                 (!pair  "die_offset"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2703)
                                                  nil )
                                                 (!pair  "die_abbrev"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2704)
                                                  nil )
                                                 (!pair  "die_mark"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2705)
                                                  nil )
                                                 (!pair  "decl_id"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2706)
                                                  nil )
                                                 (!pair  "die_tag"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2707)
                                                  nil )
                                                 (!pair  "die_perennial_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2709)
                                                  nil )
                                                 (!pair  "comdat_type_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2710)
                                                  nil )
                                                )
                                                (!options 
                                                 (!option for_user string  "")
                                                 (!option chain_circular string  "%h.die_sib")
                                                )
                                                1023 nil nil )
                                              )
                                              (!srcfileloc  "dwarf2out.h" 207)
                                              nil )
                                             (!pair  "external"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 208)
                                              nil )
                                            )
                                            nil 1023 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 209)
                                           (!options 
                                            (!option tag string  "dw_val_class_die_ref")
                                           )
                                          )
                                          (!pair  "val_fde_index"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 210)
                                           (!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" 214)
                                             (!fields 5 
                                              (!pair  "str"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 209)
                                               nil )
                                              (!pair  "refcount"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 210)
                                               nil )
                                              (!pair  "form"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 211)
                                               nil )
                                              (!pair  "label"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 212)
                                               nil )
                                              (!pair  "index"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 213)
                                               nil )
                                             )
                                             (!options 
                                              (!option for_user string  "")
                                             )
                                             1023 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 211)
                                           (!options 
                                            (!option tag string  "dw_val_class_str")
                                           )
                                          )
                                          (!pair  "val_lbl_id"
                                           (!type already_seen 39)
                                           (!srcfileloc  "dwarf2out.h" 212)
                                           (!options 
                                            (!option tag string  "dw_val_class_lbl_id")
                                           )
                                          )
                                          (!pair  "val_flag"
                                           (!type already_seen 15)
                                           (!srcfileloc  "dwarf2out.h" 213)
                                           (!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" 1255)
                                             (!fields 2 
                                              (!pair  "filename"
                                               (!type already_seen 39)
                                               (!srcfileloc  "dwarf2out.c" 1253)
                                               nil )
                                              (!pair  "emitted_number"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1254)
                                               nil )
                                             )
                                             (!options 
                                              (!option for_user string  "")
                                             )
                                             1023 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 214)
                                           (!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" 215)
                                           (!options 
                                            (!option tag string  "dw_val_class_data8")
                                           )
                                          )
                                          (!pair  "val_decl_ref"
                                           (!type already_seen 5)
                                           (!srcfileloc  "dwarf2out.h" 216)
                                           (!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" 221)
                                            (!fields 2 
                                             (!pair  "lbl1"
                                              (!type already_seen 39)
                                              (!srcfileloc  "dwarf2out.h" 219)
                                              nil )
                                             (!pair  "lbl2"
                                              (!type already_seen 39)
                                              (!srcfileloc  "dwarf2out.h" 220)
                                              nil )
                                            )
                                            nil 1023 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 221)
                                           (!options 
                                            (!option tag string  "dw_val_class_vms_delta")
                                           )
                                          )
                                          (!pair  "val_discr_value"
                                           (!type struct 485 nil  gc_used "dw_discr_value"
                                            (!srcfileloc  "dwarf2out.h" 222)
                                            (!fields 2 
                                             (!pair  "pos"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 177)
                                              nil )
                                             (!pair  "v"
                                              (!type union 486 nil  gc_used "anonymous:../../gcc/dwarf2out.h:179"
                                               (!srcfileloc  "dwarf2out.h" 182)
                                               (!fields 2 
                                                (!pair  "sval"
                                                 (!type already_seen 9)
                                                 (!srcfileloc  "dwarf2out.h" 180)
                                                 (!options 
                                                  (!option tag string  "0")
                                                 )
                                                )
                                                (!pair  "uval"
                                                 (!type already_seen 9)
                                                 (!srcfileloc  "dwarf2out.h" 181)
                                                 (!options 
                                                  (!option tag string  "1")
                                                 )
                                                )
                                               )
                                               nil 1023 nil )
                                              (!srcfileloc  "dwarf2out.h" 183)
                                              (!options 
                                               (!option desc string  "%1.pos")
                                              )
                                             )
                                            )
                                            nil 1023 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 222)
                                           (!options 
                                            (!option tag string  "dw_val_class_discr_value")
                                           )
                                          )
                                          (!pair  "val_discr_list"
                                           (!type pointer 487 nil  gc_used
                                            (!type struct 488 
                                             (!type already_seen 487)
                                             gc_pointed_to "dw_discr_list_node"
                                             (!srcfileloc  "dwarf2out.h" 265)
                                             (!fields 4 
                                              (!pair  "dw_discr_next"
                                               (!type already_seen 487)
                                               (!srcfileloc  "dwarf2out.h" 257)
                                               nil )
                                              (!pair  "dw_discr_lower_bound"
                                               (!type already_seen 485)
                                               (!srcfileloc  "dwarf2out.h" 259)
                                               nil )
                                              (!pair  "dw_discr_upper_bound"
                                               (!type already_seen 485)
                                               (!srcfileloc  "dwarf2out.h" 260)
                                               nil )
                                              (!pair  "dw_discr_range"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.h" 264)
                                               nil )
                                             )
                                             nil 1023 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 223)
                                           (!options 
                                            (!option tag string  "dw_val_class_discr_list")
                                           )
                                          )
                                         )
                                         nil 1023 nil )
                                        (!srcfileloc  "dwarf2out.h" 225)
                                        (!options 
                                         (!option desc string  "%1.val_class")
                                        )
                                       )
                                      )
                                      nil 1023 nil nil )
                                     (!srcfileloc  "dwarf2out.h" 248)
                                     nil )
                                    (!pair  "dw_loc_oprnd2"
                                     (!type already_seen 455)
                                     (!srcfileloc  "dwarf2out.h" 249)
                                     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 452)
                              (!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" 277)
                  nil )
                 (!pair  "last_stmt_uid"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 280)
                  nil )
                 (!pair  "funcdef_no"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 283)
                  nil )
                 (!pair  "function_start_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 286)
                  nil )
                 (!pair  "function_end_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 289)
                  nil )
                 (!pair  "curr_properties"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 292)
                  nil )
                 (!pair  "last_verified"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 293)
                  nil )
                 (!pair  "cannot_be_copied_reason"
                  (!type already_seen 39)
                  (!srcfileloc  "function.h" 298)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "last_clique"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 301)
                  nil )
                 (!pair  "va_list_gpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 308)
                  nil )
                 (!pair  "va_list_fpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 312)
                  nil )
                 (!pair  "calls_setjmp"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 315)
                  nil )
                 (!pair  "calls_alloca"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 319)
                  nil )
                 (!pair  "is_cilk_function"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 322)
                  nil )
                 (!pair  "calls_cilk_spawn"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 325)
                  nil )
                 (!pair  "has_nonlocal_label"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 329)
                  nil )
                 (!pair  "has_forced_label_in_static"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 333)
                  nil )
                 (!pair  "cannot_be_copied_set"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 338)
                  nil )
                 (!pair  "stdarg"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 341)
                  nil )
                 (!pair  "after_inlining"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 343)
                  nil )
                 (!pair  "always_inline_functions_inlined"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 344)
                  nil )
                 (!pair  "can_throw_non_call_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 348)
                  nil )
                 (!pair  "can_delete_dead_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 352)
                  nil )
                 (!pair  "returns_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 359)
                  nil )
                 (!pair  "returns_pcc_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 363)
                  nil )
                 (!pair  "has_local_explicit_reg_vars"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 367)
                  nil )
                 (!pair  "is_thunk"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 373)
                  nil )
                 (!pair  "has_force_vectorize_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 377)
                  nil )
                 (!pair  "has_simduid_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 381)
                  nil )
                 (!pair  "tail_call_marked"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 384)
                  nil )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1652)
              nil )
             (!pair  "arguments"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1655)
              nil )
             (!pair  "personality"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1657)
              nil )
             (!pair  "function_specific_target"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1660)
              nil )
             (!pair  "function_specific_optimization"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1661)
              nil )
             (!pair  "saved_tree"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1664)
              nil )
             (!pair  "vindex"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1666)
              nil )
             (!pair  "function_code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1672)
              nil )
             (!pair  "built_in_class"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1673)
              nil )
             (!pair  "static_ctor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1675)
              nil )
             (!pair  "static_dtor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1676)
              nil )
             (!pair  "uninlinable"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1678)
              nil )
             (!pair  "possibly_inlined"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1679)
              nil )
             (!pair  "novops_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1680)
              nil )
             (!pair  "returns_twice_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1681)
              nil )
             (!pair  "malloc_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1682)
              nil )
             (!pair  "operator_new_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1683)
              nil )
             (!pair  "declared_inline_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1684)
              nil )
             (!pair  "no_inline_warning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1685)
              nil )
             (!pair  "no_instrument_function_entry_exit"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1687)
              nil )
             (!pair  "no_limit_stack"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1688)
              nil )
             (!pair  "disregard_inline_limits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1689)
              nil )
             (!pair  "pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1690)
              nil )
             (!pair  "looping_const_or_pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1691)
              nil )
             (!pair  "has_debug_args_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1692)
              nil )
             (!pair  "tm_clone_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1693)
              nil )
             (!pair  "versioned_function"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1694)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1787)
           (!options 
            (!option tag string  "TS_FUNCTION_DECL")
           )
          )
          (!pair  "translation_unit_decl"
           (!type struct 489 nil  gc_used "tree_translation_unit_decl"
            (!srcfileloc  "tree-core.h" 1704)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 41)
              (!srcfileloc  "tree-core.h" 1699)
              nil )
             (!pair  "language"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1701)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1789)
           (!options 
            (!option tag string  "TS_TRANSLATION_UNIT_DECL")
           )
          )
          (!pair  "type_common"
           (!type struct 490 nil  gc_used "tree_type_common"
            (!srcfileloc  "tree-core.h" 1458)
            (!fields 30 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1420)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1421)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1422)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1423)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1424)
              nil )
             (!pair  "precision"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1426)
              nil )
             (!pair  "no_force_blk_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1427)
              nil )
             (!pair  "needs_constructing_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1428)
              nil )
             (!pair  "transparent_aggr_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1429)
              nil )
             (!pair  "restrict_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1430)
              nil )
             (!pair  "contains_placeholder_bits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1431)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1433)
              nil )
             (!pair  "string_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1435)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1436)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1437)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1438)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1439)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1440)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1441)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1442)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1444)
              nil )
             (!pair  "alias_set"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1445)
              nil )
             (!pair  "pointer_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1446)
              nil )
             (!pair  "reference_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1447)
              nil )
             (!pair  "symtab"
              (!type union 491 nil  gc_used "tree_type_symtab"
               (!srcfileloc  "tree-core.h" 1452)
               (!fields 3 
                (!pair  "address"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1449)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_ADDRESS")
                 )
                )
                (!pair  "pointer"
                 (!type already_seen 39)
                 (!srcfileloc  "tree-core.h" 1450)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_POINTER")
                 )
                )
                (!pair  "die"
                 (!type already_seen 469)
                 (!srcfileloc  "tree-core.h" 1451)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_DIE")
                 )
                )
               )
               nil 1023 nil )
              (!srcfileloc  "tree-core.h" 1452)
              (!options 
               (!option desc string  "debug_hooks->tree_type_symtab_field")
              )
             )
             (!pair  "canonical"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1453)
              nil )
             (!pair  "next_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1454)
              nil )
             (!pair  "main_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1455)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1456)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1457)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1790)
           (!options 
            (!option tag string  "TS_TYPE_COMMON")
           )
          )
          (!pair  "type_with_lang_specific"
           (!type struct 492 nil  gc_used "tree_type_with_lang_specific"
            (!srcfileloc  "tree-core.h" 1464)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 490)
              (!srcfileloc  "tree-core.h" 1461)
              nil )
             (!pair  "lang_specific"
              (!type pointer 493 nil  gc_used
               (!type lang_struct 494 
                (!type already_seen 493)
                gc_pointed_to "lang_type"
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                (!fields 0 )
                nil 1023 
                (!homotypes 8
                 (!type struct 495 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "lto/lto-tree.h" 37)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 36)
                    nil )
                  )
                  nil 128 
                  (!type already_seen 494)
                  nil )
                 
                 (!type struct 496 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "jit/dummy-frontend.c" 37)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "jit/dummy-frontend.c" 36)
                    nil )
                  )
                  nil 64 
                  (!type already_seen 494)
                  nil )
                 
                 (!type struct 497 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "java/java-tree.h" 940)
                  (!fields 29 
                   (!pair  "signature"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 890)
                    nil )
                   (!pair  "jcf"
                    (!type pointer 498 nil  gc_used
                     (!type struct 499 
                      (!type already_seen 498)
                      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 500 nil  gc_unused
                         (!type struct 501 
                          (!type already_seen 500)
                          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 502 
                         (!type pointer 503 nil  gc_used
                          (!type already_seen 502)
                         )
                         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 504 nil  gc_unused
                            (!type union 505 
                             (!type already_seen 504)
                             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 506 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 507 nil  gc_unused
                            (!type struct 508 
                             (!type already_seen 507)
                             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" 891)
                    nil )
                   (!pair  "cpool"
                    (!type already_seen 503)
                    (!srcfileloc  "java/java-tree.h" 892)
                    nil )
                   (!pair  "cpool_data_ref"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 893)
                    nil )
                   (!pair  "package_list"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 894)
                    nil )
                   (!pair  "otable_methods"
                    (!type pointer 509 nil  gc_used
                     (!type user_struct 510 
                      (!type already_seen 509)
                      gc_pointed_to "vec<method_entry,va_gc>"
                      (!srcfileloc  "java/java-tree.h" 896)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "java/java-tree.h" 896)
                        nil )
                       (!pair  "method_entry"
                        (!type struct 511 nil  gc_used "method_entry_d"
                         (!srcfileloc  "java/java-tree.h" 886)
                         (!fields 2 
                          (!pair  "method"
                           (!type already_seen 5)
                           (!srcfileloc  "java/java-tree.h" 884)
                           nil )
                          (!pair  "special"
                           (!type already_seen 5)
                           (!srcfileloc  "java/java-tree.h" 885)
                           nil )
                         )
                         nil 32 nil nil )
                        (!srcfileloc  "java/java-tree.h" 896)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 896)
                    nil )
                   (!pair  "otable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 898)
                    nil )
                   (!pair  "otable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 899)
                    nil )
                   (!pair  "atable_methods"
                    (!type already_seen 509)
                    (!srcfileloc  "java/java-tree.h" 901)
                    nil )
                   (!pair  "atable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 903)
                    nil )
                   (!pair  "atable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 904)
                    nil )
                   (!pair  "itable_methods"
                    (!type already_seen 509)
                    (!srcfileloc  "java/java-tree.h" 906)
                    nil )
                   (!pair  "itable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 908)
                    nil )
                   (!pair  "itable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 909)
                    nil )
                   (!pair  "ctable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 911)
                    nil )
                   (!pair  "catch_classes"
                    (!type pointer 512 nil  gc_used
                     (!type user_struct 513 
                      (!type already_seen 512)
                      gc_pointed_to "vec<constructor_elt,va_gc>"
                      (!srcfileloc  "tree-core.h" 1284)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "tree-core.h" 1284)
                        nil )
                       (!pair  "constructor_elt"
                        (!type struct 514 nil  gc_used "constructor_elt"
                         (!srcfileloc  "tree-core.h" 1284)
                         (!fields 2 
                          (!pair  "index"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1278)
                           nil )
                          (!pair  "value"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1279)
                           nil )
                         )
                         nil 1023 nil nil )
                        (!srcfileloc  "tree-core.h" 1284)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 913)
                    nil )
                   (!pair  "type_to_runtime_map"
                    (!type already_seen 51)
                    (!srcfileloc  "java/java-tree.h" 915)
                    nil )
                   (!pair  "type_assertions"
                    (!type pointer 515 nil  gc_used
                     (!type user_struct 516 
                      (!type already_seen 515)
                      gc_pointed_to "hash_table<type_assertion_hasher>"
                      (!srcfileloc  "java/java-tree.h" 919)
                      (!fields 1 
                       (!pair  "type_assertion_hasher"
                        (!type struct 517 nil  gc_used "type_assertion_hasher"
                         (!srcfileloc  "java/java-tree.h" 919)
                         (!fields 0 )
                         nil 32 nil nil )
                        (!srcfileloc  "java/java-tree.h" 919)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 919)
                    nil )
                   (!pair  "package"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 923)
                    nil )
                   (!pair  "reflection_data"
                    (!type already_seen 39)
                    (!srcfileloc  "java/java-tree.h" 926)
                    (!options 
                     (!option skip string  "")
                    )
                   )
                   (!pair  "reflection_datasize"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 929)
                    nil )
                   (!pair  "pic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 932)
                    nil )
                   (!pair  "poic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 933)
                    nil )
                   (!pair  "strictfp"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 934)
                    nil )
                   (!pair  "assertions"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 935)
                    nil )
                   (!pair  "dummy_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 936)
                    nil )
                   (!pair  "enum_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 937)
                    nil )
                   (!pair  "synthetic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 938)
                    nil )
                   (!pair  "annotation"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 939)
                    nil )
                  )
                  nil 32 
                  (!type already_seen 494)
                  nil )
                 
                 (!type struct 518 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "go/go-lang.c" 46)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 15)
                    (!srcfileloc  "go/go-lang.c" 45)
                    nil )
                  )
                  nil 16 
                  (!type already_seen 494)
                  nil )
                 
                 (!type struct 519 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "fortran/trans.h" 884)
                  (!fields 15 
                   (!pair  "rank"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 870)
                    nil )
                   (!pair  "corank"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 870)
                    nil )
                   (!pair  "akind"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 871)
                    nil )
                   (!pair  "lbound"
                    (!type array 520 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 872)
                    nil )
                   (!pair  "ubound"
                    (!type array 521 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 873)
                    nil )
                   (!pair  "stride"
                    (!type array 522 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 874)
                    nil )
                   (!pair  "size"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 875)
                    nil )
                   (!pair  "offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 876)
                    nil )
                   (!pair  "dtype"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 877)
                    nil )
                   (!pair  "dataptr_type"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 878)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 879)
                    nil )
                   (!pair  "base_decl"
                    (!type array 523 nil  gc_used "2" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 880)
                    nil )
                   (!pair  "nonrestricted_type"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 881)
                    nil )
                   (!pair  "caf_token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 882)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 883)
                    nil )
                  )
                  nil 8 
                  (!type already_seen 494)
                  nil )
                 
                 (!type struct 524 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "cp/cp-tree.h" 1785)
                  (!fields 1 
                   (!pair  "u"
                    (!type union 525 nil  gc_used "lang_type_u"
                     (!srcfileloc  "cp/cp-tree.h" 1784)
                     (!fields 3 
                      (!pair  "h"
                       (!type struct 526 nil  gc_used "lang_type_header"
                        (!srcfileloc  "cp/cp-tree.h" 1669)
                        (!fields 8 
                         (!pair  "is_lang_type_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1659)
                          nil )
                         (!pair  "has_type_conversion"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1661)
                          nil )
                         (!pair  "has_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1662)
                          nil )
                         (!pair  "has_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1663)
                          nil )
                         (!pair  "const_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1664)
                          nil )
                         (!pair  "ref_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1665)
                          nil )
                         (!pair  "has_const_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1666)
                          nil )
                         (!pair  "spare"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1668)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1781)
                       (!options 
                        (!option skip string  "")
                       )
                      )
                      (!pair  "c"
                       (!type struct 527 nil  gc_used "lang_type_class"
                        (!srcfileloc  "cp/cp-tree.h" 1771)
                        (!fields 63 
                         (!pair  "h"
                          (!type already_seen 526)
                          (!srcfileloc  "cp/cp-tree.h" 1685)
                          nil )
                         (!pair  "align"
                          (!type already_seen 15)
                          (!srcfileloc  "cp/cp-tree.h" 1687)
                          nil )
                         (!pair  "has_mutable"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1689)
                          nil )
                         (!pair  "com_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1690)
                          nil )
                         (!pair  "non_pod_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1691)
                          nil )
                         (!pair  "nearly_empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1692)
                          nil )
                         (!pair  "user_align"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1693)
                          nil )
                         (!pair  "has_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1694)
                          nil )
                         (!pair  "has_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1695)
                          nil )
                         (!pair  "has_array_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1696)
                          nil )
                         (!pair  "gets_delete"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1698)
                          nil )
                         (!pair  "interface_only"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1699)
                          nil )
                         (!pair  "interface_unknown"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1700)
                          nil )
                         (!pair  "contains_empty_class_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1701)
                          nil )
                         (!pair  "anon_aggr"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1702)
                          nil )
                         (!pair  "non_zero_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1703)
                          nil )
                         (!pair  "empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1704)
                          nil )
                         (!pair  "vec_new_uses_cookie"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1706)
                          nil )
                         (!pair  "declared_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1707)
                          nil )
                         (!pair  "diamond_shaped"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1708)
                          nil )
                         (!pair  "repeated_base"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1709)
                          nil )
                         (!pair  "being_defined"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1710)
                          nil )
                         (!pair  "java_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1711)
                          nil )
                         (!pair  "debug_requested"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1712)
                          nil )
                         (!pair  "fields_readonly"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1713)
                          nil )
                         (!pair  "use_template"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1715)
                          nil )
                         (!pair  "ptrmemfunc_flag"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1716)
                          nil )
                         (!pair  "was_anonymous"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1717)
                          nil )
                         (!pair  "lazy_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1718)
                          nil )
                         (!pair  "lazy_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1719)
                          nil )
                         (!pair  "lazy_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1720)
                          nil )
                         (!pair  "lazy_destructor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1721)
                          nil )
                         (!pair  "has_const_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1723)
                          nil )
                         (!pair  "has_complex_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1724)
                          nil )
                         (!pair  "has_complex_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1725)
                          nil )
                         (!pair  "non_aggregate"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1726)
                          nil )
                         (!pair  "has_complex_dflt"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1727)
                          nil )
                         (!pair  "has_list_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1728)
                          nil )
                         (!pair  "non_std_layout"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1729)
                          nil )
                         (!pair  "is_literal"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1730)
                          nil )
                         (!pair  "lazy_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1732)
                          nil )
                         (!pair  "lazy_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1733)
                          nil )
                         (!pair  "has_complex_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1734)
                          nil )
                         (!pair  "has_complex_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1735)
                          nil )
                         (!pair  "has_constexpr_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1736)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1745)
                          nil )
                         (!pair  "primary_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1747)
                          nil )
                         (!pair  "vcall_indices"
                          (!type pointer 528 nil  gc_used
                           (!type user_struct 529 
                            (!type already_seen 528)
                            gc_pointed_to "vec<tree_pair_s,va_gc>"
                            (!srcfileloc  "cp/cp-tree.h" 1748)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "cp/cp-tree.h" 1748)
                              nil )
                             (!pair  "tree_pair_s"
                              (!type struct 530 
                               (!type pointer 531 nil  gc_unused
                                (!type already_seen 530)
                               )
                               gc_used "tree_pair_s"
                               (!srcfileloc  "cp/cp-tree.h" 1653)
                               (!fields 2 
                                (!pair  "purpose"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1650)
                                 nil )
                                (!pair  "value"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1651)
                                 nil )
                               )
                               nil 516 nil nil )
                              (!srcfileloc  "cp/cp-tree.h" 1748)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1748)
                          nil )
                         (!pair  "vtables"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1749)
                          nil )
                         (!pair  "typeinfo_var"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1750)
                          nil )
                         (!pair  "vbases"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1751)
                          nil )
                         (!pair  "nested_udts"
                          (!type pointer 532 nil  gc_used
                           (!type struct 533 
                            (!type already_seen 532)
                            gc_pointed_to "binding_table_s"
                            (!srcfileloc  "cp/name-lookup.c" 134)
                            (!fields 3 
                             (!pair  "chain"
                              (!type pointer 534 nil  gc_unused
                               (!type pointer 535 
                                (!type already_seen 534)
                                gc_used
                                (!type struct 536 
                                 (!type already_seen 535)
                                 gc_pointed_to "binding_entry_s"
                                 (!srcfileloc  "cp/name-lookup.h" 38)
                                 (!fields 3 
                                  (!pair  "chain"
                                   (!type already_seen 535)
                                   (!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" 126)
                              (!options 
                               (!option length string  "%h.chain_count")
                              )
                             )
                             (!pair  "chain_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 130)
                              nil )
                             (!pair  "entry_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 133)
                              nil )
                            )
                            nil 516 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1752)
                          nil )
                         (!pair  "as_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1753)
                          nil )
                         (!pair  "pure_virtuals"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1754)
                          nil )
                         (!pair  "friend_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1755)
                          nil )
                         (!pair  "methods"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1756)
                          (!options 
                           (!option reorder string  "resort_type_method_vec")
                          )
                         )
                         (!pair  "key_method"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1757)
                          nil )
                         (!pair  "decl_list"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1758)
                          nil )
                         (!pair  "template_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1759)
                          nil )
                         (!pair  "befriending_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1760)
                          nil )
                         (!pair  "objc_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1764)
                          nil )
                         (!pair  "sorted_fields"
                          (!type pointer 537 nil  gc_used
                           (!type struct 538 
                            (!type already_seen 537)
                            gc_pointed_to "sorted_fields_type"
                            (!srcfileloc  "c-family/c-common.h" 475)
                            (!fields 2 
                             (!pair  "len"
                              (!type already_seen 9)
                              (!srcfileloc  "c-family/c-common.h" 473)
                              nil )
                             (!pair  "elts"
                              (!type array 539 nil  gc_used "1" 
                               (!type already_seen 5)
                              )
                              (!srcfileloc  "c-family/c-common.h" 474)
                              (!options 
                               (!option length string  "%h.len")
                              )
                             )
                            )
                            nil 774 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1768)
                          (!options 
                           (!option reorder string  "resort_sorted_fields")
                          )
                         )
                         (!pair  "lambda_expr"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1770)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1782)
                       (!options 
                        (!option tag string  "1")
                       )
                      )
                      (!pair  "ptrmem"
                       (!type struct 540 nil  gc_used "lang_type_ptrmem"
                        (!srcfileloc  "cp/cp-tree.h" 1776)
                        (!fields 2 
                         (!pair  "h"
                          (!type already_seen 526)
                          (!srcfileloc  "cp/cp-tree.h" 1774)
                          nil )
                         (!pair  "record"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1775)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1783)
                       (!options 
                        (!option tag string  "0")
                       )
                      )
                     )
                     nil 516 nil )
                    (!srcfileloc  "cp/cp-tree.h" 1784)
                    (!options 
                     (!option desc string  "%h.h.is_lang_type_class")
                    )
                   )
                  )
                  nil 516 
                  (!type already_seen 494)
                  nil )
                 
                 (!type struct 541 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "c/c-lang.h" 35)
                  (!fields 4 
                   (!pair  "s"
                    (!type already_seen 537)
                    (!srcfileloc  "c/c-lang.h" 27)
                    (!options 
                     (!option reorder string  "resort_sorted_fields")
                    )
                   )
                   (!pair  "enum_min"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 29)
                    nil )
                   (!pair  "enum_max"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 30)
                    nil )
                   (!pair  "objc_info"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 34)
                    nil )
                  )
                  nil 258 
                  (!type already_seen 494)
                  nil )
                 
                 (!type struct 542 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                  (!fields 2 
                   (!pair  "t1"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                    nil )
                   (!pair  "t2"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                    nil )
                  )
                  nil 1 
                  (!type already_seen 494)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1463)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1792)
           (!options 
            (!option tag string  "TS_TYPE_WITH_LANG_SPECIFIC")
           )
          )
          (!pair  "type_non_common"
           (!type struct 543 nil  gc_used "tree_type_non_common"
            (!srcfileloc  "tree-core.h" 1472)
            (!fields 5 
             (!pair  "with_lang_specific"
              (!type already_seen 492)
              (!srcfileloc  "tree-core.h" 1467)
              nil )
             (!pair  "values"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1468)
              nil )
             (!pair  "minval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1469)
              nil )
             (!pair  "maxval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1470)
              nil )
             (!pair  "binfo"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1471)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1794)
           (!options 
            (!option tag string  "TS_TYPE_NON_COMMON")
           )
          )
          (!pair  "list"
           (!type struct 544 nil  gc_used "tree_list"
            (!srcfileloc  "tree-core.h" 1266)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1263)
              nil )
             (!pair  "purpose"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1264)
              nil )
             (!pair  "value"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1265)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1795)
           (!options 
            (!option tag string  "TS_LIST")
           )
          )
          (!pair  "vec"
           (!type struct 545 nil  gc_used "tree_vec"
            (!srcfileloc  "tree-core.h" 1271)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1269)
              nil )
             (!pair  "a"
              (!type array 546 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1270)
              (!options 
               (!option length string  "TREE_VEC_LENGTH ((tree)&%h)")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1796)
           (!options 
            (!option tag string  "TS_VEC")
           )
          )
          (!pair  "exp"
           (!type struct 547 nil  gc_used "tree_exp"
            (!srcfileloc  "tree-core.h" 1322)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1317)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1318)
              nil )
             (!pair  "operands"
              (!type union 548 nil  gc_used "tree_exp_subunion"
               (!srcfileloc  "tree-core.h" 1321)
               (!fields 1 
                (!pair  ""
                 (!type array 549 nil  gc_used "1" 
                  (!type already_seen 5)
                 )
                 (!srcfileloc  "gengtype.c" 1389)
                 (!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" 1321)
              (!options 
               (!option desc string  "TREE_CODE ((tree) &%0)")
               (!option special string  "tree_exp")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1797)
           (!options 
            (!option tag string  "TS_EXP")
           )
          )
          (!pair  "ssa_name"
           (!type struct 550 nil  gc_used "tree_ssa_name"
            (!srcfileloc  "tree-core.h" 1358)
            (!fields 5 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1339)
              nil )
             (!pair  "var"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1342)
              nil )
             (!pair  "def_stmt"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1345)
              nil )
             (!pair  "info"
              (!type union 551 nil  gc_used "ssa_name_info_type"
               (!srcfileloc  "tree-core.h" 1353)
               (!fields 2 
                (!pair  "ptr_info"
                 (!type pointer 552 nil  gc_used
                  (!type struct 553 
                   (!type already_seen 552)
                   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" 1350)
                 (!options 
                  (!option tag string  "0")
                 )
                )
                (!pair  "range_info"
                 (!type pointer 554 nil  gc_used
                  (!type struct 555 
                   (!type already_seen 554)
                   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" 1352)
                 (!options 
                  (!option tag string  "1")
                 )
                )
               )
               nil 1023 nil )
              (!srcfileloc  "tree-core.h" 1354)
              (!options 
               (!option desc string  "%1.typed.type ?!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2")
              )
             )
             (!pair  "imm_uses"
              (!type struct 556 
               (!type pointer 557 nil  gc_unused
                (!type already_seen 556)
               )
               gc_used "ssa_use_operand_t"
               (!srcfileloc  "tree-ssa-operands.h" 30)
               (!fields 4 
                (!pair  "prev"
                 (!type already_seen 557)
                 (!srcfileloc  "tree-core.h" 1327)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "next"
                 (!type already_seen 557)
                 (!srcfileloc  "tree-core.h" 1328)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "loc"
                 (!type union 558 nil  gc_unused "anonymous:../../gcc/tree-core.h:1334"
                  (!srcfileloc  "tree-core.h" 1334)
                  (!fields 2 
                   (!pair  "stmt"
                    (!type already_seen 311)
                    (!srcfileloc  "tree-core.h" 1334)
                    nil )
                   (!pair  "ssa_name"
                    (!type already_seen 5)
                    (!srcfileloc  "tree-core.h" 1334)
                    nil )
                  )
                  nil 1023 nil )
                 (!srcfileloc  "tree-core.h" 1334)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "use"
                 (!type already_seen 6)
                 (!srcfileloc  "tree-core.h" 1335)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               nil 1023 nil nil )
              (!srcfileloc  "tree-core.h" 1357)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1798)
           (!options 
            (!option tag string  "TS_SSA_NAME")
           )
          )
          (!pair  "block"
           (!type struct 559 nil  gc_used "tree_block"
            (!srcfileloc  "tree-core.h" 1417)
            (!fields 14 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1397)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1398)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1400)
              nil )
             (!pair  "block_num"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1401)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1403)
              nil )
             (!pair  "end_locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1404)
              nil )
             (!pair  "vars"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1406)
              nil )
             (!pair  "nonlocalized_vars"
              (!type already_seen 49)
              (!srcfileloc  "tree-core.h" 1407)
              nil )
             (!pair  "subblocks"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1409)
              nil )
             (!pair  "supercontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1410)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1411)
              nil )
             (!pair  "fragment_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1412)
              nil )
             (!pair  "fragment_chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1413)
              nil )
             (!pair  "die"
              (!type already_seen 469)
              (!srcfileloc  "tree-core.h" 1416)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1799)
           (!options 
            (!option tag string  "TS_BLOCK")
           )
          )
          (!pair  "binfo"
           (!type struct 560 nil  gc_used "tree_binfo"
            (!srcfileloc  "tree-core.h" 1488)
            (!fields 10 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1475)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1477)
              nil )
             (!pair  "vtable"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1478)
              nil )
             (!pair  "virtuals"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1479)
              nil )
             (!pair  "vptr_field"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1480)
              nil )
             (!pair  "base_accesses"
              (!type already_seen 49)
              (!srcfileloc  "tree-core.h" 1481)
              nil )
             (!pair  "inheritance"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1482)
              nil )
             (!pair  "vtt_subvtt"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1484)
              nil )
             (!pair  "vtt_vptr"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1485)
              nil )
             (!pair  "base_binfos"
              (!type already_seen 50)
              (!srcfileloc  "tree-core.h" 1487)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1800)
           (!options 
            (!option tag string  "TS_BINFO")
           )
          )
          (!pair  "stmt_list"
           (!type struct 561 nil  gc_used "tree_statement_list"
            (!srcfileloc  "tree-core.h" 1723)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1720)
              nil )
             (!pair  "head"
              (!type pointer 562 nil  gc_used
               (!type struct 563 
                (!type already_seen 562)
                gc_pointed_to "tree_statement_list_node"
                (!srcfileloc  "tree-core.h" 1716)
                (!fields 3 
                 (!pair  "prev"
                  (!type already_seen 562)
                  (!srcfileloc  "tree-core.h" 1713)
                  nil )
                 (!pair  "next"
                  (!type already_seen 562)
                  (!srcfileloc  "tree-core.h" 1714)
                  nil )
                 (!pair  "stmt"
                  (!type already_seen 5)
                  (!srcfileloc  "tree-core.h" 1715)
                  nil )
                )
                (!options 
                 (!option chain_prev string  "%h.prev")
                 (!option chain_next string  "%h.next")
                )
                1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1721)
              nil )
             (!pair  "tail"
              (!type already_seen 562)
              (!srcfileloc  "tree-core.h" 1722)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1801)
           (!options 
            (!option tag string  "TS_STATEMENT_LIST")
           )
          )
          (!pair  "constructor"
           (!type struct 564 nil  gc_used "tree_constructor"
            (!srcfileloc  "tree-core.h" 1285)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 19)
              (!srcfileloc  "tree-core.h" 1283)
              nil )
             (!pair  "elts"
              (!type already_seen 512)
              (!srcfileloc  "tree-core.h" 1284)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1802)
           (!options 
            (!option tag string  "TS_CONSTRUCTOR")
           )
          )
          (!pair  "omp_clause"
           (!type struct 565 nil  gc_used "tree_omp_clause"
            (!srcfileloc  "tree-core.h" 1394)
            (!fields 7 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1369)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1370)
              nil )
             (!pair  "code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1371)
              nil )
             (!pair  "subcode"
              (!type union 566 nil  gc_unused "omp_clause_subcode"
               (!srcfileloc  "tree-core.h" 1385)
               (!fields 9 
                (!pair  "default_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1373)
                 nil )
                (!pair  "schedule_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1374)
                 nil )
                (!pair  "depend_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1375)
                 nil )
                (!pair  "map_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1377)
                 nil )
                (!pair  "proc_bind_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1378)
                 nil )
                (!pair  "reduction_code"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1379)
                 nil )
                (!pair  "linear_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1380)
                 nil )
                (!pair  "if_modifier"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1381)
                 nil )
                (!pair  "dimension"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1384)
                 nil )
               )
               nil 1023 nil )
              (!srcfileloc  "tree-core.h" 1385)
              (!options 
               (!option skip string  "")
              )
             )
             (!pair  "gimple_reduction_init"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1389)
              nil )
             (!pair  "gimple_reduction_merge"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1390)
              nil )
             (!pair  "ops"
              (!type array 567 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1393)
              (!options 
               (!option length string  "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1803)
           (!options 
            (!option tag string  "TS_OMP_CLAUSE")
           )
          )
          (!pair  "optimization"
           (!type struct 568 nil  gc_used "tree_optimization_option"
            (!srcfileloc  "tree-core.h" 1741)
            (!fields 4 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1729)
              nil )
             (!pair  "opts"
              (!type pointer 569 nil  gc_used
               (!type struct 570 
                (!type already_seen 569)
                gc_pointed_to "cl_optimization"
                (!fileloc  "options.h" 5102)
                (!fields 213 
                 (!pair  "x_align_functions"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4889)
                  nil )
                 (!pair  "x_align_jumps"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4890)
                  nil )
                 (!pair  "x_align_labels"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4891)
                  nil )
                 (!pair  "x_align_loops"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4892)
                  nil )
                 (!pair  "x_flag_sched_stalled_insns"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4893)
                  nil )
                 (!pair  "x_flag_sched_stalled_insns_dep"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4894)
                  nil )
                 (!pair  "x_flag_tree_parallelize_loops"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4895)
                  nil )
                 (!pair  "x_flag_fp_contract_mode"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4896)
                  nil )
                 (!pair  "x_flag_ira_algorithm"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4897)
                  nil )
                 (!pair  "x_flag_ira_region"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4898)
                  nil )
                 (!pair  "x_flag_reorder_blocks_algorithm"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4899)
                  nil )
                 (!pair  "x_flag_simd_cost_model"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4900)
                  nil )
                 (!pair  "x_flag_stack_reuse"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4901)
                  nil )
                 (!pair  "x_flag_vect_cost_model"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4902)
                  nil )
                 (!pair  "x_optimize"
                  (!type already_seen 15)
                  (!fileloc  "options.h" 4903)
                  nil )
                 (!pair  "x_optimize_size"
                  (!type already_seen 15)
                  (!fileloc  "options.h" 4904)
                  nil )
                 (!pair  "x_optimize_debug"
                  (!type already_seen 15)
                  (!fileloc  "options.h" 4905)
                  nil )
                 (!pair  "x_flag_aggressive_loop_optimizations"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4906)
                  nil )
                 (!pair  "x_flag_associative_math"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4907)
                  nil )
                 (!pair  "x_flag_asynchronous_unwind_tables"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4908)
                  nil )
                 (!pair  "x_flag_auto_inc_dec"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4909)
                  nil )
                 (!pair  "x_flag_branch_on_count_reg"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4910)
                  nil )
                 (!pair  "x_flag_branch_probabilities"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4911)
                  nil )
                 (!pair  "x_flag_branch_target_load_optimize"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4912)
                  nil )
                 (!pair  "x_flag_branch_target_load_optimize2"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4913)
                  nil )
                 (!pair  "x_flag_btr_bb_exclusive"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4914)
                  nil )
                 (!pair  "x_flag_caller_saves"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4915)
                  nil )
                 (!pair  "x_flag_combine_stack_adjustments"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4916)
                  nil )
                 (!pair  "x_flag_compare_elim_after_reload"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4917)
                  nil )
                 (!pair  "x_flag_conserve_stack"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4918)
                  nil )
                 (!pair  "x_flag_cprop_registers"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4919)
                  nil )
                 (!pair  "x_flag_crossjumping"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4920)
                  nil )
                 (!pair  "x_flag_cse_follow_jumps"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4921)
                  nil )
                 (!pair  "x_flag_cx_fortran_rules"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4922)
                  nil )
                 (!pair  "x_flag_cx_limited_range"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4923)
                  nil )
                 (!pair  "x_flag_dce"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4924)
                  nil )
                 (!pair  "x_flag_defer_pop"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4925)
                  nil )
                 (!pair  "x_flag_delayed_branch"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4926)
                  nil )
                 (!pair  "x_flag_delete_dead_exceptions"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4927)
                  nil )
                 (!pair  "x_flag_delete_null_pointer_checks"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4928)
                  nil )
                 (!pair  "x_flag_devirtualize"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4929)
                  nil )
                 (!pair  "x_flag_devirtualize_speculatively"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4930)
                  nil )
                 (!pair  "x_flag_dse"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4931)
                  nil )
                 (!pair  "x_flag_early_inlining"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4932)
                  nil )
                 (!pair  "x_flag_exceptions"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4933)
                  nil )
                 (!pair  "x_flag_expensive_optimizations"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4934)
                  nil )
                 (!pair  "x_flag_finite_math_only"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4935)
                  nil )
                 (!pair  "x_flag_float_store"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4936)
                  nil )
                 (!pair  "x_flag_forward_propagate"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4937)
                  nil )
                 (!pair  "x_flag_no_function_cse"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4938)
                  nil )
                 (!pair  "x_flag_gcse"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4939)
                  nil )
                 (!pair  "x_flag_gcse_after_reload"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4940)
                  nil )
                 (!pair  "x_flag_gcse_las"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4941)
                  nil )
                 (!pair  "x_flag_gcse_lm"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4942)
                  nil )
                 (!pair  "x_flag_gcse_sm"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4943)
                  nil )
                 (!pair  "x_flag_graphite"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4944)
                  nil )
                 (!pair  "x_flag_graphite_identity"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4945)
                  nil )
                 (!pair  "x_flag_guess_branch_prob"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4946)
                  nil )
                 (!pair  "x_flag_hoist_adjacent_loads"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4947)
                  nil )
                 (!pair  "x_flag_if_conversion"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4948)
                  nil )
                 (!pair  "x_flag_if_conversion2"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4949)
                  nil )
                 (!pair  "x_flag_indirect_inlining"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4950)
                  nil )
                 (!pair  "x_flag_no_inline"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4951)
                  nil )
                 (!pair  "x_flag_inline_atomics"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4952)
                  nil )
                 (!pair  "x_flag_inline_functions"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4953)
                  nil )
                 (!pair  "x_flag_inline_functions_called_once"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4954)
                  nil )
                 (!pair  "x_flag_inline_small_functions"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4955)
                  nil )
                 (!pair  "x_flag_ipa_cp"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4956)
                  nil )
                 (!pair  "x_flag_ipa_cp_alignment"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4957)
                  nil )
                 (!pair  "x_flag_ipa_cp_clone"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4958)
                  nil )
                 (!pair  "x_flag_ipa_icf"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4959)
                  nil )
                 (!pair  "x_flag_ipa_icf_functions"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4960)
                  nil )
                 (!pair  "x_flag_ipa_profile"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4961)
                  nil )
                 (!pair  "x_flag_ipa_pta"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4962)
                  nil )
                 (!pair  "x_flag_ipa_pure_const"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4963)
                  nil )
                 (!pair  "x_flag_ipa_ra"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4964)
                  nil )
                 (!pair  "x_flag_ipa_reference"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4965)
                  nil )
                 (!pair  "x_flag_ipa_sra"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4966)
                  nil )
                 (!pair  "x_flag_ira_hoist_pressure"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4967)
                  nil )
                 (!pair  "x_flag_ira_loop_pressure"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4968)
                  nil )
                 (!pair  "x_flag_ira_share_save_slots"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4969)
                  nil )
                 (!pair  "x_flag_ira_share_spill_slots"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4970)
                  nil )
                 (!pair  "x_flag_isolate_erroneous_paths_attribute"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4971)
                  nil )
                 (!pair  "x_flag_isolate_erroneous_paths_dereference"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4972)
                  nil )
                 (!pair  "x_flag_ivopts"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4973)
                  nil )
                 (!pair  "x_flag_jump_tables"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4974)
                  nil )
                 (!pair  "x_flag_keep_gc_roots_live"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4975)
                  nil )
                 (!pair  "x_flag_lifetime_dse"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4976)
                  nil )
                 (!pair  "x_flag_live_range_shrinkage"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4977)
                  nil )
                 (!pair  "x_flag_loop_nest_optimize"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4978)
                  nil )
                 (!pair  "x_flag_loop_parallelize_all"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4979)
                  nil )
                 (!pair  "x_flag_lra_remat"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4980)
                  nil )
                 (!pair  "x_flag_errno_math"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4981)
                  nil )
                 (!pair  "x_flag_modulo_sched"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4982)
                  nil )
                 (!pair  "x_flag_modulo_sched_allow_regmoves"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4983)
                  nil )
                 (!pair  "x_flag_move_loop_invariants"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4984)
                  nil )
                 (!pair  "x_flag_non_call_exceptions"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4985)
                  nil )
                 (!pair  "x_flag_nothrow_opt"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4986)
                  nil )
                 (!pair  "x_flag_omit_frame_pointer"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4987)
                  nil )
                 (!pair  "x_flag_opt_info"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4988)
                  nil )
                 (!pair  "x_flag_optimize_sibling_calls"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4989)
                  nil )
                 (!pair  "x_flag_optimize_strlen"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4990)
                  nil )
                 (!pair  "x_flag_pack_struct"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4991)
                  nil )
                 (!pair  "x_flag_partial_inlining"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4992)
                  nil )
                 (!pair  "x_flag_peel_loops"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4993)
                  nil )
                 (!pair  "x_flag_no_peephole"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4994)
                  nil )
                 (!pair  "x_flag_peephole2"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4995)
                  nil )
                 (!pair  "x_flag_plt"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4996)
                  nil )
                 (!pair  "x_flag_predictive_commoning"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4997)
                  nil )
                 (!pair  "x_flag_prefetch_loop_arrays"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4998)
                  nil )
                 (!pair  "x_flag_reciprocal_math"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 4999)
                  nil )
                 (!pair  "x_flag_pcc_struct_return"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5000)
                  nil )
                 (!pair  "x_flag_rename_registers"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5001)
                  nil )
                 (!pair  "x_flag_reorder_blocks"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5002)
                  nil )
                 (!pair  "x_flag_reorder_blocks_and_partition"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5003)
                  nil )
                 (!pair  "x_flag_reorder_functions"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5004)
                  nil )
                 (!pair  "x_flag_rerun_cse_after_loop"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5005)
                  nil )
                 (!pair  "x_flag_resched_modulo_sched"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5006)
                  nil )
                 (!pair  "x_flag_rounding_math"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5007)
                  nil )
                 (!pair  "x_flag_rtti"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5008)
                  nil )
                 (!pair  "x_flag_sched_critical_path_heuristic"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5009)
                  nil )
                 (!pair  "x_flag_sched_dep_count_heuristic"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5010)
                  nil )
                 (!pair  "x_flag_sched_group_heuristic"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5011)
                  nil )
                 (!pair  "x_flag_schedule_interblock"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5012)
                  nil )
                 (!pair  "x_flag_sched_last_insn_heuristic"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5013)
                  nil )
                 (!pair  "x_flag_sched_pressure"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5014)
                  nil )
                 (!pair  "x_flag_sched_rank_heuristic"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5015)
                  nil )
                 (!pair  "x_flag_schedule_speculative"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5016)
                  nil )
                 (!pair  "x_flag_sched_spec_insn_heuristic"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5017)
                  nil )
                 (!pair  "x_flag_schedule_speculative_load"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5018)
                  nil )
                 (!pair  "x_flag_schedule_speculative_load_dangerous"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5019)
                  nil )
                 (!pair  "x_flag_sched2_use_superblocks"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5020)
                  nil )
                 (!pair  "x_flag_schedule_fusion"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5021)
                  nil )
                 (!pair  "x_flag_schedule_insns"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5022)
                  nil )
                 (!pair  "x_flag_schedule_insns_after_reload"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5023)
                  nil )
                 (!pair  "x_flag_section_anchors"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5024)
                  nil )
                 (!pair  "x_flag_sel_sched_pipelining"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5025)
                  nil )
                 (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5026)
                  nil )
                 (!pair  "x_flag_sel_sched_reschedule_pipelined"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5027)
                  nil )
                 (!pair  "x_flag_selective_scheduling"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5028)
                  nil )
                 (!pair  "x_flag_selective_scheduling2"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5029)
                  nil )
                 (!pair  "x_flag_short_enums"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5030)
                  nil )
                 (!pair  "x_flag_short_wchar"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5031)
                  nil )
                 (!pair  "x_flag_shrink_wrap"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5032)
                  nil )
                 (!pair  "x_flag_signaling_nans"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5033)
                  nil )
                 (!pair  "x_flag_signed_zeros"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5034)
                  nil )
                 (!pair  "x_flag_single_precision_constant"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5035)
                  nil )
                 (!pair  "x_flag_split_ivs_in_unroller"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5036)
                  nil )
                 (!pair  "x_flag_split_paths"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5037)
                  nil )
                 (!pair  "x_flag_split_wide_types"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5038)
                  nil )
                 (!pair  "x_flag_ssa_backprop"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5039)
                  nil )
                 (!pair  "x_flag_ssa_phiopt"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5040)
                  nil )
                 (!pair  "x_flag_stdarg_opt"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5041)
                  nil )
                 (!pair  "x_flag_strict_aliasing"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5042)
                  nil )
                 (!pair  "x_flag_strict_enums"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5043)
                  nil )
                 (!pair  "x_flag_strict_overflow"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5044)
                  nil )
                 (!pair  "x_flag_strict_volatile_bitfields"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5045)
                  nil )
                 (!pair  "x_flag_thread_jumps"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5046)
                  nil )
                 (!pair  "x_flag_threadsafe_statics"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5047)
                  nil )
                 (!pair  "x_flag_tracer"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5048)
                  nil )
                 (!pair  "x_flag_trapping_math"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5049)
                  nil )
                 (!pair  "x_flag_trapv"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5050)
                  nil )
                 (!pair  "x_flag_tree_bit_ccp"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5051)
                  nil )
                 (!pair  "x_flag_tree_builtin_call_dce"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5052)
                  nil )
                 (!pair  "x_flag_tree_ccp"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5053)
                  nil )
                 (!pair  "x_flag_tree_ch"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5054)
                  nil )
                 (!pair  "x_flag_tree_coalesce_vars"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5055)
                  nil )
                 (!pair  "x_flag_tree_copy_prop"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5056)
                  nil )
                 (!pair  "x_flag_tree_cselim"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5057)
                  nil )
                 (!pair  "x_flag_tree_dce"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5058)
                  nil )
                 (!pair  "x_flag_tree_dom"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5059)
                  nil )
                 (!pair  "x_flag_tree_dse"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5060)
                  nil )
                 (!pair  "x_flag_tree_forwprop"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5061)
                  nil )
                 (!pair  "x_flag_tree_fre"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5062)
                  nil )
                 (!pair  "x_flag_tree_loop_distribute_patterns"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5063)
                  nil )
                 (!pair  "x_flag_tree_loop_distribution"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5064)
                  nil )
                 (!pair  "x_flag_tree_loop_if_convert"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5065)
                  nil )
                 (!pair  "x_flag_tree_loop_if_convert_stores"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5066)
                  nil )
                 (!pair  "x_flag_tree_loop_im"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5067)
                  nil )
                 (!pair  "x_flag_tree_loop_ivcanon"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5068)
                  nil )
                 (!pair  "x_flag_tree_loop_optimize"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5069)
                  nil )
                 (!pair  "x_flag_tree_loop_vectorize"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5070)
                  nil )
                 (!pair  "x_flag_tree_live_range_split"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5071)
                  nil )
                 (!pair  "x_flag_tree_partial_pre"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5072)
                  nil )
                 (!pair  "x_flag_tree_phiprop"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5073)
                  nil )
                 (!pair  "x_flag_tree_pre"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5074)
                  nil )
                 (!pair  "x_flag_tree_pta"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5075)
                  nil )
                 (!pair  "x_flag_tree_reassoc"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5076)
                  nil )
                 (!pair  "x_flag_tree_scev_cprop"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5077)
                  nil )
                 (!pair  "x_flag_tree_sink"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5078)
                  nil )
                 (!pair  "x_flag_tree_slp_vectorize"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5079)
                  nil )
                 (!pair  "x_flag_tree_slsr"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5080)
                  nil )
                 (!pair  "x_flag_tree_sra"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5081)
                  nil )
                 (!pair  "x_flag_tree_switch_conversion"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5082)
                  nil )
                 (!pair  "x_flag_tree_tail_merge"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5083)
                  nil )
                 (!pair  "x_flag_tree_ter"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5084)
                  nil )
                 (!pair  "x_flag_tree_vectorize"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5085)
                  nil )
                 (!pair  "x_flag_tree_vrp"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5086)
                  nil )
                 (!pair  "x_flag_unconstrained_commons"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5087)
                  nil )
                 (!pair  "x_flag_unroll_all_loops"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5088)
                  nil )
                 (!pair  "x_flag_unroll_loops"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5089)
                  nil )
                 (!pair  "x_flag_unsafe_loop_optimizations"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5090)
                  nil )
                 (!pair  "x_flag_unsafe_math_optimizations"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5091)
                  nil )
                 (!pair  "x_flag_unswitch_loops"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5092)
                  nil )
                 (!pair  "x_flag_unwind_tables"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5093)
                  nil )
                 (!pair  "x_flag_var_tracking"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5094)
                  nil )
                 (!pair  "x_flag_var_tracking_assignments"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5095)
                  nil )
                 (!pair  "x_flag_var_tracking_assignments_toggle"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5096)
                  nil )
                 (!pair  "x_flag_var_tracking_uninit"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5097)
                  nil )
                 (!pair  "x_flag_variable_expansion_in_unroller"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5098)
                  nil )
                 (!pair  "x_flag_value_profile_transformations"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5099)
                  nil )
                 (!pair  "x_flag_web"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5100)
                  nil )
                 (!pair  "x_flag_wrapv"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5101)
                  nil )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1732)
              nil )
             (!pair  "optabs"
              (!type already_seen 10)
              (!srcfileloc  "tree-core.h" 1736)
              (!options 
               (!option atomic string  "")
              )
             )
             (!pair  "base_optabs"
              (!type pointer 571 nil  gc_unused
               (!type struct 572 
                (!type already_seen 571)
                gc_unused "target_optabs"nil 
                (!fields 0 )
                nil 0 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1740)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1804)
           (!options 
            (!option tag string  "TS_OPTIMIZATION")
           )
          )
          (!pair  "target_option"
           (!type struct 573 nil  gc_used "tree_target_option"
            (!srcfileloc  "tree-core.h" 1757)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 20)
              (!srcfileloc  "tree-core.h" 1750)
              nil )
             (!pair  "globals"
              (!type pointer 574 nil  gc_used
               (!type struct 575 
                (!type already_seen 574)
                gc_pointed_to "target_globals"
                (!srcfileloc  "target-globals.h" 61)
                (!fields 16 
                 (!pair  "flag_state"
                  (!type pointer 576 nil  gc_unused
                   (!type struct 577 
                    (!type already_seen 576)
                    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 578 nil  gc_unused
                   (!type struct 579 
                    (!type already_seen 578)
                    gc_unused "target_regs"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 46)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "rtl"
                  (!type pointer 580 nil  gc_used
                   (!type struct 581 
                    (!type already_seen 580)
                    gc_pointed_to "target_rtl"
                    (!srcfileloc  "rtl.h" 3258)
                    (!fields 8 
                     (!pair  "x_global_rtl"
                      (!type array 582 nil  gc_used "GR_MAX" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "rtl.h" 3230)
                      nil )
                     (!pair  "x_pic_offset_table_rtx"
                      (!type already_seen 135)
                      (!srcfileloc  "rtl.h" 3233)
                      nil )
                     (!pair  "x_return_address_pointer_rtx"
                      (!type already_seen 135)
                      (!srcfileloc  "rtl.h" 3238)
                      nil )
                     (!pair  "x_initial_regno_reg_rtx"
                      (!type array 583 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "rtl.h" 3244)
                      nil )
                     (!pair  "x_top_of_stack"
                      (!type array 584 nil  gc_used "MAX_MACHINE_MODE" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "rtl.h" 3247)
                      nil )
                     (!pair  "x_static_reg_base_value"
                      (!type array 585 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "rtl.h" 3251)
                      nil )
                     (!pair  "x_mode_mem_attrs"
                      (!type array 586 nil  gc_used "(int) MAX_MACHINE_MODE" 
                       (!type already_seen 258)
                      )
                      (!srcfileloc  "rtl.h" 3254)
                      nil )
                     (!pair  "target_specific_initialized"
                      (!type already_seen 9)
                      (!srcfileloc  "rtl.h" 3257)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 47)
                  nil )
                 (!pair  "recog"
                  (!type pointer 587 nil  gc_unused
                   (!type struct 588 
                    (!type already_seen 587)
                    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 589 nil  gc_unused
                   (!type struct 590 
                    (!type already_seen 589)
                    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 591 nil  gc_unused
                   (!type struct 592 
                    (!type already_seen 591)
                    gc_unused "target_reload"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 50)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "expmed"
                  (!type pointer 593 nil  gc_unused
                   (!type struct 594 
                    (!type already_seen 593)
                    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 571)
                  (!srcfileloc  "target-globals.h" 52)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "libfuncs"
                  (!type pointer 595 nil  gc_used
                   (!type struct 596 
                    (!type already_seen 595)
                    gc_pointed_to "target_libfuncs"
                    (!srcfileloc  "libfuncs.h" 78)
                    (!fields 2 
                     (!pair  "x_libfunc_table"
                      (!type array 597 nil  gc_used "LTI_MAX" 
                       (!type already_seen 135)
                      )
                      (!srcfileloc  "libfuncs.h" 74)
                      nil )
                     (!pair  "x_libfunc_hash"
                      (!type pointer 598 nil  gc_used
                       (!type user_struct 599 
                        (!type already_seen 598)
                        gc_pointed_to "hash_table<libfunc_hasher>"
                        (!srcfileloc  "libfuncs.h" 77)
                        (!fields 1 
                         (!pair  "libfunc_hasher"
                          (!type struct 600 nil  gc_used "libfunc_hasher"
                           (!srcfileloc  "libfuncs.h" 77)
                           (!fields 0 )
                           nil 1023 nil nil )
                          (!srcfileloc  "libfuncs.h" 77)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "libfuncs.h" 77)
                      nil )
                    )
                    nil 1023 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 53)
                  nil )
                 (!pair  "cfgloop"
                  (!type pointer 601 nil  gc_unused
                   (!type struct 602 
                    (!type already_seen 601)
                    gc_unused "target_cfgloop"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 54)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "ira"
                  (!type pointer 603 nil  gc_unused
                   (!type struct 604 
                    (!type already_seen 603)
                    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 605 nil  gc_unused
                   (!type struct 606 
                    (!type already_seen 605)
                    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 607 nil  gc_unused
                   (!type struct 608 
                    (!type already_seen 607)
                    gc_unused "target_builtins"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 57)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "gcse"
                  (!type pointer 609 nil  gc_unused
                   (!type struct 610 
                    (!type already_seen 609)
                    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 611 nil  gc_unused
                   (!type struct 612 
                    (!type already_seen 611)
                    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 613 nil  gc_unused
                   (!type struct 614 
                    (!type already_seen 613)
                    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" 1753)
              nil )
             (!pair  "opts"
              (!type pointer 615 nil  gc_used
               (!type struct 616 
                (!type already_seen 615)
                gc_pointed_to "cl_target_option"
                (!fileloc  "options.h" 5110)
                (!fields 3 
                 (!pair  "x_arc_mpy_option"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5107)
                  nil )
                 (!pair  "x_arc_seen_options"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5108)
                  nil )
                 (!pair  "x_target_flags"
                  (!type already_seen 9)
                  (!fileloc  "options.h" 5109)
                  nil )
                )
                nil 1023 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1756)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "tree-core.h" 1805)
           (!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 617 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 618 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "lto/lto-tree.h" 54)
              (!fields 1 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "lto/lto-tree.h" 53)
                (!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 617)
             )
             
             (!type union 619 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "jit/dummy-frontend.c" 63)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "jit/dummy-frontend.c" 61)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type lang_struct 620 nil  gc_used "lang_identifier"
                 (!srcfileloc  "c/c-decl.c" 211)
                 (!fields 0 )
                 nil 1022 
                 (!homotypes 7
                  (!type struct 621 nil  gc_used "lang_identifier"
                   (!srcfileloc  "lto/lto-tree.h" 27)
                   (!fields 1 
                    (!pair  "base"
                     (!type already_seen 35)
                     (!srcfileloc  "lto/lto-tree.h" 26)
                     nil )
                   )
                   nil 128 
                   (!type already_seen 620)
                   nil )
                  
                  (!type struct 622 nil  gc_used "lang_identifier"
                   (!srcfileloc  "jit/dummy-frontend.c" 52)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 35)
                     (!srcfileloc  "jit/dummy-frontend.c" 51)
                     nil )
                   )
                   nil 64 
                   (!type already_seen 620)
                   nil )
                  
                  (!type struct 623 nil  gc_used "lang_identifier"
                   (!srcfileloc  "java/java-tree.h" 584)
                   (!fields 4 
                    (!pair  "ignore"
                     (!type already_seen 35)
                     (!srcfileloc  "java/java-tree.h" 577)
                     nil )
                    (!pair  "global_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 578)
                     nil )
                    (!pair  "local_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 579)
                     nil )
                    (!pair  "utf8_ref"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 583)
                     nil )
                   )
                   nil 32 
                   (!type already_seen 620)
                   nil )
                  
                  (!type struct 624 nil  gc_used "lang_identifier"
                   (!srcfileloc  "go/go-lang.c" 61)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 35)
                     (!srcfileloc  "go/go-lang.c" 60)
                     nil )
                   )
                   nil 16 
                   (!type already_seen 620)
                   nil )
                  
                  (!type struct 625 nil  gc_used "lang_identifier"
                   (!srcfileloc  "fortran/f95-lang.c" 47)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 35)
                     (!srcfileloc  "fortran/f95-lang.c" 46)
                     nil )
                   )
                   nil 8 
                   (!type already_seen 620)
                   nil )
                  
                  (!type struct 626 nil  gc_used "lang_identifier"
                   (!srcfileloc  "cp/cp-tree.h" 331)
                   (!fields 5 
                    (!pair  "c_common"
                     (!type struct 627 nil  gc_used "c_common_identifier"
                      (!srcfileloc  "c-family/c-common.h" 343)
                      (!fields 2 
                       (!pair  "common"
                        (!type already_seen 20)
                        (!srcfileloc  "c-family/c-common.h" 341)
                        nil )
                       (!pair  "node"
                        (!type struct 628 
                         (!type pointer 629 
                          (!type pointer 630 nil  gc_unused
                           (!type already_seen 629)
                          )
                          gc_unused
                          (!type already_seen 628)
                         )
                         gc_used "cpp_hashnode"
                         (!srcfileloc  "../libcpp/include/cpplib.h" 741)
                         (!fields 7 
                          (!pair  "ident"
                           (!type already_seen 36)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 731)
                           nil )
                          (!pair  "is_directive"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 732)
                           nil )
                          (!pair  "directive_index"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 733)
                           nil )
                          (!pair  "rid_code"
                           (!type already_seen 15)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 736)
                           nil )
                          (!pair  "type"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 737)
                           nil )
                          (!pair  "flags"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 738)
                           nil )
                          (!pair  "value"
                           (!type union 631 nil  gc_used "_cpp_hashnode_value"
                            (!srcfileloc  "../libcpp/include/cpplib.h" 728)
                            (!fields 4 
                             (!pair  "macro"
                              (!type pointer 632 nil  gc_used
                               (!type struct 633 
                                (!type already_seen 632)
                                gc_pointed_to "cpp_macro"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 82)
                                (!fields 11 
                                 (!pair  "params"
                                  (!type already_seen 630)
                                  (!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 634 nil  gc_used "cpp_macro_u"
                                   (!srcfileloc  "../libcpp/include/cpp-id-data.h" 52)
                                   (!fields 2 
                                    (!pair  "tokens"
                                     (!type pointer 635 nil  gc_used
                                      (!type struct 636 
                                       (!type already_seen 635)
                                       gc_pointed_to "cpp_token"
                                       (!srcfileloc  "../libcpp/include/cpplib.h" 266)
                                       (!fields 4 
                                        (!pair  "src_loc"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 240)
                                         nil )
                                        (!pair  "type"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 242)
                                         nil )
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 243)
                                         nil )
                                        (!pair  "val"
                                         (!type union 637 nil  gc_used "cpp_token_u"
                                          (!srcfileloc  "../libcpp/include/cpplib.h" 265)
                                          (!fields 6 
                                           (!pair  "node"
                                            (!type struct 638 nil  gc_used "cpp_identifier"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 235)
                                             (!fields 2 
                                              (!pair  "node"
                                               (!type already_seen 629)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 228)
                                               (!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 629)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 234)
                                               (!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" 248)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_NODE")
                                            )
                                           )
                                           (!pair  "source"
                                            (!type already_seen 635)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 251)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                                            )
                                           )
                                           (!pair  "str"
                                            (!type struct 639 nil  gc_used "cpp_string"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 180)
                                             (!fields 2 
                                              (!pair  "len"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 178)
                                               nil )
                                              (!pair  "text"
                                               (!type already_seen 39)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 179)
                                               nil )
                                             )
                                             nil 1023 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 254)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_STR")
                                            )
                                           )
                                           (!pair  "macro_arg"
                                            (!type struct 640 nil  gc_used "cpp_macro_arg"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 219)
                                             (!fields 2 
                                              (!pair  "arg_no"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 212)
                                               nil )
                                              (!pair  "spelling"
                                               (!type already_seen 629)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 218)
                                               (!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" 257)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_ARG_NO")
                                            )
                                           )
                                           (!pair  "token_no"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 261)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_TOKEN_NO")
                                            )
                                           )
                                           (!pair  "pragma"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 264)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_PRAGMA")
                                            )
                                           )
                                          )
                                          nil 1023 nil )
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 265)
                                         (!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" 721)
                              (!options 
                               (!option tag string  "NTV_MACRO")
                              )
                             )
                             (!pair  "answers"
                              (!type pointer 641 nil  gc_used
                               (!type struct 642 
                                (!type already_seen 641)
                                gc_pointed_to "answer"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 31)
                                (!fields 3 
                                 (!pair  "next"
                                  (!type already_seen 641)
                                  (!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 643 nil  gc_used "1" 
                                   (!type already_seen 636)
                                  )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 30)
                                  (!options 
                                   (!option length string  "%h.count")
                                  )
                                 )
                                )
                                nil 1023 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 723)
                              (!options 
                               (!option tag string  "NTV_ANSWER")
                              )
                             )
                             (!pair  "builtin"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 725)
                              (!options 
                               (!option tag string  "NTV_BUILTIN")
                              )
                             )
                             (!pair  "arg_index"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 727)
                              (!options 
                               (!option tag string  "NTV_ARGUMENT")
                              )
                             )
                            )
                            nil 1023 nil )
                           (!srcfileloc  "../libcpp/include/cpplib.h" 740)
                           (!options 
                            (!option desc string  "CPP_HASHNODE_VALUE_IDX (%1)")
                           )
                          )
                         )
                         nil 1023 nil nil )
                        (!srcfileloc  "c-family/c-common.h" 342)
                        nil )
                      )
                      nil 774 nil nil )
                     (!srcfileloc  "cp/cp-tree.h" 326)
                     nil )
                    (!pair  "namespace_bindings"
                     (!type already_seen 101)
                     (!srcfileloc  "cp/cp-tree.h" 327)
                     nil )
                    (!pair  "bindings"
                     (!type already_seen 101)
                     (!srcfileloc  "cp/cp-tree.h" 328)
                     nil )
                    (!pair  "class_template_info"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 329)
                     nil )
                    (!pair  "label_value"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 330)
                     nil )
                   )
                   nil 516 
                   (!type already_seen 620)
                   nil )
                  
                  (!type struct 644 nil  gc_used "lang_identifier"
                   (!srcfileloc  "c/c-decl.c" 211)
                   (!fields 4 
                    (!pair  "common_id"
                     (!type already_seen 627)
                     (!srcfileloc  "c/c-decl.c" 207)
                     nil )
                    (!pair  "symbol_binding"
                     (!type pointer 645 nil  gc_used
                      (!type struct 646 
                       (!type already_seen 645)
                       gc_pointed_to "c_binding"
                       (!srcfileloc  "c/c-decl.c" 196)
                       (!fields 11 
                        (!pair  "u"
                         (!type union 647 nil  gc_used "anonymous:../../gcc/c/c-decl.c:182"
                          (!srcfileloc  "c/c-decl.c" 185)
                          (!fields 2 
                           (!pair  "type"
                            (!type already_seen 5)
                            (!srcfileloc  "c/c-decl.c" 183)
                            (!options 
                             (!option tag string  "0")
                            )
                           )
                           (!pair  "label"
                            (!type pointer 648 nil  gc_used
                             (!type struct 649 
                              (!type already_seen 648)
                              gc_pointed_to "c_label_vars"
                              (!srcfileloc  "c/c-decl.c" 375)
                              (!fields 4 
                               (!pair  "shadowed"
                                (!type already_seen 648)
                                (!srcfileloc  "c/c-decl.c" 363)
                                nil )
                               (!pair  "label_bindings"
                                (!type struct 650 nil  gc_used "c_spot_bindings"
                                 (!srcfileloc  "c/c-decl.c" 342)
                                 (!fields 4 
                                  (!pair  "scope"
                                   (!type pointer 651 nil  gc_used
                                    (!type struct 652 
                                     (!type already_seen 651)
                                     gc_pointed_to "c_scope"
                                     (!srcfileloc  "c/c-decl.c" 477)
                                     (!fields 14 
                                      (!pair  "outer"
                                       (!type already_seen 651)
                                       (!srcfileloc  "c/c-decl.c" 424)
                                       nil )
                                      (!pair  "outer_function"
                                       (!type already_seen 651)
                                       (!srcfileloc  "c/c-decl.c" 427)
                                       nil )
                                      (!pair  "bindings"
                                       (!type already_seen 645)
                                       (!srcfileloc  "c/c-decl.c" 430)
                                       nil )
                                      (!pair  "blocks"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 434)
                                       nil )
                                      (!pair  "blocks_last"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 435)
                                       nil )
                                      (!pair  "depth"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 439)
                                       nil )
                                      (!pair  "parm_flag"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 443)
                                       nil )
                                      (!pair  "had_vla_unspec"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 447)
                                       nil )
                                      (!pair  "warned_forward_parm_decls"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 452)
                                       nil )
                                      (!pair  "function_body"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 458)
                                       nil )
                                      (!pair  "keep"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 461)
                                       nil )
                                      (!pair  "float_const_decimal64"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 464)
                                       nil )
                                      (!pair  "has_label_bindings"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 469)
                                       nil )
                                      (!pair  "has_jump_unsafe_decl"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 476)
                                       nil )
                                     )
                                     (!options 
                                      (!option chain_next string  "%h.outer")
                                     )
                                     258 nil nil )
                                   )
                                   (!srcfileloc  "c/c-decl.c" 327)
                                   nil )
                                  (!pair  "bindings_in_scope"
                                   (!type already_seen 645)
                                   (!srcfileloc  "c/c-decl.c" 331)
                                   nil )
                                  (!pair  "stmt_exprs"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 338)
                                   nil )
                                  (!pair  "left_stmt_expr"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 341)
                                   nil )
                                 )
                                 nil 258 nil nil )
                                (!srcfileloc  "c/c-decl.c" 365)
                                nil )
                               (!pair  "decls_in_scope"
                                (!type already_seen 49)
                                (!srcfileloc  "c/c-decl.c" 370)
                                nil )
                               (!pair  "gotos"
                                (!type pointer 653 nil  gc_used
                                 (!type user_struct 654 
                                  (!type already_seen 653)
                                  gc_pointed_to "vec<c_goto_bindings_p,va_gc>"
                                  (!srcfileloc  "c/c-decl.c" 374)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "c/c-decl.c" 374)
                                    nil )
                                   (!pair  "c_goto_bindings_p"
                                    (!type pointer 655 nil  gc_used
                                     (!type struct 656 
                                      (!type already_seen 655)
                                      gc_pointed_to "c_goto_bindings"
                                      (!srcfileloc  "c/c-decl.c" 353)
                                      (!fields 2 
                                       (!pair  "loc"
                                        (!type already_seen 9)
                                        (!srcfileloc  "c/c-decl.c" 350)
                                        nil )
                                       (!pair  "goto_bindings"
                                        (!type already_seen 650)
                                        (!srcfileloc  "c/c-decl.c" 352)
                                        nil )
                                      )
                                      nil 258 nil nil )
                                    )
                                    (!srcfileloc  "c/c-decl.c" 374)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "c/c-decl.c" 374)
                                nil )
                              )
                              nil 258 nil nil )
                            )
                            (!srcfileloc  "c/c-decl.c" 184)
                            (!options 
                             (!option tag string  "1")
                            )
                           )
                          )
                          nil 258 nil )
                         (!srcfileloc  "c/c-decl.c" 185)
                         (!options 
                          (!option desc string  "TREE_CODE (%0.decl) == LABEL_DECL")
                         )
                        )
                        (!pair  "decl"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 186)
                         nil )
                        (!pair  "id"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 187)
                         nil )
                        (!pair  "prev"
                         (!type already_seen 645)
                         (!srcfileloc  "c/c-decl.c" 188)
                         nil )
                        (!pair  "shadowed"
                         (!type already_seen 645)
                         (!srcfileloc  "c/c-decl.c" 189)
                         nil )
                        (!pair  "depth"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 190)
                         nil )
                        (!pair  "invisible"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 191)
                         nil )
                        (!pair  "nested"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 192)
                         nil )
                        (!pair  "inner_comp"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 193)
                         nil )
                        (!pair  "in_struct"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 194)
                         nil )
                        (!pair  "locus"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 195)
                         nil )
                       )
                       (!options 
                        (!option chain_next string  "%h.prev")
                       )
                       258 nil nil )
                     )
                     (!srcfileloc  "c/c-decl.c" 208)
                     nil )
                    (!pair  "tag_binding"
                     (!type already_seen 645)
                     (!srcfileloc  "c/c-decl.c" 209)
                     nil )
                    (!pair  "label_binding"
                     (!type already_seen 645)
                     (!srcfileloc  "c/c-decl.c" 210)
                     nil )
                   )
                   nil 258 
                   (!type already_seen 620)
                   nil )
                 )
                )
                (!srcfileloc  "jit/dummy-frontend.c" 62)
                (!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 617)
             )
             
             (!type union 657 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "java/java-tree.h" 595)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "java/java-tree.h" 593)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 620)
                (!srcfileloc  "java/java-tree.h" 594)
                (!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 617)
             )
             
             (!type union 658 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "go/go-lang.c" 72)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "go/go-lang.c" 70)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 620)
                (!srcfileloc  "go/go-lang.c" 71)
                (!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 617)
             )
             
             (!type union 659 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "fortran/f95-lang.c" 57)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "fortran/f95-lang.c" 55)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 620)
                (!srcfileloc  "fortran/f95-lang.c" 56)
                (!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 617)
             )
             
             (!type union 660 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "cp/cp-tree.h" 1078)
              (!fields 16 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "cp/cp-tree.h" 1055)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "TS_CP_GENERIC")
                )
               )
               (!pair  "tpi"
                (!type struct 661 nil  gc_used "template_parm_index"
                 (!srcfileloc  "cp/cp-tree.h" 358)
                 (!fields 5 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 353)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 354)
                   nil )
                  (!pair  "level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 355)
                   nil )
                  (!pair  "orig_level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 356)
                   nil )
                  (!pair  "decl"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 357)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1056)
                (!options 
                 (!option tag string  "TS_CP_TPI")
                )
               )
               (!pair  "ptrmem"
                (!type struct 662 
                 (!type pointer 663 nil  gc_unused
                  (!type already_seen 662)
                 )
                 gc_used "ptrmem_cst"
                 (!srcfileloc  "cp/cp-tree.h" 363)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 361)
                   nil )
                  (!pair  "member"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 362)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1057)
                (!options 
                 (!option tag string  "TS_CP_PTRMEM")
                )
               )
               (!pair  "overload"
                (!type struct 664 nil  gc_used "tree_overload"
                 (!srcfileloc  "cp/cp-tree.h" 444)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 442)
                   nil )
                  (!pair  "function"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 443)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1058)
                (!options 
                 (!option tag string  "TS_CP_OVERLOAD")
                )
               )
               (!pair  "baselink"
                (!type struct 665 nil  gc_used "tree_baselink"
                 (!srcfileloc  "cp/cp-tree.h" 484)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 480)
                   nil )
                  (!pair  "binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 481)
                   nil )
                  (!pair  "functions"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 482)
                   nil )
                  (!pair  "access_binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 483)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1059)
                (!options 
                 (!option tag string  "TS_CP_BASELINK")
                )
               )
               (!pair  "template_decl"
                (!type struct 666 nil  gc_used "tree_template_decl"
                 (!srcfileloc  "cp/cp-tree.h" 450)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 41)
                   (!srcfileloc  "cp/cp-tree.h" 447)
                   nil )
                  (!pair  "arguments"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 448)
                   nil )
                  (!pair  "result"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 449)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1060)
                (!options 
                 (!option tag string  "TS_CP_TEMPLATE_DECL")
                )
               )
               (!pair  "default_arg"
                (!type struct 667 nil  gc_used "tree_default_arg"
                 (!srcfileloc  "cp/cp-tree.h" 662)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 659)
                   nil )
                  (!pair  "tokens"
                   (!type already_seen 66)
                   (!srcfileloc  "cp/cp-tree.h" 660)
                   nil )
                  (!pair  "instantiations"
                   (!type already_seen 49)
                   (!srcfileloc  "cp/cp-tree.h" 661)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1061)
                (!options 
                 (!option tag string  "TS_CP_DEFAULT_ARG")
                )
               )
               (!pair  "deferred_noexcept"
                (!type struct 668 nil  gc_used "tree_deferred_noexcept"
                 (!srcfileloc  "cp/cp-tree.h" 680)
                 (!fields 3 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "cp/cp-tree.h" 677)
                   nil )
                  (!pair  "pattern"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 678)
                   nil )
                  (!pair  "args"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 679)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1062)
                (!options 
                 (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                )
               )
               (!pair  "identifier"
                (!type already_seen 620)
                (!srcfileloc  "cp/cp-tree.h" 1063)
                (!options 
                 (!option tag string  "TS_CP_IDENTIFIER")
                )
               )
               (!pair  "static_assertion"
                (!type struct 669 nil  gc_used "tree_static_assert"
                 (!srcfileloc  "cp/cp-tree.h" 703)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 699)
                   nil )
                  (!pair  "condition"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 700)
                   nil )
                  (!pair  "message"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 701)
                   nil )
                  (!pair  "location"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 702)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1065)
                (!options 
                 (!option tag string  "TS_CP_STATIC_ASSERT")
                )
               )
               (!pair  "argument_pack_select"
                (!type struct 670 nil  gc_used "tree_argument_pack_select"
                 (!srcfileloc  "cp/cp-tree.h" 709)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 706)
                   nil )
                  (!pair  "argument_pack"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 707)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 708)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1067)
                (!options 
                 (!option tag string  "TS_CP_ARGUMENT_PACK_SELECT")
                )
               )
               (!pair  "trait_expression"
                (!type struct 671 nil  gc_used "tree_trait_expr"
                 (!srcfileloc  "cp/cp-tree.h" 760)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 756)
                   nil )
                  (!pair  "type1"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 757)
                   nil )
                  (!pair  "type2"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 758)
                   nil )
                  (!pair  "kind"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 759)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1069)
                (!options 
                 (!option tag string  "TS_CP_TRAIT_EXPR")
                )
               )
               (!pair  "lambda_expression"
                (!type struct 672 nil  gc_used "tree_lambda_expr"
                 (!srcfileloc  "cp/cp-tree.h" 845)
                 (!fields 10 
                  (!pair  "typed"
                   (!type already_seen 19)
                   (!srcfileloc  "cp/cp-tree.h" 835)
                   nil )
                  (!pair  "capture_list"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 836)
                   nil )
                  (!pair  "this_capture"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 837)
                   nil )
                  (!pair  "return_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 838)
                   nil )
                  (!pair  "extra_scope"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 839)
                   nil )
                  (!pair  "closure"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 840)
                   nil )
                  (!pair  "pending_proxies"
                   (!type already_seen 49)
                   (!srcfileloc  "cp/cp-tree.h" 841)
                   nil )
                  (!pair  "locus"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 842)
                   nil )
                  (!pair  "default_capture_mode"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 843)
                   nil )
                  (!pair  "discriminator"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 844)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1071)
                (!options 
                 (!option tag string  "TS_CP_LAMBDA_EXPR")
                )
               )
               (!pair  "template_info"
                (!type struct 673 nil  gc_used "tree_template_info"
                 (!srcfileloc  "cp/cp-tree.h" 885)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 20)
                   (!srcfileloc  "cp/cp-tree.h" 883)
                   nil )
                  (!pair  "typedefs_needing_access_checking"
                   (!type pointer 674 nil  gc_used
                    (!type user_struct 675 
                     (!type already_seen 674)
                     gc_pointed_to "vec<qualified_typedef_usage_t,va_gc>"
                     (!srcfileloc  "cp/cp-tree.h" 884)
                     (!fields 2 
                      (!pair  "va_gc"
                       (!type already_seen 3)
                       (!srcfileloc  "cp/cp-tree.h" 884)
                       nil )
                      (!pair  "qualified_typedef_usage_t"
                       (!type struct 676 nil  gc_used "qualified_typedef_usage_s"
                        (!srcfileloc  "cp/cp-tree.h" 865)
                        (!fields 3 
                         (!pair  "typedef_decl"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 862)
                          nil )
                         (!pair  "context"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 863)
                          nil )
                         (!pair  "locus"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 864)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 884)
                       nil )
                     )
                    )
                   )
                   (!srcfileloc  "cp/cp-tree.h" 884)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1073)
                (!options 
                 (!option tag string  "TS_CP_TEMPLATE_INFO")
                )
               )
               (!pair  "constraint_info"
                (!type struct 677 nil  gc_used "tree_constraint_info"
                 (!srcfileloc  "cp/cp-tree.h" 902)
                 (!fields 4 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "cp/cp-tree.h" 898)
                   nil )
                  (!pair  "template_reqs"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 899)
                   nil )
                  (!pair  "declarator_reqs"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 900)
                   nil )
                  (!pair  "associated_constr"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 901)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1075)
                (!options 
                 (!option tag string  "TS_CP_CONSTRAINT_INFO")
                )
               )
               (!pair  "userdef_literal"
                (!type struct 678 nil  gc_used "tree_userdef_literal"
                 (!srcfileloc  "c-family/c-common.h" 1337)
                 (!fields 5 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "c-family/c-common.h" 1332)
                   nil )
                  (!pair  "suffix_id"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1333)
                   nil )
                  (!pair  "value"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1334)
                   nil )
                  (!pair  "num_string"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1335)
                   nil )
                  (!pair  "overflow"
                   (!type already_seen 9)
                   (!srcfileloc  "c-family/c-common.h" 1336)
                   nil )
                 )
                 nil 774 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1077)
                (!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 617)
             )
             
             (!type union 679 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "c/c-decl.c" 316)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "c/c-decl.c" 314)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 620)
                (!srcfileloc  "c/c-decl.c" 315)
                (!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 617)
             )
             
             (!type union 680 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 617)
             )
            )
           )
          )
         )
         1023 nil )
       )
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2758)
       nil )
      (!pair  "offset"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2759)
       nil )
     )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2762)
    nil )
  )
 )
 
 (!type already_seen 4)
 
 (!type user_struct 681 
  (!type pointer 682 nil  gc_used
   (!type already_seen 681)
  )
  gc_pointed_to "vec<prot_list_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1256)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1256)
    nil )
   (!pair  "prot_list_entry"
    (!type struct 683 nil  gc_used "prot_list_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1256)
     (!fields 2 
      (!pair  "id"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1253)
       nil )
      (!pair  "refdecl"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1254)
       nil )
     )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1256)
    nil )
  )
 )
 
 (!type already_seen 683)
 
 (!type user_struct 684 
  (!type pointer 685 nil  gc_used
   (!type already_seen 684)
  )
  gc_pointed_to "vec<msgref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1202)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1202)
    nil )
   (!pair  "msgref_entry"
    (!type struct 686 nil  gc_used "msgref_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1202)
     (!fields 3 
      (!pair  "func"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1197)
       nil )
      (!pair  "selname"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1198)
       nil )
      (!pair  "refdecl"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1199)
       nil )
     )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1202)
    nil )
  )
 )
 
 (!type already_seen 686)
 
 (!type user_struct 687 
  (!type pointer 688 nil  gc_used
   (!type already_seen 687)
  )
  gc_pointed_to "vec<ident_data_tuple,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1037)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1037)
    nil )
   (!pair  "ident_data_tuple"
    (!type struct 689 nil  gc_used "ident_data_tuple"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1037)
     (!fields 2 
      (!pair  "ident"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1013)
       nil )
      (!pair  "data"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1014)
       nil )
     )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1037)
    nil )
  )
 )
 
 (!type already_seen 689)
 
 (!type struct 690 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 691 
  (!type pointer 692 nil  gc_used
   (!type already_seen 691)
  )
  gc_pointed_to "hash_table<objc_string_hasher>"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 1 
   (!pair  "objc_string_hasher"
    (!type struct 693 nil  gc_used "objc_string_hasher"
     (!srcfileloc  "objc/objc-act.c" 260)
     (!fields 0 )
     nil 768 nil nil )
    (!srcfileloc  "objc/objc-act.c" 260)
    nil )
  )
 )
 
 (!type already_seen 693)
 
 (!type struct 694 nil  gc_pointed_to "string_descriptor"
  (!srcfileloc  "objc/objc-act.c" 252)
  (!fields 2 
   (!pair  "literal"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.c" 248)
    nil )
   (!pair  "constructor"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.c" 251)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  768 nil nil )
 
 (!type struct 695 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 696 
  (!type pointer 697 nil  gc_used
   (!type already_seen 696)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 288)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 697)
    (!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 698 
  (!type pointer 699 nil  gc_used
   (!type already_seen 698)
  )
  gc_pointed_to "hashed_attribute"
  (!srcfileloc  "objc/objc-act.h" 265)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 699)
    (!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 700 
  (!type pointer 701 
   (!type pointer 702 nil  gc_used
    (!type already_seen 701)
   )
   gc_pointed_to
   (!type already_seen 700)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 271)
  (!fields 3 
   (!pair  "list"
    (!type already_seen 699)
    (!srcfileloc  "objc/objc-act.h" 268)
    nil )
   (!pair  "next"
    (!type already_seen 701)
    (!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 703 
  (!type pointer 704 nil  gc_used
   (!type already_seen 703)
  )
  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 705 nil  gc_unused "lto_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 706 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 707 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 708 nil  gc_unused "streamer_tree_cache_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 709 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 710 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 711 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 712 nil  gc_unused "ggc_root_tab"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 713 nil  gc_unused "anonymous:../../gcc/java/expr.c:2046"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 714 nil  gc_unused "class_flag_node_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 715 nil  gc_used "builtin_record"
  (!srcfileloc  "java/builtins.c" 81)
  (!fields 4 
   (!pair  "class_name"
    (!type union 716 nil  gc_used "string_or_tree"
     (!srcfileloc  "java/builtins.c" 73)
     (!fields 2 
      (!pair  "s"
       (!type already_seen 39)
       (!srcfileloc  "java/builtins.c" 71)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "java/builtins.c" 72)
       (!options 
        (!option tag string  "1")
       )
      )
     )
     nil 32 nil )
    (!srcfileloc  "java/builtins.c" 77)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "method_name"
    (!type already_seen 716)
    (!srcfileloc  "java/builtins.c" 78)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "creator"
    (!type pointer 717 nil  gc_unused
     (!type undefined 718 
      (!type already_seen 717)
      gc_unused "builtin_creator_function"
      (!srcfileloc  "java/builtins.c" 79)
     )
    )
    (!srcfileloc  "java/builtins.c" 79)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "builtin_code"
    (!type already_seen 9)
    (!srcfileloc  "java/builtins.c" 80)
    nil )
  )
  nil 32 nil nil )
 
 (!type already_seen 718)
 
 (!type already_seen 716)
 
 (!type already_seen 501)
 
 (!type already_seen 506)
 
 (!type already_seen 508)
 
 (!type already_seen 505)
 
 (!type already_seen 87)
 
 (!type already_seen 516)
 
 (!type already_seen 510)
 
 (!type already_seen 511)
 
 (!type already_seen 57)
 
 (!type already_seen 517)
 
 (!type struct 719 nil  gc_pointed_to "type_assertion"
  (!srcfileloc  "java/java-tree.h" 798)
  (!fields 3 
   (!pair  "assertion_code"
    (!type already_seen 9)
    (!srcfileloc  "java/java-tree.h" 795)
    nil )
   (!pair  "op1"
    (!type already_seen 5)
    (!srcfileloc  "java/java-tree.h" 796)
    nil )
   (!pair  "op2"
    (!type already_seen 5)
    (!srcfileloc  "java/java-tree.h" 797)
    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 720 nil  gc_pointed_to "treetreehash_entry"
  (!srcfileloc  "java/java-tree.h" 715)
  (!fields 2 
   (!pair  "key"
    (!type already_seen 5)
    (!srcfileloc  "java/java-tree.h" 713)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "java/java-tree.h" 714)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  32 nil nil )
 
 (!type already_seen 502)
 
 (!type already_seen 499)
 
 (!type struct 721 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 722 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 723 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 724 nil  gc_used "gfc_powdecl_list"
  (!srcfileloc  "fortran/trans.h" 793)
  (!fields 3 
   (!pair  "integer"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 790)
    nil )
   (!pair  "real"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 791)
    nil )
   (!pair  "cmplx"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 792)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 725 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 726 
  (!type pointer 727 nil  gc_used
   (!type already_seen 726)
  )
  gc_pointed_to "hash_table<module_decl_hasher>"
  (!srcfileloc  "fortran/trans.h" 617)
  (!fields 1 
   (!pair  "module_decl_hasher"
    (!type struct 728 nil  gc_used "module_decl_hasher"
     (!srcfileloc  "fortran/trans.h" 617)
     (!fields 0 )
     nil 8 nil nil )
    (!srcfileloc  "fortran/trans.h" 617)
    nil )
  )
 )
 
 (!type already_seen 728)
 
 (!type struct 729 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:356"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 730 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:344"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 731 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 732 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 733 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 734 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 735 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 736 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 737 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 738 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 739 nil  gc_used "gfc_st_parameter"
  (!srcfileloc  "fortran/trans-io.c" 78)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "fortran/trans-io.c" 76)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 77)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 740 nil  gc_used "gfc_st_parameter_field"
  (!srcfileloc  "fortran/trans-io.c" 72)
  (!fields 6 
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "fortran/trans-io.c" 66)
    nil )
   (!pair  "mask"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 67)
    nil )
   (!pair  "param_type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 68)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 69)
    nil )
   (!pair  "field"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 70)
    nil )
   (!pair  "field_len"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 71)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 741 nil  gc_used "gfc_intrinsic_map_t"
  (!srcfileloc  "fortran/trans-intrinsic.c" 82)
  (!fields 19 
   (!pair  "id"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 48)
    nil )
   (!pair  "float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 52)
    nil )
   (!pair  "double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 53)
    nil )
   (!pair  "long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 54)
    nil )
   (!pair  "complex_float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 55)
    nil )
   (!pair  "complex_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 56)
    nil )
   (!pair  "complex_long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 57)
    nil )
   (!pair  "libm_name"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 62)
    nil )
   (!pair  "complex_available"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 65)
    nil )
   (!pair  "is_constant"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 68)
    nil )
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "fortran/trans-intrinsic.c" 71)
    nil )
   (!pair  "real4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 74)
    nil )
   (!pair  "real8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 75)
    nil )
   (!pair  "real10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 76)
    nil )
   (!pair  "real16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 77)
    nil )
   (!pair  "complex4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 78)
    nil )
   (!pair  "complex8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 79)
    nil )
   (!pair  "complex10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 80)
    nil )
   (!pair  "complex16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 81)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 742 nil  gc_pointed_to "module_htab_entry"
  (!srcfileloc  "fortran/trans.h" 618)
  (!fields 3 
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "fortran/trans.h" 615)
    nil )
   (!pair  "namespace_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 616)
    nil )
   (!pair  "decls"
    (!type already_seen 727)
    (!srcfileloc  "fortran/trans.h" 617)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  8 nil nil )
 
 (!type user_struct 743 
  (!type pointer 744 nil  gc_used
   (!type already_seen 743)
  )
  gc_pointed_to "hash_table<module_hasher>"
  (!srcfileloc  "fortran/trans-decl.c" 4502)
  (!fields 1 
   (!pair  "module_hasher"
    (!type struct 745 nil  gc_used "module_hasher"
     (!srcfileloc  "fortran/trans-decl.c" 4502)
     (!fields 0 )
     nil 8 nil nil )
    (!srcfileloc  "fortran/trans-decl.c" 4502)
    nil )
  )
 )
 
 (!type already_seen 745)
 
 (!type already_seen 84)
 
 (!type struct 746 nil  gc_unused "cp_genericize_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 747 nil  gc_unused "cp_genericize_omp_taskreg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 748 
  (!type pointer 749 nil  gc_used
   (!type already_seen 748)
  )
  gc_pointed_to "hash_table<constexpr_call_hasher>"
  (!srcfileloc  "cp/constexpr.c" 923)
  (!fields 1 
   (!pair  "constexpr_call_hasher"
    (!type struct 750 nil  gc_used "constexpr_call_hasher"
     (!srcfileloc  "cp/constexpr.c" 923)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/constexpr.c" 923)
    nil )
  )
 )
 
 (!type struct 751 nil  gc_unused "constexpr_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 750)
 
 (!type struct 752 nil  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/constexpr.c" 886)
  (!fields 4 
   (!pair  "fundef"
    (!type pointer 753 nil  gc_used
     (!type struct 754 
      (!type already_seen 753)
      gc_pointed_to "constexpr_fundef"
      (!srcfileloc  "cp/constexpr.c" 870)
      (!fields 2 
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/constexpr.c" 118)
        nil )
       (!pair  "body"
        (!type already_seen 5)
        (!srcfileloc  "cp/constexpr.c" 119)
        nil )
      )
      (!options 
       (!option for_user string  "")
      )
      516 nil nil )
    )
    (!srcfileloc  "cp/constexpr.c" 870)
    nil )
   (!pair  "bindings"
    (!type already_seen 5)
    (!srcfileloc  "cp/constexpr.c" 877)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/constexpr.c" 882)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cp/constexpr.c" 885)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type user_struct 755 
  (!type pointer 756 nil  gc_used
   (!type already_seen 755)
  )
  gc_pointed_to "hash_table<constexpr_fundef_hasher>"
  (!srcfileloc  "cp/constexpr.c" 131)
  (!fields 1 
   (!pair  "constexpr_fundef_hasher"
    (!type struct 757 nil  gc_used "constexpr_fundef_hasher"
     (!srcfileloc  "cp/constexpr.c" 131)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/constexpr.c" 131)
    nil )
  )
 )
 
 (!type already_seen 757)
 
 (!type already_seen 754)
 
 (!type struct 758 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 759 nil  gc_unused "work_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 "vec<pending_noexcept,va_gc>"
  (!srcfileloc  "cp/except.c" 1198)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/except.c" 1198)
    nil )
   (!pair  "pending_noexcept"
    (!type struct 762 nil  gc_used "pending_noexcept"
     (!srcfileloc  "cp/except.c" 1198)
     (!fields 2 
      (!pair  "fn"
       (!type already_seen 5)
       (!srcfileloc  "cp/except.c" 1195)
       nil )
      (!pair  "loc"
       (!type already_seen 9)
       (!srcfileloc  "cp/except.c" 1196)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/except.c" 1198)
    nil )
  )
 )
 
 (!type already_seen 762)
 
 (!type struct 763 nil  gc_unused "secondary_vptr_vtt_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 764 nil  gc_unused "find_final_overrider_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 765 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 766 nil  gc_unused "flexmems_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 767 nil  gc_unused "vtbl_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 768 
  (!type pointer 769 nil  gc_unused
   (!type already_seen 768)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 770 
  (!type pointer 771 nil  gc_used
   (!type already_seen 770)
  )
  gc_pointed_to "hash_table<abstract_type_hasher>"
  (!srcfileloc  "cp/typeck2.c" 182)
  (!fields 1 
   (!pair  "abstract_type_hasher"
    (!type struct 772 nil  gc_used "abstract_type_hasher"
     (!srcfileloc  "cp/typeck2.c" 182)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/typeck2.c" 182)
    nil )
  )
 )
 
 (!type already_seen 772)
 
 (!type struct 773 
  (!type pointer 774 nil  gc_used
   (!type already_seen 773)
  )
  gc_pointed_to "pending_abstract_type"
  (!srcfileloc  "cp/typeck2.c" 151)
  (!fields 5 
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/typeck2.c" 137)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "cp/typeck2.c" 140)
    nil )
   (!pair  "use"
    (!type already_seen 9)
    (!srcfileloc  "cp/typeck2.c" 143)
    nil )
   (!pair  "locus"
    (!type already_seen 9)
    (!srcfileloc  "cp/typeck2.c" 147)
    nil )
   (!pair  "next"
    (!type already_seen 774)
    (!srcfileloc  "cp/typeck2.c" 150)
    nil )
  )
  (!options 
   (!option for_user string  "")
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type struct 775 nil  gc_unused "scope_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 776 nil  gc_unused "cleanup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 777 
  (!type pointer 778 nil  gc_used
   (!type already_seen 777)
  )
  gc_pointed_to "vec<tree_int,va_gc>"
  (!srcfileloc  "cp/parser.c" 9626)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/parser.c" 9626)
    nil )
   (!pair  "tree_int"
    (!type struct 779 nil  gc_used "tree_int"
     (!srcfileloc  "cp/parser.c" 9626)
     (!fields 2 
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "cp/parser.c" 9623)
       nil )
      (!pair  "i"
       (!type already_seen 9)
       (!srcfileloc  "cp/parser.c" 9624)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/parser.c" 9626)
    nil )
  )
 )
 
 (!type already_seen 779)
 
 (!type struct 780 nil  gc_unused "tentative_firewall"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 781 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 782 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 783 nil  gc_unused "saved_token_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 784 nil  gc_unused "type_id_in_expr_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 785 
  (!type pointer 786 nil  gc_used
   (!type already_seen 785)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.c" 37147)
  (!fields 37 
   (!pair  "lexer"
    (!type pointer 787 nil  gc_used
     (!type struct 788 
      (!type already_seen 787)
      gc_pointed_to "cp_lexer"
      (!srcfileloc  "cp/parser.h" 215)
      (!fields 7 
       (!pair  "buffer"
        (!type pointer 789 nil  gc_used
         (!type user_struct 790 
          (!type already_seen 789)
          gc_pointed_to "vec<cp_token,va_gc>"
          (!srcfileloc  "cp/parser.h" 86)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "cp/parser.h" 86)
            nil )
           (!pair  "cp_token"
            (!type already_seen 69)
            (!srcfileloc  "cp/parser.h" 86)
            nil )
          )
         )
        )
        (!srcfileloc  "cp/parser.h" 86)
        nil )
       (!pair  "last_token"
        (!type already_seen 68)
        (!srcfileloc  "cp/parser.h" 90)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next_token"
        (!type already_seen 68)
        (!srcfileloc  "cp/parser.h" 94)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "saved_tokens"
        (!type user_struct 791 nil  gc_unused "vec<cp_token_position>"
         (!srcfileloc  "cp/parser.h" 100)
         (!fields 1 
          (!pair  "cp_token_position"
           (!type already_seen 68)
           (!srcfileloc  "cp/parser.h" 100)
           nil )
         )
        )
        (!srcfileloc  "cp/parser.h" 100)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next"
        (!type already_seen 787)
        (!srcfileloc  "cp/parser.h" 103)
        nil )
       (!pair  "debugging_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 106)
        nil )
       (!pair  "in_pragma"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 110)
        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 792 nil  gc_used
     (!type struct 793 
      (!type already_seen 792)
      gc_pointed_to "cp_parser_context"
      (!srcfileloc  "cp/parser.h" 249)
      (!fields 3 
       (!pair  "status"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 190)
        nil )
       (!pair  "object_type"
        (!type already_seen 5)
        (!srcfileloc  "cp/parser.h" 195)
        nil )
       (!pair  "next"
        (!type already_seen 792)
        (!srcfileloc  "cp/parser.h" 198)
        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 794 nil  gc_used
     (!type user_struct 795 
      (!type already_seen 794)
      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 796 nil  gc_used "cp_unparsed_functions_entry"
         (!srcfileloc  "cp/parser.h" 355)
         (!fields 4 
          (!pair  "funs_with_default_args"
           (!type pointer 797 nil  gc_used
            (!type user_struct 798 
             (!type already_seen 797)
             gc_pointed_to "vec<cp_default_arg_entry,va_gc>"
             (!srcfileloc  "cp/parser.h" 156)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cp/parser.h" 156)
               nil )
              (!pair  "cp_default_arg_entry"
               (!type struct 799 nil  gc_used "cp_default_arg_entry"
                (!srcfileloc  "cp/parser.h" 156)
                (!fields 2 
                 (!pair  "class_type"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 144)
                  nil )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 147)
                  nil )
                )
                nil 516 nil nil )
               (!srcfileloc  "cp/parser.h" 156)
               nil )
             )
            )
           )
           (!srcfileloc  "cp/parser.h" 156)
           nil )
          (!pair  "funs_with_definitions"
           (!type already_seen 49)
           (!srcfileloc  "cp/parser.h" 160)
           nil )
          (!pair  "nsdmis"
           (!type already_seen 49)
           (!srcfileloc  "cp/parser.h" 164)
           nil )
          (!pair  "classes"
           (!type already_seen 49)
           (!srcfileloc  "cp/parser.h" 168)
           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 800 nil  gc_unused
     (!type struct 801 
      (!type already_seen 800)
      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 800)
    (!srcfileloc  "cp/parser.h" 374)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "oacc_routine"
    (!type already_seen 800)
    (!srcfileloc  "cp/parser.h" 377)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "auto_is_implicit_function_template_parm_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 381)
    nil )
   (!pair  "fully_implicit_function_template_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 386)
    nil )
   (!pair  "implicit_template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 394)
    nil )
   (!pair  "implicit_template_scope"
    (!type already_seen 96)
    (!srcfileloc  "cp/parser.h" 401)
    nil )
   (!pair  "in_result_type_constraint_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 406)
    nil )
   (!pair  "prevent_constrained_type_specifiers"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 410)
    nil )
  )
  nil 516 nil nil )
 
 (!type already_seen 795)
 
 (!type already_seen 801)
 
 (!type already_seen 793)
 
 (!type already_seen 796)
 
 (!type already_seen 798)
 
 (!type already_seen 799)
 
 (!type struct 802 nil  gc_unused "cp_token_ident"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 788)
 
 (!type already_seen 791)
 
 (!type already_seen 790)
 
 (!type already_seen 69)
 
 (!type already_seen 70)
 
 (!type already_seen 72)
 
 (!type user_struct 803 
  (!type pointer 804 nil  gc_used
   (!type already_seen 803)
  )
  gc_pointed_to "hash_table<list_hasher>"
  (!srcfileloc  "cp/tree.c" 1780)
  (!fields 1 
   (!pair  "list_hasher"
    (!type struct 805 nil  gc_used "list_hasher"
     (!srcfileloc  "cp/tree.c" 1780)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/tree.c" 1780)
    nil )
  )
 )
 
 (!type already_seen 805)
 
 (!type struct 806 nil  gc_unused "list_proxy"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<cplus_array_hasher>"
  (!srcfileloc  "cp/tree.c" 776)
  (!fields 1 
   (!pair  "cplus_array_hasher"
    (!type struct 809 nil  gc_used "cplus_array_hasher"
     (!srcfileloc  "cp/tree.c" 776)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/tree.c" 776)
    nil )
  )
 )
 
 (!type already_seen 809)
 
 (!type struct 810 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 811 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 812 
  (!type pointer 813 nil  gc_used
   (!type already_seen 812)
  )
  gc_pointed_to "vec<deferred_access,va_gc>"
  (!srcfileloc  "cp/semantics.c" 134)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/semantics.c" 134)
    nil )
   (!pair  "deferred_access"
    (!type struct 814 nil  gc_used "deferred_access"
     (!srcfileloc  "cp/semantics.c" 134)
     (!fields 2 
      (!pair  "deferred_access_checks"
       (!type already_seen 73)
       (!srcfileloc  "cp/semantics.c" 126)
       nil )
      (!pair  "deferring_access_checks_kind"
       (!type already_seen 9)
       (!srcfileloc  "cp/semantics.c" 129)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/semantics.c" 134)
    nil )
  )
 )
 
 (!type already_seen 814)
 
 (!type already_seen 74)
 
 (!type user_struct 815 
  (!type pointer 816 nil  gc_used
   (!type already_seen 815)
  )
  gc_pointed_to "hash_table<subsumption_hasher>"
  (!srcfileloc  "cp/pt.c" 24680)
  (!fields 1 
   (!pair  "subsumption_hasher"
    (!type struct 817 nil  gc_used "subsumption_hasher"
     (!srcfileloc  "cp/pt.c" 24680)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/pt.c" 24680)
    nil )
  )
 )
 
 (!type already_seen 817)
 
 (!type struct 818 nil  gc_pointed_to "subsumption_entry"
  (!srcfileloc  "cp/pt.c" 24660)
  (!fields 3 
   (!pair  "t1"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24657)
    nil )
   (!pair  "t2"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24658)
    nil )
   (!pair  "result"
    (!type already_seen 9)
    (!srcfileloc  "cp/pt.c" 24659)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type user_struct 819 
  (!type pointer 820 nil  gc_used
   (!type already_seen 819)
  )
  gc_pointed_to "hash_table<concept_spec_hasher>"
  (!srcfileloc  "cp/pt.c" 24538)
  (!fields 1 
   (!pair  "concept_spec_hasher"
    (!type struct 821 nil  gc_used "concept_spec_hasher"
     (!srcfileloc  "cp/pt.c" 24538)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/pt.c" 24538)
    nil )
  )
 )
 
 (!type user_struct 822 
  (!type pointer 823 nil  gc_used
   (!type already_seen 822)
  )
  gc_pointed_to "hash_table<constraint_sat_hasher>"
  (!srcfileloc  "cp/pt.c" 24537)
  (!fields 1 
   (!pair  "constraint_sat_hasher"
    (!type struct 824 nil  gc_used "constraint_sat_hasher"
     (!srcfileloc  "cp/pt.c" 24537)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/pt.c" 24537)
    nil )
  )
 )
 
 (!type already_seen 821)
 
 (!type struct 825 nil  gc_pointed_to "concept_spec_entry"
  (!srcfileloc  "cp/pt.c" 24517)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24514)
    nil )
   (!pair  "args"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24515)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24516)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type already_seen 824)
 
 (!type struct 826 nil  gc_pointed_to "constraint_sat_entry"
  (!srcfileloc  "cp/pt.c" 24492)
  (!fields 3 
   (!pair  "ci"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24489)
    nil )
   (!pair  "args"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24490)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24491)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type user_struct 827 
  (!type pointer 828 nil  gc_used
   (!type already_seen 827)
  )
  gc_pointed_to "hash_table<constr_hasher>"
  (!srcfileloc  "cp/pt.c" 24425)
  (!fields 1 
   (!pair  "constr_hasher"
    (!type struct 829 nil  gc_used "constr_hasher"
     (!srcfileloc  "cp/pt.c" 24425)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/pt.c" 24425)
    nil )
  )
 )
 
 (!type already_seen 829)
 
 (!type struct 830 nil  gc_pointed_to "constr_entry"
  (!srcfileloc  "cp/pt.c" 24402)
  (!fields 2 
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24400)
    nil )
   (!pair  "ci"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24401)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type struct 831 nil  gc_unused "auto_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 832 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 833 nil  gc_unused "uses_all_template_parms_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 834 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 835 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 836 
  (!type pointer 837 nil  gc_used
   (!type already_seen 836)
  )
  gc_pointed_to "hash_table<spec_hasher>"
  (!srcfileloc  "cp/pt.c" 107)
  (!fields 1 
   (!pair  "spec_hasher"
    (!type struct 838 nil  gc_used "spec_hasher"
     (!srcfileloc  "cp/pt.c" 107)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/pt.c" 107)
    nil )
  )
 )
 
 (!type already_seen 838)
 
 (!type struct 839 nil  gc_pointed_to "spec_entry"
  (!srcfileloc  "cp/pt.c" 99)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 96)
    nil )
   (!pair  "args"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 97)
    nil )
   (!pair  "spec"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 98)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type struct 840 
  (!type pointer 841 nil  gc_used
   (!type already_seen 840)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 54)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 841)
    (!srcfileloc  "cp/pt.c" 52)
    nil )
   (!pair  "tinst"
    (!type pointer 842 nil  gc_used
     (!type struct 843 
      (!type already_seen 842)
      gc_pointed_to "tinst_level"
      (!srcfileloc  "cp/cp-tree.h" 5458)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 842)
        (!srcfileloc  "cp/cp-tree.h" 5443)
        nil )
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/cp-tree.h" 5448)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5451)
        nil )
       (!pair  "errors"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5454)
        nil )
       (!pair  "in_system_header_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5457)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      516 nil nil )
    )
    (!srcfileloc  "cp/pt.c" 53)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type struct 844 
  (!type pointer 845 nil  gc_unused
   (!type already_seen 844)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 846 nil  gc_unused "reshape_iter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 847 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 848 
  (!type pointer 849 nil  gc_used
   (!type already_seen 848)
  )
  gc_pointed_to "hash_table<typename_hasher>"
  (!srcfileloc  "cp/decl.c" 3549)
  (!fields 1 
   (!pair  "typename_hasher"
    (!type struct 850 nil  gc_used "typename_hasher"
     (!srcfileloc  "cp/decl.c" 3549)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/decl.c" 3549)
    nil )
  )
 )
 
 (!type already_seen 850)
 
 (!type struct 851 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 852 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 853 
  (!type pointer 854 nil  gc_used
   (!type already_seen 853)
  )
  gc_pointed_to "vec<incomplete_var,va_gc>"
  (!srcfileloc  "cp/decl.c" 246)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/decl.c" 246)
    nil )
   (!pair  "incomplete_var"
    (!type struct 855 nil  gc_used "incomplete_var"
     (!srcfileloc  "cp/decl.c" 246)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 241)
       nil )
      (!pair  "incomplete_type"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 242)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/decl.c" 246)
    nil )
  )
 )
 
 (!type already_seen 855)
 
 (!type struct 856 
  (!type pointer 857 nil  gc_used
   (!type already_seen 856)
  )
  gc_pointed_to "named_label_use_entry"
  (!srcfileloc  "cp/decl.c" 189)
  (!fields 5 
   (!pair  "next"
    (!type already_seen 857)
    (!srcfileloc  "cp/decl.c" 174)
    nil )
   (!pair  "binding_level"
    (!type already_seen 96)
    (!srcfileloc  "cp/decl.c" 178)
    nil )
   (!pair  "names_in_scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/decl.c" 182)
    nil )
   (!pair  "o_goto_locus"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 184)
    nil )
   (!pair  "in_omp_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 188)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type struct 858 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 859 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 860 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 861 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 862 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 863 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 864 nil  gc_unused "deferring_access_check_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 75)
 
 (!type struct 865 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 866 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 867 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 868 nil  gc_used "operator_name_info_t"
  (!srcfileloc  "cp/cp-tree.h" 5194)
  (!fields 4 
   (!pair  "identifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 5187)
    nil )
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "cp/cp-tree.h" 5189)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 39)
    (!srcfileloc  "cp/cp-tree.h" 5191)
    nil )
   (!pair  "arity"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 5193)
    nil )
  )
  nil 516 nil nil )
 
 (!type struct 869 nil  gc_unused "local_specialization_stack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 870 nil  gc_unused "cp_unevaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 871 nil  gc_unused "aggr_init_expr_arg_iterator"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 525)
 
 (!type already_seen 540)
 
 (!type already_seen 527)
 
 (!type already_seen 529)
 
 (!type already_seen 526)
 
 (!type already_seen 530)
 
 (!type already_seen 107)
 
 (!type already_seen 94)
 
 (!type already_seen 95)
 
 (!type struct 872 nil  gc_pointed_to "named_label_entry"
  (!srcfileloc  "cp/decl.c" 221)
  (!fields 9 
   (!pair  "label_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/decl.c" 197)
    nil )
   (!pair  "binding_level"
    (!type already_seen 96)
    (!srcfileloc  "cp/decl.c" 202)
    nil )
   (!pair  "names_in_scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/decl.c" 206)
    nil )
   (!pair  "bad_decls"
    (!type already_seen 49)
    (!srcfileloc  "cp/decl.c" 209)
    nil )
   (!pair  "uses"
    (!type already_seen 857)
    (!srcfileloc  "cp/decl.c" 212)
    nil )
   (!pair  "in_try_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 217)
    nil )
   (!pair  "in_catch_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 218)
    nil )
   (!pair  "in_omp_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 219)
    nil )
   (!pair  "in_transaction_scope"
    (!type already_seen 9)
    (!srcfileloc  "cp/decl.c" 220)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type already_seen 108)
 
 (!type struct 873 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 874 nil  gc_unused "processing_template_decl_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 875 
  (!type pointer 876 nil  gc_used
   (!type already_seen 875)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1267)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-tree.h" 1267)
    nil )
   (!pair  "cxx_saved_binding"
    (!type struct 877 nil  gc_used "cxx_saved_binding"
     (!srcfileloc  "cp/cp-tree.h" 1267)
     (!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" 1267)
    nil )
  )
 )
 
 (!type already_seen 677)
 
 (!type already_seen 673)
 
 (!type already_seen 675)
 
 (!type already_seen 676)
 
 (!type already_seen 672)
 
 (!type already_seen 671)
 
 (!type already_seen 670)
 
 (!type already_seen 669)
 
 (!type already_seen 668)
 
 (!type already_seen 667)
 
 (!type already_seen 67)
 
 (!type already_seen 665)
 
 (!type already_seen 666)
 
 (!type already_seen 664)
 
 (!type already_seen 662)
 
 (!type already_seen 661)
 
 (!type struct 878 nil  gc_unused "cp_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 879 
  (!type pointer 880 nil  gc_used
   (!type already_seen 879)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1304)
  (!fields 27 
   (!pair  "old_bindings"
    (!type already_seen 876)
    (!srcfileloc  "cp/cp-tree.h" 1267)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1268)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 49)
    (!srcfileloc  "cp/cp-tree.h" 1269)
    nil )
   (!pair  "class_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1270)
    nil )
   (!pair  "class_type"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1271)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1272)
    nil )
   (!pair  "function_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1273)
    nil )
   (!pair  "lang_base"
    (!type already_seen 49)
    (!srcfileloc  "cp/cp-tree.h" 1274)
    nil )
   (!pair  "lang_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1275)
    nil )
   (!pair  "template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1276)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1277)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1278)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1281)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1282)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1284)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1285)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1286)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1287)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1289)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1290)
    nil )
   (!pair  "noexcept_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1291)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1294)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 91)
    (!srcfileloc  "cp/cp-tree.h" 1296)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1298)
    nil )
   (!pair  "bindings"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1299)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 419)
    (!srcfileloc  "cp/cp-tree.h" 1301)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "prev"
    (!type already_seen 880)
    (!srcfileloc  "cp/cp-tree.h" 1303)
    nil )
  )
  nil 516 nil nil )
 
 (!type struct 881 nil  gc_unused "arg_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 882 nil  gc_pointed_to "cxx_int_tree_map"
  (!srcfileloc  "cp/cp-tree.h" 1399)
  (!fields 2 
   (!pair  "uid"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1397)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1398)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type struct 883 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 877)
 
 (!type already_seen 97)
 
 (!type already_seen 102)
 
 (!type already_seen 536)
 
 (!type already_seen 533)
 
 (!type user_struct 884 
  (!type pointer 885 nil  gc_used
   (!type already_seen 884)
  )
  gc_pointed_to "hash_table<conv_type_hasher>"
  (!srcfileloc  "cp/mangle.c" 3939)
  (!fields 1 
   (!pair  "conv_type_hasher"
    (!type struct 886 nil  gc_used "conv_type_hasher"
     (!srcfileloc  "cp/mangle.c" 3939)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/mangle.c" 3939)
    nil )
  )
 )
 
 (!type already_seen 886)
 
 (!type already_seen 843)
 
 (!type struct 887 nil  gc_used "globals"
  (!srcfileloc  "cp/mangle.c" 111)
  (!fields 4 
   (!pair  "substitutions"
    (!type already_seen 49)
    (!srcfileloc  "cp/mangle.c" 98)
    nil )
   (!pair  "entity"
    (!type already_seen 5)
    (!srcfileloc  "cp/mangle.c" 101)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "parm_depth"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 104)
    nil )
   (!pair  "need_abi_warning"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 108)
    nil )
  )
  nil 516 nil nil )
 
 (!type user_struct 888 
  (!type pointer 889 nil  gc_used
   (!type already_seen 888)
  )
  gc_pointed_to "vec<tinfo_s,va_gc>"
  (!srcfileloc  "cp/rtti.c" 101)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/rtti.c" 101)
    nil )
   (!pair  "tinfo_s"
    (!type struct 890 nil  gc_used "tinfo_s"
     (!srcfileloc  "cp/rtti.c" 101)
     (!fields 3 
      (!pair  "type"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 63)
       nil )
      (!pair  "vtable"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 65)
       nil )
      (!pair  "name"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 68)
       nil )
     )
     nil 516 nil nil )
    (!srcfileloc  "cp/rtti.c" 101)
    nil )
  )
 )
 
 (!type already_seen 890)
 
 (!type already_seen 111)
 
 (!type struct 891 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 892 nil  gc_unused "anonymous:../../gcc/c/c-parser.c:6511"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 893 
  (!type pointer 894 nil  gc_used
   (!type already_seen 893)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 263)
  (!fields 13 
   (!pair  "tokens"
    (!type pointer 895 nil  gc_unused
     (!type struct 896 
      (!type already_seen 895)
      gc_used "c_token"
      (!srcfileloc  "c/c-parser.c" 212)
      (!fields 6 
       (!pair  "type"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 181)
        nil )
       (!pair  "id_kind"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 184)
        nil )
       (!pair  "keyword"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 187)
        nil )
       (!pair  "pragma_kind"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 190)
        nil )
       (!pair  "location"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 192)
        nil )
       (!pair  "value"
        (!type already_seen 5)
        (!srcfileloc  "c/c-parser.c" 194)
        nil )
      )
      nil 258 nil nil )
    )
    (!srcfileloc  "c/c-parser.c" 212)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "tokens_buf"
    (!type array 897 nil  gc_used "4" 
     (!type already_seen 896)
    )
    (!srcfileloc  "c/c-parser.c" 214)
    nil )
   (!pair  "tokens_avail"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 217)
    nil )
   (!pair  "error"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 221)
    nil )
   (!pair  "in_pragma"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 224)
    nil )
   (!pair  "in_if_block"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 226)
    nil )
   (!pair  "lex_untranslated_string"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 228)
    nil )
   (!pair  "objc_pq_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 234)
    nil )
   (!pair  "objc_could_be_foreach_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 239)
    nil )
   (!pair  "objc_need_raw_identifier"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 244)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 247)
    nil )
   (!pair  "objc_property_attr_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 250)
    nil )
   (!pair  "cilk_simd_fn_tokens"
    (!type pointer 898 nil  gc_used
     (!type user_struct 899 
      (!type already_seen 898)
      gc_pointed_to "vec<c_token,va_gc>"
      (!srcfileloc  "c/c-parser.c" 256)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 3)
        (!srcfileloc  "c/c-parser.c" 256)
        nil )
       (!pair  "c_token"
        (!type already_seen 896)
        (!srcfileloc  "c/c-parser.c" 256)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 256)
    nil )
  )
  nil 258 nil nil )
 
 (!type already_seen 899)
 
 (!type already_seen 896)
 
 (!type struct 900 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 901 nil  gc_unused "pragma_ns_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 902 
  (!type pointer 903 nil  gc_used
   (!type already_seen 902)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 979)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 903)
    (!srcfileloc  "c-family/c-pragma.c" 974)
    nil )
   (!pair  "target_binary"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 975)
    nil )
   (!pair  "target_strings"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 976)
    nil )
   (!pair  "optimize_binary"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 977)
    nil )
   (!pair  "optimize_strings"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 978)
    nil )
  )
  nil 774 nil nil )
 
 (!type user_struct 904 
  (!type pointer 905 nil  gc_used
   (!type already_seen 904)
  )
  gc_pointed_to "vec<pending_redefinition,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 470)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-pragma.c" 470)
    nil )
   (!pair  "pending_redefinition"
    (!type struct 906 nil  gc_used "pending_redefinition"
     (!srcfileloc  "c-family/c-pragma.c" 470)
     (!fields 2 
      (!pair  "oldname"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 465)
       nil )
      (!pair  "newname"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 466)
       nil )
     )
     nil 774 nil nil )
    (!srcfileloc  "c-family/c-pragma.c" 470)
    nil )
  )
 )
 
 (!type already_seen 906)
 
 (!type user_struct 907 
  (!type pointer 908 nil  gc_used
   (!type already_seen 907)
  )
  gc_pointed_to "vec<pending_weak,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 236)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-pragma.c" 236)
    nil )
   (!pair  "pending_weak"
    (!type struct 909 nil  gc_used "pending_weak"
     (!srcfileloc  "c-family/c-pragma.c" 236)
     (!fields 2 
      (!pair  "name"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 231)
       nil )
      (!pair  "value"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 232)
       nil )
     )
     nil 774 nil nil )
    (!srcfileloc  "c-family/c-pragma.c" 236)
    nil )
  )
 )
 
 (!type already_seen 909)
 
 (!type struct 910 
  (!type pointer 911 nil  gc_used
   (!type already_seen 910)
  )
  gc_pointed_to "align_stack"
  (!srcfileloc  "c-family/c-pragma.c" 45)
  (!fields 3 
   (!pair  "alignment"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-pragma.c" 42)
    nil )
   (!pair  "id"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 43)
    nil )
   (!pair  "prev"
    (!type already_seen 911)
    (!srcfileloc  "c-family/c-pragma.c" 44)
    nil )
  )
  nil 774 nil nil )
 
 (!type struct 912 nil  gc_unused "internal_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 913 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 914 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1414)
  (!fields 5 
   (!pair  "hex_str"
    (!type already_seen 39)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1409)
    nil )
   (!pair  "macro"
    (!type already_seen 632)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1410)
    nil )
   (!pair  "mode"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1411)
    nil )
   (!pair  "digits"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1412)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 39)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1413)
    nil )
  )
  nil 770 nil nil )
 
 (!type struct 915 nil  gc_unused "cilkplus_an_loop_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 916 nil  gc_unused "cilkplus_an_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 917 nil  gc_unused "inv_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 678)
 
 (!type struct 918 nil  gc_unused "omp_clause_mask"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 919 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 920 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 921 
  (!type pointer 922 nil  gc_used
   (!type already_seen 921)
  )
  gc_pointed_to "vec<tree_gc_vec,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 12231)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 12231)
    nil )
   (!pair  "tree_gc_vec"
    (!type already_seen 49)
    (!srcfileloc  "c-family/c-common.c" 12231)
    nil )
  )
 )
 
 (!type already_seen 90)
 
 (!type user_struct 923 
  (!type pointer 924 nil  gc_used
   (!type already_seen 923)
  )
  gc_pointed_to "vec<const_char_p,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 9475)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 9475)
    nil )
   (!pair  "const_char_p"
    (!type already_seen 39)
    (!srcfileloc  "c-family/c-common.c" 9475)
    nil )
  )
 )
 
 (!type struct 925 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 926 
  (!type pointer 927 nil  gc_used
   (!type already_seen 926)
  )
  gc_pointed_to "hash_table<c_type_hasher>"
  (!srcfileloc  "c-family/c-common.c" 4731)
  (!fields 1 
   (!pair  "c_type_hasher"
    (!type struct 928 nil  gc_used "c_type_hasher"
     (!srcfileloc  "c-family/c-common.c" 4731)
     (!fields 0 )
     nil 774 nil nil )
    (!srcfileloc  "c-family/c-common.c" 4731)
    nil )
  )
 )
 
 (!type already_seen 928)
 
 (!type struct 929 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 930 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 931 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 932 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 538)
 
 (!type struct 933 
  (!type pointer 934 nil  gc_used
   (!type already_seen 933)
  )
  gc_pointed_to "c_inline_static"
  (!srcfileloc  "c/c-decl.c" 548)
  (!fields 5 
   (!pair  "location"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 535)
    nil )
   (!pair  "function"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 538)
    nil )
   (!pair  "static_decl"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 541)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 544)
    nil )
   (!pair  "next"
    (!type already_seen 934)
    (!srcfileloc  "c/c-decl.c" 547)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  258 nil nil )
 
 (!type already_seen 654)
 
 (!type already_seen 656)
 
 (!type already_seen 652)
 
 (!type already_seen 620)
 
 (!type already_seen 627)
 
 (!type already_seen 646)
 
 (!type already_seen 647)
 
 (!type already_seen 649)
 
 (!type already_seen 91)
 
 (!type struct 935 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 650)
 
 (!type struct 936 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 937 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 938 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 939 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 113)
 
 (!type struct 940 nil  gc_unused "c_arg_tag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 941 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 942 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 943 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 944 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 945 nil  gc_unused "deferred_decl_context_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 946 
  (!type pointer 947 nil  gc_used
   (!type already_seen 946)
  )
  gc_pointed_to "hash_table<pad_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/utils.c" 238)
  (!fields 1 
   (!pair  "pad_type_hasher"
    (!type struct 948 nil  gc_used "pad_type_hasher"
     (!srcfileloc  "ada/gcc-interface/utils.c" 238)
     (!fields 0 )
     nil 1 nil nil )
    (!srcfileloc  "ada/gcc-interface/utils.c" 238)
    nil )
  )
 )
 
 (!type already_seen 948)
 
 (!type struct 949 nil  gc_pointed_to "pad_type_hash"
  (!srcfileloc  "ada/gcc-interface/utils.c" 228)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "ada/gcc-interface/utils.c" 226)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 227)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1 nil nil )
 
 (!type struct 950 
  (!type pointer 951 nil  gc_used
   (!type already_seen 950)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 202)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 951)
    (!srcfileloc  "ada/gcc-interface/utils.c" 196)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 198)
    nil )
   (!pair  "jmpbuf_decl"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 201)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.chain")
  )
  1 nil nil )
 
 (!type struct 952 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 953 
  (!type pointer 954 nil  gc_used
   (!type already_seen 953)
  )
  gc_pointed_to "vec<loop_info,va_gc>"
  (!srcfileloc  "ada/gcc-interface/trans.c" 209)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ada/gcc-interface/trans.c" 209)
    nil )
   (!pair  "loop_info"
    (!type pointer 955 nil  gc_used
     (!type struct 956 
      (!type already_seen 955)
      gc_pointed_to "loop_info_d"
      (!srcfileloc  "ada/gcc-interface/trans.c" 203)
      (!fields 8 
       (!pair  "stmt"
        (!type already_seen 5)
        (!srcfileloc  "ada/gcc-interface/trans.c" 195)
        nil )
       (!pair  "loop_var"
        (!type already_seen 5)
        (!srcfileloc  "ada/gcc-interface/trans.c" 196)
        nil )
       (!pair  "low_bound"
        (!type already_seen 5)
        (!srcfileloc  "ada/gcc-interface/trans.c" 197)
        nil )
       (!pair  "high_bound"
        (!type already_seen 5)
        (!srcfileloc  "ada/gcc-interface/trans.c" 198)
        nil )
       (!pair  "checks"
        (!type pointer 957 nil  gc_used
         (!type user_struct 958 
          (!type already_seen 957)
          gc_pointed_to "vec<range_check_info,va_gc>"
          (!srcfileloc  "ada/gcc-interface/trans.c" 199)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "ada/gcc-interface/trans.c" 199)
            nil )
           (!pair  "range_check_info"
            (!type pointer 959 nil  gc_used
             (!type struct 960 
              (!type already_seen 959)
              gc_pointed_to "range_check_info_d"
              (!srcfileloc  "ada/gcc-interface/trans.c" 188)
              (!fields 7 
               (!pair  "low_bound"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 181)
                nil )
               (!pair  "high_bound"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 182)
                nil )
               (!pair  "disp"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 183)
                nil )
               (!pair  "neg_p"
                (!type already_seen 9)
                (!srcfileloc  "ada/gcc-interface/trans.c" 184)
                nil )
               (!pair  "type"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 185)
                nil )
               (!pair  "invariant_cond"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 186)
                nil )
               (!pair  "inserted_cond"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 187)
                nil )
              )
              nil 1 nil nil )
            )
            (!srcfileloc  "ada/gcc-interface/trans.c" 199)
            nil )
          )
         )
        )
        (!srcfileloc  "ada/gcc-interface/trans.c" 199)
        nil )
       (!pair  "artificial"
        (!type already_seen 9)
        (!srcfileloc  "ada/gcc-interface/trans.c" 200)
        nil )
       (!pair  "has_checks"
        (!type already_seen 9)
        (!srcfileloc  "ada/gcc-interface/trans.c" 201)
        nil )
       (!pair  "warned_aggressive_loop_optimizations"
        (!type already_seen 9)
        (!srcfileloc  "ada/gcc-interface/trans.c" 202)
        nil )
      )
      nil 1 nil nil )
    )
    (!srcfileloc  "ada/gcc-interface/trans.c" 209)
    nil )
  )
 )
 
 (!type already_seen 956)
 
 (!type already_seen 958)
 
 (!type already_seen 960)
 
 (!type struct 961 
  (!type pointer 962 nil  gc_used
   (!type already_seen 961)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 156)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 962)
    (!srcfileloc  "ada/gcc-interface/trans.c" 153)
    nil )
   (!pair  "elab_proc"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 154)
    nil )
   (!pair  "gnat_node"
    (!type already_seen 9)
    (!srcfileloc  "ada/gcc-interface/trans.c" 155)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1 nil nil )
 
 (!type struct 963 
  (!type pointer 964 nil  gc_used
   (!type already_seen 963)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 140)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 964)
    (!srcfileloc  "ada/gcc-interface/trans.c" 136)
    nil )
   (!pair  "stmt_list"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 137)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 138)
    nil )
   (!pair  "cleanups"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 139)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.previous")
  )
  1 nil nil )
 
 (!type already_seen 116)
 
 (!type already_seen 118)
 
 (!type struct 965 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 966 nil  gc_unused "er_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 967 nil  gc_unused "anonymous:../../gcc/ada/gcc-interface/decl.c:204"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 968 
  (!type pointer 969 nil  gc_used
   (!type already_seen 968)
  )
  gc_pointed_to "hash_table<value_annotation_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 151)
  (!fields 1 
   (!pair  "value_annotation_hasher"
    (!type struct 970 nil  gc_used "value_annotation_hasher"
     (!srcfileloc  "ada/gcc-interface/decl.c" 151)
     (!fields 0 )
     nil 1 nil nil )
    (!srcfileloc  "ada/gcc-interface/decl.c" 151)
    nil )
  )
 )
 
 (!type already_seen 970)
 
 (!type struct 971 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 972 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 973 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 974 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 975 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 976 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 977 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 978 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 979 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 980 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 981 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 982 
  (!type pointer 983 nil  gc_used
   (!type already_seen 982)
  )
  gc_pointed_to "vec<hsa_decl_kernel_map_element,va_gc>"
  (!srcfileloc  "hsa.c" 65)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "hsa.c" 65)
    nil )
   (!pair  "hsa_decl_kernel_map_element"
    (!type struct 984 nil  gc_used "hsa_decl_kernel_map_element"
     (!srcfileloc  "hsa.c" 65)
     (!fields 4 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "hsa.c" 53)
       nil )
      (!pair  "name"
       (!type already_seen 39)
       (!srcfileloc  "hsa.c" 55)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "omp_data_size"
       (!type already_seen 9)
       (!srcfileloc  "hsa.c" 57)
       nil )
      (!pair  "gridified_kernel_p"
       (!type already_seen 9)
       (!srcfileloc  "hsa.c" 59)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "hsa.c" 65)
    nil )
  )
 )
 
 (!type already_seen 984)
 
 (!type struct 985 nil  gc_unused "hsa_function_representation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 986 nil  gc_unused "direct_internal_fn_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 987 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 988 nil  gc_unused "final_warning_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 989 nil  gc_unused "decl_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 990 nil  gc_unused "odr_type_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 991 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 2719)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type struct 992 nil  gc_unused "polymorphic_call_target_hasher"
     (!srcfileloc  "ipa-devirt.c" 2719)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-devirt.c" 2719)
    nil )
  )
 )
 
 (!type already_seen 992)
 
 (!type struct 993 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 994 
  (!type pointer 995 nil  gc_used
   (!type already_seen 994)
  )
  gc_pointed_to "vec<odr_type,va_gc>"
  (!srcfileloc  "ipa-devirt.c" 641)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-devirt.c" 641)
    nil )
   (!pair  "odr_type"
    (!type pointer 996 nil  gc_used
     (!type struct 997 
      (!type already_seen 996)
      gc_pointed_to "odr_type_d"
      (!srcfileloc  "ipa-devirt.c" 210)
      (!fields 10 
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "ipa-devirt.c" 188)
        nil )
       (!pair  "bases"
        (!type user_struct 998 nil  gc_unused "vec<odr_type>"
         (!srcfileloc  "ipa-devirt.c" 190)
         (!fields 1 
          (!pair  "odr_type"
           (!type already_seen 996)
           (!srcfileloc  "ipa-devirt.c" 190)
           nil )
         )
        )
        (!srcfileloc  "ipa-devirt.c" 190)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "derived_types"
        (!type already_seen 998)
        (!srcfileloc  "ipa-devirt.c" 193)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "types"
        (!type already_seen 49)
        (!srcfileloc  "ipa-devirt.c" 196)
        nil )
       (!pair  "types_set"
        (!type already_seen 444)
        (!srcfileloc  "ipa-devirt.c" 198)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "id"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 201)
        nil )
       (!pair  "anonymous_namespace"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 203)
        nil )
       (!pair  "all_derivations_known"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 205)
        nil )
       (!pair  "odr_violated"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 207)
        nil )
       (!pair  "rtti_broken"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 209)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "ipa-devirt.c" 641)
    nil )
  )
 )
 
 (!type user_struct 999 nil  gc_unused "hash_table<odr_vtable_hasher>"
  (!srcfileloc  "ipa-devirt.c" 634)
  (!fields 1 
   (!pair  "odr_vtable_hasher"
    (!type struct 1000 nil  gc_unused "odr_vtable_hasher"
     (!srcfileloc  "ipa-devirt.c" 634)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-devirt.c" 634)
    nil )
  )
 )
 
 (!type user_struct 1001 nil  gc_unused "hash_table<odr_name_hasher>"
  (!srcfileloc  "ipa-devirt.c" 632)
  (!fields 1 
   (!pair  "odr_name_hasher"
    (!type struct 1002 nil  gc_unused "odr_name_hasher"
     (!srcfileloc  "ipa-devirt.c" 632)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-devirt.c" 632)
    nil )
  )
 )
 
 (!type already_seen 1000)
 
 (!type already_seen 1002)
 
 (!type already_seen 998)
 
 (!type struct 1003 nil  gc_unused "default_hash_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1004 nil  gc_unused "type_pair"
  (!srcfileloc  "ipa-devirt.c" 142)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type struct 1005 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1006 nil  gc_unused "sanopt_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1007 nil  gc_unused "sanopt_tree_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1008 nil  gc_unused "sanopt_tree_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1009 nil  gc_unused "sanopt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1010 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1011 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1012 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1013 
  (!type pointer 1014 nil  gc_used
   (!type already_seen 1013)
  )
  gc_pointed_to "hash_table<tree_type_map_cache_hasher>"
  (!srcfileloc  "ubsan.c" 77)
  (!fields 1 
   (!pair  "tree_type_map_cache_hasher"
    (!type struct 1015 nil  gc_used "tree_type_map_cache_hasher"
     (!srcfileloc  "ubsan.c" 77)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ubsan.c" 77)
    nil )
  )
 )
 
 (!type already_seen 1015)
 
 (!type struct 1016 nil  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 53)
  (!fields 2 
   (!pair  "type"
    (!type struct 1017 nil  gc_used "tree_map_base"
     (!srcfileloc  "tree-core.h" 1895)
     (!fields 1 
      (!pair  "from"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 1894)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "ubsan.c" 51)
    nil )
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "ubsan.c" 52)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1018 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1019 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1021 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1022 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1025 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 299)
 )
 
 (!type user_struct 1026 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type struct 1027 nil  gc_unused "vtbl_map_hasher"
     (!srcfileloc  "vtable-verify.c" 298)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "vtable-verify.c" 298)
    nil )
  )
 )
 
 (!type already_seen 1027)
 
 (!type struct 1028 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1029 nil  gc_unused "edge_growth_cache_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1030 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1031 
  (!type pointer 1032 nil  gc_used
   (!type already_seen 1031)
  )
  gc_pointed_to "function_summary<inline_summary*>"
  (!srcfileloc  "ipa-inline.h" 194)
  (!fields 1 
   (!pair  "inline_summary"
    (!type pointer 1033 nil  gc_used
     (!type struct 1034 
      (!type already_seen 1033)
      gc_pointed_to "inline_summary"
      (!srcfileloc  "ipa-inline.h" 171)
      (!fields 18 
       (!pair  "estimated_self_stack_size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 121)
        nil )
       (!pair  "self_size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 123)
        nil )
       (!pair  "self_time"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 125)
        nil )
       (!pair  "min_size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 127)
        nil )
       (!pair  "inlinable"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 130)
        nil )
       (!pair  "contains_cilk_spawn"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 133)
        nil )
       (!pair  "single_caller"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 136)
        nil )
       (!pair  "estimated_stack_size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 143)
        nil )
       (!pair  "stack_frame_offset"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 145)
        nil )
       (!pair  "time"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 147)
        nil )
       (!pair  "size"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 148)
        nil )
       (!pair  "conds"
        (!type pointer 1035 nil  gc_used
         (!type user_struct 1036 
          (!type already_seen 1035)
          gc_pointed_to "vec<condition,va_gc>"
          (!srcfileloc  "ipa-inline.h" 82)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "ipa-inline.h" 82)
            nil )
           (!pair  "condition"
            (!type struct 1037 nil  gc_used "condition"
             (!srcfileloc  "ipa-inline.h" 82)
             (!fields 7 
              (!pair  "offset"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 36)
               nil )
              (!pair  "size"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 38)
               nil )
              (!pair  "val"
               (!type already_seen 5)
               (!srcfileloc  "ipa-inline.h" 39)
               nil )
              (!pair  "operand_num"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 40)
               nil )
              (!pair  "code"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 41)
               nil )
              (!pair  "agg_contents"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 44)
               nil )
              (!pair  "by_ref"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 47)
               nil )
             )
             nil 1023 nil nil )
            (!srcfileloc  "ipa-inline.h" 82)
            nil )
          )
         )
        )
        (!srcfileloc  "ipa-inline.h" 152)
        nil )
       (!pair  "entry"
        (!type pointer 1038 nil  gc_used
         (!type user_struct 1039 
          (!type already_seen 1038)
          gc_pointed_to "vec<size_time_entry,va_gc>"
          (!srcfileloc  "ipa-inline.h" 153)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "ipa-inline.h" 153)
            nil )
           (!pair  "size_time_entry"
            (!type struct 1040 nil  gc_used "size_time_entry"
             (!srcfileloc  "ipa-inline.h" 153)
             (!fields 3 
              (!pair  "predicate"
               (!type struct 1041 
                (!type pointer 1042 nil  gc_unused
                 (!type already_seen 1041)
                )
                gc_used "predicate"
                (!srcfileloc  "ipa-inline.h" 98)
                (!fields 1 
                 (!pair  "clause"
                  (!type array 1043 nil  gc_used "MAX_CLAUSES + 1" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "ipa-inline.h" 97)
                  nil )
                )
                nil 1023 nil nil )
               (!srcfileloc  "ipa-inline.h" 110)
               nil )
              (!pair  "size"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 111)
               nil )
              (!pair  "time"
               (!type already_seen 9)
               (!srcfileloc  "ipa-inline.h" 112)
               nil )
             )
             nil 1023 nil nil )
            (!srcfileloc  "ipa-inline.h" 153)
            nil )
          )
         )
        )
        (!srcfileloc  "ipa-inline.h" 153)
        nil )
       (!pair  "loop_iterations"
        (!type already_seen 1042)
        (!srcfileloc  "ipa-inline.h" 157)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "loop_stride"
        (!type already_seen 1042)
        (!srcfileloc  "ipa-inline.h" 160)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "array_index"
        (!type already_seen 1042)
        (!srcfileloc  "ipa-inline.h" 162)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "growth"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 168)
        nil )
       (!pair  "scc_no"
        (!type already_seen 9)
        (!srcfileloc  "ipa-inline.h" 170)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "ipa-inline.h" 194)
    nil )
  )
 )
 
 (!type user_struct 1044 nil  gc_unused "inline_summary_t"
  (!srcfileloc  "ipa-inline.h" 192)
  (!fields 0 )
 )
 
 (!type already_seen 1039)
 
 (!type already_seen 1040)
 
 (!type already_seen 1041)
 
 (!type already_seen 1036)
 
 (!type already_seen 1037)
 
 (!type already_seen 614)
 
 (!type already_seen 612)
 
 (!type already_seen 608)
 
 (!type already_seen 606)
 
 (!type already_seen 604)
 
 (!type already_seen 594)
 
 (!type already_seen 590)
 
 (!type already_seen 588)
 
 (!type already_seen 579)
 
 (!type already_seen 577)
 
 (!type struct 1045 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1046 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1047 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1048 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1049 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 373)
 
 (!type already_seen 372)
 
 (!type already_seen 370)
 
 (!type already_seen 368)
 
 (!type already_seen 364)
 
 (!type already_seen 369)
 
 (!type already_seen 365)
 
 (!type struct 1050 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1051 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 362)
 
 (!type struct 1052 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1053 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1054 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1055 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1056 nil  gc_unused "lto_simple_header_with_strings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1057 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1058 nil  gc_unused "lto_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1059 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1060 nil  gc_unused "lto_location_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1061 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1062 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1063 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1064 nil  gc_unused "vec<cgraph_node*>"
  (!srcfileloc  "trans-mem.c" 4203)
  (!fields 1 
   (!pair  "cgraph_node"
    (!type pointer 1065 
     (!type pointer 1066 nil  gc_used
      (!type already_seen 1065)
     )
     gc_pointed_to
     (!type struct 1067 
      (!type already_seen 1065)
      gc_pointed_to "cgraph_node"
      (!srcfileloc  "cgraph.h" 1385)
      (!fields 46 
       (!pair  "DEBUG_FUNCTION"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1011)
        nil )
       (!pair  "DEBUG_FUNCTION"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1020)
        nil )
       (!pair  "callees"
        (!type pointer 1068 nil  gc_used
         (!type struct 1069 
          (!type already_seen 1068)
          gc_pointed_to "cgraph_edge"
          (!srcfileloc  "cgraph.h" 1709)
          (!fields 20 
           (!pair  "count"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1636)
            nil )
           (!pair  "caller"
            (!type already_seen 1065)
            (!srcfileloc  "cgraph.h" 1637)
            nil )
           (!pair  "callee"
            (!type already_seen 1065)
            (!srcfileloc  "cgraph.h" 1638)
            nil )
           (!pair  "prev_caller"
            (!type already_seen 1068)
            (!srcfileloc  "cgraph.h" 1639)
            nil )
           (!pair  "next_caller"
            (!type already_seen 1068)
            (!srcfileloc  "cgraph.h" 1640)
            nil )
           (!pair  "prev_callee"
            (!type already_seen 1068)
            (!srcfileloc  "cgraph.h" 1641)
            nil )
           (!pair  "next_callee"
            (!type already_seen 1068)
            (!srcfileloc  "cgraph.h" 1642)
            nil )
           (!pair  "call_stmt"
            (!type pointer 1070 nil  gc_used
             (!type struct 1071 
              (!type already_seen 1070)
              gc_pointed_to "gcall"
              (!srcfileloc  "gimple.h" 366)
              (!fields 4 
               (!pair  "call_used"
                (!type already_seen 418)
                (!srcfileloc  "gimple.h" 350)
                nil )
               (!pair  "call_clobbered"
                (!type already_seen 418)
                (!srcfileloc  "gimple.h" 351)
                nil )
               (!pair  "u"
                (!type union 1072 nil  gc_used "anonymous:../../gcc/gimple.h:354"
                 (!srcfileloc  "gimple.h" 357)
                 (!fields 2 
                  (!pair  "fntype"
                   (!type already_seen 5)
                   (!srcfileloc  "gimple.h" 355)
                   (!options 
                    (!option tag string  "0")
                   )
                  )
                  (!pair  "internal_fn"
                   (!type already_seen 9)
                   (!srcfileloc  "gimple.h" 356)
                   (!options 
                    (!option tag string  "GF_CALL_INTERNAL")
                   )
                  )
                 )
                 (!options 
                  (!option desc string  "%1.subcode & GF_CALL_INTERNAL")
                 )
                 1023 nil )
                (!srcfileloc  "gimple.h" 357)
                nil )
               (!pair  "op"
                (!type array 1073 nil  gc_used "1" 
                 (!type already_seen 5)
                )
                (!srcfileloc  "gimple.h" 363)
                (!options 
                 (!option length string  "%h.num_ops")
                )
               )
              )
              (!options 
               (!option tag string  "GSS_CALL")
              )
              1023 nil 
              (!type struct 1074 nil  gc_pointed_to "gimple_statement_with_memory_ops_base"
               (!srcfileloc  "gimple.h" 323)
               (!fields 2 
                (!pair  "vdef"
                 (!type already_seen 5)
                 (!srcfileloc  "gimple.h" 321)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "vuse"
                 (!type already_seen 5)
                 (!srcfileloc  "gimple.h" 322)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               (!options 
                (!option tag string  "GSS_WITH_MEM_OPS_BASE")
               )
               1023 nil 
               (!type struct 1075 nil  gc_pointed_to "gimple_statement_with_ops_base"
                (!srcfileloc  "gimple.h" 293)
                (!fields 1 
                 (!pair  "use_ops"
                  (!type already_seen 428)
                  (!srcfileloc  "gimple.h" 292)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                )
                nil 1023 nil 
                (!type already_seen 312)
               )
              )
             )
            )
            (!srcfileloc  "cgraph.h" 1643)
            nil )
           (!pair  "indirect_info"
            (!type pointer 1076 nil  gc_used
             (!type struct 1077 
              (!type already_seen 1076)
              gc_pointed_to "cgraph_indirect_call_info"
              (!srcfileloc  "cgraph.h" 1646)
              (!fields 13 
               (!pair  "offset"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1529)
                nil )
               (!pair  "context"
                (!type struct 1078 nil  gc_used "ipa_polymorphic_call_context"
                 (!srcfileloc  "cgraph.h" 1521)
                 (!fields 10 
                  (!pair  "offset"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1431)
                   nil )
                  (!pair  "speculative_offset"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1432)
                   nil )
                  (!pair  "outer_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 1433)
                   nil )
                  (!pair  "speculative_outer_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 1434)
                   nil )
                  (!pair  "maybe_in_construction"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1436)
                   nil )
                  (!pair  "maybe_derived_type"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1438)
                   nil )
                  (!pair  "speculative_maybe_derived_type"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1441)
                   nil )
                  (!pair  "invalid"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1444)
                   nil )
                  (!pair  "dynamic"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1446)
                   nil )
                  (!pair  "DEBUG_FUNCTION"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 1508)
                   nil )
                 )
                 nil 1023 nil nil )
                (!srcfileloc  "cgraph.h" 1531)
                nil )
               (!pair  "otr_token"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1533)
                nil )
               (!pair  "otr_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 1535)
                nil )
               (!pair  "param_index"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1537)
                nil )
               (!pair  "ecf_flags"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1539)
                nil )
               (!pair  "common_target_id"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1541)
                nil )
               (!pair  "common_target_probability"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1543)
                nil )
               (!pair  "polymorphic"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1547)
                nil )
               (!pair  "agg_contents"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1550)
                nil )
               (!pair  "member_ptr"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1552)
                nil )
               (!pair  "by_ref"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1555)
                nil )
               (!pair  "vptr_changed"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 1558)
                nil )
              )
              nil 1023 nil nil )
            )
            (!srcfileloc  "cgraph.h" 1646)
            nil )
           (!pair  "aux"
            (!type already_seen 10)
            (!srcfileloc  "cgraph.h" 1647)
            (!options 
             (!option skip string  "")
            )
           )
           (!pair  "inline_failed"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1650)
            nil )
           (!pair  "lto_stmt_uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1653)
            nil )
           (!pair  "frequency"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1657)
            nil )
           (!pair  "uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1659)
            nil )
           (!pair  "indirect_inlining_edge"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1661)
            nil )
           (!pair  "indirect_unknown_callee"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1664)
            nil )
           (!pair  "call_stmt_cannot_inline_p"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1667)
            nil )
           (!pair  "can_throw_external"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1669)
            nil )
           (!pair  "speculative"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1687)
            nil )
           (!pair  "in_polymorphic_cdtor"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 1690)
            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" 1277)
        nil )
       (!pair  "callers"
        (!type already_seen 1068)
        (!srcfileloc  "cgraph.h" 1278)
        nil )
       (!pair  "indirect_calls"
        (!type already_seen 1068)
        (!srcfileloc  "cgraph.h" 1281)
        nil )
       (!pair  "origin"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1283)
        nil )
       (!pair  "nested"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1285)
        nil )
       (!pair  "next_nested"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1287)
        nil )
       (!pair  "next_sibling_clone"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1289)
        nil )
       (!pair  "prev_sibling_clone"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1290)
        nil )
       (!pair  "clones"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1291)
        nil )
       (!pair  "clone_of"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1292)
        nil )
       (!pair  "instrumented_version"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1296)
        nil )
       (!pair  "orig_decl"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 1299)
        nil )
       (!pair  "call_site_hash"
        (!type pointer 1079 nil  gc_used
         (!type user_struct 1080 
          (!type already_seen 1079)
          gc_pointed_to "hash_table<cgraph_edge_hasher>"
          (!srcfileloc  "cgraph.h" 1302)
          (!fields 1 
           (!pair  "cgraph_edge_hasher"
            (!type struct 1081 nil  gc_used "cgraph_edge_hasher"
             (!srcfileloc  "cgraph.h" 1302)
             (!fields 0 )
             nil 1023 nil nil )
            (!srcfileloc  "cgraph.h" 1302)
            nil )
          )
         )
        )
        (!srcfileloc  "cgraph.h" 1302)
        nil )
       (!pair  "former_clone_of"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 1304)
        nil )
       (!pair  "simdclone"
        (!type pointer 1082 nil  gc_used
         (!type struct 1083 
          (!type already_seen 1082)
          gc_pointed_to "cgraph_simd_clone"
          (!srcfileloc  "cgraph.h" 1308)
          (!fields 12 
           (!pair  "simdlen"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 757)
            nil )
           (!pair  "nargs"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 761)
            nil )
           (!pair  "vecsize_int"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 764)
            nil )
           (!pair  "vecsize_float"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 767)
            nil )
           (!pair  "mask_mode"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 772)
            nil )
           (!pair  "vecsize_mangle"
            (!type already_seen 15)
            (!srcfileloc  "cgraph.h" 777)
            nil )
           (!pair  "inbranch"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 781)
            nil )
           (!pair  "cilk_elemental"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 784)
            nil )
           (!pair  "prev_clone"
            (!type already_seen 1065)
            (!srcfileloc  "cgraph.h" 787)
            nil )
           (!pair  "next_clone"
            (!type already_seen 1065)
            (!srcfileloc  "cgraph.h" 787)
            nil )
           (!pair  "origin"
            (!type already_seen 1065)
            (!srcfileloc  "cgraph.h" 790)
            nil )
           (!pair  "args"
            (!type array 1084 nil  gc_used "1" 
             (!type struct 1085 nil  gc_used "cgraph_simd_clone_arg"
              (!srcfileloc  "cgraph.h" 793)
              (!fields 8 
               (!pair  "orig_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 713)
                nil )
               (!pair  "orig_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 717)
                nil )
               (!pair  "vector_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 725)
                nil )
               (!pair  "vector_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 728)
                nil )
               (!pair  "simd_array"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 737)
                nil )
               (!pair  "arg_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 741)
                nil )
               (!pair  "linear_step"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 747)
                nil )
               (!pair  "alignment"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 750)
                nil )
              )
              nil 1023 nil nil )
            )
            (!srcfileloc  "cgraph.h" 793)
            (!options 
             (!option length string  "%h.nargs")
            )
           )
          )
          nil 1023 nil nil )
        )
        (!srcfileloc  "cgraph.h" 1308)
        nil )
       (!pair  "simd_clones"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 1310)
        nil )
       (!pair  "ipa_transforms_to_apply"
        (!type user_struct 1086 nil  gc_unused "vec<ipa_opt_pass>"
         (!srcfileloc  "cgraph.h" 1315)
         (!fields 1 
          (!pair  "ipa_opt_pass"
           (!type pointer 1087 nil  gc_unused
            (!type struct 1088 
             (!type already_seen 1087)
             gc_unused "ipa_opt_pass_d"
             (!srcfileloc  "cgraph.h" 28)
             (!fields 0 )
             nil 1023 nil nil )
           )
           (!srcfileloc  "cgraph.h" 1315)
           nil )
         )
        )
        (!srcfileloc  "cgraph.h" 1315)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "local"
        (!type struct 1089 nil  gc_used "cgraph_local_info"
         (!srcfileloc  "cgraph.h" 1317)
         (!fields 5 
          (!pair  "local"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 640)
           nil )
          (!pair  "versionable"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 643)
           nil )
          (!pair  "can_change_signature"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 647)
           nil )
          (!pair  "redefined_extern_inline"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 651)
           nil )
          (!pair  "tm_may_enter_irr"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 654)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1317)
        nil )
       (!pair  "global"
        (!type struct 1090 nil  gc_used "cgraph_global_info"
         (!srcfileloc  "cgraph.h" 1318)
         (!fields 1 
          (!pair  "inlined_to"
           (!type already_seen 1065)
           (!srcfileloc  "cgraph.h" 663)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1318)
        nil )
       (!pair  "rtl"
        (!type pointer 1091 nil  gc_used
         (!type struct 1092 
          (!type already_seen 1091)
          gc_pointed_to "cgraph_rtl_info"
          (!srcfileloc  "rtl.h" 3747)
          (!fields 3 
           (!pair  "preferred_incoming_stack_boundary"
            (!type already_seen 9)
            (!srcfileloc  "rtl.h" 3739)
            nil )
           (!pair  "function_used_regs"
            (!type already_seen 9)
            (!srcfileloc  "rtl.h" 3744)
            nil )
           (!pair  "function_used_regs_valid"
            (!type already_seen 9)
            (!srcfileloc  "rtl.h" 3746)
            nil )
          )
          nil 1023 nil nil )
        )
        (!srcfileloc  "cgraph.h" 1319)
        nil )
       (!pair  "clone"
        (!type struct 1093 nil  gc_used "cgraph_clone_info"
         (!srcfileloc  "cgraph.h" 1320)
         (!fields 3 
          (!pair  "tree_map"
           (!type pointer 1094 nil  gc_used
            (!type user_struct 1095 
             (!type already_seen 1094)
             gc_pointed_to "vec<ipa_replace_map*,va_gc>"
             (!srcfileloc  "cgraph.h" 684)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cgraph.h" 684)
               nil )
              (!pair  "ipa_replace_map"
               (!type pointer 1096 nil  gc_used
                (!type struct 1097 
                 (!type already_seen 1096)
                 gc_pointed_to "ipa_replace_map"
                 (!srcfileloc  "cgraph.h" 680)
                 (!fields 5 
                  (!pair  "old_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 671)
                   nil )
                  (!pair  "new_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 673)
                   nil )
                  (!pair  "parm_num"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 675)
                   nil )
                  (!pair  "replace_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 677)
                   nil )
                  (!pair  "ref_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 679)
                   nil )
                 )
                 nil 1023 nil nil )
               )
               (!srcfileloc  "cgraph.h" 684)
               nil )
             )
            )
           )
           (!srcfileloc  "cgraph.h" 684)
           nil )
          (!pair  "args_to_skip"
           (!type already_seen 119)
           (!srcfileloc  "cgraph.h" 685)
           nil )
          (!pair  "combined_args_to_skip"
           (!type already_seen 119)
           (!srcfileloc  "cgraph.h" 686)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1320)
        nil )
       (!pair  "thunk"
        (!type struct 1098 nil  gc_used "cgraph_thunk_info"
         (!srcfileloc  "cgraph.h" 1321)
         (!fields 7 
          (!pair  "fixed_offset"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 624)
           nil )
          (!pair  "virtual_value"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 625)
           nil )
          (!pair  "alias"
           (!type already_seen 5)
           (!srcfileloc  "cgraph.h" 626)
           nil )
          (!pair  "this_adjusting"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 627)
           nil )
          (!pair  "virtual_offset_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 628)
           nil )
          (!pair  "add_pointer_bounds_args"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 629)
           nil )
          (!pair  "thunk_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 631)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1321)
        nil )
       (!pair  "count"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1324)
        nil )
       (!pair  "count_materialization_scale"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1327)
        nil )
       (!pair  "uid"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1329)
        nil )
       (!pair  "summary_uid"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1331)
        nil )
       (!pair  "profile_id"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1333)
        nil )
       (!pair  "tp_first_run"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1335)
        nil )
       (!pair  "used_as_abstract_origin"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1339)
        nil )
       (!pair  "lowered"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1341)
        nil )
       (!pair  "process"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1344)
        nil )
       (!pair  "frequency"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1347)
        nil )
       (!pair  "only_called_at_startup"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1349)
        nil )
       (!pair  "only_called_at_exit"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1351)
        nil )
       (!pair  "tm_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1356)
        nil )
       (!pair  "dispatcher_function"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1358)
        nil )
       (!pair  "calls_comdat_local"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1361)
        nil )
       (!pair  "icf_merged"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1363)
        nil )
       (!pair  "instrumentation_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1366)
        nil )
       (!pair  "nonfreeing_fn"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1370)
        nil )
       (!pair  "merged_comdat"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1372)
        nil )
       (!pair  "parallelized_function"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1374)
        nil )
       (!pair  "split_part"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1376)
        nil )
       (!pair  "indirect_call_target"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1378)
        nil )
      )
      (!options 
       (!option tag string  "SYMTAB_FUNCTION")
      )
      1023 nil 
      (!type already_seen 347)
     )
    )
    (!srcfileloc  "trans-mem.c" 4203)
    nil )
  )
 )
 
 (!type struct 1099 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1100 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1101 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1102 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1103 nil  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1104 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1105 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1106 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1107 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1108 nil  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1109 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1110 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1111 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1112 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1113 nil  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1114 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1115 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1116 
  (!type pointer 1117 nil  gc_used
   (!type already_seen 1116)
  )
  gc_pointed_to "hash_table<tm_wrapper_hasher>"
  (!srcfileloc  "trans-mem.c" 479)
  (!fields 1 
   (!pair  "tm_wrapper_hasher"
    (!type struct 1118 nil  gc_used "tm_wrapper_hasher"
     (!srcfileloc  "trans-mem.c" 479)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "trans-mem.c" 479)
    nil )
  )
 )
 
 (!type already_seen 1118)
 
 (!type user_struct 1119 nil  gc_unused "vec<ipa_parm_adjustment>"
  (!srcfileloc  "ipa-prop.h" 748)
  (!fields 1 
   (!pair  "ipa_parm_adjustment"
    (!type struct 1120 nil  gc_unused "ipa_parm_adjustment"
     (!srcfileloc  "ipa-prop.h" 748)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-prop.h" 748)
    nil )
  )
 )
 
 (!type user_struct 1121 
  (!type pointer 1122 nil  gc_used
   (!type already_seen 1121)
  )
  gc_pointed_to "vec<ipa_edge_args,va_gc>"
  (!srcfileloc  "ipa-prop.h" 550)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-prop.h" 550)
    nil )
   (!pair  "ipa_edge_args"
    (!type struct 1123 nil  gc_used "ipa_edge_args"
     (!srcfileloc  "ipa-prop.h" 550)
     (!fields 2 
      (!pair  "jump_functions"
       (!type pointer 1124 nil  gc_used
        (!type user_struct 1125 
         (!type already_seen 1124)
         gc_pointed_to "vec<ipa_jump_func,va_gc>"
         (!srcfileloc  "ipa-prop.h" 496)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-prop.h" 496)
           nil )
          (!pair  "ipa_jump_func"
           (!type struct 1126 nil  gc_used "ipa_jump_func"
            (!srcfileloc  "ipa-prop.h" 496)
            (!fields 4 
             (!pair  "agg"
              (!type struct 1127 
               (!type pointer 1128 nil  gc_unused
                (!type already_seen 1127)
               )
               gc_used "ipa_agg_jump_function"
               (!srcfileloc  "ipa-prop.h" 142)
               (!fields 2 
                (!pair  "items"
                 (!type pointer 1129 nil  gc_used
                  (!type user_struct 1130 
                   (!type already_seen 1129)
                   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 1131 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 1132 nil  gc_used "ipa_alignment"
               (!srcfileloc  "ipa-prop.h" 484)
               (!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 1133 nil  gc_used "jump_func_value"
               (!srcfileloc  "ipa-prop.h" 178)
               (!fields 3 
                (!pair  "constant"
                 (!type struct 1134 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 1135 nil  gc_unused
                     (!type struct 1136 
                      (!type already_seen 1135)
                      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 1137 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 1138 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" 496)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 496)
       nil )
      (!pair  "polymorphic_call_contexts"
       (!type pointer 1139 nil  gc_used
        (!type user_struct 1140 
         (!type already_seen 1139)
         gc_pointed_to "vec<ipa_polymorphic_call_context,va_gc>"
         (!srcfileloc  "ipa-prop.h" 497)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-prop.h" 497)
           nil )
          (!pair  "ipa_polymorphic_call_context"
           (!type already_seen 1078)
           (!srcfileloc  "ipa-prop.h" 497)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 497)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-prop.h" 550)
    nil )
  )
 )
 
 (!type user_struct 1141 
  (!type pointer 1142 nil  gc_used
   (!type already_seen 1141)
  )
  gc_pointed_to "vec<ipcp_transformation_summary,va_gc>"
  (!srcfileloc  "ipa-prop.h" 548)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-prop.h" 548)
    nil )
   (!pair  "ipcp_transformation_summary"
    (!type struct 1143 nil  gc_used "ipcp_transformation_summary"
     (!srcfileloc  "ipa-prop.h" 548)
     (!fields 2 
      (!pair  "agg_values"
       (!type pointer 1144 nil  gc_used
        (!type struct 1145 
         (!type already_seen 1144)
         gc_pointed_to "ipa_agg_replacement_value"
         (!srcfileloc  "ipa-prop.h" 482)
         (!fields 5 
          (!pair  "next"
           (!type already_seen 1144)
           (!srcfileloc  "ipa-prop.h" 466)
           nil )
          (!pair  "offset"
           (!type already_seen 9)
           (!srcfileloc  "ipa-prop.h" 468)
           nil )
          (!pair  "value"
           (!type already_seen 5)
           (!srcfileloc  "ipa-prop.h" 470)
           nil )
          (!pair  "index"
           (!type already_seen 9)
           (!srcfileloc  "ipa-prop.h" 472)
           nil )
          (!pair  "by_ref"
           (!type already_seen 9)
           (!srcfileloc  "ipa-prop.h" 474)
           nil )
         )
         nil 1023 nil nil )
       )
       (!srcfileloc  "ipa-prop.h" 482)
       nil )
      (!pair  "alignments"
       (!type pointer 1146 nil  gc_used
        (!type user_struct 1147 
         (!type already_seen 1146)
         gc_pointed_to "vec<ipa_alignment,va_gc>"
         (!srcfileloc  "ipa-prop.h" 484)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-prop.h" 484)
           nil )
          (!pair  "ipa_alignment"
           (!type already_seen 1132)
           (!srcfileloc  "ipa-prop.h" 484)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 484)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-prop.h" 548)
    nil )
  )
 )
 
 (!type struct 1148 nil  gc_unused "ipa_node_params_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1140)
 
 (!type already_seen 1125)
 
 (!type already_seen 1143)
 
 (!type already_seen 1147)
 
 (!type struct 1149 nil  gc_unused "ipa_param_descriptor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1133)
 
 (!type already_seen 1132)
 
 (!type already_seen 1130)
 
 (!type already_seen 1138)
 
 (!type already_seen 1137)
 
 (!type already_seen 1134)
 
 (!type undefined 1150 nil  gc_unused "TRAILING_WIDE_INT_ACCESSOR"
  (!srcfileloc  "tree-ssanames.h" 52)
 )
 
 (!type struct 1151 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1152 
  (!type pointer 1153 nil  gc_used
   (!type already_seen 1152)
  )
  gc_pointed_to "vec<gimple*,va_gc>"
  (!srcfileloc  "tree-phinodes.c" 70)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-phinodes.c" 70)
    nil )
   (!pair  "gimple"
    (!type already_seen 311)
    (!srcfileloc  "tree-phinodes.c" 70)
    nil )
  )
 )
 
 (!type struct 1154 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1155 
  (!type pointer 1156 nil  gc_unused
   (!type already_seen 1155)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1157 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1158 
  (!type pointer 1159 nil  gc_unused
   (!type already_seen 1158)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1160 nil  gc_unused "pass_late_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1161 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1162 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1163 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1164 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1165 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1166 nil  gc_unused "pass_local_optimization_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1167 nil  gc_unused "pass_chkp_instrumentation_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1168 nil  gc_unused "pass_build_ssa_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1171 nil  gc_unused "anonymous:../../gcc/config/arc/arc.c:9339"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1172 nil  gc_unused "insn_length_parameters_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1173 nil  gc_unused "anonymous:../../gcc/config/arc/arc.c:7958"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 nil  gc_used "arc_builtin_description"
  (!srcfileloc  "config/arc/arc.c" 5609)
  (!fields 3 
   (!pair  "icode"
    (!type already_seen 9)
    (!srcfileloc  "config/arc/arc.c" 5606)
    nil )
   (!pair  "n_args"
    (!type already_seen 9)
    (!srcfileloc  "config/arc/arc.c" 5607)
    nil )
   (!pair  "fndecl"
    (!type already_seen 5)
    (!srcfileloc  "config/arc/arc.c" 5608)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 442)
 
 (!type struct 1175 nil  gc_unused "register_pass_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 nil  gc_unused "pass_arc_predicate_delay_insns"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 nil  gc_unused "pass_arc_ifcvt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 443)
 
 (!type struct 1178 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1179 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1180 nil  gc_unused "pass_omp_target_link"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1181 nil  gc_unused "pass_oacc_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1183 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1184 nil  gc_unused "lower_omp_regimplify_operands_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1185 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1186 nil  gc_unused "pass_expand_omp_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1187 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1188 nil  gc_unused "grid_arg_decl_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1189 
  (!type pointer 1190 nil  gc_used
   (!type already_seen 1189)
  )
  gc_pointed_to "grid_launch_attributes_trees"
  (!srcfileloc  "omp-low.c" 12770)
  (!fields 5 
   (!pair  "kernel_dim_array_type"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12765)
    nil )
   (!pair  "kernel_lattrs_dimnum_decl"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12766)
    nil )
   (!pair  "kernel_lattrs_grid_decl"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12767)
    nil )
   (!pair  "kernel_lattrs_group_decl"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12768)
    nil )
   (!pair  "kernel_launch_attributes_type"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12769)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1191 nil  gc_unused "oacc_collapse"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 nil  gc_unused "oacc_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1193 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1194 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1195 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1196 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1197 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1198 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 426)
 
 (!type struct 1199 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1200 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1201 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1202 
  (!type pointer 1203 nil  gc_used
   (!type already_seen 1202)
  )
  gc_pointed_to "hash_table<scev_info_hasher>"
  (!srcfileloc  "tree-scalar-evolution.c" 323)
  (!fields 1 
   (!pair  "scev_info_hasher"
    (!type struct 1204 nil  gc_used "scev_info_hasher"
     (!srcfileloc  "tree-scalar-evolution.c" 323)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree-scalar-evolution.c" 323)
    nil )
  )
 )
 
 (!type already_seen 1204)
 
 (!type struct 1205 nil  gc_pointed_to "scev_info_str"
  (!srcfileloc  "tree-scalar-evolution.c" 296)
  (!fields 3 
   (!pair  "name_version"
    (!type already_seen 9)
    (!srcfileloc  "tree-scalar-evolution.c" 293)
    nil )
   (!pair  "instantiated_below"
    (!type already_seen 9)
    (!srcfileloc  "tree-scalar-evolution.c" 294)
    nil )
   (!pair  "chrec"
    (!type already_seen 5)
    (!srcfileloc  "tree-scalar-evolution.c" 295)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1206 nil  gc_unused "numbered_tree"
  (!srcfileloc  "tree-dfa.c" 831)
  (!fields 2 
   (!pair  "t"
    (!type already_seen 5)
    (!srcfileloc  "tree-dfa.c" 829)
    nil )
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "tree-dfa.c" 830)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1207 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1209 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1210 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1211 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1212 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1213 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1214 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1215 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1216 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1217 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1218 nil  gc_unused "replace_decls_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1219 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1220 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1221 
  (!type pointer 1222 nil  gc_used
   (!type already_seen 1221)
  )
  gc_pointed_to "vec<mem_addr_template,va_gc>"
  (!srcfileloc  "tree-ssa-address.c" 90)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-ssa-address.c" 90)
    nil )
   (!pair  "mem_addr_template"
    (!type struct 1223 nil  gc_used "mem_addr_template"
     (!srcfileloc  "tree-ssa-address.c" 90)
     (!fields 3 
      (!pair  "ref"
       (!type already_seen 135)
       (!srcfileloc  "tree-ssa-address.c" 78)
       nil )
      (!pair  "step_p"
       (!type already_seen 136)
       (!srcfileloc  "tree-ssa-address.c" 79)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "off_p"
       (!type already_seen 136)
       (!srcfileloc  "tree-ssa-address.c" 81)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 1023 nil nil )
    (!srcfileloc  "tree-ssa-address.c" 90)
    nil )
  )
 )
 
 (!type already_seen 1223)
 
 (!type struct 1224 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1225 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1226 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1227 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1228 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1229 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1230 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1231 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1232 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1233 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1234 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1235 nil  gc_unused "anonymous:../../gcc/tree-eh.c:49"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1236 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1237 nil  gc_unused "pass_chkp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1238 nil  gc_unused "chkp_ctor_stmt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1239 nil  gc_unused "hash_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1240 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 423)
 
 (!type already_seen 432)
 
 (!type struct 1241 nil  gc_pointed_to "tm_restart_node"
  (!srcfileloc  "gimple-ssa.h" 32)
  (!fields 2 
   (!pair  "stmt"
    (!type already_seen 311)
    (!srcfileloc  "gimple-ssa.h" 30)
    nil )
   (!pair  "label_or_list"
    (!type already_seen 5)
    (!srcfileloc  "gimple-ssa.h" 31)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1242 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1243 nil  gc_pointed_to "gimple_statement_omp_return"
  (!srcfileloc  "gimple.h" 805)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  1023 nil 
  (!type struct 1244 nil  gc_pointed_to "gimple_statement_omp_atomic_store_layout"
   (!srcfileloc  "gimple.h" 789)
   (!fields 1 
    (!pair  "val"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 788)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
   )
   1023 nil 
   (!type already_seen 312)
  )
 )
 
 (!type already_seen 1244)
 
 (!type struct 1245 nil  gc_pointed_to "gimple_statement_omp_single_layout"
  (!srcfileloc  "gimple.h" 742)
  (!fields 1 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 741)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  1023 nil 
  (!type struct 1246 nil  gc_pointed_to "gimple_statement_omp"
   (!srcfileloc  "gimple.h" 378)
   (!fields 1 
    (!pair  "body"
     (!type already_seen 311)
     (!srcfileloc  "gimple.h" 377)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP")
   )
   1023 nil 
   (!type already_seen 312)
  )
 )
 
 (!type struct 1247 nil  gc_pointed_to "gimple_statement_omp_taskreg"
  (!srcfileloc  "gimple.h" 660)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  1023 nil 
  (!type struct 1248 nil  gc_pointed_to "gimple_statement_omp_parallel_layout"
   (!srcfileloc  "gimple.h" 651)
   (!fields 3 
    (!pair  "clauses"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 642)
     nil )
    (!pair  "child_fn"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 646)
     nil )
    (!pair  "data_arg"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 650)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
   )
   1023 nil 
   (!type already_seen 1246)
  )
 )
 
 (!type already_seen 1248)
 
 (!type struct 1249 
  (!type pointer 1250 nil  gc_unused
   (!type already_seen 1249)
  )
  gc_used "gimple_omp_for_iter"
  (!srcfileloc  "gimple.h" 608)
  (!fields 5 
   (!pair  "cond"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 595)
    nil )
   (!pair  "index"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 598)
    nil )
   (!pair  "initial"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 601)
    nil )
   (!pair  "final"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 604)
    nil )
   (!pair  "incr"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 607)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1251 nil  gc_pointed_to "gimple_statement_wce"
  (!srcfileloc  "gimple.h" 549)
  (!fields 1 
   (!pair  "cleanup"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 548)
    nil )
  )
  (!options 
   (!option tag string  "GSS_WCE")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1252 nil  gc_pointed_to "gimple_statement_eh_ctrl"
  (!srcfileloc  "gimple.h" 487)
  (!fields 1 
   (!pair  "region"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 486)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type already_seen 1246)
 
 (!type already_seen 1072)
 
 (!type already_seen 418)
 
 (!type struct 1253 nil  gc_pointed_to "gimple_statement_with_memory_ops"
  (!srcfileloc  "gimple.h" 339)
  (!fields 1 
   (!pair  "op"
    (!type array 1254 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 338)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  1023 nil 
  (!type already_seen 1074)
 )
 
 (!type already_seen 1074)
 
 (!type struct 1255 nil  gc_pointed_to "gimple_statement_with_ops"
  (!srcfileloc  "gimple.h" 308)
  (!fields 1 
   (!pair  "op"
    (!type array 1256 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 307)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1075)
 )
 
 (!type already_seen 1075)
 
 (!type already_seen 429)
 
 (!type struct 1257 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1258 
  (!type pointer 1259 nil  gc_used
   (!type already_seen 1258)
  )
  gc_pointed_to "hash_table<tm_clone_hasher>"
  (!srcfileloc  "varasm.c" 5791)
  (!fields 1 
   (!pair  "tm_clone_hasher"
    (!type struct 1260 nil  gc_used "tm_clone_hasher"
     (!srcfileloc  "varasm.c" 5791)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 5791)
    nil )
  )
 )
 
 (!type already_seen 1260)
 
 (!type struct 1261 nil  gc_unused "oc_local_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1262 nil  gc_unused "oc_outer_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1263 
  (!type pointer 1264 nil  gc_used
   (!type already_seen 1263)
  )
  gc_pointed_to "hash_table<const_rtx_desc_hasher>"
  (!srcfileloc  "varasm.c" 3517)
  (!fields 1 
   (!pair  "const_rtx_desc_hasher"
    (!type struct 1265 nil  gc_used "const_rtx_desc_hasher"
     (!srcfileloc  "varasm.c" 3517)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 3517)
    nil )
  )
 )
 
 (!type already_seen 1265)
 
 (!type user_struct 1266 
  (!type pointer 1267 nil  gc_used
   (!type already_seen 1266)
  )
  gc_pointed_to "hash_table<tree_descriptor_hasher>"
  (!srcfileloc  "varasm.c" 2874)
  (!fields 1 
   (!pair  "tree_descriptor_hasher"
    (!type struct 1268 nil  gc_used "tree_descriptor_hasher"
     (!srcfileloc  "varasm.c" 2874)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 2874)
    nil )
  )
 )
 
 (!type struct 1269 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1270 
  (!type pointer 1271 nil  gc_used
   (!type already_seen 1270)
  )
  gc_pointed_to "hash_table<object_block_hasher>"
  (!srcfileloc  "varasm.c" 196)
  (!fields 1 
   (!pair  "object_block_hasher"
    (!type struct 1272 nil  gc_used "object_block_hasher"
     (!srcfileloc  "varasm.c" 196)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 196)
    nil )
  )
 )
 
 (!type already_seen 1272)
 
 (!type user_struct 1273 
  (!type pointer 1274 nil  gc_used
   (!type already_seen 1273)
  )
  gc_pointed_to "hash_table<section_hasher>"
  (!srcfileloc  "varasm.c" 185)
  (!fields 1 
   (!pair  "section_hasher"
    (!type struct 1275 nil  gc_used "section_hasher"
     (!srcfileloc  "varasm.c" 185)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 185)
    nil )
  )
 )
 
 (!type already_seen 1275)
 
 (!type struct 1276 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1277 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1278 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1279 
  (!type pointer 1280 nil  gc_used
   (!type already_seen 1279)
  )
  gc_pointed_to "hash_table<tree_vec_map_cache_hasher>"
  (!srcfileloc  "tree.c" 244)
  (!fields 1 
   (!pair  "tree_vec_map_cache_hasher"
    (!type struct 1281 nil  gc_used "tree_vec_map_cache_hasher"
     (!srcfileloc  "tree.c" 244)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 244)
    nil )
  )
 )
 
 (!type already_seen 1281)
 
 (!type user_struct 1282 
  (!type pointer 1283 nil  gc_used
   (!type already_seen 1282)
  )
  gc_pointed_to "hash_table<tree_decl_map_cache_hasher>"
  (!srcfileloc  "tree.c" 221)
  (!fields 1 
   (!pair  "tree_decl_map_cache_hasher"
    (!type struct 1284 nil  gc_used "tree_decl_map_cache_hasher"
     (!srcfileloc  "tree.c" 221)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 221)
    nil )
  )
 )
 
 (!type user_struct 1285 
  (!type pointer 1286 nil  gc_used
   (!type already_seen 1285)
  )
  gc_pointed_to "hash_table<cl_option_hasher>"
  (!srcfileloc  "tree.c" 215)
  (!fields 1 
   (!pair  "cl_option_hasher"
    (!type struct 1287 nil  gc_used "cl_option_hasher"
     (!srcfileloc  "tree.c" 215)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 215)
    nil )
  )
 )
 
 (!type already_seen 1287)
 
 (!type user_struct 1288 
  (!type pointer 1289 nil  gc_used
   (!type already_seen 1288)
  )
  gc_pointed_to "hash_table<int_cst_hasher>"
  (!srcfileloc  "tree.c" 199)
  (!fields 1 
   (!pair  "int_cst_hasher"
    (!type struct 1290 nil  gc_used "int_cst_hasher"
     (!srcfileloc  "tree.c" 199)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 199)
    nil )
  )
 )
 
 (!type already_seen 1290)
 
 (!type user_struct 1291 
  (!type pointer 1292 nil  gc_used
   (!type already_seen 1291)
  )
  gc_pointed_to "hash_table<type_cache_hasher>"
  (!srcfileloc  "tree.c" 188)
  (!fields 1 
   (!pair  "type_cache_hasher"
    (!type struct 1293 nil  gc_used "type_cache_hasher"
     (!srcfileloc  "tree.c" 188)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 188)
    nil )
  )
 )
 
 (!type already_seen 1293)
 
 (!type struct 1294 nil  gc_pointed_to "type_hash"
  (!srcfileloc  "tree.c" 164)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree.c" 162)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "tree.c" 163)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1295 
  (!type pointer 1296 nil  gc_used
   (!type already_seen 1295)
  )
  gc_pointed_to "string_pool_data"
  (!srcfileloc  "stringpool.c" 253)
  (!fields 3 
   (!pair  "entries"
    (!type already_seen 38)
    (!srcfileloc  "stringpool.c" 250)
    (!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" 251)
    nil )
   (!pair  "nelements"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 252)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1297 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1298 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1299 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1300 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1301 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1302 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1303 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1304 
  (!type pointer 1305 nil  gc_unused
   (!type already_seen 1304)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1306 
  (!type pointer 1307 nil  gc_unused
   (!type already_seen 1306)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1308 nil  gc_unused "anonymous:../../gcc/mcf.c:343"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1309 nil  gc_unused "augmenting_path_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1310 nil  gc_unused "queue_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1311 nil  gc_unused "fixup_graph_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1312 
  (!type pointer 1313 nil  gc_unused
   (!type already_seen 1312)
  )
  gc_unused "fixup_vertex_type"
  (!srcfileloc  "mcf.c" 103)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type struct 1314 
  (!type pointer 1315 nil  gc_unused
   (!type already_seen 1314)
  )
  gc_unused "fixup_edge_type"
  (!srcfileloc  "mcf.c" 94)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type struct 1316 nil  gc_unused "edge_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1317 nil  gc_unused "bb_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1318 
  (!type pointer 1319 nil  gc_used
   (!type already_seen 1318)
  )
  gc_pointed_to "hash_table<libfunc_decl_hasher>"
  (!srcfileloc  "optabs-libfuncs.c" 727)
  (!fields 1 
   (!pair  "libfunc_decl_hasher"
    (!type struct 1320 nil  gc_used "libfunc_decl_hasher"
     (!srcfileloc  "optabs-libfuncs.c" 727)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "optabs-libfuncs.c" 727)
    nil )
  )
 )
 
 (!type already_seen 1320)
 
 (!type struct 1321 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1322 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1323 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1324 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1325 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1326 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1327 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1328 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1329 nil  gc_unused "modify_pair"
  (!srcfileloc  "gcse.c" 618)
 )
 
 (!type user_struct 1330 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 618)
  (!fields 1 
   (!pair  "modify_pair"
    (!type already_seen 1329)
    (!srcfileloc  "gcse.c" 618)
    nil )
  )
 )
 
 (!type user_struct 1331 nil  gc_unused "vec<rtx_insn*>"
  (!srcfileloc  "gcse.c" 617)
  (!fields 1 
   (!pair  "rtx_insn"
    (!type already_seen 325)
    (!srcfileloc  "gcse.c" 617)
    nil )
  )
 )
 
 (!type struct 1332 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1333 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1334 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1335 nil  gc_unused "gcse_hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1336 
  (!type pointer 1337 nil  gc_unused
   (!type already_seen 1336)
  )
  gc_unused "gcse_occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1338 nil  gc_unused "gcse_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 610)
 
 (!type struct 1339 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1340 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1341 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 754)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type struct 1342 nil  gc_unused "ehspec_hasher"
     (!srcfileloc  "except.c" 754)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 754)
    nil )
  )
 )
 
 (!type already_seen 1342)
 
 (!type user_struct 1343 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 719)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type struct 1344 nil  gc_unused "ttypes_filter_hasher"
     (!srcfileloc  "except.c" 719)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 719)
    nil )
  )
 )
 
 (!type already_seen 1344)
 
 (!type struct 1345 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1346 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1347 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 205)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type struct 1348 nil  gc_unused "action_record_hasher"
     (!srcfileloc  "except.c" 205)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 205)
    nil )
  )
 )
 
 (!type already_seen 1348)
 
 (!type struct 1349 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1350 nil  gc_unused "tree_hash"
  (!srcfileloc  "except.c" 148)
 )
 
 (!type user_struct 1351 
  (!type pointer 1352 nil  gc_used
   (!type already_seen 1351)
  )
  gc_pointed_to "hash_map<tree_hash,tree>"
  (!srcfileloc  "except.c" 148)
  (!fields 2 
   (!pair  "tree"
    (!type already_seen 5)
    (!srcfileloc  "except.c" 148)
    nil )
   (!pair  "tree_hash"
    (!type already_seen 1350)
    (!srcfileloc  "except.c" 148)
    nil )
  )
 )
 
 (!type struct 1353 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1356 nil  gc_unused "bounds_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1357 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1358 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1359 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1360 
  (!type pointer 1361 nil  gc_unused
   (!type already_seen 1360)
  )
  gc_used "initial_value_pair"
  (!srcfileloc  "function.c" 1237)
  (!fields 2 
   (!pair  "hard_reg"
    (!type already_seen 135)
    (!srcfileloc  "function.c" 1228)
    nil )
   (!pair  "pseudo"
    (!type already_seen 135)
    (!srcfileloc  "function.c" 1229)
    nil )
  )
  nil 1023 nil nil )
 
 (!type user_struct 1362 
  (!type pointer 1363 nil  gc_used
   (!type already_seen 1362)
  )
  gc_pointed_to "hash_table<temp_address_hasher>"
  (!srcfileloc  "function.c" 576)
  (!fields 1 
   (!pair  "temp_address_hasher"
    (!type struct 1364 nil  gc_used "temp_address_hasher"
     (!srcfileloc  "function.c" 576)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.c" 576)
    nil )
  )
 )
 
 (!type already_seen 1364)
 
 (!type struct 1365 nil  gc_pointed_to "temp_slot_address_entry"
  (!srcfileloc  "function.c" 566)
  (!fields 3 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "function.c" 563)
    nil )
   (!pair  "address"
    (!type already_seen 135)
    (!srcfileloc  "function.c" 564)
    nil )
   (!pair  "temp_slot"
    (!type pointer 1366 nil  gc_used
     (!type struct 1367 
      (!type already_seen 1366)
      gc_pointed_to "temp_slot"
      (!srcfileloc  "function.c" 559)
      (!fields 10 
       (!pair  "next"
        (!type already_seen 1366)
        (!srcfileloc  "function.c" 535)
        nil )
       (!pair  "prev"
        (!type already_seen 1366)
        (!srcfileloc  "function.c" 537)
        nil )
       (!pair  "slot"
        (!type already_seen 135)
        (!srcfileloc  "function.c" 539)
        nil )
       (!pair  "size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 541)
        nil )
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "function.c" 546)
        nil )
       (!pair  "align"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 548)
        nil )
       (!pair  "in_use"
        (!type already_seen 15)
        (!srcfileloc  "function.c" 550)
        nil )
       (!pair  "level"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 552)
        nil )
       (!pair  "base_offset"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 555)
        nil )
       (!pair  "full_size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 558)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "function.c" 565)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type user_struct 1368 
  (!type pointer 1369 nil  gc_used
   (!type already_seen 1368)
  )
  gc_pointed_to "hash_table<insn_cache_hasher>"
  (!srcfileloc  "function.c" 123)
  (!fields 1 
   (!pair  "insn_cache_hasher"
    (!type struct 1370 nil  gc_used "insn_cache_hasher"
     (!srcfileloc  "function.c" 123)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.c" 123)
    nil )
  )
 )
 
 (!type already_seen 1370)
 
 (!type struct 1371 
  (!type pointer 1372 nil  gc_unused
   (!type already_seen 1371)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1373 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1374 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1375 nil  gc_unused "throw_stmt_node"
  (!srcfileloc  "except.h" 290)
  (!fields 2 
   (!pair  "stmt"
    (!type already_seen 311)
    (!srcfileloc  "except.h" 288)
    nil )
   (!pair  "lp_nr"
    (!type already_seen 9)
    (!srcfileloc  "except.h" 289)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 407)
 
 (!type already_seen 405)
 
 (!type already_seen 403)
 
 (!type already_seen 401)
 
 (!type already_seen 390)
 
 (!type already_seen 395)
 
 (!type already_seen 394)
 
 (!type already_seen 391)
 
 (!type already_seen 393)
 
 (!type already_seen 397)
 
 (!type already_seen 389)
 
 (!type user_struct 1376 
  (!type pointer 1377 nil  gc_used
   (!type already_seen 1376)
  )
  gc_pointed_to "hash_table<const_fixed_hasher>"
  (!srcfileloc  "emit-rtl.c" 175)
  (!fields 1 
   (!pair  "const_fixed_hasher"
    (!type struct 1378 nil  gc_used "const_fixed_hasher"
     (!srcfileloc  "emit-rtl.c" 175)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 175)
    nil )
  )
 )
 
 (!type already_seen 1378)
 
 (!type user_struct 1379 
  (!type pointer 1380 nil  gc_used
   (!type already_seen 1379)
  )
  gc_pointed_to "hash_table<const_double_hasher>"
  (!srcfileloc  "emit-rtl.c" 166)
  (!fields 1 
   (!pair  "const_double_hasher"
    (!type struct 1381 nil  gc_used "const_double_hasher"
     (!srcfileloc  "emit-rtl.c" 166)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 166)
    nil )
  )
 )
 
 (!type already_seen 1381)
 
 (!type user_struct 1382 
  (!type pointer 1383 nil  gc_used
   (!type already_seen 1382)
  )
  gc_pointed_to "hash_table<reg_attr_hasher>"
  (!srcfileloc  "emit-rtl.c" 157)
  (!fields 1 
   (!pair  "reg_attr_hasher"
    (!type struct 1384 nil  gc_used "reg_attr_hasher"
     (!srcfileloc  "emit-rtl.c" 157)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 157)
    nil )
  )
 )
 
 (!type already_seen 1384)
 
 (!type user_struct 1385 
  (!type pointer 1386 nil  gc_used
   (!type already_seen 1385)
  )
  gc_pointed_to "hash_table<const_wide_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 148)
  (!fields 1 
   (!pair  "const_wide_int_hasher"
    (!type struct 1387 nil  gc_used "const_wide_int_hasher"
     (!srcfileloc  "emit-rtl.c" 148)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 148)
    nil )
  )
 )
 
 (!type already_seen 1387)
 
 (!type user_struct 1388 
  (!type pointer 1389 nil  gc_used
   (!type already_seen 1388)
  )
  gc_pointed_to "hash_table<const_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 140)
  (!fields 1 
   (!pair  "const_int_hasher"
    (!type struct 1390 nil  gc_used "const_int_hasher"
     (!srcfileloc  "emit-rtl.c" 140)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.c" 140)
    nil )
  )
 )
 
 (!type already_seen 1390)
 
 (!type struct 1391 nil  gc_used "rtl_data"
  (!srcfileloc  "emit-rtl.h" 287)
  (!fields 58 
   (!pair  "expr"
    (!type struct 1392 nil  gc_used "expr_status"
     (!srcfileloc  "function.h" 130)
     (!fields 6 
      (!pair  "x_pending_stack_adjust"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 95)
       nil )
      (!pair  "x_inhibit_defer_pop"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 112)
       nil )
      (!pair  "x_stack_pointer_delta"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 118)
       nil )
      (!pair  "x_saveregs_value"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 123)
       nil )
      (!pair  "x_apply_args_value"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 126)
       nil )
      (!pair  "x_forced_labels"
       (!type pointer 1393 nil  gc_used
        (!type struct 1394 
         (!type already_seen 1393)
         gc_pointed_to "rtx_insn_list"
         (!srcfileloc  "rtl.h" 467)
         (!fields 0 )
         nil 1023 nil 
         (!type already_seen 137)
        )
       )
       (!srcfileloc  "function.h" 129)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.h" 58)
    nil )
   (!pair  "emit"
    (!type struct 1395 nil  gc_used "emit_status"
     (!srcfileloc  "function.h" 74)
     (!fields 7 
      (!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  "seq"
       (!type struct 1396 
        (!type pointer 1397 nil  gc_used
         (!type already_seen 1396)
        )
        gc_pointed_to "sequence_stack"
        (!srcfileloc  "function.h" 34)
        (!fields 3 
         (!pair  "first"
          (!type already_seen 325)
          (!srcfileloc  "function.h" 31)
          nil )
         (!pair  "last"
          (!type already_seen 325)
          (!srcfileloc  "function.h" 32)
          nil )
         (!pair  "next"
          (!type already_seen 1397)
          (!srcfileloc  "function.h" 33)
          nil )
        )
        nil 1023 nil nil )
       (!srcfileloc  "function.h" 54)
       nil )
      (!pair  "x_cur_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 58)
       nil )
      (!pair  "x_cur_debug_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 62)
       nil )
      (!pair  "regno_pointer_align_length"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 68)
       nil )
      (!pair  "regno_pointer_align"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 73)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.h" 59)
    nil )
   (!pair  "varasm"
    (!type struct 1398 nil  gc_used "varasm_status"
     (!srcfileloc  "function.h" 166)
     (!fields 2 
      (!pair  "pool"
       (!type pointer 1399 nil  gc_used
        (!type struct 1400 
         (!type already_seen 1399)
         gc_pointed_to "rtx_constant_pool"
         (!srcfileloc  "varasm.c" 3522)
         (!fields 4 
          (!pair  "first"
           (!type already_seen 254)
           (!srcfileloc  "varasm.c" 3510)
           nil )
          (!pair  "last"
           (!type already_seen 254)
           (!srcfileloc  "varasm.c" 3511)
           nil )
          (!pair  "const_rtx_htab"
           (!type already_seen 1264)
           (!srcfileloc  "varasm.c" 3517)
           nil )
          (!pair  "offset"
           (!type already_seen 9)
           (!srcfileloc  "varasm.c" 3521)
           nil )
         )
         nil 1023 nil nil )
       )
       (!srcfileloc  "function.h" 161)
       nil )
      (!pair  "deferred_constants"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 165)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.h" 60)
    nil )
   (!pair  "args"
    (!type struct 1401 nil  gc_used "incoming_args"
     (!srcfileloc  "emit-rtl.h" 53)
     (!fields 6 
      (!pair  "pops_args"
       (!type already_seen 9)
       (!srcfileloc  "emit-rtl.h" 31)
       nil )
      (!pair  "size"
       (!type already_seen 9)
       (!srcfileloc  "emit-rtl.h" 36)
       nil )
      (!pair  "pretend_args_size"
       (!type already_seen 9)
       (!srcfileloc  "emit-rtl.h" 41)
       nil )
      (!pair  "arg_offset_rtx"
       (!type already_seen 135)
       (!srcfileloc  "emit-rtl.h" 45)
       nil )
      (!pair  "info"
       (!type already_seen 9)
       (!srcfileloc  "emit-rtl.h" 49)
       nil )
      (!pair  "internal_arg_pointer"
       (!type already_seen 135)
       (!srcfileloc  "emit-rtl.h" 52)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.h" 61)
    nil )
   (!pair  "subsections"
    (!type struct 1402 nil  gc_used "function_subsections"
     (!srcfileloc  "function.h" 179)
     (!fields 4 
      (!pair  "hot_section_label"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 175)
       nil )
      (!pair  "cold_section_label"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 176)
       nil )
      (!pair  "hot_section_end_label"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 177)
       nil )
      (!pair  "cold_section_end_label"
       (!type already_seen 39)
       (!srcfileloc  "function.h" 178)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.h" 62)
    nil )
   (!pair  "eh"
    (!type struct 1403 nil  gc_used "rtl_eh"
     (!srcfileloc  "function.h" 146)
     (!fields 7 
      (!pair  "ehr_stackadj"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 136)
       nil )
      (!pair  "ehr_handler"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 137)
       nil )
      (!pair  "ehr_label"
       (!type already_seen 398)
       (!srcfileloc  "function.h" 138)
       nil )
      (!pair  "sjlj_fc"
       (!type already_seen 135)
       (!srcfileloc  "function.h" 140)
       nil )
      (!pair  "sjlj_exit_after"
       (!type already_seen 325)
       (!srcfileloc  "function.h" 141)
       nil )
      (!pair  "action_record_data"
       (!type already_seen 408)
       (!srcfileloc  "function.h" 143)
       nil )
      (!pair  "call_site_record_v"
       (!type array 1404 nil  gc_used "2" 
        (!type pointer 1405 nil  gc_used
         (!type user_struct 1406 
          (!type already_seen 1405)
          gc_pointed_to "vec<call_site_record,va_gc>"
          (!srcfileloc  "function.h" 145)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "function.h" 145)
            nil )
           (!pair  "call_site_record"
            (!type pointer 1407 nil  gc_used
             (!type struct 1408 
              (!type already_seen 1407)
              gc_pointed_to "call_site_record_d"
              (!srcfileloc  "except.c" 163)
              (!fields 2 
               (!pair  "landing_pad"
                (!type already_seen 135)
                (!srcfileloc  "except.c" 161)
                nil )
               (!pair  "action"
                (!type already_seen 9)
                (!srcfileloc  "except.c" 162)
                nil )
              )
              nil 1023 nil nil )
            )
            (!srcfileloc  "function.h" 145)
            nil )
          )
         )
        )
       )
       (!srcfileloc  "function.h" 145)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "emit-rtl.h" 63)
    nil )
   (!pair  "outgoing_args_size"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 69)
    nil )
   (!pair  "return_rtx"
    (!type already_seen 135)
    (!srcfileloc  "emit-rtl.h" 75)
    nil )
   (!pair  "return_bnd"
    (!type already_seen 135)
    (!srcfileloc  "emit-rtl.h" 78)
    nil )
   (!pair  "hard_reg_initial_vals"
    (!type pointer 1409 nil  gc_used
     (!type struct 1410 
      (!type already_seen 1409)
      gc_pointed_to "initial_value_struct"
      (!srcfileloc  "function.c" 1238)
      (!fields 3 
       (!pair  "num_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1235)
        nil )
       (!pair  "max_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1236)
        nil )
       (!pair  "entries"
        (!type already_seen 1361)
        (!srcfileloc  "function.c" 1237)
        (!options 
         (!option length string  "%h.num_entries")
        )
       )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "emit-rtl.h" 85)
    nil )
   (!pair  "stack_protect_guard"
    (!type already_seen 5)
    (!srcfileloc  "emit-rtl.h" 89)
    nil )
   (!pair  "x_nonlocal_goto_handler_labels"
    (!type already_seen 1393)
    (!srcfileloc  "emit-rtl.h" 93)
    nil )
   (!pair  "x_return_label"
    (!type already_seen 398)
    (!srcfileloc  "emit-rtl.h" 98)
    nil )
   (!pair  "x_naked_return_label"
    (!type already_seen 398)
    (!srcfileloc  "emit-rtl.h" 103)
    nil )
   (!pair  "x_stack_slot_list"
    (!type pointer 1411 nil  gc_used
     (!type struct 1412 
      (!type already_seen 1411)
      gc_pointed_to "rtx_expr_list"
      (!srcfileloc  "rtl.h" 438)
      (!fields 0 )
      nil 1023 nil 
      (!type already_seen 137)
     )
    )
    (!srcfileloc  "emit-rtl.h" 107)
    nil )
   (!pair  "frame_space_list"
    (!type pointer 1413 nil  gc_used
     (!type struct 1414 
      (!type already_seen 1413)
      gc_pointed_to "frame_space"
      (!srcfileloc  "function.h" 190)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1413)
        (!srcfileloc  "function.h" 186)
        nil )
       (!pair  "start"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 188)
        nil )
       (!pair  "length"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 189)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "emit-rtl.h" 110)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type pointer 1415 nil  gc_used
     (!type struct 1416 
      (!type already_seen 1415)
      gc_pointed_to "rtx_note"
      (!srcfileloc  "emit-rtl.h" 113)
      (!fields 0 )
      nil 1023 nil 
      (!type already_seen 326)
     )
    )
    (!srcfileloc  "emit-rtl.h" 113)
    nil )
   (!pair  "x_arg_pointer_save_area"
    (!type already_seen 135)
    (!srcfileloc  "emit-rtl.h" 119)
    nil )
   (!pair  "drap_reg"
    (!type already_seen 135)
    (!srcfileloc  "emit-rtl.h" 122)
    nil )
   (!pair  "x_frame_offset"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 127)
    nil )
   (!pair  "x_parm_birth_insn"
    (!type already_seen 325)
    (!srcfileloc  "emit-rtl.h" 130)
    nil )
   (!pair  "x_used_temp_slots"
    (!type pointer 1417 nil  gc_used
     (!type user_struct 1418 
      (!type already_seen 1417)
      gc_pointed_to "vec<temp_slot_p,va_gc>"
      (!srcfileloc  "emit-rtl.h" 133)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 3)
        (!srcfileloc  "emit-rtl.h" 133)
        nil )
       (!pair  "temp_slot_p"
        (!type already_seen 1366)
        (!srcfileloc  "emit-rtl.h" 133)
        nil )
      )
     )
    )
    (!srcfileloc  "emit-rtl.h" 133)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1366)
    (!srcfileloc  "emit-rtl.h" 136)
    nil )
   (!pair  "x_temp_slot_level"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 139)
    nil )
   (!pair  "stack_alignment_needed"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 143)
    nil )
   (!pair  "preferred_stack_boundary"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 147)
    nil )
   (!pair  "parm_stack_boundary"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 150)
    nil )
   (!pair  "max_used_stack_slot_alignment"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 153)
    nil )
   (!pair  "stack_alignment_estimated"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 162)
    nil )
   (!pair  "accesses_prior_frames"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 168)
    nil )
   (!pair  "calls_eh_return"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 171)
    nil )
   (!pair  "saves_all_registers"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 175)
    nil )
   (!pair  "has_nonlocal_goto"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 179)
    nil )
   (!pair  "has_asm_statement"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 182)
    nil )
   (!pair  "all_throwers_are_sibcalls"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 189)
    nil )
   (!pair  "limit_stack"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 193)
    nil )
   (!pair  "profile"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 196)
    nil )
   (!pair  "uses_const_pool"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 199)
    nil )
   (!pair  "uses_pic_offset_table"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 202)
    nil )
   (!pair  "uses_eh_lsda"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 205)
    nil )
   (!pair  "tail_call_emit"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 208)
    nil )
   (!pair  "arg_pointer_save_area_init"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 211)
    nil )
   (!pair  "frame_pointer_needed"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 216)
    nil )
   (!pair  "maybe_hot_insn_p"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 219)
    nil )
   (!pair  "stack_realign_needed"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 226)
    nil )
   (!pair  "stack_realign_tried"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 231)
    nil )
   (!pair  "need_drap"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 235)
    nil )
   (!pair  "stack_realign_processed"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 240)
    nil )
   (!pair  "stack_realign_finalized"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 244)
    nil )
   (!pair  "dbr_scheduled_p"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 247)
    nil )
   (!pair  "nothrow"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 252)
    nil )
   (!pair  "shrink_wrapped"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 255)
    nil )
   (!pair  "sp_is_unchanging"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 260)
    nil )
   (!pair  "is_leaf"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 266)
    nil )
   (!pair  "uses_only_leaf_regs"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 271)
    nil )
   (!pair  "has_bb_partition"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 276)
    nil )
   (!pair  "bb_reorder_complete"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 280)
    nil )
   (!pair  "asm_clobbers"
    (!type already_seen 9)
    (!srcfileloc  "emit-rtl.h" 286)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 1418)
 
 (!type already_seen 1410)
 
 (!type already_seen 1401)
 
 (!type already_seen 1367)
 
 (!type struct 1419 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1420 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1421 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 27509)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type struct 1422 nil  gc_unused "loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 27509)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 27509)
    nil )
  )
 )
 
 (!type already_seen 1422)
 
 (!type struct 1423 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1424 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 25017)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type struct 1425 nil  gc_unused "macinfo_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 25017)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 25017)
    nil )
  )
 )
 
 (!type already_seen 1425)
 
 (!type struct 1426 nil  gc_unused "dwarf_procedure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1427 nil  gc_unused "dwarf_qual_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1428 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1429 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1430 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1431 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 8129)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type struct 1432 nil  gc_unused "external_ref_hasher"
     (!srcfileloc  "dwarf2out.c" 8129)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 8129)
    nil )
  )
 )
 
 (!type already_seen 1432)
 
 (!type struct 1433 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1434 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 7470)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type struct 1435 nil  gc_unused "decl_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 7470)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 7470)
    nil )
  )
 )
 
 (!type already_seen 1435)
 
 (!type struct 1436 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1437 nil  gc_unused "hash_table<cu_hash_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 7148)
  (!fields 1 
   (!pair  "cu_hash_table_entry_hasher"
    (!type struct 1438 nil  gc_unused "cu_hash_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 7148)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 7148)
    nil )
  )
 )
 
 (!type already_seen 1438)
 
 (!type struct 1439 nil  gc_unused "cu_hash_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1440 
  (!type pointer 1441 nil  gc_used
   (!type already_seen 1440)
  )
  gc_pointed_to "hash_table<addr_hasher>"
  (!srcfileloc  "dwarf2out.c" 4356)
  (!fields 1 
   (!pair  "addr_hasher"
    (!type struct 1442 nil  gc_used "addr_hasher"
     (!srcfileloc  "dwarf2out.c" 4356)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 4356)
    nil )
  )
 )
 
 (!type already_seen 1442)
 
 (!type struct 1443 nil  gc_unused "vlr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1444 nil  gc_unused "loc_descr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1445 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1446 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1447 
  (!type pointer 1448 nil  gc_used
   (!type already_seen 1447)
  )
  gc_pointed_to "vec<die_arg_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3114)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 3114)
    nil )
   (!pair  "die_arg_entry"
    (!type struct 1449 nil  gc_used "die_arg_entry_struct"
     (!srcfileloc  "dwarf2out.c" 2923)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 469)
       (!srcfileloc  "dwarf2out.c" 2921)
       nil )
      (!pair  "arg"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 2922)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 3114)
    nil )
  )
 )
 
 (!type user_struct 1450 
  (!type pointer 1451 nil  gc_used
   (!type already_seen 1450)
  )
  gc_pointed_to "vec<macinfo_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3067)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 3067)
    nil )
   (!pair  "macinfo_entry"
    (!type struct 1452 nil  gc_used "macinfo_struct"
     (!srcfileloc  "dwarf2out.c" 2753)
     (!fields 3 
      (!pair  "code"
       (!type already_seen 15)
       (!srcfileloc  "dwarf2out.c" 2750)
       nil )
      (!pair  "lineno"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.c" 2751)
       nil )
      (!pair  "info"
       (!type already_seen 39)
       (!srcfileloc  "dwarf2out.c" 2752)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 3067)
    nil )
  )
 )
 
 (!type user_struct 1453 
  (!type pointer 1454 nil  gc_used
   (!type already_seen 1453)
  )
  gc_pointed_to "vec<pubname_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3059)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 3059)
    nil )
   (!pair  "pubname_entry"
    (!type struct 1455 nil  gc_used "pubname_struct"
     (!srcfileloc  "dwarf2out.c" 2737)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 469)
       (!srcfileloc  "dwarf2out.c" 2735)
       nil )
      (!pair  "name"
       (!type already_seen 39)
       (!srcfileloc  "dwarf2out.c" 2736)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 3059)
    nil )
  )
 )
 
 (!type user_struct 1456 
  (!type pointer 1457 nil  gc_used
   (!type already_seen 1456)
  )
  gc_pointed_to "vec<dw_line_info_table*,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3051)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 3051)
    nil )
   (!pair  "dw_line_info_table"
    (!type pointer 1458 nil  gc_used
     (!type struct 1459 
      (!type already_seen 1458)
      gc_pointed_to "dw_line_info_table"
      (!srcfileloc  "dwarf2out.c" 3047)
      (!fields 8 
       (!pair  "end_label"
        (!type already_seen 39)
        (!srcfileloc  "dwarf2out.c" 2661)
        nil )
       (!pair  "file_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2665)
        nil )
       (!pair  "line_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2666)
        nil )
       (!pair  "column_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2667)
        nil )
       (!pair  "discrim_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2668)
        nil )
       (!pair  "is_stmt"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2669)
        nil )
       (!pair  "in_use"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2670)
        nil )
       (!pair  "entries"
        (!type pointer 1460 nil  gc_used
         (!type user_struct 1461 
          (!type already_seen 1460)
          gc_pointed_to "vec<dw_line_info_entry,va_gc>"
          (!srcfileloc  "dwarf2out.c" 2672)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "dwarf2out.c" 2672)
            nil )
           (!pair  "dw_line_info_entry"
            (!type struct 1462 nil  gc_used "dw_line_info_struct"
             (!srcfileloc  "dwarf2out.c" 2656)
             (!fields 2 
              (!pair  "opcode"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2654)
               nil )
              (!pair  "val"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2655)
               nil )
             )
             nil 1023 nil nil )
            (!srcfileloc  "dwarf2out.c" 2672)
            nil )
          )
         )
        )
        (!srcfileloc  "dwarf2out.c" 2672)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 3051)
    nil )
  )
 )
 
 (!type user_struct 1463 
  (!type pointer 1464 nil  gc_used
   (!type already_seen 1463)
  )
  gc_pointed_to "hash_table<dw_loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 3014)
  (!fields 1 
   (!pair  "dw_loc_list_hasher"
    (!type struct 1465 nil  gc_used "dw_loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 3014)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 3014)
    nil )
  )
 )
 
 (!type already_seen 1465)
 
 (!type struct 1466 nil  gc_pointed_to "cached_dw_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 3001)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2997)
    nil )
   (!pair  "loc_list"
    (!type already_seen 461)
    (!srcfileloc  "dwarf2out.c" 3000)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type user_struct 1467 
  (!type pointer 1468 nil  gc_used
   (!type already_seen 1467)
  )
  gc_pointed_to "hash_table<decl_loc_hasher>"
  (!srcfileloc  "dwarf2out.c" 2983)
  (!fields 1 
   (!pair  "decl_loc_hasher"
    (!type struct 1469 nil  gc_used "decl_loc_hasher"
     (!srcfileloc  "dwarf2out.c" 2983)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2983)
    nil )
  )
 )
 
 (!type already_seen 1469)
 
 (!type struct 1470 
  (!type pointer 1471 nil  gc_used
   (!type already_seen 1470)
  )
  gc_pointed_to "call_arg_loc_node"
  (!srcfileloc  "dwarf2out.c" 2971)
  (!fields 6 
   (!pair  "call_arg_loc_note"
    (!type already_seen 135)
    (!srcfileloc  "dwarf2out.c" 2965)
    nil )
   (!pair  "label"
    (!type already_seen 39)
    (!srcfileloc  "dwarf2out.c" 2966)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2967)
    nil )
   (!pair  "tail_call_p"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2968)
    nil )
   (!pair  "symbol_ref"
    (!type already_seen 135)
    (!srcfileloc  "dwarf2out.c" 2969)
    nil )
   (!pair  "next"
    (!type already_seen 1471)
    (!srcfileloc  "dwarf2out.c" 2970)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1023 nil nil )
 
 (!type struct 1472 nil  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2960)
  (!fields 4 
   (!pair  "first"
    (!type pointer 1473 nil  gc_used
     (!type struct 1474 
      (!type already_seen 1473)
      gc_pointed_to "var_loc_node"
      (!srcfileloc  "dwarf2out.c" 2939)
      (!fields 3 
       (!pair  "loc"
        (!type already_seen 135)
        (!srcfileloc  "dwarf2out.c" 2936)
        nil )
       (!pair  "label"
        (!type already_seen 39)
        (!srcfileloc  "dwarf2out.c" 2937)
        nil )
       (!pair  "next"
        (!type already_seen 1473)
        (!srcfileloc  "dwarf2out.c" 2938)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      1023 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2943)
    nil )
   (!pair  "last"
    (!type already_seen 1473)
    (!srcfileloc  "dwarf2out.c" 2951)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1473)
    (!srcfileloc  "dwarf2out.c" 2956)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2959)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type already_seen 1474)
 
 (!type already_seen 1449)
 
 (!type user_struct 1475 
  (!type pointer 1476 nil  gc_used
   (!type already_seen 1475)
  )
  gc_pointed_to "hash_table<block_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 2918)
  (!fields 1 
   (!pair  "block_die_hasher"
    (!type struct 1477 nil  gc_used "block_die_hasher"
     (!srcfileloc  "dwarf2out.c" 2918)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2918)
    nil )
  )
 )
 
 (!type already_seen 1477)
 
 (!type user_struct 1478 
  (!type pointer 1479 nil  gc_used
   (!type already_seen 1478)
  )
  gc_pointed_to "hash_table<decl_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 2908)
  (!fields 1 
   (!pair  "decl_die_hasher"
    (!type struct 1480 nil  gc_used "decl_die_hasher"
     (!srcfileloc  "dwarf2out.c" 2908)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2908)
    nil )
  )
 )
 
 (!type already_seen 1480)
 
 (!type user_struct 1481 
  (!type pointer 1482 nil  gc_used
   (!type already_seen 1481)
  )
  gc_pointed_to "hash_table<dwarf_file_hasher>"
  (!srcfileloc  "dwarf2out.c" 2897)
  (!fields 1 
   (!pair  "dwarf_file_hasher"
    (!type struct 1483 nil  gc_used "dwarf_file_hasher"
     (!srcfileloc  "dwarf2out.c" 2897)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2897)
    nil )
  )
 )
 
 (!type already_seen 1483)
 
 (!type struct 1484 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1485 
  (!type pointer 1486 nil  gc_used
   (!type already_seen 1485)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 2781)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 469)
    (!srcfileloc  "dwarf2out.c" 2776)
    nil )
   (!pair  "created_for"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2779)
    nil )
   (!pair  "next"
    (!type already_seen 1486)
    (!srcfileloc  "dwarf2out.c" 2780)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1487 
  (!type pointer 1488 nil  gc_used
   (!type already_seen 1487)
  )
  gc_pointed_to "dw_ranges_by_label"
  (!srcfileloc  "dwarf2out.c" 3087)
  (!fields 2 
   (!pair  "begin"
    (!type already_seen 39)
    (!srcfileloc  "dwarf2out.c" 2758)
    nil )
   (!pair  "end"
    (!type already_seen 39)
    (!srcfileloc  "dwarf2out.c" 2759)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 1452)
 
 (!type struct 1489 
  (!type pointer 1490 nil  gc_used
   (!type already_seen 1489)
  )
  gc_pointed_to "dw_ranges"
  (!srcfileloc  "dwarf2out.c" 3077)
  (!fields 1 
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2744)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 1455)
 
 (!type struct 1491 nil  gc_unused "set_early_dwarf"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 477)
 
 (!type already_seen 472)
 
 (!type already_seen 478)
 
 (!type already_seen 1459)
 
 (!type already_seen 1461)
 
 (!type already_seen 1462)
 
 (!type already_seen 474)
 
 (!type already_seen 459)
 
 (!type user_struct 1492 
  (!type pointer 1493 nil  gc_used
   (!type already_seen 1492)
  )
  gc_pointed_to "hash_table<indirect_string_hasher>"
  (!srcfileloc  "dwarf2out.c" 224)
  (!fields 1 
   (!pair  "indirect_string_hasher"
    (!type struct 1494 nil  gc_used "indirect_string_hasher"
     (!srcfileloc  "dwarf2out.c" 224)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 224)
    nil )
  )
 )
 
 (!type already_seen 1494)
 
 (!type user_struct 1495 
  (!type pointer 1496 nil  gc_used
   (!type already_seen 1495)
  )
  gc_pointed_to "vec<dw_fde_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 206)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 206)
    nil )
   (!pair  "dw_fde_ref"
    (!type already_seen 446)
    (!srcfileloc  "dwarf2out.c" 206)
    nil )
  )
 )
 
 (!type struct 1497 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1498 nil  gc_unused "init_one_dwarf_reg_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1499 nil  gc_unused "queued_reg_save"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1500 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1501 nil  gc_unused "dw_trace_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1502 
  (!type pointer 1503 nil  gc_used
   (!type already_seen 1502)
  )
  gc_pointed_to "reg_saved_in_data"
  (!srcfileloc  "dwarf2cfi.c" 183)
  (!fields 2 
   (!pair  "orig_reg"
    (!type already_seen 135)
    (!srcfileloc  "dwarf2cfi.c" 72)
    nil )
   (!pair  "saved_in_reg"
    (!type already_seen 135)
    (!srcfileloc  "dwarf2cfi.c" 73)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1504 
  (!type pointer 1505 nil  gc_used
   (!type already_seen 1504)
  )
  gc_pointed_to "dw_cfi_row"
  (!srcfileloc  "dwarf2cfi.c" 181)
  (!fields 3 
   (!pair  "cfa"
    (!type struct 1506 nil  gc_used "dw_cfa_location"
     (!srcfileloc  "dwarf2cfi.c" 63)
     (!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" 63)
    nil )
   (!pair  "cfa_cfi"
    (!type already_seen 450)
    (!srcfileloc  "dwarf2cfi.c" 64)
    nil )
   (!pair  "reg_save"
    (!type already_seen 448)
    (!srcfileloc  "dwarf2cfi.c" 67)
    nil )
  )
  nil 1023 nil nil )
 
 (!type user_struct 1507 
  (!type pointer 1508 nil  gc_used
   (!type already_seen 1507)
  )
  gc_pointed_to "hash_map<char*,tree>"
  (!srcfileloc  "dwarf2asm.c" 793)
  (!fields 1 
   (!pair  "tree"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2asm.c" 793)
    nil )
  )
 )
 
 (!type struct 1509 nil  gc_unused "fixed_point_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1510 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 460)
 
 (!type already_seen 484)
 
 (!type already_seen 482)
 
 (!type already_seen 480)
 
 (!type already_seen 468)
 
 (!type already_seen 458)
 
 (!type already_seen 485)
 
 (!type already_seen 486)
 
 (!type already_seen 467)
 
 (!type already_seen 1506)
 
 (!type already_seen 449)
 
 (!type already_seen 452)
 
 (!type already_seen 488)
 
 (!type already_seen 462)
 
 (!type already_seen 454)
 
 (!type already_seen 451)
 
 (!type already_seen 455)
 
 (!type struct 1511 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1512 
  (!type pointer 1513 nil  gc_used
   (!type already_seen 1512)
  )
  gc_pointed_to "typeinfo"
  (!srcfileloc  "dbxout.c" 171)
  (!fields 3 
   (!pair  "status"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 168)
    nil )
   (!pair  "file_number"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 169)
    nil )
   (!pair  "type_number"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 170)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 997)
 
 (!type struct 1514 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1515 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1034)
 
 (!type already_seen 1127)
 
 (!type struct 1516 nil  gc_unused "ipa_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1517 nil  gc_unused "value_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1518 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1519 nil  gc_unused "ipcp_param_lattices"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1520 nil  gc_unused "ipcp_alignment_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1521 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1522 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1523 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1524 nil  gc_unused "ipcp_value_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1525 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1526 nil  gc_unused "ipcp_modif_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1527 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1528 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1529 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1120)
 
 (!type already_seen 1145)
 
 (!type struct 1530 nil  gc_unused "inline_edge_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1531 nil  gc_unused "ipa_func_body_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1532 nil  gc_unused "analysis_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1123)
 
 (!type struct 1533 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1534 nil  gc_unused "ipa_param_aa_status"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1535 nil  gc_unused "ipa_bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1536 nil  gc_unused "prop_type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1131)
 
 (!type already_seen 1126)
 
 (!type struct 1537 nil  gc_unused "ipa_node_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1136)
 
 (!type already_seen 359)
 
 (!type user_struct 1538 
  (!type pointer 1539 nil  gc_used
   (!type already_seen 1538)
  )
  gc_pointed_to "hash_table<function_version_hasher>"
  (!srcfileloc  "cgraph.c" 114)
  (!fields 1 
   (!pair  "function_version_hasher"
    (!type struct 1540 nil  gc_used "function_version_hasher"
     (!srcfileloc  "cgraph.c" 114)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.c" 114)
    nil )
  )
 )
 
 (!type already_seen 1540)
 
 (!type struct 1541 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1542 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1543 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1544 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1545 
  (!type pointer 1546 nil  gc_used
   (!type already_seen 1545)
  )
  gc_pointed_to "vec<alias_set_entry*,va_gc>"
  (!srcfileloc  "alias.c" 278)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "alias.c" 278)
    nil )
   (!pair  "alias_set_entry"
    (!type pointer 1547 nil  gc_used
     (!type struct 1548 
      (!type already_seen 1547)
      gc_pointed_to "alias_set_entry"
      (!srcfileloc  "alias.c" 147)
      (!fields 5 
       (!pair  "alias_set"
        (!type already_seen 9)
        (!srcfileloc  "alias.c" 126)
        nil )
       (!pair  "children"
        (!type pointer 1549 nil  gc_used
         (!type user_struct 1550 
          (!type already_seen 1549)
          gc_pointed_to "hash_map<alias_set_hash,int>"
          (!srcfileloc  "alias.c" 135)
          (!fields 2 
           (!pair  "int"
            (!type already_seen 406)
            (!srcfileloc  "alias.c" 135)
            nil )
           (!pair  "alias_set_hash"
            (!type struct 1551 nil  gc_used "alias_set_hash"
             (!srcfileloc  "alias.c" 135)
             (!fields 0 )
             nil 1023 nil nil )
            (!srcfileloc  "alias.c" 135)
            nil )
          )
         )
        )
        (!srcfileloc  "alias.c" 135)
        nil )
       (!pair  "has_zero_child"
        (!type already_seen 9)
        (!srcfileloc  "alias.c" 139)
        nil )
       (!pair  "is_pointer"
        (!type already_seen 9)
        (!srcfileloc  "alias.c" 144)
        nil )
       (!pair  "has_pointer"
        (!type already_seen 9)
        (!srcfileloc  "alias.c" 146)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "alias.c" 278)
    nil )
  )
 )
 
 (!type already_seen 1548)
 
 (!type already_seen 406)
 
 (!type already_seen 1550)
 
 (!type already_seen 1551)
 
 (!type struct 1552 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1553 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1554 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 592)
 
 (!type struct 1555 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1268)
 
 (!type struct 1556 nil  gc_pointed_to "constant_descriptor_tree"
  (!srcfileloc  "cgraph.h" 2775)
  (!fields 3 
   (!pair  "rtl"
    (!type already_seen 135)
    (!srcfileloc  "cgraph.h" 2766)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 2769)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2774)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type undefined 1557 
  (!type pointer 1558 nil  gc_unused
   (!type already_seen 1557)
  )
  gc_unused "FILE"
  (!srcfileloc  "cgraph.h" 2182)
 )
 
 (!type user_struct 1559 
  (!type pointer 1560 nil  gc_used
   (!type already_seen 1559)
  )
  gc_pointed_to "hash_map<symtab_node*,symbol_priority_map>"
  (!srcfileloc  "cgraph.h" 2180)
  (!fields 2 
   (!pair  "symbol_priority_map"
    (!type struct 1561 
     (!type pointer 1562 nil  gc_unused
      (!type already_seen 1561)
     )
     gc_used "symbol_priority_map"
     (!srcfileloc  "cgraph.h" 2180)
     (!fields 2 
      (!pair  "init"
       (!type already_seen 9)
       (!srcfileloc  "cgraph.h" 1901)
       nil )
      (!pair  "fini"
       (!type already_seen 9)
       (!srcfileloc  "cgraph.h" 1902)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.h" 2180)
    nil )
   (!pair  "symtab_node"
    (!type already_seen 346)
    (!srcfileloc  "cgraph.h" 2180)
    nil )
  )
 )
 
 (!type user_struct 1563 
  (!type pointer 1564 nil  gc_used
   (!type already_seen 1563)
  )
  gc_pointed_to "hash_table<asmname_hasher>"
  (!srcfileloc  "cgraph.h" 2177)
  (!fields 1 
   (!pair  "asmname_hasher"
    (!type struct 1565 nil  gc_used "asmname_hasher"
     (!srcfileloc  "cgraph.h" 2177)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.h" 2177)
    nil )
  )
 )
 
 (!type user_struct 1566 
  (!type pointer 1567 nil  gc_used
   (!type already_seen 1566)
  )
  gc_pointed_to "hash_table<section_name_hasher>"
  (!srcfileloc  "cgraph.h" 2174)
  (!fields 1 
   (!pair  "section_name_hasher"
    (!type struct 1568 nil  gc_used "section_name_hasher"
     (!srcfileloc  "cgraph.h" 2174)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.h" 2174)
    nil )
  )
 )
 
 (!type struct 1569 
  (!type pointer 1570 nil  gc_used
   (!type already_seen 1569)
  )
  gc_pointed_to "symbol_table"
  (!srcfileloc  "cgraph.h" 2229)
  (!fields 26 
   (!pair  "cgraph_count"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2143)
    nil )
   (!pair  "cgraph_max_uid"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2144)
    nil )
   (!pair  "cgraph_max_summary_uid"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2145)
    nil )
   (!pair  "edges_count"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2147)
    nil )
   (!pair  "edges_max_uid"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2148)
    nil )
   (!pair  "nodes"
    (!type already_seen 346)
    (!srcfileloc  "cgraph.h" 2150)
    nil )
   (!pair  "asmnodes"
    (!type pointer 1571 nil  gc_used
     (!type struct 1572 
      (!type already_seen 1571)
      gc_pointed_to "asm_node"
      (!srcfileloc  "cgraph.h" 1859)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1571)
        (!srcfileloc  "cgraph.h" 1854)
        nil )
       (!pair  "asm_str"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 1856)
        nil )
       (!pair  "order"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 1858)
        nil )
      )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2151)
    nil )
   (!pair  "asm_last_node"
    (!type already_seen 1571)
    (!srcfileloc  "cgraph.h" 2152)
    nil )
   (!pair  "free_nodes"
    (!type already_seen 1065)
    (!srcfileloc  "cgraph.h" 2153)
    nil )
   (!pair  "free_edges"
    (!type already_seen 1068)
    (!srcfileloc  "cgraph.h" 2157)
    nil )
   (!pair  "order"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2162)
    nil )
   (!pair  "global_info_ready"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2165)
    nil )
   (!pair  "state"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2167)
    nil )
   (!pair  "function_flags_ready"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2169)
    nil )
   (!pair  "cpp_implicit_aliases_done"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 2171)
    nil )
   (!pair  "section_hash"
    (!type already_seen 1567)
    (!srcfileloc  "cgraph.h" 2174)
    nil )
   (!pair  "assembler_name_hash"
    (!type already_seen 1564)
    (!srcfileloc  "cgraph.h" 2177)
    nil )
   (!pair  "init_priority_hash"
    (!type already_seen 1560)
    (!srcfileloc  "cgraph.h" 2180)
    nil )
   (!pair  "dump_file"
    (!type already_seen 1558)
    (!srcfileloc  "cgraph.h" 2182)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_removal_hook"
    (!type pointer 1573 nil  gc_unused
     (!type struct 1574 
      (!type already_seen 1573)
      gc_unused "cgraph_edge_hook_list"
      (!srcfileloc  "cgraph.h" 2062)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2216)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_removal_hook"
    (!type pointer 1575 nil  gc_unused
     (!type struct 1576 
      (!type already_seen 1575)
      gc_unused "cgraph_node_hook_list"
      (!srcfileloc  "cgraph.h" 2069)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2218)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_duplicated_hook"
    (!type pointer 1577 nil  gc_unused
     (!type struct 1578 
      (!type already_seen 1577)
      gc_unused "cgraph_2edge_hook_list"
      (!srcfileloc  "cgraph.h" 2097)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2220)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_duplicated_hook"
    (!type pointer 1579 nil  gc_unused
     (!type struct 1580 
      (!type already_seen 1579)
      gc_unused "cgraph_2node_hook_list"
      (!srcfileloc  "cgraph.h" 2103)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2222)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_insertion_hook"
    (!type already_seen 1575)
    (!srcfileloc  "cgraph.h" 2224)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_insertion_hook"
    (!type pointer 1581 nil  gc_unused
     (!type struct 1582 
      (!type already_seen 1581)
      gc_unused "varpool_node_hook_list"
      (!srcfileloc  "cgraph.h" 2076)
      (!fields 0 )
      nil 1023 nil nil )
    )
    (!srcfileloc  "cgraph.h" 2226)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_removal_hook"
    (!type already_seen 1581)
    (!srcfileloc  "cgraph.h" 2228)
    (!options 
     (!option skip string  "")
    )
   )
  )
  (!options 
   (!option tag string  "SYMTAB")
  )
  1023 nil nil )
 
 (!type already_seen 1565)
 
 (!type already_seen 1580)
 
 (!type already_seen 1578)
 
 (!type already_seen 1582)
 
 (!type already_seen 1576)
 
 (!type already_seen 1574)
 
 (!type already_seen 1572)
 
 (!type undefined 1583 nil  gc_unused "availability"
  (!srcfileloc  "cgraph.h" 1734)
 )
 
 (!type already_seen 1077)
 
 (!type already_seen 1078)
 
 (!type struct 1584 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1585 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1586 
  (!type pointer 1587 nil  gc_unused
   (!type already_seen 1586)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1588 
  (!type pointer 1589 nil  gc_unused
   (!type already_seen 1588)
  )
  gc_unused "cgraph_node_set_def"
  (!srcfileloc  "cgraph.h" 1395)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type already_seen 1086)
 
 (!type already_seen 1080)
 
 (!type user_struct 1590 nil  gc_unused "vec<cgraph_edge*>"
  (!srcfileloc  "cgraph.h" 1082)
  (!fields 1 
   (!pair  "cgraph_edge"
    (!type already_seen 1068)
    (!srcfileloc  "cgraph.h" 1082)
    nil )
  )
 )
 
 (!type already_seen 1081)
 
 (!type already_seen 1069)
 
 (!type struct 1591 
  (!type pointer 1592 nil  gc_used
   (!type already_seen 1591)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 818)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 1065)
    (!srcfileloc  "cgraph.h" 799)
    nil )
   (!pair  "prev"
    (!type already_seen 1592)
    (!srcfileloc  "cgraph.h" 803)
    nil )
   (!pair  "next"
    (!type already_seen 1592)
    (!srcfileloc  "cgraph.h" 807)
    nil )
   (!pair  "dispatcher_resolver"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 817)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type already_seen 1083)
 
 (!type already_seen 1085)
 
 (!type already_seen 1093)
 
 (!type already_seen 1095)
 
 (!type already_seen 1097)
 
 (!type already_seen 1090)
 
 (!type already_seen 1089)
 
 (!type already_seen 1098)
 
 (!type already_seen 1561)
 
 (!type already_seen 357)
 
 (!type already_seen 1568)
 
 (!type already_seen 375)
 
 (!type already_seen 1088)
 
 (!type already_seen 354)
 
 (!type already_seen 351)
 
 (!type already_seen 352)
 
 (!type already_seen 348)
 
 (!type struct 1593 nil  gc_pointed_to "varpool_node"
  (!srcfileloc  "cgraph.h" 1846)
  (!fields 6 
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1723)
    nil )
   (!pair  "output"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1820)
    nil )
   (!pair  "need_bounds_init"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1824)
    nil )
   (!pair  "dynamically_initialized"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1828)
    nil )
   (!pair  "tls_model"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1830)
    nil )
   (!pair  "used_by_single_function"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1836)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_VARIABLE")
  )
  1023 nil 
  (!type already_seen 347)
 )
 
 (!type already_seen 1067)
 
 (!type struct 1594 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 322)
 
 (!type already_seen 324)
 
 (!type already_seen 321)
 
 (!type already_seen 301)
 
 (!type already_seen 323)
 
 (!type already_seen 328)
 
 (!type struct 1595 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1596 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1597 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 413)
 
 (!type already_seen 602)
 
 (!type struct 1598 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1599 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1600 nil  gc_unused "eni_weights"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 436)
 
 (!type already_seen 318)
 
 (!type already_seen 308)
 
 (!type already_seen 314)
 
 (!type already_seen 305)
 
 (!type already_seen 437)
 
 (!type already_seen 316)
 
 (!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 1601 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1602 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1603 
  (!type pointer 1604 nil  gc_used
   (!type already_seen 1603)
  )
  gc_pointed_to "hash_table<used_type_hasher>"
  (!srcfileloc  "function.h" 429)
  (!fields 1 
   (!pair  "used_type_hasher"
    (!type struct 1605 nil  gc_used "used_type_hasher"
     (!srcfileloc  "function.h" 429)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 429)
    nil )
  )
 )
 
 (!type already_seen 1605)
 
 (!type struct 1606 nil  gc_pointed_to "types_used_by_vars_entry"
  (!srcfileloc  "function.h" 416)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 414)
    nil )
   (!pair  "var_decl"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 415)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type already_seen 445)
 
 (!type already_seen 77)
 
 (!type already_seen 441)
 
 (!type already_seen 434)
 
 (!type already_seen 411)
 
 (!type already_seen 387)
 
 (!type already_seen 439)
 
 (!type already_seen 1414)
 
 (!type already_seen 1402)
 
 (!type already_seen 1398)
 
 (!type already_seen 1400)
 
 (!type already_seen 447)
 
 (!type already_seen 417)
 
 (!type already_seen 1403)
 
 (!type already_seen 1406)
 
 (!type already_seen 409)
 
 (!type already_seen 1408)
 
 (!type already_seen 1392)
 
 (!type already_seen 1395)
 
 (!type already_seen 1396)
 
 (!type struct 1607 nil  gc_unused "format_helper"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1608 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1609 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1610 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 596)
 
 (!type already_seen 599)
 
 (!type already_seen 600)
 
 (!type struct 1611 nil  gc_pointed_to "libfunc_entry"
  (!srcfileloc  "libfuncs.h" 60)
  (!fields 4 
   (!pair  "op"
    (!type already_seen 9)
    (!srcfileloc  "libfuncs.h" 58)
    nil )
   (!pair  "mode1"
    (!type already_seen 9)
    (!srcfileloc  "libfuncs.h" 58)
    nil )
   (!pair  "mode2"
    (!type already_seen 9)
    (!srcfileloc  "libfuncs.h" 58)
    nil )
   (!pair  "libfunc"
    (!type already_seen 135)
    (!srcfileloc  "libfuncs.h" 59)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type user_struct 1612 
  (!type pointer 1613 nil  gc_used
   (!type already_seen 1612)
  )
  gc_pointed_to "vec<alias_pair,va_gc>"
  (!srcfileloc  "tree-core.h" 1969)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-core.h" 1969)
    nil )
   (!pair  "alias_pair"
    (!type struct 1614 nil  gc_used "alias_pair"
     (!srcfileloc  "tree-core.h" 1969)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 807)
       nil )
      (!pair  "target"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 808)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "tree-core.h" 1969)
    nil )
  )
 )
 
 (!type struct 1615 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 2004)
  (!fields 3 
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1943)
    nil )
   (!pair  "implicit_p"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1946)
    nil )
   (!pair  "declared_p"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1948)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1616 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1617 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1618 nil  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 1921)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 1017)
    (!srcfileloc  "tree-core.h" 1919)
    nil )
   (!pair  "to"
    (!type already_seen 49)
    (!srcfileloc  "tree-core.h" 1920)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1619 nil  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 1915)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 1017)
    (!srcfileloc  "tree-core.h" 1913)
    nil )
   (!pair  "to"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1914)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1620 nil  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 1909)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 1017)
    (!srcfileloc  "tree-core.h" 1907)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1908)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type struct 1621 nil  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 1903)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 1017)
    (!srcfileloc  "tree-core.h" 1900)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1901)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1902)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1023 nil nil )
 
 (!type already_seen 1017)
 
 (!type struct 1622 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1623 
  (!type pointer 1624 nil  gc_unused
   (!type already_seen 1623)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1625 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 617)
 
 (!type already_seen 573)
 
 (!type already_seen 575)
 
 (!type already_seen 568)
 
 (!type already_seen 572)
 
 (!type already_seen 561)
 
 (!type already_seen 563)
 
 (!type already_seen 382)
 
 (!type already_seen 489)
 
 (!type already_seen 383)
 
 (!type already_seen 344)
 
 (!type already_seen 377)
 
 (!type already_seen 345)
 
 (!type already_seen 347)
 
 (!type already_seen 376)
 
 (!type already_seen 381)
 
 (!type already_seen 380)
 
 (!type already_seen 379)
 
 (!type already_seen 378)
 
 (!type already_seen 134)
 
 (!type already_seen 41)
 
 (!type already_seen 43)
 
 (!type already_seen 40)
 
 (!type already_seen 560)
 
 (!type already_seen 543)
 
 (!type already_seen 492)
 
 (!type already_seen 494)
 
 (!type already_seen 490)
 
 (!type already_seen 491)
 
 (!type already_seen 559)
 
 (!type already_seen 50)
 
 (!type already_seen 565)
 
 (!type already_seen 566)
 
 (!type struct 1626 nil  gc_used "phi_arg_d"
  (!srcfileloc  "tree-core.h" 1366)
  (!fields 3 
   (!pair  "imm_use"
    (!type already_seen 556)
    (!srcfileloc  "tree-core.h" 1363)
    nil )
   (!pair  "def"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1364)
    nil )
   (!pair  "locus"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1365)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 550)
 
 (!type already_seen 551)
 
 (!type already_seen 558)
 
 (!type already_seen 556)
 
 (!type already_seen 547)
 
 (!type already_seen 548)
 
 (!type already_seen 564)
 
 (!type already_seen 513)
 
 (!type already_seen 514)
 
 (!type already_seen 545)
 
 (!type already_seen 544)
 
 (!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 1614)
 
 (!type already_seen 471)
 
 (!type already_seen 555)
 
 (!type already_seen 553)
 
 (!type struct 1627 nil  gc_used "int_n_trees_t"
  (!srcfileloc  "tree.h" 5364)
  (!fields 2 
   (!pair  "signed_type"
    (!type already_seen 5)
    (!srcfileloc  "tree.h" 5362)
    nil )
   (!pair  "unsigned_type"
    (!type already_seen 5)
    (!srcfileloc  "tree.h" 5363)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1628 nil  gc_unused "extended_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1284)
 
 (!type struct 1629 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1092)
 
 (!type struct 1630 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 581)
 
 (!type struct 1631 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1632 nil  gc_unused "std::pair<rtx,machine_mode>"
  (!srcfileloc  "rtl.h" 2068)
  (!fields 2 
   (!pair  "machine_mode"
    (!type already_seen 9)
    (!srcfileloc  "rtl.h" 2068)
    nil )
   (!pair  "rtx"
    (!type already_seen 135)
    (!srcfileloc  "rtl.h" 2068)
    nil )
  )
 )
 
 (!type struct 1633 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1634 nil  gc_unused "subreg_shape"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1635 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 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 342)
 
 (!type already_seen 343)
 
 (!type already_seen 253)
 
 (!type already_seen 297)
 
 (!type already_seen 255)
 
 (!type union 1636 nil  gc_unused "u"
  (!srcfileloc  "rtl.h" 423)
  (!fields 7 
   (!pair  "fld"
    (!type array 1637 nil  gc_unused "1" 
     (!type already_seen 242)
    )
    (!srcfileloc  "rtl.h" 416)
    nil )
   (!pair  "hwint"
    (!type array 1638 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "rtl.h" 417)
    nil )
   (!pair  "reg"
    (!type struct 1639 nil  gc_unused "reg_info"
     (!srcfileloc  "rtl.h" 227)
     (!fields 4 
      (!pair  "regno"
       (!type already_seen 9)
       (!srcfileloc  "rtl.h" 219)
       nil )
      (!pair  "nregs"
       (!type already_seen 9)
       (!srcfileloc  "rtl.h" 222)
       nil )
      (!pair  "unused"
       (!type already_seen 9)
       (!srcfileloc  "rtl.h" 223)
       nil )
      (!pair  "attrs"
       (!type already_seen 269)
       (!srcfileloc  "rtl.h" 226)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "rtl.h" 418)
    nil )
   (!pair  "block_sym"
    (!type already_seen 240)
    (!srcfileloc  "rtl.h" 419)
    nil )
   (!pair  "rv"
    (!type already_seen 25)
    (!srcfileloc  "rtl.h" 420)
    nil )
   (!pair  "fv"
    (!type already_seen 29)
    (!srcfileloc  "rtl.h" 421)
    nil )
   (!pair  "hwiv"
    (!type struct 1640 
     (!type pointer 1641 nil  gc_unused
      (!type already_seen 1640)
     )
     gc_unused "hwivec_def"
     (!srcfileloc  "rtl.h" 279)
     (!fields 1 
      (!pair  "elem"
       (!type array 1642 nil  gc_unused "1" 
        (!type already_seen 9)
       )
       (!srcfileloc  "rtl.h" 278)
       nil )
     )
     (!options 
      (!option variable_size string  "")
     )
     1023 nil nil )
    (!srcfileloc  "rtl.h" 422)
    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 already_seen 1639)
 
 (!type union 1643 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type already_seen 270)
 
 (!type already_seen 259)
 
 (!type struct 1644 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1645 nil  gc_unused "gcov_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1646 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1647 
  (!type pointer 1648 nil  gc_used
   (!type already_seen 1647)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 62)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1648)
    (!srcfileloc  "coverage.c" 56)
    nil )
   (!pair  "ident"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 57)
    nil )
   (!pair  "lineno_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 58)
    nil )
   (!pair  "cfg_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 59)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 5)
    (!srcfileloc  "coverage.c" 60)
    nil )
   (!pair  "ctr_vars"
    (!type array 1649 nil  gc_used "GCOV_COUNTERS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "coverage.c" 61)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1023 nil nil )
 
 (!type struct 1650 nil  gc_unused "never_used2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1651 nil  gc_unused "never_used1"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1652 nil  gc_unused "hwi_with_prec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1653 nil  gc_unused "primitive_int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1654 nil  gc_unused "trailing_wide_ints"
  (!srcfileloc  "wide-int.h" 1299)
  (!fields 4 
   (!pair  "m_precision"
    (!type already_seen 9)
    (!srcfileloc  "wide-int.h" 1283)
    nil )
   (!pair  "m_max_len"
    (!type already_seen 15)
    (!srcfileloc  "wide-int.h" 1286)
    nil )
   (!pair  "m_len"
    (!type array 1655 nil  gc_unused "N" 
     (!type already_seen 15)
    )
    (!srcfileloc  "wide-int.h" 1289)
    nil )
   (!pair  "m_val"
    (!type array 1656 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "wide-int.h" 1293)
    nil )
  )
  nil 1023 nil nil )
 
 (!type user_struct 1657 nil  gc_unused "generic_wide_int<trailing_wide_int_storage>"
  (!srcfileloc  "wide-int.h" 1264)
  (!fields 1 
   (!pair  "trailing_wide_int_storage"
    (!type struct 1658 nil  gc_unused "trailing_wide_int_storage"
     (!srcfileloc  "wide-int.h" 1264)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "wide-int.h" 1264)
    nil )
  )
 )
 
 (!type already_seen 1658)
 
 (!type struct 1659 nil  gc_unused "fixed_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1133)
  (!fields 2 
   (!pair  "val"
    (!type array 1660 nil  gc_unused "(N + HOST_BITS_PER_WIDE_INT + 1) / HOST_BITS_PER_WIDE_INT" 
     (!type already_seen 9)
    )
    (!srcfileloc  "wide-int.h" 1115)
    nil )
   (!pair  "len"
    (!type already_seen 9)
    (!srcfileloc  "wide-int.h" 1116)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1661 nil  gc_unused "int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1662 nil  gc_unused "UNARY_OPERATOR"
  (!srcfileloc  "wide-int.h" 674)
 )
 
 (!type undefined 1663 nil  gc_unused "WI_UNARY_RESULT"
  (!srcfileloc  "wide-int.h" 660)
 )
 
 (!type struct 1664 nil  gc_unused "generic_wide_int"
  (!srcfileloc  "wide-int.h" 706)
  (!fields 0 )
  nil 1023 nil 
  (!type struct 1665 nil  gc_unused "storage"nil 
   (!fields 0 )
   nil 0 nil nil )
 )
 
 (!type already_seen 1665)
 
 (!type struct 1666 nil  gc_unused "storage_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1667 nil  gc_unused "T1"
  (!srcfileloc  "wide-int.h" 396)
 )
 
 (!type user_struct 1668 nil  gc_unused "int_traits<T1"
  (!srcfileloc  "wide-int.h" 396)
  (!fields 1 
   (!pair  "T1"
    (!type already_seen 1667)
    (!srcfileloc  "wide-int.h" 396)
    nil )
  )
 )
 
 (!type user_struct 1669 nil  gc_unused "fixed_wide_int_storage<int_traits<T1"
  (!srcfileloc  "wide-int.h" 396)
  (!fields 1 
   (!pair  "int_traits<T1"
    (!type already_seen 1668)
    (!srcfileloc  "wide-int.h" 396)
    nil )
  )
 )
 
 (!type user_struct 1670 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!srcfileloc  "wide-int.h" 396)
  (!fields 2 
   (!pair  "precision"
    (!type undefined 1671 nil  gc_unused "precision"
     (!srcfileloc  "wide-int.h" 381)
    )
    (!srcfileloc  "wide-int.h" 396)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T1"
    (!type already_seen 1669)
    (!srcfileloc  "wide-int.h" 396)
    nil )
  )
 )
 
 (!type already_seen 1671)
 
 (!type undefined 1672 nil  gc_unused "T2"
  (!srcfileloc  "wide-int.h" 381)
 )
 
 (!type user_struct 1673 nil  gc_unused "int_traits<T2"
  (!srcfileloc  "wide-int.h" 381)
  (!fields 1 
   (!pair  "T2"
    (!type already_seen 1672)
    (!srcfileloc  "wide-int.h" 381)
    nil )
  )
 )
 
 (!type user_struct 1674 nil  gc_unused "fixed_wide_int_storage<int_traits<T2"
  (!srcfileloc  "wide-int.h" 381)
  (!fields 1 
   (!pair  "int_traits<T2"
    (!type already_seen 1673)
    (!srcfileloc  "wide-int.h" 381)
    nil )
  )
 )
 
 (!type user_struct 1675 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!srcfileloc  "wide-int.h" 381)
  (!fields 2 
   (!pair  "precision"
    (!type already_seen 1671)
    (!srcfileloc  "wide-int.h" 381)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T2"
    (!type already_seen 1674)
    (!srcfileloc  "wide-int.h" 381)
    nil )
  )
 )
 
 (!type struct 1676 nil  gc_unused "unary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1677 nil  gc_unused "binary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1678 nil  gc_unused "false"
  (!srcfileloc  "wide-int.h" 293)
 )
 
 (!type user_struct 1679 nil  gc_unused "wide_int_ref_storage<false"
  (!srcfileloc  "wide-int.h" 293)
  (!fields 1 
   (!pair  "false"
    (!type already_seen 1678)
    (!srcfileloc  "wide-int.h" 293)
    nil )
  )
 )
 
 (!type user_struct 1680 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false>>"
  (!srcfileloc  "wide-int.h" 293)
  (!fields 1 
   (!pair  "wide_int_ref_storage<false"
    (!type already_seen 1679)
    (!srcfileloc  "wide-int.h" 293)
    nil )
  )
 )
 
 (!type struct 1681 nil  gc_unused "wide_int_ref_storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1682 nil  gc_unused "FIXED_WIDE_INT"
  (!srcfileloc  "wide-int.h" 287)
 )
 
 (!type already_seen 464)
 
 (!type already_seen 465)
 
 (!type struct 1683 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 1684 nil  gc_unused "bitmap_usage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1685 
  (!type pointer 1686 nil  gc_unused
   (!type already_seen 1685)
  )
  gc_unused "splay_tree_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1687 
  (!type pointer 1688 nil  gc_unused
   (!type already_seen 1687)
  )
  gc_unused "splay_tree_node_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 385)
 
 (!type struct 1689 nil  gc_unused "anonymous:../../gcc/config/arc/arc-arch.h:82"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1690 nil  gc_unused "anonymous:../../gcc/config/arc/arc-arch.h:64"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1691 nil  gc_unused "cpp_reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1692 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1693 nil  gc_unused "_dont_use_rtx_insn_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1694 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1695 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1696 nil  gc_unused "std::pair<tree,tree>"
  (!srcfileloc  "coretypes.h" 266)
  (!fields 2 
   (!pair  "tree"
    (!type already_seen 5)
    (!srcfileloc  "coretypes.h" 266)
    nil )
   (!pair  "tree"
    (!type already_seen 5)
    (!srcfileloc  "coretypes.h" 266)
    nil )
  )
 )
 
 (!type struct 1697 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1698 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 299)
 
 (!type already_seen 303)
 
 (!type struct 1699 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1700 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1701 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1702 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1703 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 570)
 
 (!type already_seen 616)
 
 (!type struct 1704 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 246)
 
 (!type struct 1705 nil  gc_pointed_to "gomp_teams"
  (!srcfileloc  "gimple.h" 756)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1245)
 )
 
 (!type struct 1706 nil  gc_pointed_to "gomp_target"
  (!srcfileloc  "gimple.h" 676)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1248)
 )
 
 (!type struct 1707 nil  gc_pointed_to "gomp_single"
  (!srcfileloc  "gimple.h" 749)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1245)
 )
 
 (!type struct 1708 nil  gc_pointed_to "gomp_sections"
  (!srcfileloc  "gimple.h" 714)
  (!fields 2 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 708)
    nil )
   (!pair  "control"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 713)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_SECTIONS")
  )
  1023 nil 
  (!type already_seen 1246)
 )
 
 (!type struct 1709 nil  gc_pointed_to "gomp_task"
  (!srcfileloc  "gimple.h" 693)
  (!fields 3 
   (!pair  "copy_fn"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 687)
    nil )
   (!pair  "arg_size"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 691)
    nil )
   (!pair  "arg_align"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 692)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_TASK")
  )
  1023 nil 
  (!type already_seen 1247)
 )
 
 (!type struct 1710 nil  gc_pointed_to "gomp_parallel"
  (!srcfileloc  "gimple.h" 668)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1247)
 )
 
 (!type struct 1711 nil  gc_pointed_to "gomp_for"
  (!srcfileloc  "gimple.h" 630)
  (!fields 4 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 618)
    nil )
   (!pair  "collapse"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 622)
    nil )
   (!pair  "iter"
    (!type already_seen 1250)
    (!srcfileloc  "gimple.h" 625)
    (!options 
     (!option length string  "%h.collapse")
    )
   )
   (!pair  "pre_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 629)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_FOR")
  )
  1023 nil 
  (!type already_seen 1246)
 )
 
 (!type struct 1712 nil  gc_pointed_to "gomp_ordered"
  (!srcfileloc  "gimple.h" 763)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1245)
 )
 
 (!type struct 1713 nil  gc_pointed_to "gomp_critical"
  (!srcfileloc  "gimple.h" 590)
  (!fields 2 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 585)
    nil )
   (!pair  "name"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 589)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CRITICAL")
  )
  1023 nil 
  (!type already_seen 1246)
 )
 
 (!type struct 1714 nil  gc_pointed_to "gomp_continue"
  (!srcfileloc  "gimple.h" 731)
  (!fields 2 
   (!pair  "control_def"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 727)
    nil )
   (!pair  "control_use"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 730)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CONTINUE")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1715 nil  gc_pointed_to "gomp_atomic_store"
  (!srcfileloc  "gimple.h" 797)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  1023 nil 
  (!type already_seen 1244)
 )
 
 (!type struct 1716 nil  gc_pointed_to "gomp_atomic_load"
  (!srcfileloc  "gimple.h" 777)
  (!fields 2 
   (!pair  "rhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 776)
    nil )
   (!pair  "lhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 776)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_LOAD")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1717 nil  gc_pointed_to "gtry"
  (!srcfileloc  "gimple.h" 518)
  (!fields 2 
   (!pair  "eval"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 513)
    nil )
   (!pair  "cleanup"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 517)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRY")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1718 nil  gc_pointed_to "gphi"
  (!srcfileloc  "gimple.h" 474)
  (!fields 4 
   (!pair  "capacity"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 466)
    nil )
   (!pair  "nargs"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 467)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 470)
    nil )
   (!pair  "args"
    (!type array 1719 nil  gc_used "1" 
     (!type already_seen 1626)
    )
    (!srcfileloc  "gimple.h" 473)
    (!options 
     (!option length string  "%h.nargs")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_PHI")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1720 nil  gc_pointed_to "geh_dispatch"
  (!srcfileloc  "gimple.h" 501)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  1023 nil 
  (!type already_seen 1252)
 )
 
 (!type struct 1721 nil  gc_pointed_to "gresx"
  (!srcfileloc  "gimple.h" 494)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  1023 nil 
  (!type already_seen 1252)
 )
 
 (!type struct 1722 nil  gc_pointed_to "geh_else"
  (!srcfileloc  "gimple.h" 445)
  (!fields 2 
   (!pair  "n_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 444)
    nil )
   (!pair  "e_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 444)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_ELSE")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1723 nil  gc_pointed_to "geh_mnt"
  (!srcfileloc  "gimple.h" 456)
  (!fields 1 
   (!pair  "fndecl"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 455)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_MNT")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1724 nil  gc_pointed_to "geh_filter"
  (!srcfileloc  "gimple.h" 434)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 429)
    nil )
   (!pair  "failure"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 433)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_FILTER")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1725 nil  gc_pointed_to "gcatch"
  (!srcfileloc  "gimple.h" 417)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 413)
    nil )
   (!pair  "handler"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 416)
    nil )
  )
  (!options 
   (!option tag string  "GSS_CATCH")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1726 nil  gc_pointed_to "gbind"
  (!srcfileloc  "gimple.h" 402)
  (!fields 3 
   (!pair  "vars"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 390)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 398)
    nil )
   (!pair  "body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 401)
    nil )
  )
  (!options 
   (!option tag string  "GSS_BIND")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1727 nil  gc_pointed_to "greturn"
  (!srcfileloc  "gimple.h" 926)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  1023 nil 
  (!type already_seen 1253)
 )
 
 (!type struct 1728 nil  gc_pointed_to "gtransaction"
  (!srcfileloc  "gimple.h" 847)
  (!fields 4 
   (!pair  "body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 841)
    nil )
   (!pair  "label_norm"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 844)
    nil )
   (!pair  "label_uninst"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 845)
    nil )
   (!pair  "label_over"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 846)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRANSACTION")
  )
  1023 nil 
  (!type already_seen 1074)
 )
 
 (!type already_seen 1071)
 
 (!type struct 1729 nil  gc_pointed_to "gasm"
  (!srcfileloc  "gimple.h" 575)
  (!fields 6 
   (!pair  "string"
    (!type already_seen 39)
    (!srcfileloc  "gimple.h" 561)
    nil )
   (!pair  "ni"
    (!type already_seen 15)
    (!srcfileloc  "gimple.h" 565)
    nil )
   (!pair  "no"
    (!type already_seen 15)
    (!srcfileloc  "gimple.h" 566)
    nil )
   (!pair  "nc"
    (!type already_seen 15)
    (!srcfileloc  "gimple.h" 567)
    nil )
   (!pair  "nl"
    (!type already_seen 15)
    (!srcfileloc  "gimple.h" 568)
    nil )
   (!pair  "op"
    (!type array 1730 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 574)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_ASM")
  )
  1023 nil 
  (!type already_seen 1074)
 )
 
 (!type struct 1731 nil  gc_pointed_to "gassign"
  (!srcfileloc  "gimple.h" 916)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  1023 nil 
  (!type already_seen 1253)
 )
 
 (!type struct 1732 nil  gc_pointed_to "gswitch"
  (!srcfileloc  "gimple.h" 905)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1255)
 )
 
 (!type struct 1733 nil  gc_pointed_to "glabel"
  (!srcfileloc  "gimple.h" 895)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1255)
 )
 
 (!type struct 1734 nil  gc_pointed_to "ggoto"
  (!srcfileloc  "gimple.h" 885)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1255)
 )
 
 (!type struct 1735 nil  gc_pointed_to "gdebug"
  (!srcfileloc  "gimple.h" 875)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1255)
 )
 
 (!type struct 1736 nil  gc_pointed_to "gcond"
  (!srcfileloc  "gimple.h" 865)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1255)
 )
 
 (!type struct 1737 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 312)
 
 (!type already_seen 1640)
 
 (!type already_seen 262)
 
 (!type already_seen 1416)
 
 (!type already_seen 399)
 
 (!type struct 1738 nil  gc_pointed_to "rtx_barrier"
  (!srcfileloc  "rtl.h" 644)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1739 nil  gc_pointed_to "rtx_jump_table_data"
  (!srcfileloc  "rtl.h" 633)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1740 nil  gc_pointed_to "rtx_call_insn"
  (!srcfileloc  "rtl.h" 606)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1741 nil  gc_pointed_to "rtx_jump_insn"
  (!srcfileloc  "rtl.h" 593)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1742 nil  gc_pointed_to "rtx_nonjump_insn"
  (!srcfileloc  "rtl.h" 566)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1743 nil  gc_pointed_to "rtx_debug_insn"
  (!srcfileloc  "rtl.h" 555)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type already_seen 326)
 
 (!type struct 1744 nil  gc_pointed_to "rtx_sequence"
  (!srcfileloc  "rtl.h" 494)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 137)
 )
 
 (!type already_seen 1394)
 
 (!type already_seen 1412)
 
 (!type already_seen 137)
 
 (!type struct 1745 
  (!type pointer 1746 nil  gc_unused
   (!type already_seen 1745)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 120)
 
 (!type already_seen 634)
 
 (!type struct 1747 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1748 nil  gc_unused "anonymous:../../gcc/../libcpp/include/cpplib.h:1040"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1749 nil  gc_unused "anonymous:../../gcc/../libcpp/include/cpplib.h:1029"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1750 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 36)
 
 (!type already_seen 631)
 
 (!type already_seen 637)
 
 (!type already_seen 638)
 
 (!type already_seen 640)
 
 (!type struct 1751 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 642)
 
 (!type struct 1752 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1753 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 633)
 
 (!type already_seen 639)
 
 (!type already_seen 636)
 
 (!type struct 1754 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1755 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1756 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1757 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1758 nil  gc_unused "rich_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1759 nil  gc_unused "fixit_replace"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1760 nil  gc_unused "fixit_remove"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1761 nil  gc_unused "fixit_insert"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1762 nil  gc_unused "fixit_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1763 nil  gc_unused "location_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1764 nil  gc_unused "anonymous:../../gcc/../libcpp/include/line-map.h:1211"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1765 
  (!type pointer 1766 nil  gc_used
   (!type already_seen 1765)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 725)
  (!fields 15 
   (!pair  "info_ordinary"
    (!type struct 1767 nil  gc_used "maps_info_ordinary"
     (!srcfileloc  "../libcpp/include/line-map.h" 683)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1768 nil  gc_unused
        (!type struct 1769 
         (!type already_seen 1768)
         gc_used "line_map_ordinary"
         (!srcfileloc  "../libcpp/include/line-map.h" 626)
         (!fields 6 
          (!pair  "to_file"
           (!type already_seen 39)
           (!srcfileloc  "../libcpp/include/line-map.h" 346)
           nil )
          (!pair  "to_line"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 347)
           nil )
          (!pair  "included_from"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 352)
           nil )
          (!pair  "sysp"
           (!type already_seen 15)
           (!srcfileloc  "../libcpp/include/line-map.h" 358)
           nil )
          (!pair  "m_column_and_range_bits"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 362)
           nil )
          (!pair  "m_range_bits"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 377)
           nil )
         )
         (!options 
          (!option tag string  "1")
         )
         1023 nil 
         (!type struct 1770 nil  gc_used "line_map"
          (!srcfileloc  "../libcpp/include/line-map.h" 331)
          (!fields 2 
           (!pair  "start_location"
            (!type already_seen 9)
            (!srcfileloc  "../libcpp/include/line-map.h" 327)
            nil )
           (!pair  "reason"
            (!type already_seen 9)
            (!srcfileloc  "../libcpp/include/line-map.h" 330)
            nil )
          )
          (!options 
           (!option desc string  "%h.reason == LC_ENTER_MACRO ? 2 : 1")
           (!option tag string  "0")
          )
          1023 nil nil )
        )
       )
       (!srcfileloc  "../libcpp/include/line-map.h" 626)
       (!options 
        (!option length string  "%h.used")
       )
      )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 629)
       nil )
      (!pair  "used"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 633)
       nil )
      (!pair  "cache"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 635)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "../libcpp/include/line-map.h" 683)
    nil )
   (!pair  "info_macro"
    (!type struct 1771 nil  gc_used "maps_info_macro"
     (!srcfileloc  "../libcpp/include/line-map.h" 685)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1772 nil  gc_unused
        (!type struct 1773 
         (!type already_seen 1772)
         gc_used "line_map_macro"
         (!srcfileloc  "../libcpp/include/line-map.h" 641)
         (!fields 4 
          (!pair  "macro"
           (!type already_seen 629)
           (!srcfileloc  "../libcpp/include/line-map.h" 396)
           (!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" 399)
           nil )
          (!pair  "macro_locations"
           (!type already_seen 10)
           (!srcfileloc  "../libcpp/include/line-map.h" 454)
           (!options 
            (!option atomic string  "")
           )
          )
          (!pair  "expansion"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 461)
           nil )
         )
         (!options 
          (!option tag string  "2")
         )
         1023 nil 
         (!type already_seen 1770)
        )
       )
       (!srcfileloc  "../libcpp/include/line-map.h" 641)
       (!options 
        (!option length string  "%h.used")
       )
      )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 644)
       nil )
      (!pair  "used"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 648)
       nil )
      (!pair  "cache"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 650)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "../libcpp/include/line-map.h" 685)
    nil )
   (!pair  "depth"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 688)
    nil )
   (!pair  "trace_includes"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 691)
    nil )
   (!pair  "highest_location"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 694)
    nil )
   (!pair  "highest_line"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 697)
    nil )
   (!pair  "max_column_hint"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 701)
    nil )
   (!pair  "reallocator"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 705)
    nil )
   (!pair  "round_alloc_size"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 709)
    nil )
   (!pair  "location_adhoc_data_map"
    (!type struct 1774 nil  gc_used "location_adhoc_data_map"
     (!srcfileloc  "../libcpp/include/line-map.h" 678)
     (!fields 4 
      (!pair  "htab"
       (!type already_seen 366)
       (!srcfileloc  "../libcpp/include/line-map.h" 674)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "curr_loc"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 675)
       nil )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 676)
       nil )
      (!pair  "data"
       (!type pointer 1775 nil  gc_unused
        (!type struct 1776 
         (!type already_seen 1775)
         gc_used "location_adhoc_data"
         (!srcfileloc  "../libcpp/include/line-map.h" 659)
         (!fields 3 
          (!pair  "locus"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 656)
           nil )
          (!pair  "src_range"
           (!type struct 1777 nil  gc_used "source_range"
            (!srcfileloc  "../libcpp/include/line-map.h" 657)
            (!fields 2 
             (!pair  "m_start"
              (!type already_seen 9)
              (!srcfileloc  "../libcpp/include/line-map.h" 273)
              nil )
             (!pair  "m_finish"
              (!type already_seen 9)
              (!srcfileloc  "../libcpp/include/line-map.h" 274)
              nil )
            )
            nil 1023 nil nil )
           (!srcfileloc  "../libcpp/include/line-map.h" 657)
           nil )
          (!pair  "data"
           (!type already_seen 10)
           (!srcfileloc  "../libcpp/include/line-map.h" 658)
           (!options 
            (!option skip string  "")
           )
          )
         )
         nil 1023 nil nil )
       )
       (!srcfileloc  "../libcpp/include/line-map.h" 677)
       (!options 
        (!option length string  "%h.allocated")
       )
      )
     )
     nil 1023 nil nil )
    (!srcfileloc  "../libcpp/include/line-map.h" 711)
    nil )
   (!pair  "builtin_location"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 715)
    nil )
   (!pair  "seen_line_directive"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 718)
    nil )
   (!pair  "default_range_bits"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 721)
    nil )
   (!pair  "num_optimized_ranges"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 723)
    nil )
   (!pair  "num_unoptimized_ranges"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 724)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 1774)
 
 (!type already_seen 367)
 
 (!type already_seen 1776)
 
 (!type already_seen 1771)
 
 (!type already_seen 1767)
 
 (!type already_seen 1773)
 
 (!type already_seen 7)
 
 (!type already_seen 628)
 
 (!type already_seen 1769)
 
 (!type already_seen 1770)
 
 (!type already_seen 1777)
)
(!typedefs 647
 (!pair  "ivarref_entry"
  (!type already_seen 4)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2762)
  nil )
 (!pair  "vec<ivarref_entry,va_gc>"
  (!type already_seen 1)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2762)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 683)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1256)
  nil )
 (!pair  "vec<prot_list_entry,va_gc>"
  (!type already_seen 681)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1256)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 686)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1202)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 684)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1202)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 689)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1037)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 687)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1037)
  nil )
 (!pair  "objc_string_hasher"
  (!type already_seen 693)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "hash_table<objc_string_hasher>"
  (!type already_seen 691)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "attr"
  (!type already_seen 699)
  (!srcfileloc  "objc/objc-act.h" 260)
  nil )
 (!pair  "hash"
  (!type already_seen 701)
  (!srcfileloc  "objc/objc-act.h" 259)
  nil )
 (!pair  "objc_map_iterator_t"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-map.h" 241)
  nil )
 (!pair  "objc_map_t"
  (!type already_seen 704)
  (!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  "rewrite_rule"
  (!type already_seen 713)
  (!srcfileloc  "java/expr.c" 2054)
  nil )
 (!pair  "class_flag_node"
  (!type already_seen 714)
  (!srcfileloc  "java/class.c" 82)
  nil )
 (!pair  "builtin_creator_function"
  (!type already_seen 718)
  (!srcfileloc  "java/builtins.c" 79)
  nil )
 (!pair  "JCF"
  (!type already_seen 499)
  (!srcfileloc  "java/jcf.h" 123)
  nil )
 (!pair  "BootstrapMethods"
  (!type already_seen 506)
  (!srcfileloc  "java/jcf.h" 99)
  nil )
 (!pair  "bootstrap_method"
  (!type already_seen 508)
  (!srcfileloc  "java/jcf.h" 94)
  nil )
 (!pair  "CPool"
  (!type already_seen 502)
  (!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 517)
  (!srcfileloc  "java/java-tree.h" 919)
  nil )
 (!pair  "hash_table<type_assertion_hasher>"
  (!type already_seen 516)
  (!srcfileloc  "java/java-tree.h" 919)
  nil )
 (!pair  "vec<method_entry,va_gc>"
  (!type already_seen 510)
  (!srcfileloc  "java/java-tree.h" 896)
  nil )
 (!pair  "method_entry"
  (!type already_seen 511)
  (!srcfileloc  "java/java-tree.h" 886)
  nil )
 (!pair  "type_assertion"
  (!type already_seen 719)
  (!srcfileloc  "java/java-tree.h" 798)
  nil )
 (!pair  "jv_attr_kind"
  (!type already_seen 9)
  (!srcfileloc  "java/java-tree.h" 792)
  nil )
 (!pair  "jv_attr_type"
  (!type already_seen 9)
  (!srcfileloc  "java/java-tree.h" 782)
  nil )
 (!pair  "ict_hasher"
  (!type already_seen 56)
  (!srcfileloc  "java/java-tree.h" 750)
  nil )
 (!pair  "hash_table<ict_hasher>"
  (!type already_seen 55)
  (!srcfileloc  "java/java-tree.h" 750)
  nil )
 (!pair  "treetreehasher"
  (!type already_seen 53)
  (!srcfileloc  "java/java-tree.h" 747)
  nil )
 (!pair  "hash_table<treetreehasher>"
  (!type already_seen 52)
  (!srcfileloc  "java/java-tree.h" 747)
  nil )
 (!pair  "constant_pool"
  (!type already_seen 502)
  (!srcfileloc  "java/java-tree.h" 134)
  nil )
 (!pair  "go_char_p"
  (!type already_seen 16)
  (!srcfileloc  "go/go-lang.c" 165)
  nil )
 (!pair  "gfc_interface_mapping"
  (!type already_seen 722)
  (!srcfileloc  "fortran/trans.h" 1029)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 723)
  (!srcfileloc  "fortran/trans.h" 1014)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 724)
  (!srcfileloc  "fortran/trans.h" 794)
  nil )
 (!pair  "module_decl_hasher"
  (!type already_seen 728)
  (!srcfileloc  "fortran/trans.h" 617)
  nil )
 (!pair  "hash_table<module_decl_hasher>"
  (!type already_seen 726)
  (!srcfileloc  "fortran/trans.h" 617)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 729)
  (!srcfileloc  "fortran/trans.h" 361)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 730)
  (!srcfileloc  "fortran/trans.h" 348)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 731)
  (!srcfileloc  "fortran/trans.h" 338)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 732)
  (!srcfileloc  "fortran/trans.h" 289)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 733)
  (!srcfileloc  "fortran/trans.h" 249)
  nil )
 (!pair  "gfc_array_info"
  (!type already_seen 734)
  (!srcfileloc  "fortran/trans.h" 150)
  nil )
 (!pair  "gfc_se"
  (!type already_seen 735)
  (!srcfileloc  "fortran/trans.h" 105)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 736)
  (!srcfileloc  "fortran/trans.h" 37)
  nil )
 (!pair  "forall_info"
  (!type already_seen 737)
  (!srcfileloc  "fortran/trans-stmt.c" 58)
  nil )
 (!pair  "iter_info"
  (!type already_seen 738)
  (!srcfileloc  "fortran/trans-stmt.c" 46)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 739)
  (!srcfileloc  "fortran/trans-io.c" 79)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 740)
  (!srcfileloc  "fortran/trans-io.c" 73)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 741)
  (!srcfileloc  "fortran/trans-intrinsic.c" 83)
  nil )
 (!pair  "module_hasher"
  (!type already_seen 745)
  (!srcfileloc  "fortran/trans-decl.c" 4502)
  nil )
 (!pair  "hash_table<module_hasher>"
  (!type already_seen 743)
  (!srcfileloc  "fortran/trans-decl.c" 4502)
  nil )
 (!pair  "constexpr_call_hasher"
  (!type already_seen 750)
  (!srcfileloc  "cp/constexpr.c" 923)
  nil )
 (!pair  "hash_table<constexpr_call_hasher>"
  (!type already_seen 748)
  (!srcfileloc  "cp/constexpr.c" 923)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 754)
  (!srcfileloc  "cp/constexpr.c" 870)
  nil )
 (!pair  "constexpr_fundef_hasher"
  (!type already_seen 757)
  (!srcfileloc  "cp/constexpr.c" 131)
  nil )
 (!pair  "hash_table<constexpr_fundef_hasher>"
  (!type already_seen 755)
  (!srcfileloc  "cp/constexpr.c" 131)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 762)
  (!srcfileloc  "cp/except.c" 1198)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 760)
  (!srcfileloc  "cp/except.c" 1198)
  nil )
 (!pair  "subobject_offset_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/class.c" 100)
  nil )
 (!pair  "class_stack_node_t"
  (!type already_seen 769)
  (!srcfileloc  "cp/class.c" 66)
  nil )
 (!pair  "abstract_type_hasher"
  (!type already_seen 772)
  (!srcfileloc  "cp/typeck2.c" 182)
  nil )
 (!pair  "hash_table<abstract_type_hasher>"
  (!type already_seen 770)
  (!srcfileloc  "cp/typeck2.c" 182)
  nil )
 (!pair  "cp_parser"
  (!type already_seen 785)
  (!srcfileloc  "cp/parser.c" 37147)
  nil )
 (!pair  "tree_int"
  (!type already_seen 779)
  (!srcfileloc  "cp/parser.c" 9626)
  nil )
 (!pair  "vec<tree_int,va_gc>"
  (!type already_seen 777)
  (!srcfileloc  "cp/parser.c" 9626)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 1778 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 781)
  )
  (!srcfileloc  "cp/parser.c" 1867)
  nil )
 (!pair  "cp_parser_flags"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 1799)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 801)
  (!srcfileloc  "cp/parser.h" 367)
  nil )
 (!pair  "cp_unparsed_functions_entry"
  (!type already_seen 796)
  (!srcfileloc  "cp/parser.h" 355)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 795)
  (!srcfileloc  "cp/parser.h" 355)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 793)
  (!srcfileloc  "cp/parser.h" 249)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 788)
  (!srcfileloc  "cp/parser.h" 215)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 799)
  (!srcfileloc  "cp/parser.h" 156)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 798)
  (!srcfileloc  "cp/parser.h" 156)
  nil )
 (!pair  "cp_token_cache_ptr"
  (!type already_seen 66)
  (!srcfileloc  "cp/parser.h" 128)
  nil )
 (!pair  "cp_token_cache"
  (!type already_seen 67)
  (!srcfileloc  "cp/parser.h" 128)
  nil )
 (!pair  "vec<cp_token_position>"
  (!type already_seen 791)
  (!srcfileloc  "cp/parser.h" 100)
  nil )
 (!pair  "cp_token"
  (!type already_seen 69)
  (!srcfileloc  "cp/parser.h" 86)
  nil )
 (!pair  "vec<cp_token,va_gc>"
  (!type already_seen 790)
  (!srcfileloc  "cp/parser.h" 86)
  nil )
 (!pair  "cp_token_position"
  (!type already_seen 68)
  (!srcfileloc  "cp/parser.h" 76)
  nil )
 (!pair  "list_hasher"
  (!type already_seen 805)
  (!srcfileloc  "cp/tree.c" 1780)
  nil )
 (!pair  "hash_table<list_hasher>"
  (!type already_seen 803)
  (!srcfileloc  "cp/tree.c" 1780)
  nil )
 (!pair  "cplus_array_hasher"
  (!type already_seen 809)
  (!srcfileloc  "cp/tree.c" 776)
  nil )
 (!pair  "hash_table<cplus_array_hasher>"
  (!type already_seen 807)
  (!srcfileloc  "cp/tree.c" 776)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 814)
  (!srcfileloc  "cp/semantics.c" 134)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 812)
  (!srcfileloc  "cp/semantics.c" 134)
  nil )
 (!pair  "deferred_access_check"
  (!type already_seen 75)
  (!srcfileloc  "cp/semantics.c" 126)
  nil )
 (!pair  "vec<deferred_access_check,va_gc>"
  (!type already_seen 74)
  (!srcfileloc  "cp/semantics.c" 126)
  nil )
 (!pair  "subsumption_hasher"
  (!type already_seen 817)
  (!srcfileloc  "cp/pt.c" 24680)
  nil )
 (!pair  "hash_table<subsumption_hasher>"
  (!type already_seen 815)
  (!srcfileloc  "cp/pt.c" 24680)
  nil )
 (!pair  "concept_spec_hasher"
  (!type already_seen 821)
  (!srcfileloc  "cp/pt.c" 24538)
  nil )
 (!pair  "hash_table<concept_spec_hasher>"
  (!type already_seen 819)
  (!srcfileloc  "cp/pt.c" 24538)
  nil )
 (!pair  "constraint_sat_hasher"
  (!type already_seen 824)
  (!srcfileloc  "cp/pt.c" 24537)
  nil )
 (!pair  "hash_table<constraint_sat_hasher>"
  (!type already_seen 822)
  (!srcfileloc  "cp/pt.c" 24537)
  nil )
 (!pair  "constr_hasher"
  (!type already_seen 829)
  (!srcfileloc  "cp/pt.c" 24425)
  nil )
 (!pair  "hash_table<constr_hasher>"
  (!type already_seen 827)
  (!srcfileloc  "cp/pt.c" 24425)
  nil )
 (!pair  "spec_hasher"
  (!type already_seen 838)
  (!srcfileloc  "cp/pt.c" 107)
  nil )
 (!pair  "hash_table<spec_hasher>"
  (!type already_seen 836)
  (!srcfileloc  "cp/pt.c" 107)
  nil )
 (!pair  "tree_fn_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/pt.c" 46)
  nil )
 (!pair  "priority_info"
  (!type already_seen 845)
  (!srcfileloc  "cp/decl2.c" 62)
  nil )
 (!pair  "typename_hasher"
  (!type already_seen 850)
  (!srcfileloc  "cp/decl.c" 3549)
  nil )
 (!pair  "hash_table<typename_hasher>"
  (!type already_seen 848)
  (!srcfileloc  "cp/decl.c" 3549)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 855)
  (!srcfileloc  "cp/decl.c" 246)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 853)
  (!srcfileloc  "cp/decl.c" 246)
  nil )
 (!pair  "walk_namespaces_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5787)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 865)
  (!srcfileloc  "cp/cp-tree.h" 5350)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 866)
  (!srcfileloc  "cp/cp-tree.h" 5348)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5222)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5206)
  nil )
 (!pair  "operator_name_info_t"
  (!type already_seen 868)
  (!srcfileloc  "cp/cp-tree.h" 5194)
  nil )
 (!pair  "base_access"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4737)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4723)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4614)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 529)
  (!srcfileloc  "cp/cp-tree.h" 1748)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 531)
  (!srcfileloc  "cp/cp-tree.h" 1653)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 530)
  (!srcfileloc  "cp/cp-tree.h" 1653)
  nil )
 (!pair  "cxx_int_tree_map_hasher"
  (!type already_seen 108)
  (!srcfileloc  "cp/cp-tree.h" 1447)
  nil )
 (!pair  "hash_table<cxx_int_tree_map_hasher>"
  (!type already_seen 107)
  (!srcfileloc  "cp/cp-tree.h" 1447)
  nil )
 (!pair  "named_label_hasher"
  (!type already_seen 95)
  (!srcfileloc  "cp/cp-tree.h" 1441)
  nil )
 (!pair  "hash_table<named_label_hasher>"
  (!type already_seen 94)
  (!srcfileloc  "cp/cp-tree.h" 1441)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 877)
  (!srcfileloc  "cp/cp-tree.h" 1267)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 875)
  (!srcfileloc  "cp/cp-tree.h" 1267)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 675)
  (!srcfileloc  "cp/cp-tree.h" 884)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 676)
  (!srcfileloc  "cp/cp-tree.h" 866)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 663)
  (!srcfileloc  "cp/cp-tree.h" 364)
  nil )
 (!pair  "cp_label_binding"
  (!type already_seen 105)
  (!srcfileloc  "cp/name-lookup.h" 217)
  nil )
 (!pair  "vec<cp_label_binding,va_gc>"
  (!type already_seen 104)
  (!srcfileloc  "cp/name-lookup.h" 217)
  nil )
 (!pair  "cp_class_binding"
  (!type already_seen 100)
  (!srcfileloc  "cp/name-lookup.h" 206)
  nil )
 (!pair  "vec<cp_class_binding,va_gc>"
  (!type already_seen 99)
  (!srcfileloc  "cp/name-lookup.h" 206)
  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 535)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 532)
  (!srcfileloc  "cp/name-lookup.h" 28)
  nil )
 (!pair  "conv_type_hasher"
  (!type already_seen 886)
  (!srcfileloc  "cp/mangle.c" 3939)
  nil )
 (!pair  "hash_table<conv_type_hasher>"
  (!type already_seen 884)
  (!srcfileloc  "cp/mangle.c" 3939)
  nil )
 (!pair  "substitution_identifier_index_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 136)
  nil )
 (!pair  "globals"
  (!type already_seen 887)
  (!srcfileloc  "cp/mangle.c" 111)
  nil )
 (!pair  "tinfo_s"
  (!type already_seen 890)
  (!srcfileloc  "cp/rtti.c" 101)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 888)
  (!srcfileloc  "cp/rtti.c" 101)
  nil )
 (!pair  "c_parser"
  (!type already_seen 893)
  (!srcfileloc  "c/c-parser.c" 263)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 899)
  (!srcfileloc  "c/c-parser.c" 256)
  nil )
 (!pair  "c_token"
  (!type already_seen 896)
  (!srcfileloc  "c/c-parser.c" 212)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 906)
  (!srcfileloc  "c-family/c-pragma.c" 470)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 904)
  (!srcfileloc  "c-family/c-pragma.c" 470)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 909)
  (!srcfileloc  "c-family/c-pragma.c" 236)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 907)
  (!srcfileloc  "c-family/c-pragma.c" 236)
  nil )
 (!pair  "pragma_handler_2arg"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 201)
  nil )
 (!pair  "pragma_handler_1arg"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 198)
  nil )
 (!pair  "an_loop_parts"
  (!type already_seen 915)
  (!srcfileloc  "c-family/c-common.h" 1421)
  nil )
 (!pair  "an_parts"
  (!type already_seen 916)
  (!srcfileloc  "c-family/c-common.h" 1410)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 92)
  (!srcfileloc  "c-family/c-common.h" 530)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 921)
  (!srcfileloc  "c-family/c-common.c" 12231)
  nil )
 (!pair  "tree_gc_vec"
  (!type already_seen 49)
  (!srcfileloc  "c-family/c-common.c" 12230)
  nil )
 (!pair  "vec<const_char_p,va_gc>"
  (!type already_seen 923)
  (!srcfileloc  "c-family/c-common.c" 9475)
  nil )
 (!pair  "const_char_p"
  (!type already_seen 16)
  (!srcfileloc  "c-family/c-common.c" 9474)
  nil )
 (!pair  "c_type_hasher"
  (!type already_seen 928)
  (!srcfileloc  "c-family/c-common.c" 4731)
  nil )
 (!pair  "hash_table<c_type_hasher>"
  (!type already_seen 926)
  (!srcfileloc  "c-family/c-common.c" 4731)
  nil )
 (!pair  "c_binding_ptr"
  (!type already_seen 645)
  (!srcfileloc  "c/c-decl.c" 566)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 654)
  (!srcfileloc  "c/c-decl.c" 374)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 655)
  (!srcfileloc  "c/c-decl.c" 355)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 943)
  (!srcfileloc  "c/c-tree.h" 159)
  nil )
 (!pair  "builtin_type"
  (!type already_seen 9)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5561)
  nil )
 (!pair  "pad_type_hasher"
  (!type already_seen 948)
  (!srcfileloc  "ada/gcc-interface/utils.c" 238)
  nil )
 (!pair  "hash_table<pad_type_hasher>"
  (!type already_seen 946)
  (!srcfileloc  "ada/gcc-interface/utils.c" 238)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 953)
  (!srcfileloc  "ada/gcc-interface/trans.c" 209)
  nil )
 (!pair  "loop_info"
  (!type already_seen 955)
  (!srcfileloc  "ada/gcc-interface/trans.c" 205)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 958)
  (!srcfileloc  "ada/gcc-interface/trans.c" 199)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 959)
  (!srcfileloc  "ada/gcc-interface/trans.c" 190)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 116)
  (!srcfileloc  "ada/gcc-interface/trans.c" 112)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 117)
  (!srcfileloc  "ada/gcc-interface/trans.c" 108)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 965)
  (!srcfileloc  "ada/gcc-interface/decl.c" 7128)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 967)
  (!srcfileloc  "ada/gcc-interface/decl.c" 208)
  nil )
 (!pair  "value_annotation_hasher"
  (!type already_seen 970)
  (!srcfileloc  "ada/gcc-interface/decl.c" 151)
  nil )
 (!pair  "hash_table<value_annotation_hasher>"
  (!type already_seen 968)
  (!srcfileloc  "ada/gcc-interface/decl.c" 151)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 971)
  (!srcfileloc  "ada/gcc-interface/decl.c" 125)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 972)
  (!srcfileloc  "ada/gcc-interface/decl.c" 110)
  nil )
 (!pair  "rewrite_fn"
  (!type already_seen 9)
  (!srcfileloc  "ada/gcc-interface/gigi.h" 969)
  nil )
 (!pair  "hsa_decl_kernel_map_element"
  (!type already_seen 984)
  (!srcfileloc  "hsa.c" 65)
  nil )
 (!pair  "vec<hsa_decl_kernel_map_element,va_gc>"
  (!type already_seen 982)
  (!srcfileloc  "hsa.c" 65)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 991)
  (!srcfileloc  "ipa-devirt.c" 2720)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 992)
  (!srcfileloc  "ipa-devirt.c" 2719)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 991)
  (!srcfileloc  "ipa-devirt.c" 2719)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 994)
  (!srcfileloc  "ipa-devirt.c" 641)
  nil )
 (!pair  "odr_vtable_hash_type"
  (!type already_seen 999)
  (!srcfileloc  "ipa-devirt.c" 634)
  nil )
 (!pair  "odr_vtable_hasher"
  (!type already_seen 1000)
  (!srcfileloc  "ipa-devirt.c" 634)
  nil )
 (!pair  "hash_table<odr_vtable_hasher>"
  (!type already_seen 999)
  (!srcfileloc  "ipa-devirt.c" 634)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 1001)
  (!srcfileloc  "ipa-devirt.c" 632)
  nil )
 (!pair  "odr_name_hasher"
  (!type already_seen 1002)
  (!srcfileloc  "ipa-devirt.c" 632)
  nil )
 (!pair  "hash_table<odr_name_hasher>"
  (!type already_seen 1001)
  (!srcfileloc  "ipa-devirt.c" 632)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 998)
  (!srcfileloc  "ipa-devirt.c" 190)
  nil )
 (!pair  "compare_type"
  (!type already_seen 1004)
  (!srcfileloc  "ipa-devirt.c" 143)
  nil )
 (!pair  "value_type"
  (!type already_seen 1004)
  (!srcfileloc  "ipa-devirt.c" 142)
  nil )
 (!pair  "type_pair"
  (!type already_seen 1004)
  (!srcfileloc  "ipa-devirt.c" 142)
  nil )
 (!pair  "tree_type_map_cache_hasher"
  (!type already_seen 1015)
  (!srcfileloc  "ubsan.c" 77)
  nil )
 (!pair  "hash_table<tree_type_map_cache_hasher>"
  (!type already_seen 1013)
  (!srcfileloc  "ubsan.c" 77)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 1025)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 1025)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 1026)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 1027)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 1026)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "inline_edge_summary_t"
  (!type already_seen 1530)
  (!srcfileloc  "ipa-inline.h" 226)
  nil )
 (!pair  "function_summary<inline_summary*>"
  (!type already_seen 1031)
  (!srcfileloc  "ipa-inline.h" 194)
  nil )
 (!pair  "inline_summary_t"
  (!type already_seen 1044)
  (!srcfileloc  "ipa-inline.h" 192)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 1040)
  (!srcfileloc  "ipa-inline.h" 153)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 1039)
  (!srcfileloc  "ipa-inline.h" 153)
  nil )
 (!pair  "clause_t"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 94)
  nil )
 (!pair  "conditions"
  (!type already_seen 1035)
  (!srcfileloc  "ipa-inline.h" 82)
  nil )
 (!pair  "condition"
  (!type already_seen 1037)
  (!srcfileloc  "ipa-inline.h" 82)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 1036)
  (!srcfileloc  "ipa-inline.h" 82)
  nil )
 (!pair  "inline_hints"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 79)
  nil )
 (!pair  "lto_file_decl_data_ptr"
  (!type already_seen 355)
  (!srcfileloc  "lto-streamer.h" 605)
  nil )
 (!pair  "ld_plugin_symbol_resolution"
  (!type already_seen 373)
  (!srcfileloc  "lto-streamer.h" 599)
  nil )
 (!pair  "hash_map<tree,ld_plugin_symbol_resolution>"
  (!type already_seen 372)
  (!srcfileloc  "lto-streamer.h" 599)
  nil )
 (!pair  "res_pair"
  (!type already_seen 369)
  (!srcfileloc  "lto-streamer.h" 593)
  nil )
 (!pair  "vec<res_pair>"
  (!type already_seen 368)
  (!srcfileloc  "lto-streamer.h" 593)
  nil )
 (!pair  "decl_state_hasher"
  (!type already_seen 365)
  (!srcfileloc  "lto-streamer.h" 575)
  nil )
 (!pair  "hash_table<decl_state_hasher>"
  (!type already_seen 364)
  (!srcfileloc  "lto-streamer.h" 575)
  nil )
 (!pair  "lto_out_decl_state_ptr"
  (!type already_seen 1156)
  (!srcfileloc  "lto-streamer.h" 546)
  nil )
 (!pair  "lto_in_decl_state_ptr"
  (!type already_seen 358)
  (!srcfileloc  "lto-streamer.h" 510)
  nil )
 (!pair  "lto_symtab_encoder_t"
  (!type already_seen 361)
  (!srcfileloc  "lto-streamer.h" 476)
  nil )
 (!pair  "lto_free_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 304)
  nil )
 (!pair  "lto_get_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 295)
  nil )
 (!pair  "ld_plugin_symbol_resolution_t"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 264)
  nil )
 (!pair  "lto_decl_flags_t"
  (!type already_seen 15)
  (!srcfileloc  "lto-streamer.h" 134)
  nil )
 (!pair  "cgraph_node_queue"
  (!type already_seen 1064)
  (!srcfileloc  "trans-mem.c" 4203)
  nil )
 (!pair  "vec<cgraph_node*>"
  (!type already_seen 1064)
  (!srcfileloc  "trans-mem.c" 4203)
  nil )
 (!pair  "tm_wrapper_hasher"
  (!type already_seen 1118)
  (!srcfileloc  "trans-mem.c" 479)
  nil )
 (!pair  "hash_table<tm_wrapper_hasher>"
  (!type already_seen 1116)
  (!srcfileloc  "trans-mem.c" 479)
  nil )
 (!pair  "ipa_parm_adjustment_vec"
  (!type already_seen 1119)
  (!srcfileloc  "ipa-prop.h" 748)
  nil )
 (!pair  "ipa_parm_adjustment"
  (!type already_seen 1120)
  (!srcfileloc  "ipa-prop.h" 748)
  nil )
 (!pair  "vec<ipa_parm_adjustment>"
  (!type already_seen 1119)
  (!srcfileloc  "ipa-prop.h" 748)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 1123)
  (!srcfileloc  "ipa-prop.h" 550)
  nil )
 (!pair  "vec<ipa_edge_args,va_gc>"
  (!type already_seen 1121)
  (!srcfileloc  "ipa-prop.h" 550)
  nil )
 (!pair  "ipcp_transformation_summary"
  (!type already_seen 1143)
  (!srcfileloc  "ipa-prop.h" 548)
  nil )
 (!pair  "vec<ipcp_transformation_summary,va_gc>"
  (!type already_seen 1141)
  (!srcfileloc  "ipa-prop.h" 548)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context,va_gc>"
  (!type already_seen 1140)
  (!srcfileloc  "ipa-prop.h" 497)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 1126)
  (!srcfileloc  "ipa-prop.h" 496)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 1125)
  (!srcfileloc  "ipa-prop.h" 496)
  nil )
 (!pair  "ipa_alignment"
  (!type already_seen 1132)
  (!srcfileloc  "ipa-prop.h" 484)
  nil )
 (!pair  "vec<ipa_alignment,va_gc>"
  (!type already_seen 1147)
  (!srcfileloc  "ipa-prop.h" 484)
  nil )
 (!pair  "ipa_agg_replacement_value"
  (!type already_seen 1145)
  (!srcfileloc  "ipa-prop.h" 482)
  nil )
 (!pair  "ipa_agg_jump_function_p"
  (!type already_seen 1128)
  (!srcfileloc  "ipa-prop.h" 144)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 1131)
  (!srcfileloc  "ipa-prop.h" 139)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 1130)
  (!srcfileloc  "ipa-prop.h" 139)
  nil )
 (!pair  "TRAILING_WIDE_INT_ACCESSOR"
  (!type already_seen 1150)
  (!srcfileloc  "tree-ssanames.h" 52)
  nil )
 (!pair  "vec<gimple*,va_gc>"
  (!type already_seen 1152)
  (!srcfileloc  "tree-phinodes.c" 70)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1159)
  (!srcfileloc  "passes.c" 985)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 16)
  (!srcfileloc  "passes.c" 867)
  nil )
 (!pair  "insn_length_parameters_t"
  (!type already_seen 1172)
  (!srcfileloc  "config/arc/arc.c" 7977)
  nil )
 (!pair  "insn_length_variant_t"
  (!type already_seen 1173)
  (!srcfileloc  "config/arc/arc.c" 7969)
  nil )
 (!pair  "machine_function"
  (!type already_seen 441)
  (!srcfileloc  "config/arc/arc.c" 2120)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 428)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 557)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 556)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "def_operand_p"
  (!type already_seen 6)
  (!srcfileloc  "tree-ssa-operands.h" 27)
  nil )
 (!pair  "scev_info_hasher"
  (!type already_seen 1204)
  (!srcfileloc  "tree-scalar-evolution.c" 323)
  nil )
 (!pair  "hash_table<scev_info_hasher>"
  (!type already_seen 1202)
  (!srcfileloc  "tree-scalar-evolution.c" 323)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1223)
  (!srcfileloc  "tree-ssa-address.c" 90)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1221)
  (!srcfileloc  "tree-ssa-address.c" 90)
  nil )
 (!pair  "treemple"
  (!type already_seen 1235)
  (!srcfileloc  "tree-eh.c" 49)
  nil )
 (!pair  "assign_handler"
  (!type already_seen 9)
  (!srcfileloc  "tree-chkp.c" 316)
  nil )
 (!pair  "tm_restart_hasher"
  (!type already_seen 432)
  (!srcfileloc  "gimple-ssa.h" 114)
  nil )
 (!pair  "hash_table<tm_restart_hasher>"
  (!type already_seen 431)
  (!srcfileloc  "gimple-ssa.h" 114)
  nil )
 (!pair  "ssa_name_hasher"
  (!type already_seen 423)
  (!srcfileloc  "gimple-ssa.h" 96)
  nil )
 (!pair  "hash_table<ssa_name_hasher>"
  (!type already_seen 422)
  (!srcfileloc  "gimple-ssa.h" 96)
  nil )
 (!pair  "hash_map<tree,tree>"
  (!type already_seen 420)
  (!srcfileloc  "gimple-ssa.h" 84)
  nil )
 (!pair  "elt_t"
  (!type already_seen 1242)
  (!srcfileloc  "gimple.h" 1535)
  nil )
 (!pair  "gimple_seq_node"
  (!type already_seen 311)
  (!srcfileloc  "gimple.h" 28)
  nil )
 (!pair  "tm_clone_hasher"
  (!type already_seen 1260)
  (!srcfileloc  "varasm.c" 5791)
  nil )
 (!pair  "hash_table<tm_clone_hasher>"
  (!type already_seen 1258)
  (!srcfileloc  "varasm.c" 5791)
  nil )
 (!pair  "const_rtx_desc_hasher"
  (!type already_seen 1265)
  (!srcfileloc  "varasm.c" 3517)
  nil )
 (!pair  "hash_table<const_rtx_desc_hasher>"
  (!type already_seen 1263)
  (!srcfileloc  "varasm.c" 3517)
  nil )
 (!pair  "tree_descriptor_hasher"
  (!type already_seen 1268)
  (!srcfileloc  "varasm.c" 2874)
  nil )
 (!pair  "hash_table<tree_descriptor_hasher>"
  (!type already_seen 1266)
  (!srcfileloc  "varasm.c" 2874)
  nil )
 (!pair  "object_block_hasher"
  (!type already_seen 1272)
  (!srcfileloc  "varasm.c" 196)
  nil )
 (!pair  "hash_table<object_block_hasher>"
  (!type already_seen 1270)
  (!srcfileloc  "varasm.c" 196)
  nil )
 (!pair  "section_hasher"
  (!type already_seen 1275)
  (!srcfileloc  "varasm.c" 185)
  nil )
 (!pair  "hash_table<section_hasher>"
  (!type already_seen 1273)
  (!srcfileloc  "varasm.c" 185)
  nil )
 (!pair  "tree_vec_map_cache_hasher"
  (!type already_seen 1281)
  (!srcfileloc  "tree.c" 244)
  nil )
 (!pair  "hash_table<tree_vec_map_cache_hasher>"
  (!type already_seen 1279)
  (!srcfileloc  "tree.c" 244)
  nil )
 (!pair  "tree_decl_map_cache_hasher"
  (!type already_seen 1284)
  (!srcfileloc  "tree.c" 221)
  nil )
 (!pair  "hash_table<tree_decl_map_cache_hasher>"
  (!type already_seen 1282)
  (!srcfileloc  "tree.c" 221)
  nil )
 (!pair  "cl_option_hasher"
  (!type already_seen 1287)
  (!srcfileloc  "tree.c" 215)
  nil )
 (!pair  "hash_table<cl_option_hasher>"
  (!type already_seen 1285)
  (!srcfileloc  "tree.c" 215)
  nil )
 (!pair  "int_cst_hasher"
  (!type already_seen 1290)
  (!srcfileloc  "tree.c" 199)
  nil )
 (!pair  "hash_table<int_cst_hasher>"
  (!type already_seen 1288)
  (!srcfileloc  "tree.c" 199)
  nil )
 (!pair  "type_cache_hasher"
  (!type already_seen 1293)
  (!srcfileloc  "tree.c" 188)
  nil )
 (!pair  "hash_table<type_cache_hasher>"
  (!type already_seen 1291)
  (!srcfileloc  "tree.c" 188)
  nil )
 (!pair  "block_info"
  (!type already_seen 1305)
  (!srcfileloc  "reg-stack.c" 214)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1307)
  (!srcfileloc  "reg-stack.c" 201)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1313)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1312)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1315)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1314)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "libfunc_decl_hasher"
  (!type already_seen 1320)
  (!srcfileloc  "optabs-libfuncs.c" 727)
  nil )
 (!pair  "hash_table<libfunc_decl_hasher>"
  (!type already_seen 1318)
  (!srcfileloc  "optabs-libfuncs.c" 727)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1330)
  (!srcfileloc  "gcse.c" 618)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1329)
  (!srcfileloc  "gcse.c" 618)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1330)
  (!srcfileloc  "gcse.c" 618)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1331)
  (!srcfileloc  "gcse.c" 617)
  nil )
 (!pair  "vec<rtx_insn*>"
  (!type already_seen 1331)
  (!srcfileloc  "gcse.c" 617)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1337)
  (!srcfileloc  "gcse.c" 304)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1341)
  (!srcfileloc  "except.c" 754)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1342)
  (!srcfileloc  "except.c" 754)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1341)
  (!srcfileloc  "except.c" 754)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1343)
  (!srcfileloc  "except.c" 719)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1344)
  (!srcfileloc  "except.c" 719)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1343)
  (!srcfileloc  "except.c" 719)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1347)
  (!srcfileloc  "except.c" 205)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1348)
  (!srcfileloc  "except.c" 205)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1347)
  (!srcfileloc  "except.c" 205)
  nil )
 (!pair  "tree_hash"
  (!type already_seen 1350)
  (!srcfileloc  "except.c" 148)
  nil )
 (!pair  "hash_map<tree_hash,tree>"
  (!type already_seen 1351)
  (!srcfileloc  "except.c" 148)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1360)
  (!srcfileloc  "function.c" 1237)
  nil )
 (!pair  "temp_address_hasher"
  (!type already_seen 1364)
  (!srcfileloc  "function.c" 576)
  nil )
 (!pair  "hash_table<temp_address_hasher>"
  (!type already_seen 1362)
  (!srcfileloc  "function.c" 576)
  nil )
 (!pair  "insn_cache_hasher"
  (!type already_seen 1370)
  (!srcfileloc  "function.c" 123)
  nil )
 (!pair  "hash_table<insn_cache_hasher>"
  (!type already_seen 1368)
  (!srcfileloc  "function.c" 123)
  nil )
 (!pair  "sepops"
  (!type already_seen 1372)
  (!srcfileloc  "expr.h" 55)
  nil )
 (!pair  "duplicate_eh_regions_map"
  (!type already_seen 9)
  (!srcfileloc  "except.h" 248)
  nil )
 (!pair  "hash_map<gimple*,int>"
  (!type already_seen 405)
  (!srcfileloc  "except.h" 204)
  nil )
 (!pair  "vec<eh_landing_pad,va_gc>"
  (!type already_seen 403)
  (!srcfileloc  "except.h" 200)
  nil )
 (!pair  "vec<eh_region,va_gc>"
  (!type already_seen 401)
  (!srcfileloc  "except.h" 197)
  nil )
 (!pair  "eh_region"
  (!type already_seen 388)
  (!srcfileloc  "except.h" 184)
  nil )
 (!pair  "eh_catch"
  (!type already_seen 392)
  (!srcfileloc  "except.h" 183)
  nil )
 (!pair  "eh_landing_pad"
  (!type already_seen 396)
  (!srcfileloc  "except.h" 182)
  nil )
 (!pair  "const_fixed_hasher"
  (!type already_seen 1378)
  (!srcfileloc  "emit-rtl.c" 175)
  nil )
 (!pair  "hash_table<const_fixed_hasher>"
  (!type already_seen 1376)
  (!srcfileloc  "emit-rtl.c" 175)
  nil )
 (!pair  "const_double_hasher"
  (!type already_seen 1381)
  (!srcfileloc  "emit-rtl.c" 166)
  nil )
 (!pair  "hash_table<const_double_hasher>"
  (!type already_seen 1379)
  (!srcfileloc  "emit-rtl.c" 166)
  nil )
 (!pair  "reg_attr_hasher"
  (!type already_seen 1384)
  (!srcfileloc  "emit-rtl.c" 157)
  nil )
 (!pair  "hash_table<reg_attr_hasher>"
  (!type already_seen 1382)
  (!srcfileloc  "emit-rtl.c" 157)
  nil )
 (!pair  "const_wide_int_hasher"
  (!type already_seen 1387)
  (!srcfileloc  "emit-rtl.c" 148)
  nil )
 (!pair  "hash_table<const_wide_int_hasher>"
  (!type already_seen 1385)
  (!srcfileloc  "emit-rtl.c" 148)
  nil )
 (!pair  "const_int_hasher"
  (!type already_seen 1390)
  (!srcfileloc  "emit-rtl.c" 140)
  nil )
 (!pair  "hash_table<const_int_hasher>"
  (!type already_seen 1388)
  (!srcfileloc  "emit-rtl.c" 140)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1418)
  (!srcfileloc  "emit-rtl.h" 133)
  nil )
 (!pair  "rtx_note"
  (!type already_seen 1416)
  (!srcfileloc  "emit-rtl.h" 113)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1366)
  (!srcfileloc  "emit-rtl.h" 24)
  nil )
 (!pair  "elem_op_func"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 103)
  nil )
 (!pair  "loc_list_hash_type"
  (!type already_seen 1421)
  (!srcfileloc  "dwarf2out.c" 27509)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1422)
  (!srcfileloc  "dwarf2out.c" 27509)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1421)
  (!srcfileloc  "dwarf2out.c" 27509)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1424)
  (!srcfileloc  "dwarf2out.c" 25017)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1425)
  (!srcfileloc  "dwarf2out.c" 25017)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1424)
  (!srcfileloc  "dwarf2out.c" 25017)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1431)
  (!srcfileloc  "dwarf2out.c" 8129)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1432)
  (!srcfileloc  "dwarf2out.c" 8129)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1431)
  (!srcfileloc  "dwarf2out.c" 8129)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1434)
  (!srcfileloc  "dwarf2out.c" 7470)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1435)
  (!srcfileloc  "dwarf2out.c" 7470)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1434)
  (!srcfileloc  "dwarf2out.c" 7470)
  nil )
 (!pair  "cu_hash_type"
  (!type already_seen 1437)
  (!srcfileloc  "dwarf2out.c" 7148)
  nil )
 (!pair  "cu_hash_table_entry_hasher"
  (!type already_seen 1438)
  (!srcfileloc  "dwarf2out.c" 7148)
  nil )
 (!pair  "hash_table<cu_hash_table_entry_hasher>"
  (!type already_seen 1437)
  (!srcfileloc  "dwarf2out.c" 7148)
  nil )
 (!pair  "addr_hasher"
  (!type already_seen 1442)
  (!srcfileloc  "dwarf2out.c" 4356)
  nil )
 (!pair  "hash_table<addr_hasher>"
  (!type already_seen 1440)
  (!srcfileloc  "dwarf2out.c" 4356)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1447)
  (!srcfileloc  "dwarf2out.c" 3114)
  nil )
 (!pair  "dw_ranges_by_label"
  (!type already_seen 1487)
  (!srcfileloc  "dwarf2out.c" 3087)
  nil )
 (!pair  "dw_ranges"
  (!type already_seen 1489)
  (!srcfileloc  "dwarf2out.c" 3077)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1450)
  (!srcfileloc  "dwarf2out.c" 3067)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1453)
  (!srcfileloc  "dwarf2out.c" 3059)
  nil )
 (!pair  "vec<dw_line_info_table*,va_gc>"
  (!type already_seen 1456)
  (!srcfileloc  "dwarf2out.c" 3051)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1459)
  (!srcfileloc  "dwarf2out.c" 3047)
  nil )
 (!pair  "dw_loc_list_hasher"
  (!type already_seen 1465)
  (!srcfileloc  "dwarf2out.c" 3014)
  nil )
 (!pair  "hash_table<dw_loc_list_hasher>"
  (!type already_seen 1463)
  (!srcfileloc  "dwarf2out.c" 3014)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1466)
  (!srcfileloc  "dwarf2out.c" 3002)
  nil )
 (!pair  "decl_loc_hasher"
  (!type already_seen 1469)
  (!srcfileloc  "dwarf2out.c" 2983)
  nil )
 (!pair  "hash_table<decl_loc_hasher>"
  (!type already_seen 1467)
  (!srcfileloc  "dwarf2out.c" 2983)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1472)
  (!srcfileloc  "dwarf2out.c" 2961)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1449)
  (!srcfileloc  "dwarf2out.c" 2923)
  nil )
 (!pair  "block_die_hasher"
  (!type already_seen 1477)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "hash_table<block_die_hasher>"
  (!type already_seen 1475)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "decl_die_hasher"
  (!type already_seen 1480)
  (!srcfileloc  "dwarf2out.c" 2908)
  nil )
 (!pair  "hash_table<decl_die_hasher>"
  (!type already_seen 1478)
  (!srcfileloc  "dwarf2out.c" 2908)
  nil )
 (!pair  "dwarf_file_hasher"
  (!type already_seen 1483)
  (!srcfileloc  "dwarf2out.c" 2897)
  nil )
 (!pair  "hash_table<dwarf_file_hasher>"
  (!type already_seen 1481)
  (!srcfileloc  "dwarf2out.c" 2897)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1484)
  (!srcfileloc  "dwarf2out.c" 2790)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1485)
  (!srcfileloc  "dwarf2out.c" 2782)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1452)
  (!srcfileloc  "dwarf2out.c" 2754)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1455)
  (!srcfileloc  "dwarf2out.c" 2738)
  nil )
 (!pair  "die_node"
  (!type already_seen 471)
  (!srcfileloc  "dwarf2out.c" 2713)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 477)
  (!srcfileloc  "dwarf2out.c" 2698)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 474)
  (!srcfileloc  "dwarf2out.c" 2695)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 478)
  (!srcfileloc  "dwarf2out.c" 2684)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1461)
  (!srcfileloc  "dwarf2out.c" 2672)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1462)
  (!srcfileloc  "dwarf2out.c" 2656)
  nil )
 (!pair  "dw_offset"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2618)
  nil )
 (!pair  "dw_loc_list_node"
  (!type already_seen 462)
  (!srcfileloc  "dwarf2out.c" 1299)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 458)
  (!srcfileloc  "dwarf2out.c" 1283)
  nil )
 (!pair  "indirect_string_hasher"
  (!type already_seen 1494)
  (!srcfileloc  "dwarf2out.c" 224)
  nil )
 (!pair  "hash_table<indirect_string_hasher>"
  (!type already_seen 1492)
  (!srcfileloc  "dwarf2out.c" 224)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1495)
  (!srcfileloc  "dwarf2out.c" 206)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1502)
  (!srcfileloc  "dwarf2cfi.c" 183)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1504)
  (!srcfileloc  "dwarf2cfi.c" 181)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 1506)
  (!srcfileloc  "dwarf2cfi.c" 63)
  nil )
 (!pair  "hash_map<char*,tree>"
  (!type already_seen 1507)
  (!srcfileloc  "dwarf2asm.c" 793)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 455)
  (!srcfileloc  "dwarf2out.h" 248)
  nil )
 (!pair  "dw_discr_value"
  (!type already_seen 485)
  (!srcfileloc  "dwarf2out.h" 222)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 467)
  (!srcfileloc  "dwarf2out.h" 204)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 446)
  (!srcfileloc  "dwarf2out.h" 67)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 448)
  (!srcfileloc  "dwarf2out.h" 65)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 449)
  (!srcfileloc  "dwarf2out.h" 65)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 452)
  (!srcfileloc  "dwarf2out.h" 54)
  nil )
 (!pair  "wide_int_ptr"
  (!type already_seen 463)
  (!srcfileloc  "dwarf2out.h" 33)
  nil )
 (!pair  "dw_discr_list_ref"
  (!type already_seen 487)
  (!srcfileloc  "dwarf2out.h" 32)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 461)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 453)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 450)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 456)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 469)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 469)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "odr_type"
  (!type already_seen 996)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 997)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "function_version_hasher"
  (!type already_seen 1540)
  (!srcfileloc  "cgraph.c" 114)
  nil )
 (!pair  "hash_table<function_version_hasher>"
  (!type already_seen 1538)
  (!srcfileloc  "cgraph.c" 114)
  nil )
 (!pair  "vec<alias_set_entry*,va_gc>"
  (!type already_seen 1545)
  (!srcfileloc  "alias.c" 278)
  nil )
 (!pair  "int"
  (!type already_seen 406)
  (!srcfileloc  "alias.c" 135)
  nil )
 (!pair  "alias_set_hash"
  (!type already_seen 1551)
  (!srcfileloc  "alias.c" 135)
  nil )
 (!pair  "hash_map<alias_set_hash,int>"
  (!type already_seen 1550)
  (!srcfileloc  "alias.c" 135)
  nil )
 (!pair  "FILE"
  (!type already_seen 1557)
  (!srcfileloc  "cgraph.h" 2182)
  nil )
 (!pair  "symbol_priority_map"
  (!type already_seen 1561)
  (!srcfileloc  "cgraph.h" 2180)
  nil )
 (!pair  "hash_map<symtab_node*,symbol_priority_map>"
  (!type already_seen 1559)
  (!srcfileloc  "cgraph.h" 2180)
  nil )
 (!pair  "asmname_hasher"
  (!type already_seen 1565)
  (!srcfileloc  "cgraph.h" 2177)
  nil )
 (!pair  "hash_table<asmname_hasher>"
  (!type already_seen 1563)
  (!srcfileloc  "cgraph.h" 2177)
  nil )
 (!pair  "section_name_hasher"
  (!type already_seen 1568)
  (!srcfileloc  "cgraph.h" 2174)
  nil )
 (!pair  "hash_table<section_name_hasher>"
  (!type already_seen 1566)
  (!srcfileloc  "cgraph.h" 2174)
  nil )
 (!pair  "cgraph_2node_hook_list"
  (!type already_seen 1580)
  (!srcfileloc  "cgraph.h" 2103)
  nil )
 (!pair  "cgraph_2edge_hook_list"
  (!type already_seen 1578)
  (!srcfileloc  "cgraph.h" 2097)
  nil )
 (!pair  "varpool_node_hook_list"
  (!type already_seen 1582)
  (!srcfileloc  "cgraph.h" 2076)
  nil )
 (!pair  "cgraph_node_hook_list"
  (!type already_seen 1576)
  (!srcfileloc  "cgraph.h" 2069)
  nil )
 (!pair  "cgraph_edge_hook_list"
  (!type already_seen 1574)
  (!srcfileloc  "cgraph.h" 2062)
  nil )
 (!pair  "symbol_table"
  (!type already_seen 1569)
  (!srcfileloc  "cgraph.h" 1941)
  nil )
 (!pair  "cgraph_2node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1891)
  nil )
 (!pair  "cgraph_2edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1890)
  nil )
 (!pair  "varpool_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1889)
  nil )
 (!pair  "cgraph_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1888)
  nil )
 (!pair  "cgraph_edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 1887)
  nil )
 (!pair  "asm_node"
  (!type already_seen 1572)
  (!srcfileloc  "cgraph.h" 1854)
  nil )
 (!pair  "availability"
  (!type already_seen 1583)
  (!srcfileloc  "cgraph.h" 1734)
  nil )
 (!pair  "cgraph_indirect_call_info"
  (!type already_seen 1077)
  (!srcfileloc  "cgraph.h" 1646)
  nil )
 (!pair  "gcall"
  (!type already_seen 1071)
  (!srcfileloc  "cgraph.h" 1643)
  nil )
 (!pair  "ipa_polymorphic_call_context"
  (!type already_seen 1078)
  (!srcfileloc  "cgraph.h" 1449)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1587)
  (!srcfileloc  "cgraph.h" 1396)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1589)
  (!srcfileloc  "cgraph.h" 1395)
  nil )
 (!pair  "cgraph_node_set_def"
  (!type already_seen 1588)
  (!srcfileloc  "cgraph.h" 1395)
  nil )
 (!pair  "cgraph_thunk_info"
  (!type already_seen 1098)
  (!srcfileloc  "cgraph.h" 1321)
  nil )
 (!pair  "cgraph_clone_info"
  (!type already_seen 1093)
  (!srcfileloc  "cgraph.h" 1320)
  nil )
 (!pair  "cgraph_global_info"
  (!type already_seen 1090)
  (!srcfileloc  "cgraph.h" 1318)
  nil )
 (!pair  "cgraph_local_info"
  (!type already_seen 1089)
  (!srcfileloc  "cgraph.h" 1317)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 1086)
  (!srcfileloc  "cgraph.h" 1315)
  nil )
 (!pair  "cgraph_simd_clone"
  (!type already_seen 1083)
  (!srcfileloc  "cgraph.h" 1308)
  nil )
 (!pair  "cgraph_edge_hasher"
  (!type already_seen 1081)
  (!srcfileloc  "cgraph.h" 1302)
  nil )
 (!pair  "hash_table<cgraph_edge_hasher>"
  (!type already_seen 1080)
  (!srcfileloc  "cgraph.h" 1302)
  nil )
 (!pair  "vec<cgraph_edge*>"
  (!type already_seen 1590)
  (!srcfileloc  "cgraph.h" 1082)
  nil )
 (!pair  "cgraph_edge"
  (!type already_seen 1069)
  (!srcfileloc  "cgraph.h" 1056)
  nil )
 (!pair  "cgraph_function_version_info"
  (!type already_seen 1591)
  (!srcfileloc  "cgraph.h" 803)
  nil )
 (!pair  "cgraph_simd_clone_arg"
  (!type already_seen 1085)
  (!srcfileloc  "cgraph.h" 793)
  nil )
 (!pair  "vec<ipa_replace_map*,va_gc>"
  (!type already_seen 1095)
  (!srcfileloc  "cgraph.h" 684)
  nil )
 (!pair  "cgraph_node"
  (!type already_seen 1067)
  (!srcfileloc  "cgraph.h" 663)
  nil )
 (!pair  "section_hash_entry"
  (!type already_seen 375)
  (!srcfileloc  "cgraph.h" 565)
  nil )
 (!pair  "ipa_ref_list"
  (!type already_seen 348)
  (!srcfileloc  "cgraph.h" 549)
  nil )
 (!pair  "ipa_ref"
  (!type already_seen 352)
  (!srcfileloc  "cgraph.h" 124)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 1087)
  (!srcfileloc  "cgraph.h" 28)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 1088)
  (!srcfileloc  "cgraph.h" 28)
  nil )
 (!pair  "vec<ipa_ref_ptr>"
  (!type already_seen 354)
  (!srcfileloc  "ipa-ref.h" 135)
  nil )
 (!pair  "vec<ipa_ref_t,va_gc>"
  (!type already_seen 351)
  (!srcfileloc  "ipa-ref.h" 132)
  nil )
 (!pair  "ipa_ref_ptr"
  (!type already_seen 353)
  (!srcfileloc  "ipa-ref.h" 69)
  nil )
 (!pair  "ipa_ref_t"
  (!type already_seen 352)
  (!srcfileloc  "ipa-ref.h" 68)
  nil )
 (!pair  "symtab_node"
  (!type already_seen 347)
  (!srcfileloc  "ipa-ref.h" 59)
  nil )
 (!pair  "__assert_gimple_bb_smaller_rtl_bb"
  (!type array 1779 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" 88)
  nil )
 (!pair  "vec<basic_block,va_gc>"
  (!type already_seen 413)
  (!srcfileloc  "cfg.h" 45)
  nil )
 (!pair  "loop_exit_hasher"
  (!type already_seen 437)
  (!srcfileloc  "cfgloop.h" 249)
  nil )
 (!pair  "hash_table<loop_exit_hasher>"
  (!type already_seen 436)
  (!srcfileloc  "cfgloop.h" 249)
  nil )
 (!pair  "vec<loop_p,va_gc>"
  (!type already_seen 308)
  (!srcfileloc  "cfgloop.h" 139)
  nil )
 (!pair  "loop_p"
  (!type already_seen 304)
  (!srcfileloc  "cfgloop.h" 94)
  nil )
 (!pair  "noswitch_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 482)
  nil )
 (!pair  "unnamed_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 456)
  nil )
 (!pair  "__gcc_host_wide_int__"
  (!type already_seen 9)
  (!srcfileloc  "hwint.h" 74)
  nil )
 (!pair  "used_type_hasher"
  (!type already_seen 1605)
  (!srcfileloc  "function.h" 429)
  nil )
 (!pair  "hash_table<used_type_hasher>"
  (!type already_seen 1603)
  (!srcfileloc  "function.h" 429)
  nil )
 (!pair  "hash_set<tree>"
  (!type already_seen 445)
  (!srcfileloc  "function.h" 272)
  nil )
 (!pair  "vec<call_site_record,va_gc>"
  (!type already_seen 1406)
  (!srcfileloc  "function.h" 145)
  nil )
 (!pair  "vec<uchar,va_gc>"
  (!type already_seen 409)
  (!srcfileloc  "function.h" 143)
  nil )
 (!pair  "rtx_code_label"
  (!type already_seen 399)
  (!srcfileloc  "function.h" 138)
  nil )
 (!pair  "call_site_record"
  (!type already_seen 1407)
  (!srcfileloc  "function.h" 132)
  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 1610)
  (!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 600)
  (!srcfileloc  "libfuncs.h" 77)
  nil )
 (!pair  "hash_table<libfunc_hasher>"
  (!type already_seen 599)
  (!srcfileloc  "libfuncs.h" 77)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 1615)
  (!srcfileloc  "tree-core.h" 2004)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 1614)
  (!srcfileloc  "tree-core.h" 1969)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 1612)
  (!srcfileloc  "tree-core.h" 1969)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 1624)
  (!srcfileloc  "tree-core.h" 1885)
  nil )
 (!pair  "vec<tree,va_gc>"
  (!type already_seen 50)
  (!srcfileloc  "tree-core.h" 1407)
  nil )
 (!pair  "constructor_elt"
  (!type already_seen 514)
  (!srcfileloc  "tree-core.h" 1284)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 513)
  (!srcfileloc  "tree-core.h" 1284)
  nil )
 (!pair  "walk_tree_lh"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 819)
  nil )
 (!pair  "walk_tree_fn"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 815)
  nil )
 (!pair  "priority_type"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 812)
  nil )
 (!pair  "hash_rtx_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 3047)
  nil )
 (!pair  "rtx_equal_p_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 3042)
  nil )
 (!pair  "for_each_inc_dec_fn"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 3038)
  nil )
 (!pair  "rtx_mode_t"
  (!type already_seen 1632)
  (!srcfileloc  "rtl.h" 2068)
  nil )
 (!pair  "std::pair<rtx,machine_mode>"
  (!type already_seen 1632)
  (!srcfileloc  "rtl.h" 2068)
  nil )
 (!pair  "rtx_insn"
  (!type already_seen 326)
  (!srcfileloc  "rtl.h" 465)
  nil )
 (!pair  "rtx_insn_list"
  (!type already_seen 1394)
  (!srcfileloc  "rtl.h" 462)
  nil )
 (!pair  "rtx_expr_list"
  (!type already_seen 1412)
  (!srcfileloc  "rtl.h" 434)
  nil )
 (!pair  "va_gc"
  (!type already_seen 3)
  (!srcfileloc  "rtl.h" 264)
  nil )
 (!pair  "vec<rtx,va_gc>"
  (!type already_seen 252)
  (!srcfileloc  "rtl.h" 264)
  nil )
 (!pair  "rtunion"
  (!type already_seen 242)
  (!srcfileloc  "rtl.h" 234)
  nil )
 (!pair  "reg_attrs"
  (!type already_seen 270)
  (!srcfileloc  "rtl.h" 226)
  nil )
 (!pair  "trailing_wide_int"
  (!type already_seen 1657)
  (!srcfileloc  "wide-int.h" 1264)
  nil )
 (!pair  "trailing_wide_int_storage"
  (!type already_seen 1658)
  (!srcfileloc  "wide-int.h" 1264)
  nil )
 (!pair  "generic_wide_int<trailing_wide_int_storage>"
  (!type already_seen 1657)
  (!srcfileloc  "wide-int.h" 1264)
  nil )
 (!pair  "fixed_wide_int_storage"
  (!type already_seen 1659)
  (!srcfileloc  "wide-int.h" 1119)
  nil )
 (!pair  "UNARY_OPERATOR"
  (!type already_seen 1662)
  (!srcfileloc  "wide-int.h" 674)
  nil )
 (!pair  "WI_UNARY_RESULT"
  (!type already_seen 1663)
  (!srcfileloc  "wide-int.h" 660)
  nil )
 (!pair  "generic_wide_int"
  (!type already_seen 1664)
  (!srcfileloc  "wide-int.h" 629)
  nil )
 (!pair  "T1"
  (!type already_seen 1667)
  (!srcfileloc  "wide-int.h" 396)
  nil )
 (!pair  "int_traits<T1"
  (!type already_seen 1668)
  (!srcfileloc  "wide-int.h" 396)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T1"
  (!type already_seen 1669)
  (!srcfileloc  "wide-int.h" 396)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!type already_seen 1670)
  (!srcfileloc  "wide-int.h" 396)
  nil )
 (!pair  "precision"
  (!type already_seen 1671)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "T2"
  (!type already_seen 1672)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "int_traits<T2"
  (!type already_seen 1673)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T2"
  (!type already_seen 1674)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!type already_seen 1675)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "result_type"
  (!type already_seen 9)
  (!srcfileloc  "wide-int.h" 366)
  nil )
 (!pair  "wide_int_ref"
  (!type already_seen 1680)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "false"
  (!type already_seen 1678)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "wide_int_ref_storage<false"
  (!type already_seen 1679)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false>>"
  (!type already_seen 1680)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "WIDE_INT_MAX_PRECISION"
  (!type already_seen 1682)
  (!srcfileloc  "wide-int.h" 288)
  nil )
 (!pair  "ADDR_MAX_PRECISION"
  (!type already_seen 1682)
  (!srcfileloc  "wide-int.h" 287)
  nil )
 (!pair  "FIXED_WIDE_INT"
  (!type already_seen 1682)
  (!srcfileloc  "wide-int.h" 287)
  nil )
 (!pair  "wide_int"
  (!type already_seen 464)
  (!srcfileloc  "wide-int.h" 286)
  nil )
 (!pair  "wide_int_storage"
  (!type already_seen 465)
  (!srcfileloc  "wide-int.h" 286)
  nil )
 (!pair  "generic_wide_int<wide_int_storage>"
  (!type already_seen 464)
  (!srcfileloc  "wide-int.h" 286)
  nil )
 (!pair  "bitmap_obstack"
  (!type already_seen 125)
  (!srcfileloc  "bitmap.h" 244)
  nil )
 (!pair  "bitmap_element"
  (!type already_seen 122)
  (!srcfileloc  "bitmap.h" 242)
  nil )
 (!pair  "BITMAP_WORD"
  (!type already_seen 9)
  (!srcfileloc  "bitmap.h" 193)
  nil )
 (!pair  "splay_tree"
  (!type already_seen 1686)
  (!srcfileloc  "../include/splay-tree.h" 120)
  nil )
 (!pair  "splay_tree_deallocate_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 81)
  nil )
 (!pair  "splay_tree_allocate_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 75)
  nil )
 (!pair  "splay_tree_foreach_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 69)
  nil )
 (!pair  "splay_tree_delete_value_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 66)
  nil )
 (!pair  "splay_tree_delete_key_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 62)
  nil )
 (!pair  "splay_tree_compare_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 58)
  nil )
 (!pair  "splay_tree_node"
  (!type already_seen 1688)
  (!srcfileloc  "../include/splay-tree.h" 54)
  nil )
 (!pair  "splay_tree_value"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 51)
  nil )
 (!pair  "splay_tree_key"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 50)
  nil )
 (!pair  "htab_t"
  (!type already_seen 366)
  (!srcfileloc  "../include/hashtab.h" 139)
  nil )
 (!pair  "htab_free_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 78)
  nil )
 (!pair  "htab_alloc_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 77)
  nil )
 (!pair  "htab_free"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 73)
  nil )
 (!pair  "htab_alloc"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 70)
  nil )
 (!pair  "htab_trav"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 64)
  nil )
 (!pair  "htab_del"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 58)
  nil )
 (!pair  "htab_eq"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 54)
  nil )
 (!pair  "htab_hash"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 47)
  nil )
 (!pair  "hashval_t"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 42)
  nil )
 (!pair  "arc_arch_t"
  (!type already_seen 1689)
  (!srcfileloc  "config/arc/arc-arch.h" 95)
  nil )
 (!pair  "arc_cpu_t"
  (!type already_seen 1690)
  (!srcfileloc  "config/arc/arc-arch.h" 76)
  nil )
 (!pair  "gt_pointer_operator"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 334)
  nil )
 (!pair  "tree_pair"
  (!type already_seen 1696)
  (!srcfileloc  "coretypes.h" 266)
  nil )
 (!pair  "std::pair<tree,tree>"
  (!type already_seen 1696)
  (!srcfileloc  "coretypes.h" 266)
  nil )
 (!pair  "reg_class_t"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 258)
  nil )
 (!pair  "const_basic_block"
  (!type already_seen 298)
  (!srcfileloc  "coretypes.h" 238)
  nil )
 (!pair  "basic_block"
  (!type already_seen 298)
  (!srcfileloc  "coretypes.h" 237)
  nil )
 (!pair  "const_edge"
  (!type already_seen 302)
  (!srcfileloc  "coretypes.h" 235)
  nil )
 (!pair  "edge"
  (!type already_seen 302)
  (!srcfileloc  "coretypes.h" 234)
  nil )
 (!pair  "alias_set_type"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 231)
  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" 86)
  nil )
 (!pair  "gimple"
  (!type already_seen 312)
  (!srcfileloc  "coretypes.h" 86)
  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 1641)
  (!srcfileloc  "coretypes.h" 81)
  nil )
 (!pair  "hwivec"
  (!type already_seen 1641)
  (!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 1746)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 1746)
  (!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" 1062)
  nil )
 (!pair  "cpp_comment_table"
  (!type already_seen 1748)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1049)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 1749)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1035)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 1750)
  (!srcfileloc  "../libcpp/include/cpplib.h" 858)
  nil )
 (!pair  "cpp_num_part"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 857)
  nil )
 (!pair  "missing_header_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 546)
  nil )
 (!pair  "cppchar_signed_t"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 287)
  nil )
 (!pair  "cppchar_t"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 286)
  nil )
 (!pair  "cpp_dir"
  (!type already_seen 1752)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 1753)
  (!srcfileloc  "../libcpp/include/cpplib.h" 36)
  nil )
 (!pair  "cpp_macro"
  (!type already_seen 633)
  (!srcfileloc  "../libcpp/include/cpplib.h" 35)
  nil )
 (!pair  "cpp_hashnode"
  (!type already_seen 628)
  (!srcfileloc  "../libcpp/include/cpplib.h" 34)
  nil )
 (!pair  "cpp_string"
  (!type already_seen 639)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 636)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 1754)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 1755)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 1756)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 1764)
  (!srcfileloc  "../libcpp/include/line-map.h" 1224)
  nil )
 (!pair  "maps_info_macro"
  (!type already_seen 1771)
  (!srcfileloc  "../libcpp/include/line-map.h" 685)
  nil )
 (!pair  "maps_info_ordinary"
  (!type already_seen 1767)
  (!srcfileloc  "../libcpp/include/line-map.h" 683)
  nil )
 (!pair  "source_range"
  (!type already_seen 1777)
  (!srcfileloc  "../libcpp/include/line-map.h" 657)
  nil )
 (!pair  "line_map_macro"
  (!type already_seen 1773)
  (!srcfileloc  "../libcpp/include/line-map.h" 641)
  nil )
 (!pair  "line_map_ordinary"
  (!type already_seen 1769)
  (!srcfileloc  "../libcpp/include/line-map.h" 626)
  nil )
 (!pair  "line_map_round_alloc_size_func"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 298)
  nil )
 (!pair  "line_map_realloc"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 294)
  nil )
 (!pair  "source_location"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 261)
  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" 5201)
  nil )
 (!pair  "machine_mode"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5198)
  nil )
 (!pair  "void"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5197)
  nil )
 (!pair  "JCF_u2"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5196)
  nil )
 (!pair  "jword"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5195)
  nil )
 (!pair  "uintptr_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5194)
  nil )
 (!pair  "uint8"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5193)
  nil )
 (!pair  "uint64_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5192)
  nil )
 (!pair  "int64_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5191)
  nil )
 (!pair  "widest_int"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5190)
  nil )
 (!pair  "offset_int"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5189)
  nil )
 (!pair  "double_int"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5188)
  nil )
 (!pair  "FIXED_VALUE_TYPE"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5187)
  nil )
 (!pair  "REAL_VALUE_TYPE"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5186)
  nil )
 (!pair  "CUMULATIVE_ARGS"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5185)
  nil )
)
(!variables 644
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3605)
  nil )
 (!pair  "next_v2_EHTYPE_id_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3395)
  nil )
 (!pair  "next_v2_ehvtable_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3394)
  nil )
 (!pair  "objc_v2_ehtype_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3393)
  nil )
 (!pair  "ehtype_list"
  (!type already_seen 688)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3052)
  nil )
 (!pair  "ivar_offset_refs"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2762)
  nil )
 (!pair  "protlist"
  (!type already_seen 682)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2107)
  nil )
 (!pair  "nonlazy_category_list"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2019)
  nil )
 (!pair  "category_list"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2008)
  nil )
 (!pair  "nonlazy_class_list"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1997)
  nil )
 (!pair  "class_list"
  (!type already_seen 49)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1989)
  nil )
 (!pair  "metaclass_super_refs"
  (!type already_seen 688)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1433)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 688)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1432)
  nil )
 (!pair  "protrefs"
  (!type already_seen 682)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1256)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 685)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1202)
  nil )
 (!pair  "classrefs"
  (!type already_seen 688)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1037)
  nil )
 (!pair  "extern_names"
  (!type already_seen 702)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 233)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 1780 nil  gc_used "OCTI_V2_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 183)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1781 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 180)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 2784)
  nil )
 (!pair  "V1_Property_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1514)
  nil )
 (!pair  "V1_ProtocolExt_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1513)
  nil )
 (!pair  "V1_Protocol_OPT_CLS_METHODS_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1512)
  nil )
 (!pair  "V1_Protocol_OPT_NST_METHODS_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1511)
  nil )
 (!pair  "objc_class_ext_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1106)
  nil )
 (!pair  "objc_protocol_extension_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1072)
  nil )
 (!pair  "objc_v1_property_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1042)
  nil )
 (!pair  "class_reference_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 674)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1782 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 105)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 2138)
  nil )
 (!pair  "num_static_inst"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 859)
  nil )
 (!pair  "meta_base"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 190)
  nil )
 (!pair  "objc_meta"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 189)
  nil )
 (!pair  "property_name_attr_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 292)
  nil )
 (!pair  "meth_var_types_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 291)
  nil )
 (!pair  "meth_var_names_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 290)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1783 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 54)
  nil )
 (!pair  "objc_parmlist"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-act.c" 8221)
  nil )
 (!pair  "interface_map"
  (!type already_seen 704)
  (!srcfileloc  "objc/objc-act.c" 3775)
  nil )
 (!pair  "string_layout_checked"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.c" 3061)
  nil )
 (!pair  "string_htab"
  (!type already_seen 692)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "alias_name_map"
  (!type already_seen 704)
  (!srcfileloc  "objc/objc-act.c" 164)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 704)
  (!srcfileloc  "objc/objc-act.c" 163)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 704)
  (!srcfileloc  "objc/objc-act.c" 159)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 704)
  (!srcfileloc  "objc/objc-act.c" 158)
  nil )
 (!pair  "objc_global_trees"
  (!type array 1784 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 697)
  (!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" 3175)
  nil )
 (!pair  "real_file_decl_data"
  (!type already_seen 356)
  (!srcfileloc  "lto/lto.c" 2712)
  (!options 
   (!option length string  "real_file_count + 1")
  )
 )
 (!pair  "all_file_decl_data"
  (!type already_seen 356)
  (!srcfileloc  "lto/lto.c" 2680)
  (!options 
   (!option length string  "lto_stats.num_input_files + 1")
  )
 )
 (!pair  "tree_with_vars"
  (!type already_seen 49)
  (!srcfileloc  "lto/lto.c" 521)
  nil )
 (!pair  "lto_mode_identity_table"
  (!type already_seen 39)
  (!srcfileloc  "lto/lto.c" 62)
  nil )
 (!pair  "first_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 60)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 729)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 200)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 199)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 198)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 197)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 196)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 195)
  nil )
 (!pair  "builtin_types"
  (!type array 1785 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 193)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1786 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 128)
  nil )
 (!pair  "resources"
  (!type already_seen 49)
  (!srcfileloc  "java/resource.c" 38)
  nil )
 (!pair  "compression_table"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 295)
  nil )
 (!pair  "atms"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 69)
  nil )
 (!pair  "java_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 903)
  nil )
 (!pair  "last_error_function"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 472)
  nil )
 (!pair  "last_error_function_context"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 471)
  nil )
 (!pair  "all_class_list"
  (!type already_seen 49)
  (!srcfileloc  "java/jcf-parse.c" 84)
  nil )
 (!pair  "main_jcf"
  (!type already_seen 498)
  (!srcfileloc  "java/jcf-parse.c" 81)
  nil )
 (!pair  "parse_roots"
  (!type array 1787 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/jcf-parse.c" 69)
  nil )
 (!pair  "class_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 2346)
  nil )
 (!pair  "page_size"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 121)
  nil )
 (!pair  "quick_stack"
  (!type already_seen 49)
  (!srcfileloc  "java/expr.c" 117)
  nil )
 (!pair  "ncode_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 83)
  nil )
 (!pair  "methods_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 82)
  nil )
 (!pair  "operand_type"
  (!type array 1788 nil  gc_used "59" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/expr.c" 80)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "java/decl.c" 436)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "java/decl.c" 430)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "java/decl.c" 426)
  nil )
 (!pair  "pending_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 115)
  nil )
 (!pair  "base_decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 107)
  nil )
 (!pair  "decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 101)
  nil )
 (!pair  "tag_nodes"
  (!type array 1789 nil  gc_used "13" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/constants.c" 314)
  nil )
 (!pair  "alias_labelno"
  (!type already_seen 9)
  (!srcfileloc  "java/class.c" 1356)
  nil )
 (!pair  "this_classdollar"
  (!type already_seen 5)
  (!srcfileloc  "java/class.c" 103)
  nil )
 (!pair  "registered_class"
  (!type already_seen 49)
  (!srcfileloc  "java/class.c" 99)
  nil )
 (!pair  "class_roots"
  (!type array 1790 nil  gc_used "4" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/class.c" 93)
  nil )
 (!pair  "java_builtins"
  (!type array 1791 nil  gc_used "" 
   (!type already_seen 715)
  )
  (!srcfileloc  "java/builtins.c" 83)
  nil )
 (!pair  "soft_resolvepoolentry_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 574)
  nil )
 (!pair  "java_global_trees"
  (!type array 1792 nil  gc_used "JTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/java-tree.h" 318)
  nil )
 (!pair  "constants_data_field_decl_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 177)
  nil )
 (!pair  "constants_field_decl_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 174)
  nil )
 (!pair  "gcj_abi_version"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 171)
  nil )
 (!pair  "java_io_serializable_identifier_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 170)
  nil )
 (!pair  "java_lang_cloneable_identifier_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 169)
  nil )
 (!pair  "current_jcf"
  (!type already_seen 498)
  (!srcfileloc  "java/java-tree.h" 120)
  nil )
 (!pair  "go_non_zero_struct"
  (!type already_seen 5)
  (!srcfileloc  "go/go-c.h" 63)
  nil )
 (!pair  "go_gc_root"
  (!type already_seen 5)
  (!srcfileloc  "go/go-lang.c" 515)
  nil )
 (!pair  "gfc_rank_cst"
  (!type array 1793 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" 847)
  nil )
 (!pair  "gfor_fndecl_ieee_procedure_entry"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 846)
  nil )
 (!pair  "gfor_fndecl_sr_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 843)
  nil )
 (!pair  "gfor_fndecl_si_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 842)
  nil )
 (!pair  "gfor_fndecl_sc_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 841)
  nil )
 (!pair  "gfor_fndecl_iargc"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 838)
  nil )
 (!pair  "gfor_fndecl_size1"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 837)
  nil )
 (!pair  "gfor_fndecl_size0"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 836)
  nil )
 (!pair  "gfor_fndecl_convert_char4_to_char1"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 833)
  nil )
 (!pair  "gfor_fndecl_convert_char1_to_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 832)
  nil )
 (!pair  "gfor_fndecl_select_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 829)
  nil )
 (!pair  "gfor_fndecl_adjustr_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 828)
  nil )
 (!pair  "gfor_fndecl_adjustl_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 827)
  nil )
 (!pair  "gfor_fndecl_string_minmax_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 826)
  nil )
 (!pair  "gfor_fndecl_string_trim_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 825)
  nil )
 (!pair  "gfor_fndecl_string_verify_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 824)
  nil )
 (!pair  "gfor_fndecl_string_scan_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 823)
  nil )
 (!pair  "gfor_fndecl_string_index_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 822)
  nil )
 (!pair  "gfor_fndecl_string_len_trim_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 821)
  nil )
 (!pair  "gfor_fndecl_concat_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 820)
  nil )
 (!pair  "gfor_fndecl_compare_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 819)
  nil )
 (!pair  "gfor_fndecl_select_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 818)
  nil )
 (!pair  "gfor_fndecl_adjustr"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 817)
  nil )
 (!pair  "gfor_fndecl_adjustl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 816)
  nil )
 (!pair  "gfor_fndecl_string_minmax"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 815)
  nil )
 (!pair  "gfor_fndecl_string_trim"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 814)
  nil )
 (!pair  "gfor_fndecl_string_verify"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 813)
  nil )
 (!pair  "gfor_fndecl_string_scan"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 812)
  nil )
 (!pair  "gfor_fndecl_string_index"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 811)
  nil )
 (!pair  "gfor_fndecl_string_len_trim"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 810)
  nil )
 (!pair  "gfor_fndecl_concat_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 809)
  nil )
 (!pair  "gfor_fndecl_compare_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 808)
  nil )
 (!pair  "gfor_fndecl_zgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 805)
  nil )
 (!pair  "gfor_fndecl_cgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 804)
  nil )
 (!pair  "gfor_fndecl_dgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 803)
  nil )
 (!pair  "gfor_fndecl_sgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 802)
  nil )
 (!pair  "gfor_fndecl_math_ishftc16"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 799)
  nil )
 (!pair  "gfor_fndecl_math_ishftc8"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 798)
  nil )
 (!pair  "gfor_fndecl_math_ishftc4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 797)
  nil )
 (!pair  "gfor_fndecl_math_powi"
  (!type array 1794 nil  gc_used "4" 
   (!type array 1795 nil  gc_used "3" 
    (!type already_seen 724)
   )
  )
  (!srcfileloc  "fortran/trans.h" 796)
  nil )
 (!pair  "gfor_fndecl_co_sum"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 783)
  nil )
 (!pair  "gfor_fndecl_co_reduce"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 782)
  nil )
 (!pair  "gfor_fndecl_co_min"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 781)
  nil )
 (!pair  "gfor_fndecl_co_max"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 780)
  nil )
 (!pair  "gfor_fndecl_co_broadcast"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 779)
  nil )
 (!pair  "gfor_fndecl_caf_event_query"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 778)
  nil )
 (!pair  "gfor_fndecl_caf_event_wait"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 777)
  nil )
 (!pair  "gfor_fndecl_caf_event_post"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 776)
  nil )
 (!pair  "gfor_fndecl_caf_unlock"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 775)
  nil )
 (!pair  "gfor_fndecl_caf_lock"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 774)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_op"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 773)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_cas"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 772)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_ref"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 771)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_def"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 770)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop_str"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 769)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 768)
  nil )
 (!pair  "gfor_fndecl_caf_stop_str"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 767)
  nil )
 (!pair  "gfor_fndecl_caf_stop_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 766)
  nil )
 (!pair  "gfor_fndecl_caf_sync_images"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 765)
  nil )
 (!pair  "gfor_fndecl_caf_sync_memory"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 764)
  nil )
 (!pair  "gfor_fndecl_caf_sync_all"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 763)
  nil )
 (!pair  "gfor_fndecl_caf_sendget"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 762)
  nil )
 (!pair  "gfor_fndecl_caf_send"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 761)
  nil )
 (!pair  "gfor_fndecl_caf_get"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 760)
  nil )
 (!pair  "gfor_fndecl_caf_deregister"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 759)
  nil )
 (!pair  "gfor_fndecl_caf_register"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 758)
  nil )
 (!pair  "gfor_fndecl_caf_num_images"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 757)
  nil )
 (!pair  "gfor_fndecl_caf_this_image"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 756)
  nil )
 (!pair  "gfor_fndecl_caf_finalize"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 755)
  nil )
 (!pair  "gfor_fndecl_caf_init"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 754)
  nil )
 (!pair  "gfor_fndecl_system_clock8"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 750)
  nil )
 (!pair  "gfor_fndecl_system_clock4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 749)
  nil )
 (!pair  "gfor_fndecl_associated"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 748)
  nil )
 (!pair  "gfor_fndecl_in_unpack"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 747)
  nil )
 (!pair  "gfor_fndecl_in_pack"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 746)
  nil )
 (!pair  "gfor_fndecl_fdate"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 745)
  nil )
 (!pair  "gfor_fndecl_ctime"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 744)
  nil )
 (!pair  "gfor_fndecl_ttynam"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 743)
  nil )
 (!pair  "gfor_fndecl_set_options"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 742)
  nil )
 (!pair  "gfor_fndecl_set_fpe"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 741)
  nil )
 (!pair  "gfor_fndecl_generate_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 740)
  nil )
 (!pair  "gfor_fndecl_os_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 739)
  nil )
 (!pair  "gfor_fndecl_runtime_warning_at"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 738)
  nil )
 (!pair  "gfor_fndecl_runtime_error_at"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 737)
  nil )
 (!pair  "gfor_fndecl_runtime_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 736)
  nil )
 (!pair  "gfor_fndecl_error_stop_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 735)
  nil )
 (!pair  "gfor_fndecl_error_stop_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 734)
  nil )
 (!pair  "gfor_fndecl_stop_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 733)
  nil )
 (!pair  "gfor_fndecl_stop_numeric_f08"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 732)
  nil )
 (!pair  "gfor_fndecl_stop_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 731)
  nil )
 (!pair  "gfor_fndecl_pause_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 730)
  nil )
 (!pair  "gfor_fndecl_pause_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 729)
  nil )
 (!pair  "gfc_static_ctors"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 629)
  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 1796 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 92)
  nil )
 (!pair  "gfc_character_types"
  (!type array 1797 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 91)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 1798 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 87)
  nil )
 (!pair  "gfc_real_types"
  (!type array 1799 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 86)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 1800 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 82)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 1801 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 81)
  nil )
 (!pair  "gfc_array_descriptor_base_caf"
  (!type array 1802 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 73)
  nil )
 (!pair  "gfc_array_descriptor_base"
  (!type array 1803 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 72)
  nil )
 (!pair  "gfc_max_array_element_size"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.c" 71)
  nil )
 (!pair  "gfc_desc_dim_type"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.c" 70)
  nil )
 (!pair  "select_struct"
  (!type array 1804 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-stmt.c" 2571)
  nil )
 (!pair  "dt_parm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-io.c" 159)
  nil )
 (!pair  "iocall"
  (!type array 1805 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-io.c" 150)
  nil )
 (!pair  "st_parameter_field"
  (!type array 1806 nil  gc_used "" 
   (!type already_seen 740)
  )
  (!srcfileloc  "fortran/trans-io.c" 100)
  nil )
 (!pair  "st_parameter"
  (!type array 1807 nil  gc_used "" 
   (!type already_seen 739)
  )
  (!srcfileloc  "fortran/trans-io.c" 89)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 1808 nil  gc_used "" 
   (!type already_seen 741)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 112)
  nil )
 (!pair  "module_htab"
  (!type already_seen 744)
  (!srcfileloc  "fortran/trans-decl.c" 4502)
  nil )
 (!pair  "saved_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 68)
  nil )
 (!pair  "nonlocal_dummy_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 64)
  nil )
 (!pair  "saved_parent_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 61)
  nil )
 (!pair  "saved_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 60)
  nil )
 (!pair  "parent_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 55)
  nil )
 (!pair  "current_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 54)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "fortran/f95-lang.c" 302)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "fortran/f95-lang.c" 298)
  nil )
 (!pair  "current_translation_unit"
  (!type already_seen 5)
  (!srcfileloc  "fortran/f95-lang.c" 177)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "fortran/f95-lang.c" 171)
  nil )
 (!pair  "fold_cache"
  (!type already_seen 419)
  (!srcfileloc  "cp/cp-gimplify.c" 1949)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "cv_cache"
  (!type already_seen 419)
  (!srcfileloc  "cp/constexpr.c" 4376)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "fundef_copies_table"
  (!type already_seen 419)
  (!srcfileloc  "cp/constexpr.c" 985)
  nil )
 (!pair  "constexpr_call_table"
  (!type already_seen 749)
  (!srcfileloc  "cp/constexpr.c" 923)
  nil )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 756)
  (!srcfileloc  "cp/constexpr.c" 131)
  nil )
 (!pair  "vlt_register_set_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 133)
  nil )
 (!pair  "vlt_register_pairs_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 132)
  nil )
 (!pair  "vlt_saved_class_info"
  (!type already_seen 49)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 131)
  nil )
 (!pair  "pending_noexcept_checks"
  (!type already_seen 761)
  (!srcfileloc  "cp/except.c" 1198)
  nil )
 (!pair  "cp_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-lang.c" 134)
  nil )
 (!pair  "shadowed_var_for_decl"
  (!type already_seen 1283)
  (!srcfileloc  "cp/cp-objcp-common.c" 172)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 9343)
  nil )
 (!pair  "sizeof_biggest_empty_class"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 108)
  nil )
 (!pair  "abstract_pending_vars"
  (!type already_seen 771)
  (!srcfileloc  "cp/typeck2.c" 182)
  nil )
 (!pair  "thunk_labelno"
  (!type already_seen 9)
  (!srcfileloc  "cp/method.c" 198)
  nil )
 (!pair  "generic_parm_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 37840)
  nil )
 (!pair  "the_parser"
  (!type already_seen 786)
  (!srcfileloc  "cp/parser.c" 37147)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 778)
  (!srcfileloc  "cp/parser.c" 9626)
  nil )
 (!pair  "lambda_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 9620)
  nil )
 (!pair  "lambda_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/parser.c" 9619)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 792)
  (!srcfileloc  "cp/parser.c" 1878)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "list_hash_table"
  (!type already_seen 804)
  (!srcfileloc  "cp/tree.c" 1780)
  nil )
 (!pair  "cplus_array_htab"
  (!type already_seen 808)
  (!srcfileloc  "cp/tree.c" 776)
  nil )
 (!pair  "deferred_access_no_check"
  (!type already_seen 9)
  (!srcfileloc  "cp/semantics.c" 135)
  nil )
 (!pair  "deferred_access_stack"
  (!type already_seen 813)
  (!srcfileloc  "cp/semantics.c" 134)
  nil )
 (!pair  "pending_repo"
  (!type already_seen 49)
  (!srcfileloc  "cp/repo.c" 40)
  nil )
 (!pair  "subsumption_table"
  (!type already_seen 816)
  (!srcfileloc  "cp/pt.c" 24680)
  nil )
 (!pair  "concept_expansions"
  (!type already_seen 820)
  (!srcfileloc  "cp/pt.c" 24593)
  nil )
 (!pair  "concept_memos"
  (!type already_seen 820)
  (!srcfileloc  "cp/pt.c" 24538)
  nil )
 (!pair  "constraint_memos"
  (!type already_seen 823)
  (!srcfileloc  "cp/pt.c" 24537)
  nil )
 (!pair  "decl_constraints"
  (!type already_seen 828)
  (!srcfileloc  "cp/pt.c" 24425)
  nil )
 (!pair  "last_error_tinst_level"
  (!type already_seen 842)
  (!srcfileloc  "cp/pt.c" 9070)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 49)
  (!srcfileloc  "cp/pt.c" 115)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 837)
  (!srcfileloc  "cp/pt.c" 109)
  nil )
 (!pair  "decl_specializations"
  (!type already_seen 837)
  (!srcfileloc  "cp/pt.c" 107)
  nil )
 (!pair  "saved_access_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 67)
  nil )
 (!pair  "current_tinst_level"
  (!type already_seen 842)
  (!srcfileloc  "cp/pt.c" 65)
  nil )
 (!pair  "saved_trees"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 62)
  nil )
 (!pair  "last_pending_template"
  (!type already_seen 841)
  (!srcfileloc  "cp/pt.c" 57)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 841)
  (!srcfileloc  "cp/pt.c" 56)
  nil )
 (!pair  "ssdf_decls"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 3492)
  nil )
 (!pair  "ssdf_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3488)
  nil )
 (!pair  "priority_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3485)
  nil )
 (!pair  "initialize_p_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3482)
  nil )
 (!pair  "mangling_aliases"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 100)
  nil )
 (!pair  "no_linkage_decls"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 96)
  nil )
 (!pair  "deferred_fns"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 92)
  nil )
 (!pair  "pending_statics"
  (!type already_seen 49)
  (!srcfileloc  "cp/decl2.c" 88)
  nil )
 (!pair  "start_cleanup_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/decl.c" 7198)
  nil )
 (!pair  "typename_htab"
  (!type already_seen 849)
  (!srcfileloc  "cp/decl.c" 3549)
  nil )
 (!pair  "incomplete_vars"
  (!type already_seen 854)
  (!srcfileloc  "cp/decl.c" 246)
  nil )
 (!pair  "java_iface_lookup_fn"
  (!type already_seen 5)
  (!srcfileloc  "cp/call.c" 7842)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 49)
  (!srcfileloc  "cp/call.c" 6914)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 49)
  (!srcfileloc  "cp/cp-tree.h" 6174)
  nil )
 (!pair  "assignment_operator_name_info"
  (!type array 1809 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 868)
  )
  (!srcfileloc  "cp/cp-tree.h" 5201)
  nil )
 (!pair  "operator_name_info"
  (!type array 1810 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 868)
  )
  (!srcfileloc  "cp/cp-tree.h" 5198)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4928)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4926)
  nil )
 (!pair  "local_classes"
  (!type already_seen 49)
  (!srcfileloc  "cp/cp-tree.h" 4822)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4765)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 880)
  (!srcfileloc  "cp/cp-tree.h" 1306)
  nil )
 (!pair  "cp_global_trees"
  (!type array 1811 nil  gc_used "CPTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/cp-tree.h" 1150)
  nil )
 (!pair  "lambda_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2105)
  nil )
 (!pair  "anon_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2086)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 96)
  (!srcfileloc  "cp/name-lookup.c" 1525)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_bindings"
  (!type already_seen 101)
  (!srcfileloc  "cp/name-lookup.c" 270)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_entry"
  (!type already_seen 535)
  (!srcfileloc  "cp/name-lookup.c" 86)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "anonymous_namespace_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.c" 59)
  nil )
 (!pair  "global_type_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 288)
  nil )
 (!pair  "global_scope_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 283)
  nil )
 (!pair  "global_namespace"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 282)
  nil )
 (!pair  "temp_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 4107)
  nil )
 (!pair  "conv_type_names"
  (!type already_seen 885)
  (!srcfileloc  "cp/mangle.c" 3939)
  nil )
 (!pair  "subst_identifiers"
  (!type array 1812 nil  gc_used "SUBID_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/mangle.c" 140)
  nil )
 (!pair  "G"
  (!type already_seen 887)
  (!srcfileloc  "cp/mangle.c" 111)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 889)
  (!srcfileloc  "cp/rtti.c" 101)
  nil )
 (!pair  "current_omp_declare_target_attribute"
  (!type already_seen 9)
  (!srcfileloc  "c/c-lang.h" 59)
  nil )
 (!pair  "the_parser"
  (!type already_seen 894)
  (!srcfileloc  "c/c-parser.c" 263)
  nil )
 (!pair  "options_stack"
  (!type already_seen 903)
  (!srcfileloc  "c-family/c-pragma.c" 981)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 905)
  (!srcfileloc  "c-family/c-pragma.c" 470)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 908)
  (!srcfileloc  "c-family/c-pragma.c" 236)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 911)
  (!srcfileloc  "c-family/c-pragma.c" 47)
  nil )
 (!pair  "pragma_extern_prefix"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-pragma.h" 257)
  nil )
 (!pair  "lazy_hex_fp_value_count"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1416)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 1813 nil  gc_used "12" 
   (!type already_seen 914)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1415)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-common.h" 1085)
  nil )
 (!pair  "pending_lang_change"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 1006)
  nil )
 (!pair  "c_global_trees"
  (!type array 1814 nil  gc_used "CTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.h" 468)
  nil )
 (!pair  "ridpointers"
  (!type already_seen 6)
  (!srcfileloc  "c-family/c-common.h" 258)
  (!options 
   (!option length string  "(int) RID_MAX")
  )
 )
 (!pair  "tree_vector_cache"
  (!type already_seen 922)
  (!srcfileloc  "c-family/c-common.c" 12231)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 924)
  (!srcfileloc  "c-family/c-common.c" 9475)
  nil )
 (!pair  "compound_literal_number"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.c" 5672)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1815 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.c" 5000)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 927)
  (!srcfileloc  "c-family/c-common.c" 4731)
  nil )
 (!pair  "ext_block"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 10798)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 934)
  (!srcfileloc  "c/c-decl.c" 552)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 645)
  (!srcfileloc  "c/c-decl.c" 504)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 500)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 496)
  nil )
 (!pair  "file_scope"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 491)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 487)
  nil )
 (!pair  "current_scope"
  (!type already_seen 651)
  (!srcfileloc  "c/c-decl.c" 481)
  nil )
 (!pair  "visible_builtins"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 114)
  nil )
 (!pair  "c_stmt_tree"
  (!type already_seen 91)
  (!srcfileloc  "c/c-decl.c" 107)
  nil )
 (!pair  "gnat_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/misc.c" 1304)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1816 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5730)
  nil )
 (!pair  "builtin_types"
  (!type array 1817 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5564)
  nil )
 (!pair  "dummy_global"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5333)
  nil )
 (!pair  "pad_type_hash_table"
  (!type already_seen 947)
  (!srcfileloc  "ada/gcc-interface/utils.c" 238)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "free_block_chain"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 220)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "builtin_decls"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/utils.c" 217)
  nil )
 (!pair  "global_decls"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/utils.c" 214)
  nil )
 (!pair  "global_context"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 211)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 951)
  (!srcfileloc  "ada/gcc-interface/utils.c" 208)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 951)
  (!srcfileloc  "ada/gcc-interface/utils.c" 205)
  nil )
 (!pair  "float_types"
  (!type array 1818 nil  gc_used "NUM_MACHINE_MODES" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 189)
  nil )
 (!pair  "signed_and_unsigned_types"
  (!type array 1819 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 1820 nil  gc_used "2" 
    (!type already_seen 5)
   )
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 186)
  nil )
 (!pair  "dummy_node_table"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 169)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "associate_gnat_to_gnu"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 157)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "gnu_program_error_label_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 214)
  nil )
 (!pair  "gnu_storage_error_label_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  nil )
 (!pair  "gnu_constraint_error_label_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 212)
  nil )
 (!pair  "gnu_loop_stack"
  (!type already_seen 954)
  (!srcfileloc  "ada/gcc-interface/trans.c" 209)
  nil )
 (!pair  "gnu_return_var_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 177)
  nil )
 (!pair  "gnu_return_label_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 173)
  nil )
 (!pair  "gnu_elab_proc_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 169)
  nil )
 (!pair  "gnu_incoming_exc_ptr"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 166)
  nil )
 (!pair  "gnu_except_ptr_stack"
  (!type already_seen 49)
  (!srcfileloc  "ada/gcc-interface/trans.c" 163)
  nil )
 (!pair  "elab_info_list"
  (!type already_seen 962)
  (!srcfileloc  "ada/gcc-interface/trans.c" 158)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 964)
  (!srcfileloc  "ada/gcc-interface/trans.c" 145)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 964)
  (!srcfileloc  "ada/gcc-interface/trans.c" 142)
  nil )
 (!pair  "annotate_value_cache"
  (!type already_seen 969)
  (!srcfileloc  "ada/gcc-interface/decl.c" 151)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 1821 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 462)
  nil )
 (!pair  "gnat_raise_decls"
  (!type array 1822 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 461)
  nil )
 (!pair  "gnat_std_decls"
  (!type array 1823 nil  gc_used "(int) ADT_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 460)
  nil )
 (!pair  "hsa_tree_gt_roots"
  (!type array 1824 nil  gc_used "3" 
   (!type already_seen 5)
  )
  (!srcfileloc  "hsa.c" 740)
  nil )
 (!pair  "hsa_decl_kernel_mapping"
  (!type already_seen 983)
  (!srcfileloc  "hsa.c" 66)
  nil )
 (!pair  "internal_fn_fnspec_array"
  (!type array 1825 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "internal-fn.h" 118)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 995)
  (!srcfileloc  "ipa-devirt.c" 641)
  nil )
 (!pair  "ubsan_vptr_type_cache_decl"
  (!type already_seen 5)
  (!srcfileloc  "ubsan.c" 1005)
  nil )
 (!pair  "ubsan_source_location_type"
  (!type already_seen 5)
  (!srcfileloc  "ubsan.c" 215)
  nil )
 (!pair  "ubsan_type_descriptor_type"
  (!type already_seen 5)
  (!srcfileloc  "ubsan.c" 166)
  nil )
 (!pair  "decl_tree_for_type"
  (!type already_seen 1014)
  (!srcfileloc  "ubsan.c" 77)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "asan_ctor_statements"
  (!type already_seen 5)
  (!srcfileloc  "asan.c" 2486)
  nil )
 (!pair  "asan_detect_stack_use_after_return"
  (!type already_seen 5)
  (!srcfileloc  "asan.c" 321)
  nil )
 (!pair  "shadow_ptr_types"
  (!type array 1826 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "asan.c" 318)
  nil )
 (!pair  "vtbl_mangled_name_ids"
  (!type already_seen 49)
  (!srcfileloc  "vtable-verify.c" 309)
  nil )
 (!pair  "vtbl_mangled_name_types"
  (!type already_seen 49)
  (!srcfileloc  "vtable-verify.c" 308)
  nil )
 (!pair  "verify_vtbl_ptr_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "vtable-verify.c" 151)
  nil )
 (!pair  "inline_summaries"
  (!type already_seen 1032)
  (!srcfileloc  "ipa-inline.h" 194)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1117)
  (!srcfileloc  "trans-mem.c" 479)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipa_edge_args_vector"
  (!type already_seen 1122)
  (!srcfileloc  "ipa-prop.h" 550)
  nil )
 (!pair  "ipcp_transformations"
  (!type already_seen 1142)
  (!srcfileloc  "ipa-prop.h" 548)
  nil )
 (!pair  "ipa_escaped_pt"
  (!type already_seen 418)
  (!srcfileloc  "tree-ssa-alias.h" 156)
  nil )
 (!pair  "free_phinodes"
  (!type array 1827 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 1153)
  )
  (!srcfileloc  "tree-phinodes.c" 70)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "clone_fn_id_num"
  (!type already_seen 9)
  (!srcfileloc  "cgraphclones.c" 501)
  nil )
 (!pair  "vtable_entry_type"
  (!type already_seen 5)
  (!srcfileloc  "cgraphunit.c" 217)
  nil )
 (!pair  "order"
  (!type already_seen 1066)
  (!srcfileloc  "passes.c" 1660)
  (!options 
   (!option length string  "nnodes")
  )
 )
 (!pair  "arc_bdesc"
  (!type array 1828 nil  gc_used "ARC_BUILTIN_COUNT" 
   (!type already_seen 1174)
  )
  (!srcfileloc  "config/arc/arc.c" 5612)
  nil )
 (!pair  "stack_chk_fail_decl"
  (!type already_seen 5)
  (!srcfileloc  "targhooks.c" 726)
  nil )
 (!pair  "stack_chk_guard_decl"
  (!type already_seen 5)
  (!srcfileloc  "targhooks.c" 693)
  nil )
 (!pair  "offload_vars"
  (!type already_seen 49)
  (!srcfileloc  "omp-low.h" 42)
  nil )
 (!pair  "offload_funcs"
  (!type already_seen 49)
  (!srcfileloc  "omp-low.h" 41)
  nil )
 (!pair  "critical_name_mutexes"
  (!type already_seen 419)
  (!srcfileloc  "omp-low.c" 14819)
  nil )
 (!pair  "grid_attr_trees"
  (!type already_seen 1190)
  (!srcfileloc  "omp-low.c" 12772)
  nil )
 (!pair  "trampoline_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-nested.c" 451)
  nil )
 (!pair  "ptr_void"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 65)
  nil )
 (!pair  "ic_gcov_type_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 64)
  nil )
 (!pair  "ic_void_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 63)
  nil )
 (!pair  "tree_ior_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 60)
  nil )
 (!pair  "tree_average_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 59)
  nil )
 (!pair  "tree_time_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 58)
  nil )
 (!pair  "tree_indirect_call_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 57)
  nil )
 (!pair  "tree_one_value_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 56)
  nil )
 (!pair  "tree_pow2_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 55)
  nil )
 (!pair  "tree_interval_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 54)
  nil )
 (!pair  "gcov_type_node"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 53)
  nil )
 (!pair  "scalar_evolution_info"
  (!type already_seen 1203)
  (!srcfileloc  "tree-scalar-evolution.c" 323)
  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" 409)
  nil )
 (!pair  "stmt_list_cache"
  (!type already_seen 49)
  (!srcfileloc  "tree-iterator.c" 31)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "mem_addr_template_list"
  (!type already_seen 1222)
  (!srcfileloc  "tree-ssa-address.c" 90)
  nil )
 (!pair  "chkp_abnormal_copies"
  (!type already_seen 119)
  (!srcfileloc  "tree-chkp.c" 363)
  nil )
 (!pair  "size_tmp_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 362)
  nil )
 (!pair  "tmp_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 361)
  nil )
 (!pair  "incomplete_bounds"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 360)
  nil )
 (!pair  "none_bounds"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 359)
  nil )
 (!pair  "zero_bounds"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 358)
  nil )
 (!pair  "entry_block"
  (!type already_seen 298)
  (!srcfileloc  "tree-chkp.c" 357)
  nil )
 (!pair  "chkp_none_bounds_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 355)
  nil )
 (!pair  "chkp_zero_bounds_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 354)
  nil )
 (!pair  "chkp_uintptr_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-chkp.c" 352)
  nil )
 (!pair  "elf_fini_array_section"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 7713)
  nil )
 (!pair  "elf_init_array_section"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 7712)
  nil )
 (!pair  "tm_clone_hash"
  (!type already_seen 1259)
  (!srcfileloc  "varasm.c" 5791)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "weakref_targets"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 5462)
  nil )
 (!pair  "const_desc_htab"
  (!type already_seen 1267)
  (!srcfileloc  "varasm.c" 2874)
  nil )
 (!pair  "initial_trampoline"
  (!type already_seen 135)
  (!srcfileloc  "varasm.c" 2573)
  nil )
 (!pair  "weak_decls"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2375)
  nil )
 (!pair  "pending_assemble_externals"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2305)
  nil )
 (!pair  "shared_constant_pool"
  (!type already_seen 1399)
  (!srcfileloc  "varasm.c" 202)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 199)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1271)
  (!srcfileloc  "varasm.c" 196)
  nil )
 (!pair  "section_htab"
  (!type already_seen 1274)
  (!srcfileloc  "varasm.c" 185)
  nil )
 (!pair  "unnamed_sections"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 169)
  nil )
 (!pair  "const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 76)
  nil )
 (!pair  "weak_global_object_name"
  (!type already_seen 39)
  (!srcfileloc  "varasm.c" 62)
  nil )
 (!pair  "first_global_object_name"
  (!type already_seen 39)
  (!srcfileloc  "varasm.c" 61)
  nil )
 (!pair  "gcc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 12396)
  nil )
 (!pair  "nonstandard_boolean_type_cache"
  (!type array 1829 nil  gc_used "MAX_BOOL_CACHED_PREC + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree.c" 8093)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 1830 nil  gc_used "2 * MAX_INT_CACHED_PREC + 2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree.c" 8053)
  nil )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1280)
  (!srcfileloc  "tree.c" 244)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1283)
  (!srcfileloc  "tree.c" 224)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1283)
  (!srcfileloc  "tree.c" 221)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 1286)
  (!srcfileloc  "tree.c" 215)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_target_option_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 207)
  nil )
 (!pair  "cl_optimization_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "int_cst_hash_table"
  (!type already_seen 1289)
  (!srcfileloc  "tree.c" 199)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "int_cst_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 191)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 1292)
  (!srcfileloc  "tree.c" 188)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "next_debug_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 156)
  nil )
 (!pair  "next_type_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 153)
  nil )
 (!pair  "next_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 151)
  nil )
 (!pair  "spd"
  (!type already_seen 1296)
  (!srcfileloc  "stringpool.c" 255)
  nil )
 (!pair  "size_functions"
  (!type already_seen 49)
  (!srcfileloc  "stor-layout.c" 85)
  nil )
 (!pair  "sdbout_initialized"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 67)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 66)
  nil )
 (!pair  "deferred_global_decls"
  (!type already_seen 49)
  (!srcfileloc  "sdbout.c" 60)
  nil )
 (!pair  "unnamed_struct_number"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 56)
  nil )
 (!pair  "anonymous_types"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 52)
  nil )
 (!pair  "cfg_layout_function_header"
  (!type already_seen 325)
  (!srcfileloc  "cfgrtl.c" 67)
  nil )
 (!pair  "cfg_layout_function_footer"
  (!type already_seen 325)
  (!srcfileloc  "cfgrtl.c" 66)
  nil )
 (!pair  "libfunc_decls"
  (!type already_seen 1319)
  (!srcfileloc  "optabs-libfuncs.c" 727)
  nil )
 (!pair  "unused_expr_list"
  (!type already_seen 135)
  (!srcfileloc  "lists.c" 34)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "unused_insn_list"
  (!type already_seen 135)
  (!srcfileloc  "lists.c" 31)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "queue"
  (!type already_seen 49)
  (!srcfileloc  "godump.c" 58)
  nil )
 (!pair  "test_insn"
  (!type already_seen 325)
  (!srcfileloc  "gcse.c" 819)
  nil )
 (!pair  "sjlj_fc_type_node"
  (!type already_seen 5)
  (!srcfileloc  "except.c" 151)
  nil )
 (!pair  "type_to_runtime_map"
  (!type already_seen 1352)
  (!srcfileloc  "except.c" 148)
  nil )
 (!pair  "call_site_base"
  (!type already_seen 9)
  (!srcfileloc  "except.c" 146)
  nil )
 (!pair  "next_block_index"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 4706)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1363)
  (!srcfileloc  "function.c" 576)
  nil )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1369)
  (!srcfileloc  "function.c" 125)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1369)
  (!srcfileloc  "function.c" 123)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "funcdef_no"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 105)
  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" 1362)
  nil )
 (!pair  "stack_check_libfunc"
  (!type already_seen 135)
  (!srcfileloc  "explow.c" 1513)
  nil )
 (!pair  "hard_reg_clobbers"
  (!type array 1831 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 1832 nil  gc_used "FIRST_PSEUDO_REGISTER" 
    (!type already_seen 135)
   )
  )
  (!srcfileloc  "emit-rtl.c" 6198)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_sequence_stack"
  (!type already_seen 1397)
  (!srcfileloc  "emit-rtl.c" 5332)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "spill_slot_decl"
  (!type already_seen 5)
  (!srcfileloc  "emit-rtl.c" 2494)
  nil )
 (!pair  "const_fixed_htab"
  (!type already_seen 1377)
  (!srcfileloc  "emit-rtl.c" 175)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1380)
  (!srcfileloc  "emit-rtl.c" 166)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1383)
  (!srcfileloc  "emit-rtl.c" 157)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_wide_int_htab"
  (!type already_seen 1386)
  (!srcfileloc  "emit-rtl.c" 148)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1389)
  (!srcfileloc  "emit-rtl.c" 140)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "emit-rtl.c" 90)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1391)
  (!srcfileloc  "emit-rtl.h" 304)
  nil )
 (!pair  "shift_test"
  (!type already_seen 135)
  (!srcfileloc  "dojump.c" 161)
  nil )
 (!pair  "and_test"
  (!type already_seen 135)
  (!srcfileloc  "dojump.c" 160)
  nil )
 (!pair  "and_reg"
  (!type already_seen 135)
  (!srcfileloc  "dojump.c" 159)
  nil )
 (!pair  "vector_last_nunits"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 77)
  nil )
 (!pair  "vector_last_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 76)
  nil )
 (!pair  "vector_inner_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 75)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1441)
  (!srcfileloc  "dwarf2out.c" 4356)
  nil )
 (!pair  "generic_type_instances"
  (!type already_seen 49)
  (!srcfileloc  "dwarf2out.c" 3120)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1448)
  (!srcfileloc  "dwarf2out.c" 3114)
  nil )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3112)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 481)
  (!srcfileloc  "dwarf2out.c" 3109)
  nil )
 (!pair  "poc_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3106)
  nil )
 (!pair  "loclabel_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3103)
  nil )
 (!pair  "have_location_lists"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3100)
  nil )
 (!pair  "ranges_by_label_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3093)
  nil )
 (!pair  "ranges_by_label_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3090)
  nil )
 (!pair  "ranges_by_label"
  (!type already_seen 1488)
  (!srcfileloc  "dwarf2out.c" 3087)
  (!options 
   (!option length string  "ranges_by_label_allocated")
  )
 )
 (!pair  "ranges_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3083)
  nil )
 (!pair  "ranges_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3080)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1490)
  (!srcfileloc  "dwarf2out.c" 3077)
  (!options 
   (!option length string  "ranges_table_allocated")
  )
 )
 (!pair  "macinfo_table"
  (!type already_seen 1451)
  (!srcfileloc  "dwarf2out.c" 3067)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1454)
  (!srcfileloc  "dwarf2out.c" 3063)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1454)
  (!srcfileloc  "dwarf2out.c" 3059)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1457)
  (!srcfileloc  "dwarf2out.c" 3051)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1458)
  (!srcfileloc  "dwarf2out.c" 3048)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1458)
  (!srcfileloc  "dwarf2out.c" 3047)
  nil )
 (!pair  "abbrev_die_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3026)
  nil )
 (!pair  "abbrev_die_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 3023)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 470)
  (!srcfileloc  "dwarf2out.c" 3020)
  (!options 
   (!option length string  "abbrev_die_table_allocated")
  )
 )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1464)
  (!srcfileloc  "dwarf2out.c" 3014)
  nil )
 (!pair  "call_arg_locations"
  (!type already_seen 1471)
  (!srcfileloc  "dwarf2out.c" 2986)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1468)
  (!srcfileloc  "dwarf2out.c" 2983)
  nil )
 (!pair  "common_block_die_table"
  (!type already_seen 1476)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "decl_die_table"
  (!type already_seen 1479)
  (!srcfileloc  "dwarf2out.c" 2908)
  nil )
 (!pair  "file_table"
  (!type already_seen 1482)
  (!srcfileloc  "dwarf2out.c" 2897)
  nil )
 (!pair  "deferred_asm_name"
  (!type already_seen 1486)
  (!srcfileloc  "dwarf2out.c" 2886)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1486)
  (!srcfileloc  "dwarf2out.c" 2882)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 473)
  (!srcfileloc  "dwarf2out.c" 2879)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 469)
  (!srcfileloc  "dwarf2out.c" 2876)
  nil )
 (!pair  "current_unit_personality"
  (!type already_seen 135)
  (!srcfileloc  "dwarf2out.c" 274)
  nil )
 (!pair  "decltype_auto_die"
  (!type already_seen 469)
  (!srcfileloc  "dwarf2out.c" 264)
  nil )
 (!pair  "auto_die"
  (!type already_seen 469)
  (!srcfileloc  "dwarf2out.c" 261)
  nil )
 (!pair  "cold_text_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 258)
  nil )
 (!pair  "cold_text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 255)
  nil )
 (!pair  "text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 254)
  nil )
 (!pair  "have_multiple_function_sections"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 250)
  nil )
 (!pair  "dw2_string_counter"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 247)
  nil )
 (!pair  "skeleton_debug_str_hash"
  (!type already_seen 1493)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "debug_str_hash"
  (!type already_seen 1493)
  (!srcfileloc  "dwarf2out.c" 224)
  nil )
 (!pair  "fde_vec"
  (!type already_seen 1496)
  (!srcfileloc  "dwarf2out.c" 206)
  nil )
 (!pair  "debug_frame_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 171)
  nil )
 (!pair  "debug_ranges_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 170)
  nil )
 (!pair  "debug_str_offsets_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 169)
  nil )
 (!pair  "debug_str_dwo_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 168)
  nil )
 (!pair  "debug_str_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 167)
  nil )
 (!pair  "debug_pubtypes_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 166)
  nil )
 (!pair  "debug_pubnames_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 165)
  nil )
 (!pair  "debug_loc_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 164)
  nil )
 (!pair  "debug_skeleton_line_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 163)
  nil )
 (!pair  "debug_line_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 162)
  nil )
 (!pair  "debug_macinfo_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 161)
  nil )
 (!pair  "debug_addr_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 160)
  nil )
 (!pair  "debug_aranges_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 159)
  nil )
 (!pair  "debug_skeleton_abbrev_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 158)
  nil )
 (!pair  "debug_abbrev_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 157)
  nil )
 (!pair  "debug_skeleton_info_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 156)
  nil )
 (!pair  "debug_info_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 155)
  nil )
 (!pair  "decl_scope_table"
  (!type already_seen 49)
  (!srcfileloc  "dwarf2out.c" 152)
  nil )
 (!pair  "incomplete_types"
  (!type already_seen 49)
  (!srcfileloc  "dwarf2out.c" 145)
  nil )
 (!pair  "used_rtx_array"
  (!type already_seen 251)
  (!srcfileloc  "dwarf2out.c" 139)
  nil )
 (!pair  "saved_do_cfi_asm"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 3364)
  nil )
 (!pair  "dwarf2out_cfi_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 185)
  nil )
 (!pair  "cie_return_save"
  (!type already_seen 1503)
  (!srcfileloc  "dwarf2cfi.c" 183)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1505)
  (!srcfileloc  "dwarf2cfi.c" 181)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2asm.c" 795)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1508)
  (!srcfileloc  "dwarf2asm.c" 793)
  nil )
 (!pair  "cie_cfi_vec"
  (!type already_seen 448)
  (!srcfileloc  "dwarf2out.h" 289)
  nil )
 (!pair  "lastfile_is_base"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 248)
  nil )
 (!pair  "lastfile"
  (!type already_seen 39)
  (!srcfileloc  "dbxout.c" 244)
  nil )
 (!pair  "source_label_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 240)
  nil )
 (!pair  "dbxout_source_line_counter"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 235)
  nil )
 (!pair  "scope_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 231)
  nil )
 (!pair  "next_file_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 227)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "dbxout.c" 194)
  nil )
 (!pair  "next_type_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 188)
  nil )
 (!pair  "typevec_len"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 182)
  nil )
 (!pair  "typevec"
  (!type already_seen 1513)
  (!srcfileloc  "dbxout.c" 178)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1592)
  (!srcfileloc  "cgraph.c" 134)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1539)
  (!srcfileloc  "cgraph.c" 114)
  nil )
 (!pair  "callmem"
  (!type already_seen 135)
  (!srcfileloc  "cselib.c" 220)
  nil )
 (!pair  "bitmap_ggc_free"
  (!type already_seen 121)
  (!srcfileloc  "bitmap.c" 48)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "frame_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1281)
  nil )
 (!pair  "varargs_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1259)
  nil )
 (!pair  "alias_sets"
  (!type already_seen 1546)
  (!srcfileloc  "alias.c" 278)
  nil )
 (!pair  "reg_known_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 256)
  nil )
 (!pair  "old_reg_base_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 237)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "arg_base_value"
  (!type already_seen 135)
  (!srcfileloc  "alias.c" 229)
  nil )
 (!pair  "reg_base_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 224)
  nil )
 (!pair  "restinsn"
  (!type already_seen 325)
  (!srcfileloc  "caller-save.c" 104)
  nil )
 (!pair  "saveinsn"
  (!type already_seen 325)
  (!srcfileloc  "caller-save.c" 103)
  nil )
 (!pair  "test_mem"
  (!type already_seen 135)
  (!srcfileloc  "caller-save.c" 102)
  nil )
 (!pair  "test_reg"
  (!type already_seen 135)
  (!srcfileloc  "caller-save.c" 101)
  nil )
 (!pair  "restpat"
  (!type already_seen 135)
  (!srcfileloc  "caller-save.c" 100)
  nil )
 (!pair  "savepat"
  (!type already_seen 135)
  (!srcfileloc  "caller-save.c" 99)
  nil )
 (!pair  "symtab"
  (!type already_seen 1570)
  (!srcfileloc  "cgraph.h" 2231)
  nil )
 (!pair  "in_cold_section_p"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 522)
  nil )
 (!pair  "in_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 521)
  nil )
 (!pair  "bss_noswitch_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 519)
  nil )
 (!pair  "lcomm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 518)
  nil )
 (!pair  "comm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 517)
  nil )
 (!pair  "tls_comm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 516)
  nil )
 (!pair  "eh_frame_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 515)
  nil )
 (!pair  "exception_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 514)
  nil )
 (!pair  "sbss_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 513)
  nil )
 (!pair  "bss_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 512)
  nil )
 (!pair  "dtors_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 511)
  nil )
 (!pair  "ctors_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 510)
  nil )
 (!pair  "sdata_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 509)
  nil )
 (!pair  "readonly_data_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 508)
  nil )
 (!pair  "data_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 507)
  nil )
 (!pair  "text_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 506)
  nil )
 (!pair  "types_used_by_cur_var_decl"
  (!type already_seen 49)
  (!srcfileloc  "function.h" 435)
  nil )
 (!pair  "types_used_by_vars_hash"
  (!type already_seen 1604)
  (!srcfileloc  "function.h" 429)
  nil )
 (!pair  "cfun"
  (!type already_seen 384)
  (!srcfileloc  "function.h" 400)
  nil )
 (!pair  "regno_reg_rtx"
  (!type already_seen 136)
  (!srcfileloc  "function.h" 85)
  (!options 
   (!option length string  "crtl->emit.x_reg_rtx_no")
  )
 )
 (!pair  "default_target_libfuncs"
  (!type already_seen 596)
  (!srcfileloc  "libfuncs.h" 80)
  nil )
 (!pair  "current_function_func_begin_label"
  (!type already_seen 39)
  (!srcfileloc  "tree-core.h" 2013)
  nil )
 (!pair  "current_function_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-core.h" 2010)
  nil )
 (!pair  "builtin_info"
  (!type array 1833 nil  gc_used "(int)END_BUILTINS" 
   (!type already_seen 1615)
  )
  (!srcfileloc  "tree-core.h" 2004)
  nil )
 (!pair  "sizetype_tab"
  (!type array 1834 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1992)
  nil )
 (!pair  "integer_types"
  (!type array 1835 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1989)
  nil )
 (!pair  "global_trees"
  (!type array 1836 nil  gc_used "TI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1985)
  nil )
 (!pair  "all_translation_units"
  (!type already_seen 49)
  (!srcfileloc  "tree-core.h" 1982)
  nil )
 (!pair  "alias_pairs"
  (!type already_seen 1613)
  (!srcfileloc  "tree-core.h" 1969)
  nil )
 (!pair  "int_n_trees"
  (!type array 1837 nil  gc_used "NUM_INT_N_ENTS" 
   (!type already_seen 1627)
  )
  (!srcfileloc  "tree.h" 5368)
  nil )
 (!pair  "stack_limit_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3676)
  nil )
 (!pair  "default_target_rtl"
  (!type already_seen 581)
  (!srcfileloc  "rtl.h" 3260)
  nil )
 (!pair  "invalid_insn_rtx"
  (!type already_seen 325)
  (!srcfileloc  "rtl.h" 3158)
  nil )
 (!pair  "simple_return_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3157)
  nil )
 (!pair  "ret_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3156)
  nil )
 (!pair  "cc0_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3155)
  nil )
 (!pair  "pc_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3154)
  nil )
 (!pair  "const_tiny_rtx"
  (!type array 1838 nil  gc_used "4" 
   (!type array 1839 nil  gc_used "(int) MAX_MACHINE_MODE" 
    (!type already_seen 135)
   )
  )
  (!srcfileloc  "rtl.h" 3141)
  nil )
 (!pair  "const_true_rtx"
  (!type already_seen 135)
  (!srcfileloc  "rtl.h" 3139)
  nil )
 (!pair  "const_int_rtx"
  (!type array 1840 nil  gc_used "MAX_SAVED_CONST_INT * 2 + 1" 
   (!type already_seen 135)
  )
  (!srcfileloc  "rtl.h" 3133)
  nil )
 (!pair  "gcov_fn_info_ptr_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 99)
  nil )
 (!pair  "gcov_fn_info_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 98)
  nil )
 (!pair  "gcov_info_var"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 97)
  nil )
 (!pair  "fn_v_ctrs"
  (!type array 1841 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 5)
  )
  (!srcfileloc  "coverage.c" 92)
  nil )
 (!pair  "functions_head"
  (!type already_seen 1648)
  (!srcfileloc  "coverage.c" 83)
  nil )
 (!pair  "line_table"
  (!type already_seen 1766)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
