;;;;@@@@ 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.1.1 20160607")
(!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 1323
 
 (!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" 2371)
                      (!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" 2371)
                        (!fields 5 
                         (!pair  "base"
                          (!type struct 60 nil  gc_used "lang_decl_base"
                           (!srcfileloc  "cp/cp-tree.h" 2250)
                           (!fields 13 
                            (!pair  "selector"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2235)
                             nil )
                            (!pair  "language"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2236)
                             nil )
                            (!pair  "use_template"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2237)
                             nil )
                            (!pair  "not_really_extern"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2238)
                             nil )
                            (!pair  "initialized_in_class"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2239)
                             nil )
                            (!pair  "repo_available_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2240)
                             nil )
                            (!pair  "threadprivate_or_deleted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2241)
                             nil )
                            (!pair  "anticipated_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2242)
                             nil )
                            (!pair  "friend_or_tls"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2244)
                             nil )
                            (!pair  "template_conv_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2245)
                             nil )
                            (!pair  "odr_used"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2246)
                             nil )
                            (!pair  "u2sel"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2247)
                             nil )
                            (!pair  "concept_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2248)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2366)
                          (!options 
                           (!option default string  "")
                          )
                         )
                         (!pair  "min"
                          (!type struct 61 nil  gc_used "lang_decl_min"
                           (!srcfileloc  "cp/cp-tree.h" 2282)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2264)
                             nil )
                            (!pair  "template_info"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2271)
                             nil )
                            (!pair  "u2"
                             (!type union 62 nil  gc_used "lang_decl_u2"
                              (!srcfileloc  "cp/cp-tree.h" 2281)
                              (!fields 2 
                               (!pair  "access"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2277)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "discriminator"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2280)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2281)
                             (!options 
                              (!option desc string  "%0.u.base.u2sel")
                             )
                            )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2367)
                          (!options 
                           (!option tag string  "0")
                          )
                         )
                         (!pair  "fn"
                          (!type struct 63 nil  gc_used "lang_decl_fn"
                           (!srcfileloc  "cp/cp-tree.h" 2341)
                           (!fields 20 
                            (!pair  "min"
                             (!type already_seen 61)
                             (!srcfileloc  "cp/cp-tree.h" 2287)
                             nil )
                            (!pair  "operator_code"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2291)
                             nil )
                            (!pair  "global_ctor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2293)
                             nil )
                            (!pair  "global_dtor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2294)
                             nil )
                            (!pair  "assignment_operator_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2295)
                             nil )
                            (!pair  "static_function"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2296)
                             nil )
                            (!pair  "pure_virtual"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2297)
                             nil )
                            (!pair  "defaulted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2298)
                             nil )
                            (!pair  "has_in_charge_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2300)
                             nil )
                            (!pair  "has_vtt_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2301)
                             nil )
                            (!pair  "pending_inline_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2302)
                             nil )
                            (!pair  "nonconverting"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2303)
                             nil )
                            (!pair  "thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2304)
                             nil )
                            (!pair  "this_thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2305)
                             nil )
                            (!pair  "hidden_friend_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2306)
                             nil )
                            (!pair  "omp_declare_reduction_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2307)
                             nil )
                            (!pair  "befriending_classes"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2313)
                             nil )
                            (!pair  "context"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2321)
                             nil )
                            (!pair  "u5"
                             (!type union 64 nil  gc_used "lang_decl_u5"
                              (!srcfileloc  "cp/cp-tree.h" 2332)
                              (!fields 2 
                               (!pair  "cloned_function"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2327)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "fixed_offset"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2331)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2332)
                             (!options 
                              (!option desc string  "%1.thunk_p")
                             )
                            )
                            (!pair  "u"
                             (!type union 65 nil  gc_used "lang_decl_u3"
                              (!srcfileloc  "cp/cp-tree.h" 2339)
                              (!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" 6239)
                                                      nil )
                                                     (!pair  "decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 6241)
                                                      nil )
                                                     (!pair  "diag_decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 6243)
                                                      nil )
                                                     (!pair  "loc"
                                                      (!type already_seen 9)
                                                      (!srcfileloc  "cp/cp-tree.h" 6245)
                                                      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" 2336)
                                (!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" 292)
                                        (!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" 292)
                                          (!fields 3 
                                           (!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 )
                                          )
                                          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" 1454)
                                    (!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" 1424)
                                      nil )
                                     (!pair  "x_cdtor_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1426)
                                      nil )
                                     (!pair  "x_current_class_ptr"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1427)
                                      nil )
                                     (!pair  "x_current_class_ref"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1428)
                                      nil )
                                     (!pair  "x_eh_spec_block"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1429)
                                      nil )
                                     (!pair  "x_in_charge_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1430)
                                      nil )
                                     (!pair  "x_vtt_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1431)
                                      nil )
                                     (!pair  "x_return_value"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1432)
                                      nil )
                                     (!pair  "x_auto_return_pattern"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1433)
                                      nil )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1435)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1436)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1437)
                                      nil )
                                     (!pair  "infinite_loop"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1438)
                                      nil )
                                     (!pair  "x_in_function_try_handler"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1439)
                                      nil )
                                     (!pair  "x_in_base_initializer"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1440)
                                      nil )
                                     (!pair  "can_throw"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1443)
                                      nil )
                                     (!pair  "invalid_constexpr"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1445)
                                      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" 1447)
                                        (!fields 1 
                                         (!pair  "named_label_hasher"
                                          (!type struct 95 nil  gc_used "named_label_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 )
                                     (!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" 1448)
                                      nil )
                                     (!pair  "x_local_names"
                                      (!type already_seen 49)
                                      (!srcfileloc  "cp/cp-tree.h" 1449)
                                      nil )
                                     (!pair  "infinite_loops"
                                      (!type already_seen 49)
                                      (!srcfileloc  "cp/cp-tree.h" 1452)
                                      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" 1453)
                                        (!fields 1 
                                         (!pair  "cxx_int_tree_map_hasher"
                                          (!type struct 108 nil  gc_used "cxx_int_tree_map_hasher"
                                           (!srcfileloc  "cp/cp-tree.h" 1453)
                                           (!fields 0 )
                                           nil 516 nil nil )
                                          (!srcfileloc  "cp/cp-tree.h" 1453)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1453)
                                      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" 2338)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                              )
                              nil 516 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2339)
                             (!options 
                              (!option desc string  "%1.pending_inline_p")
                             )
                            )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2368)
                          (!options 
                           (!option tag string  "1")
                          )
                         )
                         (!pair  "ns"
                          (!type struct 127 nil  gc_used "lang_decl_ns"
                           (!srcfileloc  "cp/cp-tree.h" 2350)
                           (!fields 4 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2346)
                             nil )
                            (!pair  "level"
                             (!type already_seen 96)
                             (!srcfileloc  "cp/cp-tree.h" 2347)
                             nil )
                            (!pair  "ns_using"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2348)
                             nil )
                            (!pair  "ns_users"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2349)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2369)
                          (!options 
                           (!option tag string  "2")
                          )
                         )
                         (!pair  "parm"
                          (!type struct 128 nil  gc_used "lang_decl_parm"
                           (!srcfileloc  "cp/cp-tree.h" 2358)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2355)
                             nil )
                            (!pair  "level"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2356)
                             nil )
                            (!pair  "index"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2357)
                             nil )
                           )
                           nil 516 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2370)
                          (!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" 2372)
                  (!fields 1 
                   (!pair  "u"
                    (!type already_seen 58)
                    (!srcfileloc  "cp/cp-tree.h" 2371)
                    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" 1791)
                  (!fields 1 
                   (!pair  "u"
                    (!type union 525 nil  gc_used "lang_type_u"
                     (!srcfileloc  "cp/cp-tree.h" 1790)
                     (!fields 3 
                      (!pair  "h"
                       (!type struct 526 nil  gc_used "lang_type_header"
                        (!srcfileloc  "cp/cp-tree.h" 1675)
                        (!fields 8 
                         (!pair  "is_lang_type_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1665)
                          nil )
                         (!pair  "has_type_conversion"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1667)
                          nil )
                         (!pair  "has_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1668)
                          nil )
                         (!pair  "has_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1669)
                          nil )
                         (!pair  "const_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1670)
                          nil )
                         (!pair  "ref_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1671)
                          nil )
                         (!pair  "has_const_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1672)
                          nil )
                         (!pair  "spare"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1674)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1787)
                       (!options 
                        (!option skip string  "")
                       )
                      )
                      (!pair  "c"
                       (!type struct 527 nil  gc_used "lang_type_class"
                        (!srcfileloc  "cp/cp-tree.h" 1777)
                        (!fields 63 
                         (!pair  "h"
                          (!type already_seen 526)
                          (!srcfileloc  "cp/cp-tree.h" 1691)
                          nil )
                         (!pair  "align"
                          (!type already_seen 15)
                          (!srcfileloc  "cp/cp-tree.h" 1693)
                          nil )
                         (!pair  "has_mutable"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1695)
                          nil )
                         (!pair  "com_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1696)
                          nil )
                         (!pair  "non_pod_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1697)
                          nil )
                         (!pair  "nearly_empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1698)
                          nil )
                         (!pair  "user_align"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1699)
                          nil )
                         (!pair  "has_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1700)
                          nil )
                         (!pair  "has_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1701)
                          nil )
                         (!pair  "has_array_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1702)
                          nil )
                         (!pair  "gets_delete"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1704)
                          nil )
                         (!pair  "interface_only"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1705)
                          nil )
                         (!pair  "interface_unknown"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1706)
                          nil )
                         (!pair  "contains_empty_class_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1707)
                          nil )
                         (!pair  "anon_aggr"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1708)
                          nil )
                         (!pair  "non_zero_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1709)
                          nil )
                         (!pair  "empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1710)
                          nil )
                         (!pair  "vec_new_uses_cookie"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1712)
                          nil )
                         (!pair  "declared_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1713)
                          nil )
                         (!pair  "diamond_shaped"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1714)
                          nil )
                         (!pair  "repeated_base"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1715)
                          nil )
                         (!pair  "being_defined"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1716)
                          nil )
                         (!pair  "java_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1717)
                          nil )
                         (!pair  "debug_requested"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1718)
                          nil )
                         (!pair  "fields_readonly"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1719)
                          nil )
                         (!pair  "use_template"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1721)
                          nil )
                         (!pair  "ptrmemfunc_flag"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1722)
                          nil )
                         (!pair  "was_anonymous"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1723)
                          nil )
                         (!pair  "lazy_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1724)
                          nil )
                         (!pair  "lazy_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1725)
                          nil )
                         (!pair  "lazy_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1726)
                          nil )
                         (!pair  "lazy_destructor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1727)
                          nil )
                         (!pair  "has_const_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1729)
                          nil )
                         (!pair  "has_complex_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1730)
                          nil )
                         (!pair  "has_complex_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1731)
                          nil )
                         (!pair  "non_aggregate"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1732)
                          nil )
                         (!pair  "has_complex_dflt"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1733)
                          nil )
                         (!pair  "has_list_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1734)
                          nil )
                         (!pair  "non_std_layout"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1735)
                          nil )
                         (!pair  "is_literal"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1736)
                          nil )
                         (!pair  "lazy_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1738)
                          nil )
                         (!pair  "lazy_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1739)
                          nil )
                         (!pair  "has_complex_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1740)
                          nil )
                         (!pair  "has_complex_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1741)
                          nil )
                         (!pair  "has_constexpr_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1742)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1751)
                          nil )
                         (!pair  "primary_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1753)
                          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" 1754)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "cp/cp-tree.h" 1754)
                              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" 1659)
                               (!fields 2 
                                (!pair  "purpose"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1656)
                                 nil )
                                (!pair  "value"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1657)
                                 nil )
                               )
                               nil 516 nil nil )
                              (!srcfileloc  "cp/cp-tree.h" 1754)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1754)
                          nil )
                         (!pair  "vtables"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1755)
                          nil )
                         (!pair  "typeinfo_var"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1756)
                          nil )
                         (!pair  "vbases"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1757)
                          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" 1758)
                          nil )
                         (!pair  "as_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1759)
                          nil )
                         (!pair  "pure_virtuals"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1760)
                          nil )
                         (!pair  "friend_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1761)
                          nil )
                         (!pair  "methods"
                          (!type already_seen 49)
                          (!srcfileloc  "cp/cp-tree.h" 1762)
                          (!options 
                           (!option reorder string  "resort_type_method_vec")
                          )
                         )
                         (!pair  "key_method"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1763)
                          nil )
                         (!pair  "decl_list"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1764)
                          nil )
                         (!pair  "template_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1765)
                          nil )
                         (!pair  "befriending_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1766)
                          nil )
                         (!pair  "objc_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1770)
                          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" 1774)
                          (!options 
                           (!option reorder string  "resort_sorted_fields")
                          )
                         )
                         (!pair  "lambda_expr"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1776)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1788)
                       (!options 
                        (!option tag string  "1")
                       )
                      )
                      (!pair  "ptrmem"
                       (!type struct 540 nil  gc_used "lang_type_ptrmem"
                        (!srcfileloc  "cp/cp-tree.h" 1782)
                        (!fields 2 
                         (!pair  "h"
                          (!type already_seen 526)
                          (!srcfileloc  "cp/cp-tree.h" 1780)
                          nil )
                         (!pair  "record"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1781)
                          nil )
                        )
                        nil 516 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1789)
                       (!options 
                        (!option tag string  "0")
                       )
                      )
                     )
                     nil 516 nil )
                    (!srcfileloc  "cp/cp-tree.h" 1790)
                    (!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" 1084)
              (!fields 16 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "cp/cp-tree.h" 1061)
                (!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" 1062)
                (!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" 1063)
                (!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" 1064)
                (!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" 1065)
                (!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" 1066)
                (!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" 1067)
                (!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" 1068)
                (!options 
                 (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                )
               )
               (!pair  "identifier"
                (!type already_seen 620)
                (!srcfileloc  "cp/cp-tree.h" 1069)
                (!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" 1071)
                (!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" 1073)
                (!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" 1075)
                (!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" 1077)
                (!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" 1079)
                (!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" 908)
                 (!fields 6 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "cp/cp-tree.h" 902)
                   nil )
                  (!pair  "template_reqs"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 903)
                   nil )
                  (!pair  "declarator_reqs"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 904)
                   nil )
                  (!pair  "associated_constr"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 905)
                   nil )
                  (!pair  "normalized_constr"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 906)
                   nil )
                  (!pair  "assumptions"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 907)
                   nil )
                 )
                 nil 516 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 1081)
                (!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" 1083)
                (!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" 4505)
  (!fields 1 
   (!pair  "module_hasher"
    (!type struct 745 nil  gc_used "module_hasher"
     (!srcfileloc  "fortran/trans-decl.c" 4505)
     (!fields 0 )
     nil 8 nil nil )
    (!srcfileloc  "fortran/trans-decl.c" 4505)
    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" 918)
  (!fields 1 
   (!pair  "constexpr_call_hasher"
    (!type struct 750 nil  gc_used "constexpr_call_hasher"
     (!srcfileloc  "cp/constexpr.c" 918)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/constexpr.c" 918)
    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" 881)
  (!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" 865)
      (!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" 865)
    nil )
   (!pair  "bindings"
    (!type already_seen 5)
    (!srcfileloc  "cp/constexpr.c" 872)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/constexpr.c" 877)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cp/constexpr.c" 880)
    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" 37103)
  (!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<constr_hasher>"
  (!srcfileloc  "cp/pt.c" 24342)
  (!fields 1 
   (!pair  "constr_hasher"
    (!type struct 817 nil  gc_used "constr_hasher"
     (!srcfileloc  "cp/pt.c" 24342)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/pt.c" 24342)
    nil )
  )
 )
 
 (!type already_seen 817)
 
 (!type struct 818 nil  gc_pointed_to "constr_entry"
  (!srcfileloc  "cp/pt.c" 24319)
  (!fields 2 
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24317)
    nil )
   (!pair  "ci"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 24318)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type struct 819 nil  gc_unused "auto_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 820 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 821 nil  gc_unused "uses_all_template_parms_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 822 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 823 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 824 
  (!type pointer 825 nil  gc_used
   (!type already_seen 824)
  )
  gc_pointed_to "hash_table<spec_hasher>"
  (!srcfileloc  "cp/pt.c" 107)
  (!fields 1 
   (!pair  "spec_hasher"
    (!type struct 826 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 826)
 
 (!type struct 827 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 828 
  (!type pointer 829 nil  gc_used
   (!type already_seen 828)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 54)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 829)
    (!srcfileloc  "cp/pt.c" 52)
    nil )
   (!pair  "tinst"
    (!type pointer 830 nil  gc_used
     (!type struct 831 
      (!type already_seen 830)
      gc_pointed_to "tinst_level"
      (!srcfileloc  "cp/cp-tree.h" 5464)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 830)
        (!srcfileloc  "cp/cp-tree.h" 5449)
        nil )
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/cp-tree.h" 5454)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5457)
        nil )
       (!pair  "errors"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5460)
        nil )
       (!pair  "in_system_header_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5463)
        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 832 
  (!type pointer 833 nil  gc_unused
   (!type already_seen 832)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 834 nil  gc_unused "reshape_iter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 835 nil  gc_unused "predefined_identifier"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<typename_hasher>"
  (!srcfileloc  "cp/decl.c" 3541)
  (!fields 1 
   (!pair  "typename_hasher"
    (!type struct 838 nil  gc_used "typename_hasher"
     (!srcfileloc  "cp/decl.c" 3541)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/decl.c" 3541)
    nil )
  )
 )
 
 (!type already_seen 838)
 
 (!type struct 839 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 840 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 841 
  (!type pointer 842 nil  gc_used
   (!type already_seen 841)
  )
  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 843 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 843)
 
 (!type struct 844 
  (!type pointer 845 nil  gc_used
   (!type already_seen 844)
  )
  gc_pointed_to "named_label_use_entry"
  (!srcfileloc  "cp/decl.c" 189)
  (!fields 5 
   (!pair  "next"
    (!type already_seen 845)
    (!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 846 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 847 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 848 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 849 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 850 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 851 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 852 nil  gc_unused "deferring_access_check_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 75)
 
 (!type struct 853 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 854 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 855 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 856 nil  gc_used "operator_name_info_t"
  (!srcfileloc  "cp/cp-tree.h" 5200)
  (!fields 4 
   (!pair  "identifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 5193)
    nil )
   (!pair  "name"
    (!type already_seen 39)
    (!srcfileloc  "cp/cp-tree.h" 5195)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 39)
    (!srcfileloc  "cp/cp-tree.h" 5197)
    nil )
   (!pair  "arity"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 5199)
    nil )
  )
  nil 516 nil nil )
 
 (!type struct 857 nil  gc_unused "local_specialization_stack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 858 nil  gc_unused "cp_unevaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 859 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 860 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 845)
    (!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 861 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 862 nil  gc_unused "processing_template_decl_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 863 
  (!type pointer 864 nil  gc_used
   (!type already_seen 863)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1273)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-tree.h" 1273)
    nil )
   (!pair  "cxx_saved_binding"
    (!type struct 865 nil  gc_used "cxx_saved_binding"
     (!srcfileloc  "cp/cp-tree.h" 1273)
     (!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" 1273)
    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 866 nil  gc_unused "cp_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 867 
  (!type pointer 868 nil  gc_used
   (!type already_seen 867)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1310)
  (!fields 27 
   (!pair  "old_bindings"
    (!type already_seen 864)
    (!srcfileloc  "cp/cp-tree.h" 1273)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1274)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 49)
    (!srcfileloc  "cp/cp-tree.h" 1275)
    nil )
   (!pair  "class_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1276)
    nil )
   (!pair  "class_type"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1277)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1278)
    nil )
   (!pair  "function_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1279)
    nil )
   (!pair  "lang_base"
    (!type already_seen 49)
    (!srcfileloc  "cp/cp-tree.h" 1280)
    nil )
   (!pair  "lang_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1281)
    nil )
   (!pair  "template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1282)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1283)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1284)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1287)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1288)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1290)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1291)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1292)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1293)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1295)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1296)
    nil )
   (!pair  "noexcept_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1297)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1300)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 91)
    (!srcfileloc  "cp/cp-tree.h" 1302)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1304)
    nil )
   (!pair  "bindings"
    (!type already_seen 96)
    (!srcfileloc  "cp/cp-tree.h" 1305)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 419)
    (!srcfileloc  "cp/cp-tree.h" 1307)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "prev"
    (!type already_seen 868)
    (!srcfileloc  "cp/cp-tree.h" 1309)
    nil )
  )
  nil 516 nil nil )
 
 (!type struct 869 nil  gc_unused "arg_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 870 nil  gc_pointed_to "cxx_int_tree_map"
  (!srcfileloc  "cp/cp-tree.h" 1405)
  (!fields 2 
   (!pair  "uid"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1403)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1404)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  516 nil nil )
 
 (!type struct 871 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 865)
 
 (!type already_seen 97)
 
 (!type already_seen 102)
 
 (!type already_seen 536)
 
 (!type already_seen 533)
 
 (!type user_struct 872 
  (!type pointer 873 nil  gc_used
   (!type already_seen 872)
  )
  gc_pointed_to "hash_table<conv_type_hasher>"
  (!srcfileloc  "cp/mangle.c" 3883)
  (!fields 1 
   (!pair  "conv_type_hasher"
    (!type struct 874 nil  gc_used "conv_type_hasher"
     (!srcfileloc  "cp/mangle.c" 3883)
     (!fields 0 )
     nil 516 nil nil )
    (!srcfileloc  "cp/mangle.c" 3883)
    nil )
  )
 )
 
 (!type already_seen 874)
 
 (!type already_seen 831)
 
 (!type struct 875 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 876 
  (!type pointer 877 nil  gc_used
   (!type already_seen 876)
  )
  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 878 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 878)
 
 (!type already_seen 111)
 
 (!type struct 879 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 880 nil  gc_unused "anonymous:../../gcc/c/c-parser.c:6511"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 881 
  (!type pointer 882 nil  gc_used
   (!type already_seen 881)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 263)
  (!fields 13 
   (!pair  "tokens"
    (!type pointer 883 nil  gc_unused
     (!type struct 884 
      (!type already_seen 883)
      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 885 nil  gc_used "4" 
     (!type already_seen 884)
    )
    (!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 886 nil  gc_used
     (!type user_struct 887 
      (!type already_seen 886)
      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 884)
        (!srcfileloc  "c/c-parser.c" 256)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 256)
    nil )
  )
  nil 258 nil nil )
 
 (!type already_seen 887)
 
 (!type already_seen 884)
 
 (!type struct 888 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 889 nil  gc_unused "pragma_ns_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 890 
  (!type pointer 891 nil  gc_used
   (!type already_seen 890)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 979)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 891)
    (!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 892 
  (!type pointer 893 nil  gc_used
   (!type already_seen 892)
  )
  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 894 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 894)
 
 (!type user_struct 895 
  (!type pointer 896 nil  gc_used
   (!type already_seen 895)
  )
  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 897 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 897)
 
 (!type struct 898 
  (!type pointer 899 nil  gc_used
   (!type already_seen 898)
  )
  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 899)
    (!srcfileloc  "c-family/c-pragma.c" 44)
    nil )
  )
  nil 774 nil nil )
 
 (!type struct 900 nil  gc_unused "internal_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 901 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 902 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1413)
  (!fields 5 
   (!pair  "hex_str"
    (!type already_seen 39)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1408)
    nil )
   (!pair  "macro"
    (!type already_seen 632)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1409)
    nil )
   (!pair  "mode"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1410)
    nil )
   (!pair  "digits"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1411)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 39)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1412)
    nil )
  )
  nil 770 nil nil )
 
 (!type struct 903 nil  gc_unused "cilkplus_an_loop_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 904 nil  gc_unused "cilkplus_an_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 905 nil  gc_unused "inv_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 678)
 
 (!type struct 906 nil  gc_unused "omp_clause_mask"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 907 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 908 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 909 
  (!type pointer 910 nil  gc_used
   (!type already_seen 909)
  )
  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 911 
  (!type pointer 912 nil  gc_used
   (!type already_seen 911)
  )
  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 913 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 914 
  (!type pointer 915 nil  gc_used
   (!type already_seen 914)
  )
  gc_pointed_to "hash_table<c_type_hasher>"
  (!srcfileloc  "c-family/c-common.c" 4731)
  (!fields 1 
   (!pair  "c_type_hasher"
    (!type struct 916 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 916)
 
 (!type struct 917 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 918 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 919 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 920 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 538)
 
 (!type struct 921 
  (!type pointer 922 nil  gc_used
   (!type already_seen 921)
  )
  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 922)
    (!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 923 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 650)
 
 (!type struct 924 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 925 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 926 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 927 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 113)
 
 (!type struct 928 nil  gc_unused "c_arg_tag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 929 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 930 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 931 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 932 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 933 nil  gc_unused "deferred_decl_context_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 934 
  (!type pointer 935 nil  gc_used
   (!type already_seen 934)
  )
  gc_pointed_to "hash_table<pad_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/utils.c" 238)
  (!fields 1 
   (!pair  "pad_type_hasher"
    (!type struct 936 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 936)
 
 (!type struct 937 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 938 
  (!type pointer 939 nil  gc_used
   (!type already_seen 938)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 202)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 939)
    (!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 940 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 941 
  (!type pointer 942 nil  gc_used
   (!type already_seen 941)
  )
  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 943 nil  gc_used
     (!type struct 944 
      (!type already_seen 943)
      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 945 nil  gc_used
         (!type user_struct 946 
          (!type already_seen 945)
          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 947 nil  gc_used
             (!type struct 948 
              (!type already_seen 947)
              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 944)
 
 (!type already_seen 946)
 
 (!type already_seen 948)
 
 (!type struct 949 
  (!type pointer 950 nil  gc_used
   (!type already_seen 949)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 156)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 950)
    (!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 951 
  (!type pointer 952 nil  gc_used
   (!type already_seen 951)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 140)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 952)
    (!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 953 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 954 nil  gc_unused "er_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 955 nil  gc_unused "anonymous:../../gcc/ada/gcc-interface/decl.c:204"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 956 
  (!type pointer 957 nil  gc_used
   (!type already_seen 956)
  )
  gc_pointed_to "hash_table<value_annotation_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 151)
  (!fields 1 
   (!pair  "value_annotation_hasher"
    (!type struct 958 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 958)
 
 (!type struct 959 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 960 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 961 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 962 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 963 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 964 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 965 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 966 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 967 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 968 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 969 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 970 
  (!type pointer 971 nil  gc_used
   (!type already_seen 970)
  )
  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 972 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 972)
 
 (!type struct 973 nil  gc_unused "hsa_function_representation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 974 nil  gc_unused "direct_internal_fn_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 975 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 976 nil  gc_unused "final_warning_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 977 nil  gc_unused "decl_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 978 nil  gc_unused "odr_type_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 979 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 2719)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type struct 980 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 980)
 
 (!type struct 981 nil  gc_unused "polymorphic_call_target_d"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<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 984 nil  gc_used
     (!type struct 985 
      (!type already_seen 984)
      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 986 nil  gc_unused "vec<odr_type>"
         (!srcfileloc  "ipa-devirt.c" 190)
         (!fields 1 
          (!pair  "odr_type"
           (!type already_seen 984)
           (!srcfileloc  "ipa-devirt.c" 190)
           nil )
         )
        )
        (!srcfileloc  "ipa-devirt.c" 190)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "derived_types"
        (!type already_seen 986)
        (!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 987 nil  gc_unused "hash_table<odr_vtable_hasher>"
  (!srcfileloc  "ipa-devirt.c" 634)
  (!fields 1 
   (!pair  "odr_vtable_hasher"
    (!type struct 988 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 989 nil  gc_unused "hash_table<odr_name_hasher>"
  (!srcfileloc  "ipa-devirt.c" 632)
  (!fields 1 
   (!pair  "odr_name_hasher"
    (!type struct 990 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 988)
 
 (!type already_seen 990)
 
 (!type already_seen 986)
 
 (!type struct 991 nil  gc_unused "default_hash_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 992 nil  gc_unused "type_pair"
  (!srcfileloc  "ipa-devirt.c" 142)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type struct 993 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 994 nil  gc_unused "sanopt_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 995 nil  gc_unused "sanopt_tree_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 996 nil  gc_unused "sanopt_tree_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 997 nil  gc_unused "sanopt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 998 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 999 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1000 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1001 
  (!type pointer 1002 nil  gc_used
   (!type already_seen 1001)
  )
  gc_pointed_to "hash_table<tree_type_map_cache_hasher>"
  (!srcfileloc  "ubsan.c" 77)
  (!fields 1 
   (!pair  "tree_type_map_cache_hasher"
    (!type struct 1003 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 1003)
 
 (!type struct 1004 nil  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 53)
  (!fields 2 
   (!pair  "type"
    (!type struct 1005 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 1006 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1007 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1008 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1009 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1010 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1011 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1012 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1013 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 299)
 )
 
 (!type user_struct 1014 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type struct 1015 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 1015)
 
 (!type struct 1016 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1017 nil  gc_unused "edge_growth_cache_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1018 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1019 
  (!type pointer 1020 nil  gc_used
   (!type already_seen 1019)
  )
  gc_pointed_to "function_summary<inline_summary*>"
  (!srcfileloc  "ipa-inline.h" 194)
  (!fields 1 
   (!pair  "inline_summary"
    (!type pointer 1021 nil  gc_used
     (!type struct 1022 
      (!type already_seen 1021)
      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 1023 nil  gc_used
         (!type user_struct 1024 
          (!type already_seen 1023)
          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 1025 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 1026 nil  gc_used
         (!type user_struct 1027 
          (!type already_seen 1026)
          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 1028 nil  gc_used "size_time_entry"
             (!srcfileloc  "ipa-inline.h" 153)
             (!fields 3 
              (!pair  "predicate"
               (!type struct 1029 
                (!type pointer 1030 nil  gc_unused
                 (!type already_seen 1029)
                )
                gc_used "predicate"
                (!srcfileloc  "ipa-inline.h" 98)
                (!fields 1 
                 (!pair  "clause"
                  (!type array 1031 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 1030)
        (!srcfileloc  "ipa-inline.h" 157)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "loop_stride"
        (!type already_seen 1030)
        (!srcfileloc  "ipa-inline.h" 160)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "array_index"
        (!type already_seen 1030)
        (!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 1032 nil  gc_unused "inline_summary_t"
  (!srcfileloc  "ipa-inline.h" 192)
  (!fields 0 )
 )
 
 (!type already_seen 1027)
 
 (!type already_seen 1028)
 
 (!type already_seen 1029)
 
 (!type already_seen 1024)
 
 (!type already_seen 1025)
 
 (!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 1033 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1034 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1035 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1036 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1037 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 1038 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1039 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 362)
 
 (!type struct 1040 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1041 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1042 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1044 nil  gc_unused "lto_simple_header_with_strings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1045 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1046 nil  gc_unused "lto_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1047 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1048 nil  gc_unused "lto_location_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1049 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1050 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1051 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1052 nil  gc_unused "vec<cgraph_node*>"
  (!srcfileloc  "trans-mem.c" 4203)
  (!fields 1 
   (!pair  "cgraph_node"
    (!type pointer 1053 
     (!type pointer 1054 nil  gc_used
      (!type already_seen 1053)
     )
     gc_pointed_to
     (!type struct 1055 
      (!type already_seen 1053)
      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 1056 nil  gc_used
         (!type struct 1057 
          (!type already_seen 1056)
          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 1053)
            (!srcfileloc  "cgraph.h" 1637)
            nil )
           (!pair  "callee"
            (!type already_seen 1053)
            (!srcfileloc  "cgraph.h" 1638)
            nil )
           (!pair  "prev_caller"
            (!type already_seen 1056)
            (!srcfileloc  "cgraph.h" 1639)
            nil )
           (!pair  "next_caller"
            (!type already_seen 1056)
            (!srcfileloc  "cgraph.h" 1640)
            nil )
           (!pair  "prev_callee"
            (!type already_seen 1056)
            (!srcfileloc  "cgraph.h" 1641)
            nil )
           (!pair  "next_callee"
            (!type already_seen 1056)
            (!srcfileloc  "cgraph.h" 1642)
            nil )
           (!pair  "call_stmt"
            (!type pointer 1058 nil  gc_used
             (!type struct 1059 
              (!type already_seen 1058)
              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 1060 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 1061 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 1062 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 1063 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 1064 nil  gc_used
             (!type struct 1065 
              (!type already_seen 1064)
              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 1066 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 1056)
        (!srcfileloc  "cgraph.h" 1278)
        nil )
       (!pair  "indirect_calls"
        (!type already_seen 1056)
        (!srcfileloc  "cgraph.h" 1281)
        nil )
       (!pair  "origin"
        (!type already_seen 1053)
        (!srcfileloc  "cgraph.h" 1283)
        nil )
       (!pair  "nested"
        (!type already_seen 1053)
        (!srcfileloc  "cgraph.h" 1285)
        nil )
       (!pair  "next_nested"
        (!type already_seen 1053)
        (!srcfileloc  "cgraph.h" 1287)
        nil )
       (!pair  "next_sibling_clone"
        (!type already_seen 1053)
        (!srcfileloc  "cgraph.h" 1289)
        nil )
       (!pair  "prev_sibling_clone"
        (!type already_seen 1053)
        (!srcfileloc  "cgraph.h" 1290)
        nil )
       (!pair  "clones"
        (!type already_seen 1053)
        (!srcfileloc  "cgraph.h" 1291)
        nil )
       (!pair  "clone_of"
        (!type already_seen 1053)
        (!srcfileloc  "cgraph.h" 1292)
        nil )
       (!pair  "instrumented_version"
        (!type already_seen 1053)
        (!srcfileloc  "cgraph.h" 1296)
        nil )
       (!pair  "orig_decl"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 1299)
        nil )
       (!pair  "call_site_hash"
        (!type pointer 1067 nil  gc_used
         (!type user_struct 1068 
          (!type already_seen 1067)
          gc_pointed_to "hash_table<cgraph_edge_hasher>"
          (!srcfileloc  "cgraph.h" 1302)
          (!fields 1 
           (!pair  "cgraph_edge_hasher"
            (!type struct 1069 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 1070 nil  gc_used
         (!type struct 1071 
          (!type already_seen 1070)
          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 1053)
            (!srcfileloc  "cgraph.h" 787)
            nil )
           (!pair  "next_clone"
            (!type already_seen 1053)
            (!srcfileloc  "cgraph.h" 787)
            nil )
           (!pair  "origin"
            (!type already_seen 1053)
            (!srcfileloc  "cgraph.h" 790)
            nil )
           (!pair  "args"
            (!type array 1072 nil  gc_used "1" 
             (!type struct 1073 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 1053)
        (!srcfileloc  "cgraph.h" 1310)
        nil )
       (!pair  "ipa_transforms_to_apply"
        (!type user_struct 1074 nil  gc_unused "vec<ipa_opt_pass>"
         (!srcfileloc  "cgraph.h" 1315)
         (!fields 1 
          (!pair  "ipa_opt_pass"
           (!type pointer 1075 nil  gc_unused
            (!type struct 1076 
             (!type already_seen 1075)
             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 1077 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 1078 nil  gc_used "cgraph_global_info"
         (!srcfileloc  "cgraph.h" 1318)
         (!fields 1 
          (!pair  "inlined_to"
           (!type already_seen 1053)
           (!srcfileloc  "cgraph.h" 663)
           nil )
         )
         nil 1023 nil nil )
        (!srcfileloc  "cgraph.h" 1318)
        nil )
       (!pair  "rtl"
        (!type pointer 1079 nil  gc_used
         (!type struct 1080 
          (!type already_seen 1079)
          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 1081 nil  gc_used "cgraph_clone_info"
         (!srcfileloc  "cgraph.h" 1320)
         (!fields 3 
          (!pair  "tree_map"
           (!type pointer 1082 nil  gc_used
            (!type user_struct 1083 
             (!type already_seen 1082)
             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 1084 nil  gc_used
                (!type struct 1085 
                 (!type already_seen 1084)
                 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 1086 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 1087 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1088 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1089 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1090 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1091 nil  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1092 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1093 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1094 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1095 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1096 nil  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1097 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1098 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1099 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1100 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1101 nil  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1102 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1103 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1104 
  (!type pointer 1105 nil  gc_used
   (!type already_seen 1104)
  )
  gc_pointed_to "hash_table<tm_wrapper_hasher>"
  (!srcfileloc  "trans-mem.c" 479)
  (!fields 1 
   (!pair  "tm_wrapper_hasher"
    (!type struct 1106 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 1106)
 
 (!type user_struct 1107 nil  gc_unused "vec<ipa_parm_adjustment>"
  (!srcfileloc  "ipa-prop.h" 748)
  (!fields 1 
   (!pair  "ipa_parm_adjustment"
    (!type struct 1108 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 1109 
  (!type pointer 1110 nil  gc_used
   (!type already_seen 1109)
  )
  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 1111 nil  gc_used "ipa_edge_args"
     (!srcfileloc  "ipa-prop.h" 550)
     (!fields 2 
      (!pair  "jump_functions"
       (!type pointer 1112 nil  gc_used
        (!type user_struct 1113 
         (!type already_seen 1112)
         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 1114 nil  gc_used "ipa_jump_func"
            (!srcfileloc  "ipa-prop.h" 496)
            (!fields 4 
             (!pair  "agg"
              (!type struct 1115 
               (!type pointer 1116 nil  gc_unused
                (!type already_seen 1115)
               )
               gc_used "ipa_agg_jump_function"
               (!srcfileloc  "ipa-prop.h" 142)
               (!fields 2 
                (!pair  "items"
                 (!type pointer 1117 nil  gc_used
                  (!type user_struct 1118 
                   (!type already_seen 1117)
                   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 1119 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 1120 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 1121 nil  gc_used "jump_func_value"
               (!srcfileloc  "ipa-prop.h" 178)
               (!fields 3 
                (!pair  "constant"
                 (!type struct 1122 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 1123 nil  gc_unused
                     (!type struct 1124 
                      (!type already_seen 1123)
                      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 1125 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 1126 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 1127 nil  gc_used
        (!type user_struct 1128 
         (!type already_seen 1127)
         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 1066)
           (!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 1129 
  (!type pointer 1130 nil  gc_used
   (!type already_seen 1129)
  )
  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 1131 nil  gc_used "ipcp_transformation_summary"
     (!srcfileloc  "ipa-prop.h" 548)
     (!fields 2 
      (!pair  "agg_values"
       (!type pointer 1132 nil  gc_used
        (!type struct 1133 
         (!type already_seen 1132)
         gc_pointed_to "ipa_agg_replacement_value"
         (!srcfileloc  "ipa-prop.h" 482)
         (!fields 5 
          (!pair  "next"
           (!type already_seen 1132)
           (!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 1134 nil  gc_used
        (!type user_struct 1135 
         (!type already_seen 1134)
         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 1120)
           (!srcfileloc  "ipa-prop.h" 484)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 484)
       nil )
     )
     nil 1023 nil nil )
    (!srcfileloc  "ipa-prop.h" 548)
    nil )
  )
 )
 
 (!type struct 1136 nil  gc_unused "ipa_node_params_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1128)
 
 (!type already_seen 1113)
 
 (!type already_seen 1131)
 
 (!type already_seen 1135)
 
 (!type struct 1137 nil  gc_unused "ipa_param_descriptor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1121)
 
 (!type already_seen 1120)
 
 (!type already_seen 1118)
 
 (!type already_seen 1126)
 
 (!type already_seen 1125)
 
 (!type already_seen 1122)
 
 (!type undefined 1138 nil  gc_unused "TRAILING_WIDE_INT_ACCESSOR"
  (!srcfileloc  "tree-ssanames.h" 52)
 )
 
 (!type struct 1139 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1140 
  (!type pointer 1141 nil  gc_used
   (!type already_seen 1140)
  )
  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 1142 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1143 
  (!type pointer 1144 nil  gc_unused
   (!type already_seen 1143)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1145 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1146 
  (!type pointer 1147 nil  gc_unused
   (!type already_seen 1146)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1148 nil  gc_unused "pass_late_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1149 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1152 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1153 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1154 nil  gc_unused "pass_local_optimization_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1155 nil  gc_unused "pass_chkp_instrumentation_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1156 nil  gc_unused "pass_build_ssa_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1157 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1158 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1159 nil  gc_unused "anonymous:../../gcc/config/arc/arc.c:9331"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1160 nil  gc_unused "insn_length_parameters_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1161 nil  gc_unused "anonymous:../../gcc/config/arc/arc.c:7950"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1162 nil  gc_used "arc_builtin_description"
  (!srcfileloc  "config/arc/arc.c" 5601)
  (!fields 3 
   (!pair  "icode"
    (!type already_seen 9)
    (!srcfileloc  "config/arc/arc.c" 5598)
    nil )
   (!pair  "n_args"
    (!type already_seen 9)
    (!srcfileloc  "config/arc/arc.c" 5599)
    nil )
   (!pair  "fndecl"
    (!type already_seen 5)
    (!srcfileloc  "config/arc/arc.c" 5600)
    nil )
  )
  nil 1023 nil nil )
 
 (!type already_seen 442)
 
 (!type struct 1163 nil  gc_unused "register_pass_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1164 nil  gc_unused "pass_arc_predicate_delay_insns"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1165 nil  gc_unused "pass_arc_ifcvt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 443)
 
 (!type struct 1166 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1167 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1168 nil  gc_unused "pass_omp_target_link"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "pass_oacc_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1171 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1172 nil  gc_unused "lower_omp_regimplify_operands_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1173 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 nil  gc_unused "pass_expand_omp_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 nil  gc_unused "grid_arg_decl_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 
  (!type pointer 1178 nil  gc_used
   (!type already_seen 1177)
  )
  gc_pointed_to "grid_launch_attributes_trees"
  (!srcfileloc  "omp-low.c" 12774)
  (!fields 5 
   (!pair  "kernel_dim_array_type"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12769)
    nil )
   (!pair  "kernel_lattrs_dimnum_decl"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12770)
    nil )
   (!pair  "kernel_lattrs_grid_decl"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12771)
    nil )
   (!pair  "kernel_lattrs_group_decl"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12772)
    nil )
   (!pair  "kernel_launch_attributes_type"
    (!type already_seen 5)
    (!srcfileloc  "omp-low.c" 12773)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1179 nil  gc_unused "oacc_collapse"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1180 nil  gc_unused "oacc_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1181 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1183 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1184 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1185 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1186 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 426)
 
 (!type struct 1187 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1188 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1189 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1190 
  (!type pointer 1191 nil  gc_used
   (!type already_seen 1190)
  )
  gc_pointed_to "hash_table<scev_info_hasher>"
  (!srcfileloc  "tree-scalar-evolution.c" 323)
  (!fields 1 
   (!pair  "scev_info_hasher"
    (!type struct 1192 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 1192)
 
 (!type struct 1193 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 1194 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 1195 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1196 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1197 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1198 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1199 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1200 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1201 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1202 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1203 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1204 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1205 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1206 nil  gc_unused "replace_decls_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1209 
  (!type pointer 1210 nil  gc_used
   (!type already_seen 1209)
  )
  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 1211 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 1211)
 
 (!type struct 1212 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1213 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1214 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1215 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1216 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1217 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1218 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1219 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1220 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1221 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1222 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1223 nil  gc_unused "anonymous:../../gcc/tree-eh.c:49"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1224 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1225 nil  gc_unused "pass_chkp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1226 nil  gc_unused "chkp_ctor_stmt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1227 nil  gc_unused "hash_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1228 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 1229 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 1230 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1231 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 1232 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 1232)
 
 (!type struct 1233 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 1234 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 1235 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 1236 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 1234)
  )
 )
 
 (!type already_seen 1236)
 
 (!type struct 1237 
  (!type pointer 1238 nil  gc_unused
   (!type already_seen 1237)
  )
  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 1239 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 1240 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 1234)
 
 (!type already_seen 1060)
 
 (!type already_seen 418)
 
 (!type struct 1241 nil  gc_pointed_to "gimple_statement_with_memory_ops"
  (!srcfileloc  "gimple.h" 339)
  (!fields 1 
   (!pair  "op"
    (!type array 1242 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 1062)
 )
 
 (!type already_seen 1062)
 
 (!type struct 1243 nil  gc_pointed_to "gimple_statement_with_ops"
  (!srcfileloc  "gimple.h" 308)
  (!fields 1 
   (!pair  "op"
    (!type array 1244 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 1063)
 )
 
 (!type already_seen 1063)
 
 (!type already_seen 429)
 
 (!type struct 1245 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1246 
  (!type pointer 1247 nil  gc_used
   (!type already_seen 1246)
  )
  gc_pointed_to "hash_table<tm_clone_hasher>"
  (!srcfileloc  "varasm.c" 5791)
  (!fields 1 
   (!pair  "tm_clone_hasher"
    (!type struct 1248 nil  gc_used "tm_clone_hasher"
     (!srcfileloc  "varasm.c" 5791)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 5791)
    nil )
  )
 )
 
 (!type already_seen 1248)
 
 (!type struct 1249 nil  gc_unused "oc_local_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1250 nil  gc_unused "oc_outer_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1251 
  (!type pointer 1252 nil  gc_used
   (!type already_seen 1251)
  )
  gc_pointed_to "hash_table<const_rtx_desc_hasher>"
  (!srcfileloc  "varasm.c" 3517)
  (!fields 1 
   (!pair  "const_rtx_desc_hasher"
    (!type struct 1253 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 1253)
 
 (!type user_struct 1254 
  (!type pointer 1255 nil  gc_used
   (!type already_seen 1254)
  )
  gc_pointed_to "hash_table<tree_descriptor_hasher>"
  (!srcfileloc  "varasm.c" 2874)
  (!fields 1 
   (!pair  "tree_descriptor_hasher"
    (!type struct 1256 nil  gc_used "tree_descriptor_hasher"
     (!srcfileloc  "varasm.c" 2874)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 2874)
    nil )
  )
 )
 
 (!type struct 1257 nil  gc_unused "asm_int_op"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<object_block_hasher>"
  (!srcfileloc  "varasm.c" 196)
  (!fields 1 
   (!pair  "object_block_hasher"
    (!type struct 1260 nil  gc_used "object_block_hasher"
     (!srcfileloc  "varasm.c" 196)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 196)
    nil )
  )
 )
 
 (!type already_seen 1260)
 
 (!type user_struct 1261 
  (!type pointer 1262 nil  gc_used
   (!type already_seen 1261)
  )
  gc_pointed_to "hash_table<section_hasher>"
  (!srcfileloc  "varasm.c" 185)
  (!fields 1 
   (!pair  "section_hasher"
    (!type struct 1263 nil  gc_used "section_hasher"
     (!srcfileloc  "varasm.c" 185)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "varasm.c" 185)
    nil )
  )
 )
 
 (!type already_seen 1263)
 
 (!type struct 1264 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1265 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1266 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1267 
  (!type pointer 1268 nil  gc_used
   (!type already_seen 1267)
  )
  gc_pointed_to "hash_table<tree_vec_map_cache_hasher>"
  (!srcfileloc  "tree.c" 244)
  (!fields 1 
   (!pair  "tree_vec_map_cache_hasher"
    (!type struct 1269 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 1269)
 
 (!type user_struct 1270 
  (!type pointer 1271 nil  gc_used
   (!type already_seen 1270)
  )
  gc_pointed_to "hash_table<tree_decl_map_cache_hasher>"
  (!srcfileloc  "tree.c" 221)
  (!fields 1 
   (!pair  "tree_decl_map_cache_hasher"
    (!type struct 1272 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 1273 
  (!type pointer 1274 nil  gc_used
   (!type already_seen 1273)
  )
  gc_pointed_to "hash_table<cl_option_hasher>"
  (!srcfileloc  "tree.c" 215)
  (!fields 1 
   (!pair  "cl_option_hasher"
    (!type struct 1275 nil  gc_used "cl_option_hasher"
     (!srcfileloc  "tree.c" 215)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 215)
    nil )
  )
 )
 
 (!type already_seen 1275)
 
 (!type user_struct 1276 
  (!type pointer 1277 nil  gc_used
   (!type already_seen 1276)
  )
  gc_pointed_to "hash_table<int_cst_hasher>"
  (!srcfileloc  "tree.c" 199)
  (!fields 1 
   (!pair  "int_cst_hasher"
    (!type struct 1278 nil  gc_used "int_cst_hasher"
     (!srcfileloc  "tree.c" 199)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 199)
    nil )
  )
 )
 
 (!type already_seen 1278)
 
 (!type user_struct 1279 
  (!type pointer 1280 nil  gc_used
   (!type already_seen 1279)
  )
  gc_pointed_to "hash_table<type_cache_hasher>"
  (!srcfileloc  "tree.c" 188)
  (!fields 1 
   (!pair  "type_cache_hasher"
    (!type struct 1281 nil  gc_used "type_cache_hasher"
     (!srcfileloc  "tree.c" 188)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "tree.c" 188)
    nil )
  )
 )
 
 (!type already_seen 1281)
 
 (!type struct 1282 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 1283 
  (!type pointer 1284 nil  gc_used
   (!type already_seen 1283)
  )
  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 1285 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1286 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1287 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1288 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1289 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1290 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1291 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1292 
  (!type pointer 1293 nil  gc_unused
   (!type already_seen 1292)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1294 
  (!type pointer 1295 nil  gc_unused
   (!type already_seen 1294)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1296 nil  gc_unused "anonymous:../../gcc/mcf.c:343"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1297 nil  gc_unused "augmenting_path_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1298 nil  gc_unused "queue_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1299 nil  gc_unused "fixup_graph_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1300 
  (!type pointer 1301 nil  gc_unused
   (!type already_seen 1300)
  )
  gc_unused "fixup_vertex_type"
  (!srcfileloc  "mcf.c" 103)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type struct 1302 
  (!type pointer 1303 nil  gc_unused
   (!type already_seen 1302)
  )
  gc_unused "fixup_edge_type"
  (!srcfileloc  "mcf.c" 94)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type struct 1304 nil  gc_unused "edge_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1305 nil  gc_unused "bb_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1306 
  (!type pointer 1307 nil  gc_used
   (!type already_seen 1306)
  )
  gc_pointed_to "hash_table<libfunc_decl_hasher>"
  (!srcfileloc  "optabs-libfuncs.c" 727)
  (!fields 1 
   (!pair  "libfunc_decl_hasher"
    (!type struct 1308 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 1308)
 
 (!type struct 1309 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1310 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1311 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1312 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1313 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1314 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1315 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1316 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1317 nil  gc_unused "modify_pair"
  (!srcfileloc  "gcse.c" 618)
 )
 
 (!type user_struct 1318 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 618)
  (!fields 1 
   (!pair  "modify_pair"
    (!type already_seen 1317)
    (!srcfileloc  "gcse.c" 618)
    nil )
  )
 )
 
 (!type user_struct 1319 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 1320 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1321 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1322 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1323 nil  gc_unused "gcse_hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1324 
  (!type pointer 1325 nil  gc_unused
   (!type already_seen 1324)
  )
  gc_unused "gcse_occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1326 nil  gc_unused "gcse_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 610)
 
 (!type struct 1327 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1328 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1329 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 754)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type struct 1330 nil  gc_unused "ehspec_hasher"
     (!srcfileloc  "except.c" 754)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 754)
    nil )
  )
 )
 
 (!type already_seen 1330)
 
 (!type user_struct 1331 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 719)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type struct 1332 nil  gc_unused "ttypes_filter_hasher"
     (!srcfileloc  "except.c" 719)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 719)
    nil )
  )
 )
 
 (!type already_seen 1332)
 
 (!type struct 1333 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1334 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1335 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 205)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type struct 1336 nil  gc_unused "action_record_hasher"
     (!srcfileloc  "except.c" 205)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "except.c" 205)
    nil )
  )
 )
 
 (!type already_seen 1336)
 
 (!type struct 1337 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1338 nil  gc_unused "tree_hash"
  (!srcfileloc  "except.c" 148)
 )
 
 (!type user_struct 1339 
  (!type pointer 1340 nil  gc_used
   (!type already_seen 1339)
  )
  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 1338)
    (!srcfileloc  "except.c" 148)
    nil )
  )
 )
 
 (!type struct 1341 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1342 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1343 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1344 nil  gc_unused "bounds_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1345 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1346 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1347 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1348 
  (!type pointer 1349 nil  gc_unused
   (!type already_seen 1348)
  )
  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 1350 
  (!type pointer 1351 nil  gc_used
   (!type already_seen 1350)
  )
  gc_pointed_to "hash_table<temp_address_hasher>"
  (!srcfileloc  "function.c" 576)
  (!fields 1 
   (!pair  "temp_address_hasher"
    (!type struct 1352 nil  gc_used "temp_address_hasher"
     (!srcfileloc  "function.c" 576)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.c" 576)
    nil )
  )
 )
 
 (!type already_seen 1352)
 
 (!type struct 1353 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 1354 nil  gc_used
     (!type struct 1355 
      (!type already_seen 1354)
      gc_pointed_to "temp_slot"
      (!srcfileloc  "function.c" 559)
      (!fields 10 
       (!pair  "next"
        (!type already_seen 1354)
        (!srcfileloc  "function.c" 535)
        nil )
       (!pair  "prev"
        (!type already_seen 1354)
        (!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 1356 
  (!type pointer 1357 nil  gc_used
   (!type already_seen 1356)
  )
  gc_pointed_to "hash_table<insn_cache_hasher>"
  (!srcfileloc  "function.c" 123)
  (!fields 1 
   (!pair  "insn_cache_hasher"
    (!type struct 1358 nil  gc_used "insn_cache_hasher"
     (!srcfileloc  "function.c" 123)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.c" 123)
    nil )
  )
 )
 
 (!type already_seen 1358)
 
 (!type struct 1359 
  (!type pointer 1360 nil  gc_unused
   (!type already_seen 1359)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1361 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1362 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1363 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 1364 
  (!type pointer 1365 nil  gc_used
   (!type already_seen 1364)
  )
  gc_pointed_to "hash_table<const_fixed_hasher>"
  (!srcfileloc  "emit-rtl.c" 175)
  (!fields 1 
   (!pair  "const_fixed_hasher"
    (!type struct 1366 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 1366)
 
 (!type user_struct 1367 
  (!type pointer 1368 nil  gc_used
   (!type already_seen 1367)
  )
  gc_pointed_to "hash_table<const_double_hasher>"
  (!srcfileloc  "emit-rtl.c" 166)
  (!fields 1 
   (!pair  "const_double_hasher"
    (!type struct 1369 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 1369)
 
 (!type user_struct 1370 
  (!type pointer 1371 nil  gc_used
   (!type already_seen 1370)
  )
  gc_pointed_to "hash_table<reg_attr_hasher>"
  (!srcfileloc  "emit-rtl.c" 157)
  (!fields 1 
   (!pair  "reg_attr_hasher"
    (!type struct 1372 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 1372)
 
 (!type user_struct 1373 
  (!type pointer 1374 nil  gc_used
   (!type already_seen 1373)
  )
  gc_pointed_to "hash_table<const_wide_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 148)
  (!fields 1 
   (!pair  "const_wide_int_hasher"
    (!type struct 1375 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 1375)
 
 (!type user_struct 1376 
  (!type pointer 1377 nil  gc_used
   (!type already_seen 1376)
  )
  gc_pointed_to "hash_table<const_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 140)
  (!fields 1 
   (!pair  "const_int_hasher"
    (!type struct 1378 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 1378)
 
 (!type struct 1379 nil  gc_used "rtl_data"
  (!srcfileloc  "emit-rtl.h" 287)
  (!fields 58 
   (!pair  "expr"
    (!type struct 1380 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 1381 nil  gc_used
        (!type struct 1382 
         (!type already_seen 1381)
         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 1383 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 1384 
        (!type pointer 1385 nil  gc_used
         (!type already_seen 1384)
        )
        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 1385)
          (!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 1386 nil  gc_used "varasm_status"
     (!srcfileloc  "function.h" 166)
     (!fields 2 
      (!pair  "pool"
       (!type pointer 1387 nil  gc_used
        (!type struct 1388 
         (!type already_seen 1387)
         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 1252)
           (!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 1389 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 1390 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 1391 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 1392 nil  gc_used "2" 
        (!type pointer 1393 nil  gc_used
         (!type user_struct 1394 
          (!type already_seen 1393)
          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 1395 nil  gc_used
             (!type struct 1396 
              (!type already_seen 1395)
              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 1397 nil  gc_used
     (!type struct 1398 
      (!type already_seen 1397)
      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 1349)
        (!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 1381)
    (!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 1399 nil  gc_used
     (!type struct 1400 
      (!type already_seen 1399)
      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 1401 nil  gc_used
     (!type struct 1402 
      (!type already_seen 1401)
      gc_pointed_to "frame_space"
      (!srcfileloc  "function.h" 190)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1401)
        (!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 1403 nil  gc_used
     (!type struct 1404 
      (!type already_seen 1403)
      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 1405 nil  gc_used
     (!type user_struct 1406 
      (!type already_seen 1405)
      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 1354)
        (!srcfileloc  "emit-rtl.h" 133)
        nil )
      )
     )
    )
    (!srcfileloc  "emit-rtl.h" 133)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1354)
    (!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 1406)
 
 (!type already_seen 1398)
 
 (!type already_seen 1389)
 
 (!type already_seen 1355)
 
 (!type struct 1407 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1408 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1409 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 27203)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type struct 1410 nil  gc_unused "loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 27203)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 27203)
    nil )
  )
 )
 
 (!type already_seen 1410)
 
 (!type struct 1411 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1412 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 24916)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type struct 1413 nil  gc_unused "macinfo_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 24916)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 24916)
    nil )
  )
 )
 
 (!type already_seen 1413)
 
 (!type struct 1414 nil  gc_unused "dwarf_procedure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1415 nil  gc_unused "dwarf_qual_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1416 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1417 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1418 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1419 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 8125)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type struct 1420 nil  gc_unused "external_ref_hasher"
     (!srcfileloc  "dwarf2out.c" 8125)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 8125)
    nil )
  )
 )
 
 (!type already_seen 1420)
 
 (!type struct 1421 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1422 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 7466)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type struct 1423 nil  gc_unused "decl_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 7466)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 7466)
    nil )
  )
 )
 
 (!type already_seen 1423)
 
 (!type struct 1424 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1425 nil  gc_unused "hash_table<cu_hash_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 7144)
  (!fields 1 
   (!pair  "cu_hash_table_entry_hasher"
    (!type struct 1426 nil  gc_unused "cu_hash_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 7144)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 7144)
    nil )
  )
 )
 
 (!type already_seen 1426)
 
 (!type struct 1427 nil  gc_unused "cu_hash_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1428 
  (!type pointer 1429 nil  gc_used
   (!type already_seen 1428)
  )
  gc_pointed_to "hash_table<addr_hasher>"
  (!srcfileloc  "dwarf2out.c" 4352)
  (!fields 1 
   (!pair  "addr_hasher"
    (!type struct 1430 nil  gc_used "addr_hasher"
     (!srcfileloc  "dwarf2out.c" 4352)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 4352)
    nil )
  )
 )
 
 (!type already_seen 1430)
 
 (!type struct 1431 nil  gc_unused "vlr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1432 nil  gc_unused "loc_descr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1433 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1434 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1435 
  (!type pointer 1436 nil  gc_used
   (!type already_seen 1435)
  )
  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 1437 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 1438 
  (!type pointer 1439 nil  gc_used
   (!type already_seen 1438)
  )
  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 1440 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 1441 
  (!type pointer 1442 nil  gc_used
   (!type already_seen 1441)
  )
  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 1443 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 1444 
  (!type pointer 1445 nil  gc_used
   (!type already_seen 1444)
  )
  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 1446 nil  gc_used
     (!type struct 1447 
      (!type already_seen 1446)
      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 1448 nil  gc_used
         (!type user_struct 1449 
          (!type already_seen 1448)
          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 1450 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 1451 
  (!type pointer 1452 nil  gc_used
   (!type already_seen 1451)
  )
  gc_pointed_to "hash_table<dw_loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 3014)
  (!fields 1 
   (!pair  "dw_loc_list_hasher"
    (!type struct 1453 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 1453)
 
 (!type struct 1454 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 1455 
  (!type pointer 1456 nil  gc_used
   (!type already_seen 1455)
  )
  gc_pointed_to "hash_table<decl_loc_hasher>"
  (!srcfileloc  "dwarf2out.c" 2983)
  (!fields 1 
   (!pair  "decl_loc_hasher"
    (!type struct 1457 nil  gc_used "decl_loc_hasher"
     (!srcfileloc  "dwarf2out.c" 2983)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2983)
    nil )
  )
 )
 
 (!type already_seen 1457)
 
 (!type struct 1458 
  (!type pointer 1459 nil  gc_used
   (!type already_seen 1458)
  )
  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 1459)
    (!srcfileloc  "dwarf2out.c" 2970)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1023 nil nil )
 
 (!type struct 1460 nil  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2960)
  (!fields 4 
   (!pair  "first"
    (!type pointer 1461 nil  gc_used
     (!type struct 1462 
      (!type already_seen 1461)
      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 1461)
        (!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 1461)
    (!srcfileloc  "dwarf2out.c" 2951)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1461)
    (!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 1462)
 
 (!type already_seen 1437)
 
 (!type user_struct 1463 
  (!type pointer 1464 nil  gc_used
   (!type already_seen 1463)
  )
  gc_pointed_to "hash_table<block_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 2918)
  (!fields 1 
   (!pair  "block_die_hasher"
    (!type struct 1465 nil  gc_used "block_die_hasher"
     (!srcfileloc  "dwarf2out.c" 2918)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2918)
    nil )
  )
 )
 
 (!type already_seen 1465)
 
 (!type user_struct 1466 
  (!type pointer 1467 nil  gc_used
   (!type already_seen 1466)
  )
  gc_pointed_to "hash_table<decl_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 2908)
  (!fields 1 
   (!pair  "decl_die_hasher"
    (!type struct 1468 nil  gc_used "decl_die_hasher"
     (!srcfileloc  "dwarf2out.c" 2908)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2908)
    nil )
  )
 )
 
 (!type already_seen 1468)
 
 (!type user_struct 1469 
  (!type pointer 1470 nil  gc_used
   (!type already_seen 1469)
  )
  gc_pointed_to "hash_table<dwarf_file_hasher>"
  (!srcfileloc  "dwarf2out.c" 2897)
  (!fields 1 
   (!pair  "dwarf_file_hasher"
    (!type struct 1471 nil  gc_used "dwarf_file_hasher"
     (!srcfileloc  "dwarf2out.c" 2897)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 2897)
    nil )
  )
 )
 
 (!type already_seen 1471)
 
 (!type struct 1472 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 
  (!type pointer 1474 nil  gc_used
   (!type already_seen 1473)
  )
  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 1474)
    (!srcfileloc  "dwarf2out.c" 2780)
    nil )
  )
  nil 1023 nil nil )
 
 (!type struct 1475 
  (!type pointer 1476 nil  gc_used
   (!type already_seen 1475)
  )
  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 1440)
 
 (!type struct 1477 
  (!type pointer 1478 nil  gc_used
   (!type already_seen 1477)
  )
  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 1443)
 
 (!type struct 1479 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 1447)
 
 (!type already_seen 1449)
 
 (!type already_seen 1450)
 
 (!type already_seen 474)
 
 (!type already_seen 459)
 
 (!type user_struct 1480 
  (!type pointer 1481 nil  gc_used
   (!type already_seen 1480)
  )
  gc_pointed_to "hash_table<indirect_string_hasher>"
  (!srcfileloc  "dwarf2out.c" 224)
  (!fields 1 
   (!pair  "indirect_string_hasher"
    (!type struct 1482 nil  gc_used "indirect_string_hasher"
     (!srcfileloc  "dwarf2out.c" 224)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "dwarf2out.c" 224)
    nil )
  )
 )
 
 (!type already_seen 1482)
 
 (!type user_struct 1483 
  (!type pointer 1484 nil  gc_used
   (!type already_seen 1483)
  )
  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 1485 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1486 nil  gc_unused "init_one_dwarf_reg_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1487 nil  gc_unused "queued_reg_save"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1489 nil  gc_unused "dw_trace_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1490 
  (!type pointer 1491 nil  gc_used
   (!type already_seen 1490)
  )
  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 1492 
  (!type pointer 1493 nil  gc_used
   (!type already_seen 1492)
  )
  gc_pointed_to "dw_cfi_row"
  (!srcfileloc  "dwarf2cfi.c" 181)
  (!fields 3 
   (!pair  "cfa"
    (!type struct 1494 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 1495 
  (!type pointer 1496 nil  gc_used
   (!type already_seen 1495)
  )
  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 1497 nil  gc_unused "fixed_point_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1498 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 1494)
 
 (!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 1499 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1500 
  (!type pointer 1501 nil  gc_used
   (!type already_seen 1500)
  )
  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 985)
 
 (!type struct 1502 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1503 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1022)
 
 (!type already_seen 1115)
 
 (!type struct 1504 nil  gc_unused "ipa_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1505 nil  gc_unused "value_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1506 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1507 nil  gc_unused "ipcp_param_lattices"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1508 nil  gc_unused "ipcp_alignment_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1509 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1510 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1511 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1512 nil  gc_unused "ipcp_value_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1513 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1514 nil  gc_unused "ipcp_modif_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1515 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1516 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1517 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1108)
 
 (!type already_seen 1133)
 
 (!type struct 1518 nil  gc_unused "inline_edge_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1519 nil  gc_unused "ipa_func_body_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1520 nil  gc_unused "analysis_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1111)
 
 (!type struct 1521 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1522 nil  gc_unused "ipa_param_aa_status"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1523 nil  gc_unused "ipa_bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1524 nil  gc_unused "prop_type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1119)
 
 (!type already_seen 1114)
 
 (!type struct 1525 nil  gc_unused "ipa_node_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1124)
 
 (!type already_seen 359)
 
 (!type user_struct 1526 
  (!type pointer 1527 nil  gc_used
   (!type already_seen 1526)
  )
  gc_pointed_to "hash_table<function_version_hasher>"
  (!srcfileloc  "cgraph.c" 114)
  (!fields 1 
   (!pair  "function_version_hasher"
    (!type struct 1528 nil  gc_used "function_version_hasher"
     (!srcfileloc  "cgraph.c" 114)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.c" 114)
    nil )
  )
 )
 
 (!type already_seen 1528)
 
 (!type struct 1529 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1530 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1531 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1532 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1533 
  (!type pointer 1534 nil  gc_used
   (!type already_seen 1533)
  )
  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 1535 nil  gc_used
     (!type struct 1536 
      (!type already_seen 1535)
      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 1537 nil  gc_used
         (!type user_struct 1538 
          (!type already_seen 1537)
          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 1539 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 1536)
 
 (!type already_seen 406)
 
 (!type already_seen 1538)
 
 (!type already_seen 1539)
 
 (!type struct 1540 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1541 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1542 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 592)
 
 (!type struct 1543 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1256)
 
 (!type struct 1544 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 1545 
  (!type pointer 1546 nil  gc_unused
   (!type already_seen 1545)
  )
  gc_unused "FILE"
  (!srcfileloc  "cgraph.h" 2182)
 )
 
 (!type user_struct 1547 
  (!type pointer 1548 nil  gc_used
   (!type already_seen 1547)
  )
  gc_pointed_to "hash_map<symtab_node*,symbol_priority_map>"
  (!srcfileloc  "cgraph.h" 2180)
  (!fields 2 
   (!pair  "symbol_priority_map"
    (!type struct 1549 
     (!type pointer 1550 nil  gc_unused
      (!type already_seen 1549)
     )
     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 1551 
  (!type pointer 1552 nil  gc_used
   (!type already_seen 1551)
  )
  gc_pointed_to "hash_table<asmname_hasher>"
  (!srcfileloc  "cgraph.h" 2177)
  (!fields 1 
   (!pair  "asmname_hasher"
    (!type struct 1553 nil  gc_used "asmname_hasher"
     (!srcfileloc  "cgraph.h" 2177)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.h" 2177)
    nil )
  )
 )
 
 (!type user_struct 1554 
  (!type pointer 1555 nil  gc_used
   (!type already_seen 1554)
  )
  gc_pointed_to "hash_table<section_name_hasher>"
  (!srcfileloc  "cgraph.h" 2174)
  (!fields 1 
   (!pair  "section_name_hasher"
    (!type struct 1556 nil  gc_used "section_name_hasher"
     (!srcfileloc  "cgraph.h" 2174)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "cgraph.h" 2174)
    nil )
  )
 )
 
 (!type struct 1557 
  (!type pointer 1558 nil  gc_used
   (!type already_seen 1557)
  )
  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 1559 nil  gc_used
     (!type struct 1560 
      (!type already_seen 1559)
      gc_pointed_to "asm_node"
      (!srcfileloc  "cgraph.h" 1859)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1559)
        (!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 1559)
    (!srcfileloc  "cgraph.h" 2152)
    nil )
   (!pair  "free_nodes"
    (!type already_seen 1053)
    (!srcfileloc  "cgraph.h" 2153)
    nil )
   (!pair  "free_edges"
    (!type already_seen 1056)
    (!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 1555)
    (!srcfileloc  "cgraph.h" 2174)
    nil )
   (!pair  "assembler_name_hash"
    (!type already_seen 1552)
    (!srcfileloc  "cgraph.h" 2177)
    nil )
   (!pair  "init_priority_hash"
    (!type already_seen 1548)
    (!srcfileloc  "cgraph.h" 2180)
    nil )
   (!pair  "dump_file"
    (!type already_seen 1546)
    (!srcfileloc  "cgraph.h" 2182)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_removal_hook"
    (!type pointer 1561 nil  gc_unused
     (!type struct 1562 
      (!type already_seen 1561)
      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 1563 nil  gc_unused
     (!type struct 1564 
      (!type already_seen 1563)
      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 1565 nil  gc_unused
     (!type struct 1566 
      (!type already_seen 1565)
      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 1567 nil  gc_unused
     (!type struct 1568 
      (!type already_seen 1567)
      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 1563)
    (!srcfileloc  "cgraph.h" 2224)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_insertion_hook"
    (!type pointer 1569 nil  gc_unused
     (!type struct 1570 
      (!type already_seen 1569)
      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 1569)
    (!srcfileloc  "cgraph.h" 2228)
    (!options 
     (!option skip string  "")
    )
   )
  )
  (!options 
   (!option tag string  "SYMTAB")
  )
  1023 nil nil )
 
 (!type already_seen 1553)
 
 (!type already_seen 1568)
 
 (!type already_seen 1566)
 
 (!type already_seen 1570)
 
 (!type already_seen 1564)
 
 (!type already_seen 1562)
 
 (!type already_seen 1560)
 
 (!type undefined 1571 nil  gc_unused "availability"
  (!srcfileloc  "cgraph.h" 1734)
 )
 
 (!type already_seen 1065)
 
 (!type already_seen 1066)
 
 (!type struct 1572 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1573 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1574 
  (!type pointer 1575 nil  gc_unused
   (!type already_seen 1574)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1576 
  (!type pointer 1577 nil  gc_unused
   (!type already_seen 1576)
  )
  gc_unused "cgraph_node_set_def"
  (!srcfileloc  "cgraph.h" 1395)
  (!fields 0 )
  nil 1023 nil nil )
 
 (!type already_seen 1074)
 
 (!type already_seen 1068)
 
 (!type user_struct 1578 nil  gc_unused "vec<cgraph_edge*>"
  (!srcfileloc  "cgraph.h" 1082)
  (!fields 1 
   (!pair  "cgraph_edge"
    (!type already_seen 1056)
    (!srcfileloc  "cgraph.h" 1082)
    nil )
  )
 )
 
 (!type already_seen 1069)
 
 (!type already_seen 1057)
 
 (!type struct 1579 
  (!type pointer 1580 nil  gc_used
   (!type already_seen 1579)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 818)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 1053)
    (!srcfileloc  "cgraph.h" 799)
    nil )
   (!pair  "prev"
    (!type already_seen 1580)
    (!srcfileloc  "cgraph.h" 803)
    nil )
   (!pair  "next"
    (!type already_seen 1580)
    (!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 1071)
 
 (!type already_seen 1073)
 
 (!type already_seen 1081)
 
 (!type already_seen 1083)
 
 (!type already_seen 1085)
 
 (!type already_seen 1078)
 
 (!type already_seen 1077)
 
 (!type already_seen 1086)
 
 (!type already_seen 1549)
 
 (!type already_seen 357)
 
 (!type already_seen 1556)
 
 (!type already_seen 375)
 
 (!type already_seen 1076)
 
 (!type already_seen 354)
 
 (!type already_seen 351)
 
 (!type already_seen 352)
 
 (!type already_seen 348)
 
 (!type struct 1581 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 1055)
 
 (!type struct 1582 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 1583 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1584 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1585 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 413)
 
 (!type already_seen 602)
 
 (!type struct 1586 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1587 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1588 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 1589 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1590 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1591 
  (!type pointer 1592 nil  gc_used
   (!type already_seen 1591)
  )
  gc_pointed_to "hash_table<used_type_hasher>"
  (!srcfileloc  "function.h" 429)
  (!fields 1 
   (!pair  "used_type_hasher"
    (!type struct 1593 nil  gc_used "used_type_hasher"
     (!srcfileloc  "function.h" 429)
     (!fields 0 )
     nil 1023 nil nil )
    (!srcfileloc  "function.h" 429)
    nil )
  )
 )
 
 (!type already_seen 1593)
 
 (!type struct 1594 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 1402)
 
 (!type already_seen 1390)
 
 (!type already_seen 1386)
 
 (!type already_seen 1388)
 
 (!type already_seen 447)
 
 (!type already_seen 417)
 
 (!type already_seen 1391)
 
 (!type already_seen 1394)
 
 (!type already_seen 409)
 
 (!type already_seen 1396)
 
 (!type already_seen 1380)
 
 (!type already_seen 1383)
 
 (!type already_seen 1384)
 
 (!type struct 1595 nil  gc_unused "format_helper"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1596 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1597 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1598 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 1599 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 1600 
  (!type pointer 1601 nil  gc_used
   (!type already_seen 1600)
  )
  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 1602 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 1603 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 1604 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1605 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1606 nil  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 1921)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 1005)
    (!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 1607 nil  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 1915)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 1005)
    (!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 1608 nil  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 1909)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 1005)
    (!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 1609 nil  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 1903)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 1005)
    (!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 1005)
 
 (!type struct 1610 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1611 
  (!type pointer 1612 nil  gc_unused
   (!type already_seen 1611)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1613 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 1614 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 1602)
 
 (!type already_seen 471)
 
 (!type already_seen 555)
 
 (!type already_seen 553)
 
 (!type struct 1615 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 1616 nil  gc_unused "extended_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1272)
 
 (!type struct 1617 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1080)
 
 (!type struct 1618 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 581)
 
 (!type struct 1619 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1620 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 1621 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1622 nil  gc_unused "subreg_shape"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1623 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 1624 nil  gc_unused "u"
  (!srcfileloc  "rtl.h" 423)
  (!fields 7 
   (!pair  "fld"
    (!type array 1625 nil  gc_unused "1" 
     (!type already_seen 242)
    )
    (!srcfileloc  "rtl.h" 416)
    nil )
   (!pair  "hwint"
    (!type array 1626 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "rtl.h" 417)
    nil )
   (!pair  "reg"
    (!type struct 1627 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 1628 
     (!type pointer 1629 nil  gc_unused
      (!type already_seen 1628)
     )
     gc_unused "hwivec_def"
     (!srcfileloc  "rtl.h" 279)
     (!fields 1 
      (!pair  "elem"
       (!type array 1630 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 1627)
 
 (!type union 1631 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type already_seen 270)
 
 (!type already_seen 259)
 
 (!type struct 1632 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1633 nil  gc_unused "gcov_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1634 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1635 
  (!type pointer 1636 nil  gc_used
   (!type already_seen 1635)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 62)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1636)
    (!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 1637 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 1638 nil  gc_unused "never_used2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1639 nil  gc_unused "never_used1"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1640 nil  gc_unused "hwi_with_prec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1641 nil  gc_unused "primitive_int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1642 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 1643 nil  gc_unused "N" 
     (!type already_seen 15)
    )
    (!srcfileloc  "wide-int.h" 1289)
    nil )
   (!pair  "m_val"
    (!type array 1644 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "wide-int.h" 1293)
    nil )
  )
  nil 1023 nil nil )
 
 (!type user_struct 1645 nil  gc_unused "generic_wide_int<trailing_wide_int_storage>"
  (!srcfileloc  "wide-int.h" 1264)
  (!fields 1 
   (!pair  "trailing_wide_int_storage"
    (!type struct 1646 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 1646)
 
 (!type struct 1647 nil  gc_unused "fixed_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1133)
  (!fields 2 
   (!pair  "val"
    (!type array 1648 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 1649 nil  gc_unused "int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1650 nil  gc_unused "UNARY_OPERATOR"
  (!srcfileloc  "wide-int.h" 674)
 )
 
 (!type undefined 1651 nil  gc_unused "WI_UNARY_RESULT"
  (!srcfileloc  "wide-int.h" 660)
 )
 
 (!type struct 1652 nil  gc_unused "generic_wide_int"
  (!srcfileloc  "wide-int.h" 706)
  (!fields 0 )
  nil 1023 nil 
  (!type struct 1653 nil  gc_unused "storage"nil 
   (!fields 0 )
   nil 0 nil nil )
 )
 
 (!type already_seen 1653)
 
 (!type struct 1654 nil  gc_unused "storage_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1655 nil  gc_unused "T1"
  (!srcfileloc  "wide-int.h" 396)
 )
 
 (!type user_struct 1656 nil  gc_unused "int_traits<T1"
  (!srcfileloc  "wide-int.h" 396)
  (!fields 1 
   (!pair  "T1"
    (!type already_seen 1655)
    (!srcfileloc  "wide-int.h" 396)
    nil )
  )
 )
 
 (!type user_struct 1657 nil  gc_unused "fixed_wide_int_storage<int_traits<T1"
  (!srcfileloc  "wide-int.h" 396)
  (!fields 1 
   (!pair  "int_traits<T1"
    (!type already_seen 1656)
    (!srcfileloc  "wide-int.h" 396)
    nil )
  )
 )
 
 (!type user_struct 1658 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 1659 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 1657)
    (!srcfileloc  "wide-int.h" 396)
    nil )
  )
 )
 
 (!type already_seen 1659)
 
 (!type undefined 1660 nil  gc_unused "T2"
  (!srcfileloc  "wide-int.h" 381)
 )
 
 (!type user_struct 1661 nil  gc_unused "int_traits<T2"
  (!srcfileloc  "wide-int.h" 381)
  (!fields 1 
   (!pair  "T2"
    (!type already_seen 1660)
    (!srcfileloc  "wide-int.h" 381)
    nil )
  )
 )
 
 (!type user_struct 1662 nil  gc_unused "fixed_wide_int_storage<int_traits<T2"
  (!srcfileloc  "wide-int.h" 381)
  (!fields 1 
   (!pair  "int_traits<T2"
    (!type already_seen 1661)
    (!srcfileloc  "wide-int.h" 381)
    nil )
  )
 )
 
 (!type user_struct 1663 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 1659)
    (!srcfileloc  "wide-int.h" 381)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T2"
    (!type already_seen 1662)
    (!srcfileloc  "wide-int.h" 381)
    nil )
  )
 )
 
 (!type struct 1664 nil  gc_unused "unary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1665 nil  gc_unused "binary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1666 nil  gc_unused "false"
  (!srcfileloc  "wide-int.h" 293)
 )
 
 (!type user_struct 1667 nil  gc_unused "wide_int_ref_storage<false"
  (!srcfileloc  "wide-int.h" 293)
  (!fields 1 
   (!pair  "false"
    (!type already_seen 1666)
    (!srcfileloc  "wide-int.h" 293)
    nil )
  )
 )
 
 (!type user_struct 1668 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 1667)
    (!srcfileloc  "wide-int.h" 293)
    nil )
  )
 )
 
 (!type struct 1669 nil  gc_unused "wide_int_ref_storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1670 nil  gc_unused "FIXED_WIDE_INT"
  (!srcfileloc  "wide-int.h" 287)
 )
 
 (!type already_seen 464)
 
 (!type already_seen 465)
 
 (!type struct 1671 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 1672 nil  gc_unused "bitmap_usage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1673 
  (!type pointer 1674 nil  gc_unused
   (!type already_seen 1673)
  )
  gc_unused "splay_tree_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1675 
  (!type pointer 1676 nil  gc_unused
   (!type already_seen 1675)
  )
  gc_unused "splay_tree_node_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 385)
 
 (!type struct 1677 nil  gc_unused "anonymous:../../gcc/config/arc/arc-arch.h:82"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1678 nil  gc_unused "anonymous:../../gcc/config/arc/arc-arch.h:64"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1679 nil  gc_unused "cpp_reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1680 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1681 nil  gc_unused "_dont_use_rtx_insn_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1682 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1683 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1684 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 1685 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1686 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 299)
 
 (!type already_seen 303)
 
 (!type struct 1687 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1688 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1689 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1690 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1691 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 570)
 
 (!type already_seen 616)
 
 (!type struct 1692 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 246)
 
 (!type struct 1693 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 1233)
 )
 
 (!type struct 1694 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 1236)
 )
 
 (!type struct 1695 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 1233)
 )
 
 (!type struct 1696 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 1234)
 )
 
 (!type struct 1697 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 1235)
 )
 
 (!type struct 1698 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 1235)
 )
 
 (!type struct 1699 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 1238)
    (!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 1234)
 )
 
 (!type struct 1700 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 1233)
 )
 
 (!type struct 1701 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 1234)
 )
 
 (!type struct 1702 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 1703 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 1232)
 )
 
 (!type struct 1704 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 1705 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 1706 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 1707 nil  gc_used "1" 
     (!type already_seen 1614)
    )
    (!srcfileloc  "gimple.h" 473)
    (!options 
     (!option length string  "%h.nargs")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_PHI")
  )
  1023 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1708 nil  gc_pointed_to "geh_dispatch"
  (!srcfileloc  "gimple.h" 501)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  1023 nil 
  (!type already_seen 1240)
 )
 
 (!type struct 1709 nil  gc_pointed_to "gresx"
  (!srcfileloc  "gimple.h" 494)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  1023 nil 
  (!type already_seen 1240)
 )
 
 (!type struct 1710 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 1711 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 1712 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 1713 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 1714 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 1715 nil  gc_pointed_to "greturn"
  (!srcfileloc  "gimple.h" 926)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  1023 nil 
  (!type already_seen 1241)
 )
 
 (!type struct 1716 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 1062)
 )
 
 (!type already_seen 1059)
 
 (!type struct 1717 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 1718 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 1062)
 )
 
 (!type struct 1719 nil  gc_pointed_to "gassign"
  (!srcfileloc  "gimple.h" 916)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  1023 nil 
  (!type already_seen 1241)
 )
 
 (!type struct 1720 nil  gc_pointed_to "gswitch"
  (!srcfileloc  "gimple.h" 905)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1243)
 )
 
 (!type struct 1721 nil  gc_pointed_to "glabel"
  (!srcfileloc  "gimple.h" 895)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1243)
 )
 
 (!type struct 1722 nil  gc_pointed_to "ggoto"
  (!srcfileloc  "gimple.h" 885)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1243)
 )
 
 (!type struct 1723 nil  gc_pointed_to "gdebug"
  (!srcfileloc  "gimple.h" 875)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1243)
 )
 
 (!type struct 1724 nil  gc_pointed_to "gcond"
  (!srcfileloc  "gimple.h" 865)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  1023 nil 
  (!type already_seen 1243)
 )
 
 (!type struct 1725 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 312)
 
 (!type already_seen 1628)
 
 (!type already_seen 262)
 
 (!type already_seen 1404)
 
 (!type already_seen 399)
 
 (!type struct 1726 nil  gc_pointed_to "rtx_barrier"
  (!srcfileloc  "rtl.h" 644)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1727 nil  gc_pointed_to "rtx_jump_table_data"
  (!srcfileloc  "rtl.h" 633)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1728 nil  gc_pointed_to "rtx_call_insn"
  (!srcfileloc  "rtl.h" 606)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1729 nil  gc_pointed_to "rtx_jump_insn"
  (!srcfileloc  "rtl.h" 593)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1730 nil  gc_pointed_to "rtx_nonjump_insn"
  (!srcfileloc  "rtl.h" 566)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 326)
 )
 
 (!type struct 1731 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 1732 nil  gc_pointed_to "rtx_sequence"
  (!srcfileloc  "rtl.h" 494)
  (!fields 0 )
  nil 1023 nil 
  (!type already_seen 137)
 )
 
 (!type already_seen 1382)
 
 (!type already_seen 1400)
 
 (!type already_seen 137)
 
 (!type struct 1733 
  (!type pointer 1734 nil  gc_unused
   (!type already_seen 1733)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 120)
 
 (!type already_seen 634)
 
 (!type struct 1735 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1736 nil  gc_unused "anonymous:../../gcc/../libcpp/include/cpplib.h:1040"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1737 nil  gc_unused "anonymous:../../gcc/../libcpp/include/cpplib.h:1029"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1738 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 1739 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 642)
 
 (!type struct 1740 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1741 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 1742 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1743 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1744 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1745 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1746 nil  gc_unused "rich_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1747 nil  gc_unused "fixit_replace"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1748 nil  gc_unused "fixit_remove"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1749 nil  gc_unused "fixit_insert"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1750 nil  gc_unused "fixit_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1751 nil  gc_unused "location_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1752 nil  gc_unused "anonymous:../../gcc/../libcpp/include/line-map.h:1211"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1753 
  (!type pointer 1754 nil  gc_used
   (!type already_seen 1753)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 725)
  (!fields 15 
   (!pair  "info_ordinary"
    (!type struct 1755 nil  gc_used "maps_info_ordinary"
     (!srcfileloc  "../libcpp/include/line-map.h" 683)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1756 nil  gc_unused
        (!type struct 1757 
         (!type already_seen 1756)
         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 1758 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 1759 nil  gc_used "maps_info_macro"
     (!srcfileloc  "../libcpp/include/line-map.h" 685)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1760 nil  gc_unused
        (!type struct 1761 
         (!type already_seen 1760)
         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 1758)
        )
       )
       (!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 1762 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 1763 nil  gc_unused
        (!type struct 1764 
         (!type already_seen 1763)
         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 1765 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 1762)
 
 (!type already_seen 367)
 
 (!type already_seen 1764)
 
 (!type already_seen 1759)
 
 (!type already_seen 1755)
 
 (!type already_seen 1761)
 
 (!type already_seen 7)
 
 (!type already_seen 628)
 
 (!type already_seen 1757)
 
 (!type already_seen 1758)
 
 (!type already_seen 1765)
)
(!typedefs 641
 (!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" 4505)
  nil )
 (!pair  "hash_table<module_hasher>"
  (!type already_seen 743)
  (!srcfileloc  "fortran/trans-decl.c" 4505)
  nil )
 (!pair  "constexpr_call_hasher"
  (!type already_seen 750)
  (!srcfileloc  "cp/constexpr.c" 918)
  nil )
 (!pair  "hash_table<constexpr_call_hasher>"
  (!type already_seen 748)
  (!srcfileloc  "cp/constexpr.c" 918)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 754)
  (!srcfileloc  "cp/constexpr.c" 865)
  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" 37103)
  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 1766 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  "constr_hasher"
  (!type already_seen 817)
  (!srcfileloc  "cp/pt.c" 24342)
  nil )
 (!pair  "hash_table<constr_hasher>"
  (!type already_seen 815)
  (!srcfileloc  "cp/pt.c" 24342)
  nil )
 (!pair  "spec_hasher"
  (!type already_seen 826)
  (!srcfileloc  "cp/pt.c" 107)
  nil )
 (!pair  "hash_table<spec_hasher>"
  (!type already_seen 824)
  (!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 833)
  (!srcfileloc  "cp/decl2.c" 62)
  nil )
 (!pair  "typename_hasher"
  (!type already_seen 838)
  (!srcfileloc  "cp/decl.c" 3541)
  nil )
 (!pair  "hash_table<typename_hasher>"
  (!type already_seen 836)
  (!srcfileloc  "cp/decl.c" 3541)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 843)
  (!srcfileloc  "cp/decl.c" 246)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 841)
  (!srcfileloc  "cp/decl.c" 246)
  nil )
 (!pair  "walk_namespaces_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5793)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 853)
  (!srcfileloc  "cp/cp-tree.h" 5356)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 854)
  (!srcfileloc  "cp/cp-tree.h" 5354)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5228)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5212)
  nil )
 (!pair  "operator_name_info_t"
  (!type already_seen 856)
  (!srcfileloc  "cp/cp-tree.h" 5200)
  nil )
 (!pair  "base_access"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4743)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4729)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4620)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 529)
  (!srcfileloc  "cp/cp-tree.h" 1754)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 531)
  (!srcfileloc  "cp/cp-tree.h" 1659)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 530)
  (!srcfileloc  "cp/cp-tree.h" 1659)
  nil )
 (!pair  "cxx_int_tree_map_hasher"
  (!type already_seen 108)
  (!srcfileloc  "cp/cp-tree.h" 1453)
  nil )
 (!pair  "hash_table<cxx_int_tree_map_hasher>"
  (!type already_seen 107)
  (!srcfileloc  "cp/cp-tree.h" 1453)
  nil )
 (!pair  "named_label_hasher"
  (!type already_seen 95)
  (!srcfileloc  "cp/cp-tree.h" 1447)
  nil )
 (!pair  "hash_table<named_label_hasher>"
  (!type already_seen 94)
  (!srcfileloc  "cp/cp-tree.h" 1447)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 865)
  (!srcfileloc  "cp/cp-tree.h" 1273)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 863)
  (!srcfileloc  "cp/cp-tree.h" 1273)
  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 874)
  (!srcfileloc  "cp/mangle.c" 3883)
  nil )
 (!pair  "hash_table<conv_type_hasher>"
  (!type already_seen 872)
  (!srcfileloc  "cp/mangle.c" 3883)
  nil )
 (!pair  "substitution_identifier_index_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 136)
  nil )
 (!pair  "globals"
  (!type already_seen 875)
  (!srcfileloc  "cp/mangle.c" 111)
  nil )
 (!pair  "tinfo_s"
  (!type already_seen 878)
  (!srcfileloc  "cp/rtti.c" 101)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 876)
  (!srcfileloc  "cp/rtti.c" 101)
  nil )
 (!pair  "c_parser"
  (!type already_seen 881)
  (!srcfileloc  "c/c-parser.c" 263)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 887)
  (!srcfileloc  "c/c-parser.c" 256)
  nil )
 (!pair  "c_token"
  (!type already_seen 884)
  (!srcfileloc  "c/c-parser.c" 212)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 894)
  (!srcfileloc  "c-family/c-pragma.c" 470)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 892)
  (!srcfileloc  "c-family/c-pragma.c" 470)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 897)
  (!srcfileloc  "c-family/c-pragma.c" 236)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 895)
  (!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 903)
  (!srcfileloc  "c-family/c-common.h" 1421)
  nil )
 (!pair  "an_parts"
  (!type already_seen 904)
  (!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 909)
  (!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 911)
  (!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 916)
  (!srcfileloc  "c-family/c-common.c" 4731)
  nil )
 (!pair  "hash_table<c_type_hasher>"
  (!type already_seen 914)
  (!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 931)
  (!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 936)
  (!srcfileloc  "ada/gcc-interface/utils.c" 238)
  nil )
 (!pair  "hash_table<pad_type_hasher>"
  (!type already_seen 934)
  (!srcfileloc  "ada/gcc-interface/utils.c" 238)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 941)
  (!srcfileloc  "ada/gcc-interface/trans.c" 209)
  nil )
 (!pair  "loop_info"
  (!type already_seen 943)
  (!srcfileloc  "ada/gcc-interface/trans.c" 205)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 946)
  (!srcfileloc  "ada/gcc-interface/trans.c" 199)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 947)
  (!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 953)
  (!srcfileloc  "ada/gcc-interface/decl.c" 7125)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 955)
  (!srcfileloc  "ada/gcc-interface/decl.c" 208)
  nil )
 (!pair  "value_annotation_hasher"
  (!type already_seen 958)
  (!srcfileloc  "ada/gcc-interface/decl.c" 151)
  nil )
 (!pair  "hash_table<value_annotation_hasher>"
  (!type already_seen 956)
  (!srcfileloc  "ada/gcc-interface/decl.c" 151)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 959)
  (!srcfileloc  "ada/gcc-interface/decl.c" 125)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 960)
  (!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 972)
  (!srcfileloc  "hsa.c" 65)
  nil )
 (!pair  "vec<hsa_decl_kernel_map_element,va_gc>"
  (!type already_seen 970)
  (!srcfileloc  "hsa.c" 65)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 979)
  (!srcfileloc  "ipa-devirt.c" 2720)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 980)
  (!srcfileloc  "ipa-devirt.c" 2719)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 979)
  (!srcfileloc  "ipa-devirt.c" 2719)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 982)
  (!srcfileloc  "ipa-devirt.c" 641)
  nil )
 (!pair  "odr_vtable_hash_type"
  (!type already_seen 987)
  (!srcfileloc  "ipa-devirt.c" 634)
  nil )
 (!pair  "odr_vtable_hasher"
  (!type already_seen 988)
  (!srcfileloc  "ipa-devirt.c" 634)
  nil )
 (!pair  "hash_table<odr_vtable_hasher>"
  (!type already_seen 987)
  (!srcfileloc  "ipa-devirt.c" 634)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 989)
  (!srcfileloc  "ipa-devirt.c" 632)
  nil )
 (!pair  "odr_name_hasher"
  (!type already_seen 990)
  (!srcfileloc  "ipa-devirt.c" 632)
  nil )
 (!pair  "hash_table<odr_name_hasher>"
  (!type already_seen 989)
  (!srcfileloc  "ipa-devirt.c" 632)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 986)
  (!srcfileloc  "ipa-devirt.c" 190)
  nil )
 (!pair  "compare_type"
  (!type already_seen 992)
  (!srcfileloc  "ipa-devirt.c" 143)
  nil )
 (!pair  "value_type"
  (!type already_seen 992)
  (!srcfileloc  "ipa-devirt.c" 142)
  nil )
 (!pair  "type_pair"
  (!type already_seen 992)
  (!srcfileloc  "ipa-devirt.c" 142)
  nil )
 (!pair  "tree_type_map_cache_hasher"
  (!type already_seen 1003)
  (!srcfileloc  "ubsan.c" 77)
  nil )
 (!pair  "hash_table<tree_type_map_cache_hasher>"
  (!type already_seen 1001)
  (!srcfileloc  "ubsan.c" 77)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 1013)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 1013)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 1014)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 1015)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 1014)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "inline_edge_summary_t"
  (!type already_seen 1518)
  (!srcfileloc  "ipa-inline.h" 226)
  nil )
 (!pair  "function_summary<inline_summary*>"
  (!type already_seen 1019)
  (!srcfileloc  "ipa-inline.h" 194)
  nil )
 (!pair  "inline_summary_t"
  (!type already_seen 1032)
  (!srcfileloc  "ipa-inline.h" 192)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 1028)
  (!srcfileloc  "ipa-inline.h" 153)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 1027)
  (!srcfileloc  "ipa-inline.h" 153)
  nil )
 (!pair  "clause_t"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 94)
  nil )
 (!pair  "conditions"
  (!type already_seen 1023)
  (!srcfileloc  "ipa-inline.h" 82)
  nil )
 (!pair  "condition"
  (!type already_seen 1025)
  (!srcfileloc  "ipa-inline.h" 82)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 1024)
  (!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 1144)
  (!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 1052)
  (!srcfileloc  "trans-mem.c" 4203)
  nil )
 (!pair  "vec<cgraph_node*>"
  (!type already_seen 1052)
  (!srcfileloc  "trans-mem.c" 4203)
  nil )
 (!pair  "tm_wrapper_hasher"
  (!type already_seen 1106)
  (!srcfileloc  "trans-mem.c" 479)
  nil )
 (!pair  "hash_table<tm_wrapper_hasher>"
  (!type already_seen 1104)
  (!srcfileloc  "trans-mem.c" 479)
  nil )
 (!pair  "ipa_parm_adjustment_vec"
  (!type already_seen 1107)
  (!srcfileloc  "ipa-prop.h" 748)
  nil )
 (!pair  "ipa_parm_adjustment"
  (!type already_seen 1108)
  (!srcfileloc  "ipa-prop.h" 748)
  nil )
 (!pair  "vec<ipa_parm_adjustment>"
  (!type already_seen 1107)
  (!srcfileloc  "ipa-prop.h" 748)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 1111)
  (!srcfileloc  "ipa-prop.h" 550)
  nil )
 (!pair  "vec<ipa_edge_args,va_gc>"
  (!type already_seen 1109)
  (!srcfileloc  "ipa-prop.h" 550)
  nil )
 (!pair  "ipcp_transformation_summary"
  (!type already_seen 1131)
  (!srcfileloc  "ipa-prop.h" 548)
  nil )
 (!pair  "vec<ipcp_transformation_summary,va_gc>"
  (!type already_seen 1129)
  (!srcfileloc  "ipa-prop.h" 548)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context,va_gc>"
  (!type already_seen 1128)
  (!srcfileloc  "ipa-prop.h" 497)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 1114)
  (!srcfileloc  "ipa-prop.h" 496)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 1113)
  (!srcfileloc  "ipa-prop.h" 496)
  nil )
 (!pair  "ipa_alignment"
  (!type already_seen 1120)
  (!srcfileloc  "ipa-prop.h" 484)
  nil )
 (!pair  "vec<ipa_alignment,va_gc>"
  (!type already_seen 1135)
  (!srcfileloc  "ipa-prop.h" 484)
  nil )
 (!pair  "ipa_agg_replacement_value"
  (!type already_seen 1133)
  (!srcfileloc  "ipa-prop.h" 482)
  nil )
 (!pair  "ipa_agg_jump_function_p"
  (!type already_seen 1116)
  (!srcfileloc  "ipa-prop.h" 144)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 1119)
  (!srcfileloc  "ipa-prop.h" 139)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 1118)
  (!srcfileloc  "ipa-prop.h" 139)
  nil )
 (!pair  "TRAILING_WIDE_INT_ACCESSOR"
  (!type already_seen 1138)
  (!srcfileloc  "tree-ssanames.h" 52)
  nil )
 (!pair  "vec<gimple*,va_gc>"
  (!type already_seen 1140)
  (!srcfileloc  "tree-phinodes.c" 70)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1147)
  (!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 1160)
  (!srcfileloc  "config/arc/arc.c" 7969)
  nil )
 (!pair  "insn_length_variant_t"
  (!type already_seen 1161)
  (!srcfileloc  "config/arc/arc.c" 7961)
  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 1192)
  (!srcfileloc  "tree-scalar-evolution.c" 323)
  nil )
 (!pair  "hash_table<scev_info_hasher>"
  (!type already_seen 1190)
  (!srcfileloc  "tree-scalar-evolution.c" 323)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1211)
  (!srcfileloc  "tree-ssa-address.c" 90)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1209)
  (!srcfileloc  "tree-ssa-address.c" 90)
  nil )
 (!pair  "treemple"
  (!type already_seen 1223)
  (!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 1230)
  (!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 1248)
  (!srcfileloc  "varasm.c" 5791)
  nil )
 (!pair  "hash_table<tm_clone_hasher>"
  (!type already_seen 1246)
  (!srcfileloc  "varasm.c" 5791)
  nil )
 (!pair  "const_rtx_desc_hasher"
  (!type already_seen 1253)
  (!srcfileloc  "varasm.c" 3517)
  nil )
 (!pair  "hash_table<const_rtx_desc_hasher>"
  (!type already_seen 1251)
  (!srcfileloc  "varasm.c" 3517)
  nil )
 (!pair  "tree_descriptor_hasher"
  (!type already_seen 1256)
  (!srcfileloc  "varasm.c" 2874)
  nil )
 (!pair  "hash_table<tree_descriptor_hasher>"
  (!type already_seen 1254)
  (!srcfileloc  "varasm.c" 2874)
  nil )
 (!pair  "object_block_hasher"
  (!type already_seen 1260)
  (!srcfileloc  "varasm.c" 196)
  nil )
 (!pair  "hash_table<object_block_hasher>"
  (!type already_seen 1258)
  (!srcfileloc  "varasm.c" 196)
  nil )
 (!pair  "section_hasher"
  (!type already_seen 1263)
  (!srcfileloc  "varasm.c" 185)
  nil )
 (!pair  "hash_table<section_hasher>"
  (!type already_seen 1261)
  (!srcfileloc  "varasm.c" 185)
  nil )
 (!pair  "tree_vec_map_cache_hasher"
  (!type already_seen 1269)
  (!srcfileloc  "tree.c" 244)
  nil )
 (!pair  "hash_table<tree_vec_map_cache_hasher>"
  (!type already_seen 1267)
  (!srcfileloc  "tree.c" 244)
  nil )
 (!pair  "tree_decl_map_cache_hasher"
  (!type already_seen 1272)
  (!srcfileloc  "tree.c" 221)
  nil )
 (!pair  "hash_table<tree_decl_map_cache_hasher>"
  (!type already_seen 1270)
  (!srcfileloc  "tree.c" 221)
  nil )
 (!pair  "cl_option_hasher"
  (!type already_seen 1275)
  (!srcfileloc  "tree.c" 215)
  nil )
 (!pair  "hash_table<cl_option_hasher>"
  (!type already_seen 1273)
  (!srcfileloc  "tree.c" 215)
  nil )
 (!pair  "int_cst_hasher"
  (!type already_seen 1278)
  (!srcfileloc  "tree.c" 199)
  nil )
 (!pair  "hash_table<int_cst_hasher>"
  (!type already_seen 1276)
  (!srcfileloc  "tree.c" 199)
  nil )
 (!pair  "type_cache_hasher"
  (!type already_seen 1281)
  (!srcfileloc  "tree.c" 188)
  nil )
 (!pair  "hash_table<type_cache_hasher>"
  (!type already_seen 1279)
  (!srcfileloc  "tree.c" 188)
  nil )
 (!pair  "block_info"
  (!type already_seen 1293)
  (!srcfileloc  "reg-stack.c" 214)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1295)
  (!srcfileloc  "reg-stack.c" 201)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1301)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1300)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1303)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1302)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "libfunc_decl_hasher"
  (!type already_seen 1308)
  (!srcfileloc  "optabs-libfuncs.c" 727)
  nil )
 (!pair  "hash_table<libfunc_decl_hasher>"
  (!type already_seen 1306)
  (!srcfileloc  "optabs-libfuncs.c" 727)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1318)
  (!srcfileloc  "gcse.c" 618)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1317)
  (!srcfileloc  "gcse.c" 618)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1318)
  (!srcfileloc  "gcse.c" 618)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1319)
  (!srcfileloc  "gcse.c" 617)
  nil )
 (!pair  "vec<rtx_insn*>"
  (!type already_seen 1319)
  (!srcfileloc  "gcse.c" 617)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1325)
  (!srcfileloc  "gcse.c" 304)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1329)
  (!srcfileloc  "except.c" 754)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1330)
  (!srcfileloc  "except.c" 754)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1329)
  (!srcfileloc  "except.c" 754)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1331)
  (!srcfileloc  "except.c" 719)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1332)
  (!srcfileloc  "except.c" 719)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1331)
  (!srcfileloc  "except.c" 719)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1335)
  (!srcfileloc  "except.c" 205)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1336)
  (!srcfileloc  "except.c" 205)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1335)
  (!srcfileloc  "except.c" 205)
  nil )
 (!pair  "tree_hash"
  (!type already_seen 1338)
  (!srcfileloc  "except.c" 148)
  nil )
 (!pair  "hash_map<tree_hash,tree>"
  (!type already_seen 1339)
  (!srcfileloc  "except.c" 148)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1348)
  (!srcfileloc  "function.c" 1237)
  nil )
 (!pair  "temp_address_hasher"
  (!type already_seen 1352)
  (!srcfileloc  "function.c" 576)
  nil )
 (!pair  "hash_table<temp_address_hasher>"
  (!type already_seen 1350)
  (!srcfileloc  "function.c" 576)
  nil )
 (!pair  "insn_cache_hasher"
  (!type already_seen 1358)
  (!srcfileloc  "function.c" 123)
  nil )
 (!pair  "hash_table<insn_cache_hasher>"
  (!type already_seen 1356)
  (!srcfileloc  "function.c" 123)
  nil )
 (!pair  "sepops"
  (!type already_seen 1360)
  (!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 1366)
  (!srcfileloc  "emit-rtl.c" 175)
  nil )
 (!pair  "hash_table<const_fixed_hasher>"
  (!type already_seen 1364)
  (!srcfileloc  "emit-rtl.c" 175)
  nil )
 (!pair  "const_double_hasher"
  (!type already_seen 1369)
  (!srcfileloc  "emit-rtl.c" 166)
  nil )
 (!pair  "hash_table<const_double_hasher>"
  (!type already_seen 1367)
  (!srcfileloc  "emit-rtl.c" 166)
  nil )
 (!pair  "reg_attr_hasher"
  (!type already_seen 1372)
  (!srcfileloc  "emit-rtl.c" 157)
  nil )
 (!pair  "hash_table<reg_attr_hasher>"
  (!type already_seen 1370)
  (!srcfileloc  "emit-rtl.c" 157)
  nil )
 (!pair  "const_wide_int_hasher"
  (!type already_seen 1375)
  (!srcfileloc  "emit-rtl.c" 148)
  nil )
 (!pair  "hash_table<const_wide_int_hasher>"
  (!type already_seen 1373)
  (!srcfileloc  "emit-rtl.c" 148)
  nil )
 (!pair  "const_int_hasher"
  (!type already_seen 1378)
  (!srcfileloc  "emit-rtl.c" 140)
  nil )
 (!pair  "hash_table<const_int_hasher>"
  (!type already_seen 1376)
  (!srcfileloc  "emit-rtl.c" 140)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1406)
  (!srcfileloc  "emit-rtl.h" 133)
  nil )
 (!pair  "rtx_note"
  (!type already_seen 1404)
  (!srcfileloc  "emit-rtl.h" 113)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1354)
  (!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 1409)
  (!srcfileloc  "dwarf2out.c" 27203)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1410)
  (!srcfileloc  "dwarf2out.c" 27203)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1409)
  (!srcfileloc  "dwarf2out.c" 27203)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1412)
  (!srcfileloc  "dwarf2out.c" 24916)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1413)
  (!srcfileloc  "dwarf2out.c" 24916)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1412)
  (!srcfileloc  "dwarf2out.c" 24916)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1419)
  (!srcfileloc  "dwarf2out.c" 8125)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1420)
  (!srcfileloc  "dwarf2out.c" 8125)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1419)
  (!srcfileloc  "dwarf2out.c" 8125)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1422)
  (!srcfileloc  "dwarf2out.c" 7466)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1423)
  (!srcfileloc  "dwarf2out.c" 7466)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1422)
  (!srcfileloc  "dwarf2out.c" 7466)
  nil )
 (!pair  "cu_hash_type"
  (!type already_seen 1425)
  (!srcfileloc  "dwarf2out.c" 7144)
  nil )
 (!pair  "cu_hash_table_entry_hasher"
  (!type already_seen 1426)
  (!srcfileloc  "dwarf2out.c" 7144)
  nil )
 (!pair  "hash_table<cu_hash_table_entry_hasher>"
  (!type already_seen 1425)
  (!srcfileloc  "dwarf2out.c" 7144)
  nil )
 (!pair  "addr_hasher"
  (!type already_seen 1430)
  (!srcfileloc  "dwarf2out.c" 4352)
  nil )
 (!pair  "hash_table<addr_hasher>"
  (!type already_seen 1428)
  (!srcfileloc  "dwarf2out.c" 4352)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1435)
  (!srcfileloc  "dwarf2out.c" 3114)
  nil )
 (!pair  "dw_ranges_by_label"
  (!type already_seen 1475)
  (!srcfileloc  "dwarf2out.c" 3087)
  nil )
 (!pair  "dw_ranges"
  (!type already_seen 1477)
  (!srcfileloc  "dwarf2out.c" 3077)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1438)
  (!srcfileloc  "dwarf2out.c" 3067)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1441)
  (!srcfileloc  "dwarf2out.c" 3059)
  nil )
 (!pair  "vec<dw_line_info_table*,va_gc>"
  (!type already_seen 1444)
  (!srcfileloc  "dwarf2out.c" 3051)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1447)
  (!srcfileloc  "dwarf2out.c" 3047)
  nil )
 (!pair  "dw_loc_list_hasher"
  (!type already_seen 1453)
  (!srcfileloc  "dwarf2out.c" 3014)
  nil )
 (!pair  "hash_table<dw_loc_list_hasher>"
  (!type already_seen 1451)
  (!srcfileloc  "dwarf2out.c" 3014)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1454)
  (!srcfileloc  "dwarf2out.c" 3002)
  nil )
 (!pair  "decl_loc_hasher"
  (!type already_seen 1457)
  (!srcfileloc  "dwarf2out.c" 2983)
  nil )
 (!pair  "hash_table<decl_loc_hasher>"
  (!type already_seen 1455)
  (!srcfileloc  "dwarf2out.c" 2983)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1460)
  (!srcfileloc  "dwarf2out.c" 2961)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1437)
  (!srcfileloc  "dwarf2out.c" 2923)
  nil )
 (!pair  "block_die_hasher"
  (!type already_seen 1465)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "hash_table<block_die_hasher>"
  (!type already_seen 1463)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "decl_die_hasher"
  (!type already_seen 1468)
  (!srcfileloc  "dwarf2out.c" 2908)
  nil )
 (!pair  "hash_table<decl_die_hasher>"
  (!type already_seen 1466)
  (!srcfileloc  "dwarf2out.c" 2908)
  nil )
 (!pair  "dwarf_file_hasher"
  (!type already_seen 1471)
  (!srcfileloc  "dwarf2out.c" 2897)
  nil )
 (!pair  "hash_table<dwarf_file_hasher>"
  (!type already_seen 1469)
  (!srcfileloc  "dwarf2out.c" 2897)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1472)
  (!srcfileloc  "dwarf2out.c" 2790)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1473)
  (!srcfileloc  "dwarf2out.c" 2782)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1440)
  (!srcfileloc  "dwarf2out.c" 2754)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1443)
  (!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 1449)
  (!srcfileloc  "dwarf2out.c" 2672)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1450)
  (!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 1482)
  (!srcfileloc  "dwarf2out.c" 224)
  nil )
 (!pair  "hash_table<indirect_string_hasher>"
  (!type already_seen 1480)
  (!srcfileloc  "dwarf2out.c" 224)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1483)
  (!srcfileloc  "dwarf2out.c" 206)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1490)
  (!srcfileloc  "dwarf2cfi.c" 183)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1492)
  (!srcfileloc  "dwarf2cfi.c" 181)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 1494)
  (!srcfileloc  "dwarf2cfi.c" 63)
  nil )
 (!pair  "hash_map<char*,tree>"
  (!type already_seen 1495)
  (!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 984)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 985)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "function_version_hasher"
  (!type already_seen 1528)
  (!srcfileloc  "cgraph.c" 114)
  nil )
 (!pair  "hash_table<function_version_hasher>"
  (!type already_seen 1526)
  (!srcfileloc  "cgraph.c" 114)
  nil )
 (!pair  "vec<alias_set_entry*,va_gc>"
  (!type already_seen 1533)
  (!srcfileloc  "alias.c" 278)
  nil )
 (!pair  "int"
  (!type already_seen 406)
  (!srcfileloc  "alias.c" 135)
  nil )
 (!pair  "alias_set_hash"
  (!type already_seen 1539)
  (!srcfileloc  "alias.c" 135)
  nil )
 (!pair  "hash_map<alias_set_hash,int>"
  (!type already_seen 1538)
  (!srcfileloc  "alias.c" 135)
  nil )
 (!pair  "FILE"
  (!type already_seen 1545)
  (!srcfileloc  "cgraph.h" 2182)
  nil )
 (!pair  "symbol_priority_map"
  (!type already_seen 1549)
  (!srcfileloc  "cgraph.h" 2180)
  nil )
 (!pair  "hash_map<symtab_node*,symbol_priority_map>"
  (!type already_seen 1547)
  (!srcfileloc  "cgraph.h" 2180)
  nil )
 (!pair  "asmname_hasher"
  (!type already_seen 1553)
  (!srcfileloc  "cgraph.h" 2177)
  nil )
 (!pair  "hash_table<asmname_hasher>"
  (!type already_seen 1551)
  (!srcfileloc  "cgraph.h" 2177)
  nil )
 (!pair  "section_name_hasher"
  (!type already_seen 1556)
  (!srcfileloc  "cgraph.h" 2174)
  nil )
 (!pair  "hash_table<section_name_hasher>"
  (!type already_seen 1554)
  (!srcfileloc  "cgraph.h" 2174)
  nil )
 (!pair  "cgraph_2node_hook_list"
  (!type already_seen 1568)
  (!srcfileloc  "cgraph.h" 2103)
  nil )
 (!pair  "cgraph_2edge_hook_list"
  (!type already_seen 1566)
  (!srcfileloc  "cgraph.h" 2097)
  nil )
 (!pair  "varpool_node_hook_list"
  (!type already_seen 1570)
  (!srcfileloc  "cgraph.h" 2076)
  nil )
 (!pair  "cgraph_node_hook_list"
  (!type already_seen 1564)
  (!srcfileloc  "cgraph.h" 2069)
  nil )
 (!pair  "cgraph_edge_hook_list"
  (!type already_seen 1562)
  (!srcfileloc  "cgraph.h" 2062)
  nil )
 (!pair  "symbol_table"
  (!type already_seen 1557)
  (!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 1560)
  (!srcfileloc  "cgraph.h" 1854)
  nil )
 (!pair  "availability"
  (!type already_seen 1571)
  (!srcfileloc  "cgraph.h" 1734)
  nil )
 (!pair  "cgraph_indirect_call_info"
  (!type already_seen 1065)
  (!srcfileloc  "cgraph.h" 1646)
  nil )
 (!pair  "gcall"
  (!type already_seen 1059)
  (!srcfileloc  "cgraph.h" 1643)
  nil )
 (!pair  "ipa_polymorphic_call_context"
  (!type already_seen 1066)
  (!srcfileloc  "cgraph.h" 1449)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1575)
  (!srcfileloc  "cgraph.h" 1396)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1577)
  (!srcfileloc  "cgraph.h" 1395)
  nil )
 (!pair  "cgraph_node_set_def"
  (!type already_seen 1576)
  (!srcfileloc  "cgraph.h" 1395)
  nil )
 (!pair  "cgraph_thunk_info"
  (!type already_seen 1086)
  (!srcfileloc  "cgraph.h" 1321)
  nil )
 (!pair  "cgraph_clone_info"
  (!type already_seen 1081)
  (!srcfileloc  "cgraph.h" 1320)
  nil )
 (!pair  "cgraph_global_info"
  (!type already_seen 1078)
  (!srcfileloc  "cgraph.h" 1318)
  nil )
 (!pair  "cgraph_local_info"
  (!type already_seen 1077)
  (!srcfileloc  "cgraph.h" 1317)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 1074)
  (!srcfileloc  "cgraph.h" 1315)
  nil )
 (!pair  "cgraph_simd_clone"
  (!type already_seen 1071)
  (!srcfileloc  "cgraph.h" 1308)
  nil )
 (!pair  "cgraph_edge_hasher"
  (!type already_seen 1069)
  (!srcfileloc  "cgraph.h" 1302)
  nil )
 (!pair  "hash_table<cgraph_edge_hasher>"
  (!type already_seen 1068)
  (!srcfileloc  "cgraph.h" 1302)
  nil )
 (!pair  "vec<cgraph_edge*>"
  (!type already_seen 1578)
  (!srcfileloc  "cgraph.h" 1082)
  nil )
 (!pair  "cgraph_edge"
  (!type already_seen 1057)
  (!srcfileloc  "cgraph.h" 1056)
  nil )
 (!pair  "cgraph_function_version_info"
  (!type already_seen 1579)
  (!srcfileloc  "cgraph.h" 803)
  nil )
 (!pair  "cgraph_simd_clone_arg"
  (!type already_seen 1073)
  (!srcfileloc  "cgraph.h" 793)
  nil )
 (!pair  "vec<ipa_replace_map*,va_gc>"
  (!type already_seen 1083)
  (!srcfileloc  "cgraph.h" 684)
  nil )
 (!pair  "cgraph_node"
  (!type already_seen 1055)
  (!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 1075)
  (!srcfileloc  "cgraph.h" 28)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 1076)
  (!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 1767 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 1593)
  (!srcfileloc  "function.h" 429)
  nil )
 (!pair  "hash_table<used_type_hasher>"
  (!type already_seen 1591)
  (!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 1394)
  (!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 1395)
  (!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 1598)
  (!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 1603)
  (!srcfileloc  "tree-core.h" 2004)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 1602)
  (!srcfileloc  "tree-core.h" 1969)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 1600)
  (!srcfileloc  "tree-core.h" 1969)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 1612)
  (!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 1620)
  (!srcfileloc  "rtl.h" 2068)
  nil )
 (!pair  "std::pair<rtx,machine_mode>"
  (!type already_seen 1620)
  (!srcfileloc  "rtl.h" 2068)
  nil )
 (!pair  "rtx_insn"
  (!type already_seen 326)
  (!srcfileloc  "rtl.h" 465)
  nil )
 (!pair  "rtx_insn_list"
  (!type already_seen 1382)
  (!srcfileloc  "rtl.h" 462)
  nil )
 (!pair  "rtx_expr_list"
  (!type already_seen 1400)
  (!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 1645)
  (!srcfileloc  "wide-int.h" 1264)
  nil )
 (!pair  "trailing_wide_int_storage"
  (!type already_seen 1646)
  (!srcfileloc  "wide-int.h" 1264)
  nil )
 (!pair  "generic_wide_int<trailing_wide_int_storage>"
  (!type already_seen 1645)
  (!srcfileloc  "wide-int.h" 1264)
  nil )
 (!pair  "fixed_wide_int_storage"
  (!type already_seen 1647)
  (!srcfileloc  "wide-int.h" 1119)
  nil )
 (!pair  "UNARY_OPERATOR"
  (!type already_seen 1650)
  (!srcfileloc  "wide-int.h" 674)
  nil )
 (!pair  "WI_UNARY_RESULT"
  (!type already_seen 1651)
  (!srcfileloc  "wide-int.h" 660)
  nil )
 (!pair  "generic_wide_int"
  (!type already_seen 1652)
  (!srcfileloc  "wide-int.h" 629)
  nil )
 (!pair  "T1"
  (!type already_seen 1655)
  (!srcfileloc  "wide-int.h" 396)
  nil )
 (!pair  "int_traits<T1"
  (!type already_seen 1656)
  (!srcfileloc  "wide-int.h" 396)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T1"
  (!type already_seen 1657)
  (!srcfileloc  "wide-int.h" 396)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!type already_seen 1658)
  (!srcfileloc  "wide-int.h" 396)
  nil )
 (!pair  "precision"
  (!type already_seen 1659)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "T2"
  (!type already_seen 1660)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "int_traits<T2"
  (!type already_seen 1661)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T2"
  (!type already_seen 1662)
  (!srcfileloc  "wide-int.h" 381)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!type already_seen 1663)
  (!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 1668)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "false"
  (!type already_seen 1666)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "wide_int_ref_storage<false"
  (!type already_seen 1667)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false>>"
  (!type already_seen 1668)
  (!srcfileloc  "wide-int.h" 293)
  nil )
 (!pair  "WIDE_INT_MAX_PRECISION"
  (!type already_seen 1670)
  (!srcfileloc  "wide-int.h" 288)
  nil )
 (!pair  "ADDR_MAX_PRECISION"
  (!type already_seen 1670)
  (!srcfileloc  "wide-int.h" 287)
  nil )
 (!pair  "FIXED_WIDE_INT"
  (!type already_seen 1670)
  (!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 1674)
  (!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 1676)
  (!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 1677)
  (!srcfileloc  "config/arc/arc-arch.h" 95)
  nil )
 (!pair  "arc_cpu_t"
  (!type already_seen 1678)
  (!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 1684)
  (!srcfileloc  "coretypes.h" 266)
  nil )
 (!pair  "std::pair<tree,tree>"
  (!type already_seen 1684)
  (!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 1629)
  (!srcfileloc  "coretypes.h" 81)
  nil )
 (!pair  "hwivec"
  (!type already_seen 1629)
  (!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 1734)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 1734)
  (!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 1736)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1049)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 1737)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1035)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 1738)
  (!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 1740)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 1741)
  (!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 1742)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 1743)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 1744)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 1752)
  (!srcfileloc  "../libcpp/include/line-map.h" 1224)
  nil )
 (!pair  "maps_info_macro"
  (!type already_seen 1759)
  (!srcfileloc  "../libcpp/include/line-map.h" 685)
  nil )
 (!pair  "maps_info_ordinary"
  (!type already_seen 1755)
  (!srcfileloc  "../libcpp/include/line-map.h" 683)
  nil )
 (!pair  "source_range"
  (!type already_seen 1765)
  (!srcfileloc  "../libcpp/include/line-map.h" 657)
  nil )
 (!pair  "line_map_macro"
  (!type already_seen 1761)
  (!srcfileloc  "../libcpp/include/line-map.h" 641)
  nil )
 (!pair  "line_map_ordinary"
  (!type already_seen 1757)
  (!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 640
 (!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 1768 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 1769 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 1770 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 1771 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 1772 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 1773 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 193)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1774 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 1775 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 1776 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 1777 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 1778 nil  gc_used "4" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/class.c" 93)
  nil )
 (!pair  "java_builtins"
  (!type array 1779 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 1780 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 1781 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 1782 nil  gc_used "4" 
   (!type array 1783 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 1784 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 92)
  nil )
 (!pair  "gfc_character_types"
  (!type array 1785 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 91)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 1786 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 87)
  nil )
 (!pair  "gfc_real_types"
  (!type array 1787 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 86)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 1788 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 82)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 1789 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 1790 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 1791 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 1792 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 1793 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-io.c" 150)
  nil )
 (!pair  "st_parameter_field"
  (!type array 1794 nil  gc_used "" 
   (!type already_seen 740)
  )
  (!srcfileloc  "fortran/trans-io.c" 100)
  nil )
 (!pair  "st_parameter"
  (!type array 1795 nil  gc_used "" 
   (!type already_seen 739)
  )
  (!srcfileloc  "fortran/trans-io.c" 89)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 1796 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" 4505)
  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" 299)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "fortran/f95-lang.c" 295)
  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" 1930)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "cv_cache"
  (!type already_seen 419)
  (!srcfileloc  "cp/constexpr.c" 4331)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "fundef_copies_table"
  (!type already_seen 419)
  (!srcfileloc  "cp/constexpr.c" 980)
  nil )
 (!pair  "constexpr_call_table"
  (!type already_seen 749)
  (!srcfileloc  "cp/constexpr.c" 918)
  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 1271)
  (!srcfileloc  "cp/cp-objcp-common.c" 172)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 9342)
  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" 37796)
  nil )
 (!pair  "the_parser"
  (!type already_seen 786)
  (!srcfileloc  "cp/parser.c" 37103)
  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  "decl_constraints"
  (!type already_seen 816)
  (!srcfileloc  "cp/pt.c" 24342)
  nil )
 (!pair  "last_error_tinst_level"
  (!type already_seen 830)
  (!srcfileloc  "cp/pt.c" 9068)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 49)
  (!srcfileloc  "cp/pt.c" 115)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 825)
  (!srcfileloc  "cp/pt.c" 109)
  nil )
 (!pair  "decl_specializations"
  (!type already_seen 825)
  (!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 830)
  (!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 829)
  (!srcfileloc  "cp/pt.c" 57)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 829)
  (!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" 7181)
  nil )
 (!pair  "typename_htab"
  (!type already_seen 837)
  (!srcfileloc  "cp/decl.c" 3541)
  nil )
 (!pair  "incomplete_vars"
  (!type already_seen 842)
  (!srcfileloc  "cp/decl.c" 246)
  nil )
 (!pair  "java_iface_lookup_fn"
  (!type already_seen 5)
  (!srcfileloc  "cp/call.c" 7832)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 49)
  (!srcfileloc  "cp/call.c" 6905)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 49)
  (!srcfileloc  "cp/cp-tree.h" 6179)
  nil )
 (!pair  "assignment_operator_name_info"
  (!type array 1797 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 856)
  )
  (!srcfileloc  "cp/cp-tree.h" 5207)
  nil )
 (!pair  "operator_name_info"
  (!type array 1798 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 856)
  )
  (!srcfileloc  "cp/cp-tree.h" 5204)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4934)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4932)
  nil )
 (!pair  "local_classes"
  (!type already_seen 49)
  (!srcfileloc  "cp/cp-tree.h" 4828)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4771)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 868)
  (!srcfileloc  "cp/cp-tree.h" 1312)
  nil )
 (!pair  "cp_global_trees"
  (!type array 1799 nil  gc_used "CPTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/cp-tree.h" 1156)
  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" 4051)
  nil )
 (!pair  "conv_type_names"
  (!type already_seen 873)
  (!srcfileloc  "cp/mangle.c" 3883)
  nil )
 (!pair  "subst_identifiers"
  (!type array 1800 nil  gc_used "SUBID_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/mangle.c" 140)
  nil )
 (!pair  "G"
  (!type already_seen 875)
  (!srcfileloc  "cp/mangle.c" 111)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 877)
  (!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 882)
  (!srcfileloc  "c/c-parser.c" 263)
  nil )
 (!pair  "options_stack"
  (!type already_seen 891)
  (!srcfileloc  "c-family/c-pragma.c" 981)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 893)
  (!srcfileloc  "c-family/c-pragma.c" 470)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 896)
  (!srcfileloc  "c-family/c-pragma.c" 236)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 899)
  (!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" 1415)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 1801 nil  gc_used "12" 
   (!type already_seen 902)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1414)
  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 1802 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 910)
  (!srcfileloc  "c-family/c-common.c" 12231)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 912)
  (!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 1803 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 915)
  (!srcfileloc  "c-family/c-common.c" 4731)
  nil )
 (!pair  "ext_block"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 10796)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 922)
  (!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 1804 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5730)
  nil )
 (!pair  "builtin_types"
  (!type array 1805 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 935)
  (!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 939)
  (!srcfileloc  "ada/gcc-interface/utils.c" 208)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 939)
  (!srcfileloc  "ada/gcc-interface/utils.c" 205)
  nil )
 (!pair  "float_types"
  (!type array 1806 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 1807 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 1808 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 942)
  (!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 950)
  (!srcfileloc  "ada/gcc-interface/trans.c" 158)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 952)
  (!srcfileloc  "ada/gcc-interface/trans.c" 145)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 952)
  (!srcfileloc  "ada/gcc-interface/trans.c" 142)
  nil )
 (!pair  "annotate_value_cache"
  (!type already_seen 957)
  (!srcfileloc  "ada/gcc-interface/decl.c" 151)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 1809 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 1810 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 1811 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 1812 nil  gc_used "3" 
   (!type already_seen 5)
  )
  (!srcfileloc  "hsa.c" 740)
  nil )
 (!pair  "hsa_decl_kernel_mapping"
  (!type already_seen 971)
  (!srcfileloc  "hsa.c" 66)
  nil )
 (!pair  "internal_fn_fnspec_array"
  (!type array 1813 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "internal-fn.h" 118)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 983)
  (!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 1002)
  (!srcfileloc  "ubsan.c" 77)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "asan_ctor_statements"
  (!type already_seen 5)
  (!srcfileloc  "asan.c" 2485)
  nil )
 (!pair  "asan_detect_stack_use_after_return"
  (!type already_seen 5)
  (!srcfileloc  "asan.c" 321)
  nil )
 (!pair  "shadow_ptr_types"
  (!type array 1814 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 1020)
  (!srcfileloc  "ipa-inline.h" 194)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1105)
  (!srcfileloc  "trans-mem.c" 479)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipa_edge_args_vector"
  (!type already_seen 1110)
  (!srcfileloc  "ipa-prop.h" 550)
  nil )
 (!pair  "ipcp_transformations"
  (!type already_seen 1130)
  (!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 1815 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 1141)
  )
  (!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 1054)
  (!srcfileloc  "passes.c" 1660)
  (!options 
   (!option length string  "nnodes")
  )
 )
 (!pair  "arc_bdesc"
  (!type array 1816 nil  gc_used "ARC_BUILTIN_COUNT" 
   (!type already_seen 1162)
  )
  (!srcfileloc  "config/arc/arc.c" 5604)
  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" 14817)
  nil )
 (!pair  "grid_attr_trees"
  (!type already_seen 1178)
  (!srcfileloc  "omp-low.c" 12776)
  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 1191)
  (!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 1210)
  (!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 1247)
  (!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 1255)
  (!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 1387)
  (!srcfileloc  "varasm.c" 202)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 199)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1259)
  (!srcfileloc  "varasm.c" 196)
  nil )
 (!pair  "section_htab"
  (!type already_seen 1262)
  (!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 1817 nil  gc_used "MAX_BOOL_CACHED_PREC + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree.c" 8093)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 1818 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 1268)
  (!srcfileloc  "tree.c" 244)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1271)
  (!srcfileloc  "tree.c" 224)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1271)
  (!srcfileloc  "tree.c" 221)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 1274)
  (!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 1277)
  (!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 1280)
  (!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 1284)
  (!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 1307)
  (!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 1340)
  (!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" 4703)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1351)
  (!srcfileloc  "function.c" 576)
  nil )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1357)
  (!srcfileloc  "function.c" 125)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1357)
  (!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 1819 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 1820 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 1385)
  (!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 1365)
  (!srcfileloc  "emit-rtl.c" 175)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1368)
  (!srcfileloc  "emit-rtl.c" 166)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1371)
  (!srcfileloc  "emit-rtl.c" 157)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_wide_int_htab"
  (!type already_seen 1374)
  (!srcfileloc  "emit-rtl.c" 148)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1377)
  (!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 1379)
  (!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 1429)
  (!srcfileloc  "dwarf2out.c" 4352)
  nil )
 (!pair  "generic_type_instances"
  (!type already_seen 49)
  (!srcfileloc  "dwarf2out.c" 3120)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1436)
  (!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 1476)
  (!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 1478)
  (!srcfileloc  "dwarf2out.c" 3077)
  (!options 
   (!option length string  "ranges_table_allocated")
  )
 )
 (!pair  "macinfo_table"
  (!type already_seen 1439)
  (!srcfileloc  "dwarf2out.c" 3067)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1442)
  (!srcfileloc  "dwarf2out.c" 3063)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1442)
  (!srcfileloc  "dwarf2out.c" 3059)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1445)
  (!srcfileloc  "dwarf2out.c" 3051)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1446)
  (!srcfileloc  "dwarf2out.c" 3048)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1446)
  (!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 1452)
  (!srcfileloc  "dwarf2out.c" 3014)
  nil )
 (!pair  "call_arg_locations"
  (!type already_seen 1459)
  (!srcfileloc  "dwarf2out.c" 2986)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1456)
  (!srcfileloc  "dwarf2out.c" 2983)
  nil )
 (!pair  "common_block_die_table"
  (!type already_seen 1464)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "decl_die_table"
  (!type already_seen 1467)
  (!srcfileloc  "dwarf2out.c" 2908)
  nil )
 (!pair  "file_table"
  (!type already_seen 1470)
  (!srcfileloc  "dwarf2out.c" 2897)
  nil )
 (!pair  "deferred_asm_name"
  (!type already_seen 1474)
  (!srcfileloc  "dwarf2out.c" 2886)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1474)
  (!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 1481)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "debug_str_hash"
  (!type already_seen 1481)
  (!srcfileloc  "dwarf2out.c" 224)
  nil )
 (!pair  "fde_vec"
  (!type already_seen 1484)
  (!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 1491)
  (!srcfileloc  "dwarf2cfi.c" 183)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1493)
  (!srcfileloc  "dwarf2cfi.c" 181)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2asm.c" 795)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1496)
  (!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 1501)
  (!srcfileloc  "dbxout.c" 178)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1580)
  (!srcfileloc  "cgraph.c" 134)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1527)
  (!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 1534)
  (!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 1558)
  (!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 1592)
  (!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 1821 nil  gc_used "(int)END_BUILTINS" 
   (!type already_seen 1603)
  )
  (!srcfileloc  "tree-core.h" 2004)
  nil )
 (!pair  "sizetype_tab"
  (!type array 1822 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1992)
  nil )
 (!pair  "integer_types"
  (!type array 1823 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1989)
  nil )
 (!pair  "global_trees"
  (!type array 1824 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 1601)
  (!srcfileloc  "tree-core.h" 1969)
  nil )
 (!pair  "int_n_trees"
  (!type array 1825 nil  gc_used "NUM_INT_N_ENTS" 
   (!type already_seen 1615)
  )
  (!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 1826 nil  gc_used "4" 
   (!type array 1827 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 1828 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 1829 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 5)
  )
  (!srcfileloc  "coverage.c" 92)
  nil )
 (!pair  "functions_head"
  (!type already_seen 1636)
  (!srcfileloc  "coverage.c" 83)
  nil )
 (!pair  "line_table"
  (!type already_seen 1754)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
