;;;;@@@@ 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  "10.2.0")
(!srcdir  "/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc")
(!languages 11 ada brig c cp d fortran go jit lto objc objcp)
(!fileslist 226
 (!srcfile 2047  "../libcpp/include/line-map.h")
 (!srcfile 2047  "../libcpp/include/cpplib.h")
 (!srcfile 2047  "input.h")
 (!srcfile 2047  "coretypes.h")
 (!file 2047  "auto-host.h")
 (!srcfile 2047  "../include/ansidecl.h")
 (!file 2047  "options.h")
 (!srcfile 2047  "config/vxworks-dummy.h")
 (!srcfile 2047  "config/i386/biarch64.h")
 (!srcfile 2047  "config/i386/i386.h")
 (!srcfile 2047  "config/i386/unix.h")
 (!srcfile 2047  "config/i386/att.h")
 (!srcfile 2047  "config/dbxelf.h")
 (!srcfile 2047  "config/elfos.h")
 (!srcfile 2047  "config/gnu-user.h")
 (!srcfile 2047  "config/glibc-stdint.h")
 (!srcfile 2047  "config/i386/x86-64.h")
 (!srcfile 2047  "config/i386/gnu-user-common.h")
 (!srcfile 2047  "config/i386/gnu-user64.h")
 (!srcfile 2047  "config/linux.h")
 (!srcfile 2047  "config/linux-android.h")
 (!srcfile 2047  "config/i386/linux-common.h")
 (!srcfile 2047  "config/i386/linux64.h")
 (!srcfile 2047  "config/initfini-array.h")
 (!srcfile 2047  "defaults.h")
 (!srcfile 2047  "../include/hashtab.h")
 (!srcfile 2047  "../include/splay-tree.h")
 (!srcfile 2047  "bitmap.h")
 (!srcfile 2047  "wide-int.h")
 (!srcfile 2047  "alias.h")
 (!srcfile 2047  "coverage.c")
 (!srcfile 2047  "rtl.h")
 (!srcfile 2047  "optabs.h")
 (!srcfile 2047  "tree.h")
 (!srcfile 2047  "tree-core.h")
 (!srcfile 2047  "libfuncs.h")
 (!srcfile 2047  "../libcpp/include/symtab.h")
 (!srcfile 2047  "../include/obstack.h")
 (!srcfile 2047  "real.h")
 (!srcfile 2047  "function.h")
 (!srcfile 2047  "insn-addr.h")
 (!srcfile 2047  "hwint.h")
 (!srcfile 2047  "fixed-value.h")
 (!srcfile 2047  "function-abi.h")
 (!srcfile 2047  "output.h")
 (!srcfile 2047  "cfgloop.h")
 (!srcfile 2047  "cfg.h")
 (!srcfile 2047  "profile-count.h")
 (!srcfile 2047  "cselib.h")
 (!srcfile 2047  "basic-block.h")
 (!srcfile 2047  "ipa-ref.h")
 (!srcfile 2047  "cgraph.h")
 (!srcfile 2047  "reload.h")
 (!srcfile 2047  "caller-save.c")
 (!srcfile 2047  "symtab.c")
 (!srcfile 2047  "alias.c")
 (!srcfile 2047  "bitmap.c")
 (!srcfile 2047  "cselib.c")
 (!srcfile 2047  "cgraph.c")
 (!srcfile 2047  "ipa-prop.c")
 (!srcfile 2047  "ipa-cp.c")
 (!srcfile 2047  "ipa-utils.h")
 (!srcfile 2047  "ipa-param-manipulation.h")
 (!srcfile 2047  "ipa-sra.c")
 (!srcfile 2047  "dbxout.c")
 (!srcfile 2047  "signop.h")
 (!srcfile 2047  "dwarf2out.h")
 (!srcfile 2047  "dwarf2asm.c")
 (!srcfile 2047  "dwarf2cfi.c")
 (!srcfile 2047  "dwarf2out.c")
 (!srcfile 2047  "tree-vect-generic.c")
 (!srcfile 2047  "dojump.c")
 (!srcfile 2047  "emit-rtl.h")
 (!srcfile 2047  "emit-rtl.c")
 (!srcfile 2047  "except.h")
 (!srcfile 2047  "explow.c")
 (!srcfile 2047  "expr.c")
 (!srcfile 2047  "expr.h")
 (!srcfile 2047  "function.c")
 (!srcfile 2047  "except.c")
 (!srcfile 2047  "ggc-tests.c")
 (!srcfile 2047  "gcse.c")
 (!srcfile 2047  "godump.c")
 (!srcfile 2047  "lists.c")
 (!srcfile 2047  "optabs-libfuncs.c")
 (!srcfile 2047  "profile.c")
 (!srcfile 2047  "mcf.c")
 (!srcfile 2047  "reg-stack.c")
 (!srcfile 2047  "cfgrtl.c")
 (!srcfile 2047  "stor-layout.c")
 (!srcfile 2047  "stringpool.c")
 (!srcfile 2047  "tree.c")
 (!srcfile 2047  "varasm.c")
 (!srcfile 2047  "gimple.h")
 (!srcfile 2047  "gimple-ssa.h")
 (!srcfile 2047  "tree-ssanames.c")
 (!srcfile 2047  "tree-eh.c")
 (!srcfile 2047  "tree-ssa-address.c")
 (!srcfile 2047  "tree-cfg.c")
 (!srcfile 2047  "tree-ssa-loop-ivopts.c")
 (!srcfile 2047  "tree-dfa.c")
 (!srcfile 2047  "tree-iterator.c")
 (!srcfile 2047  "gimple-expr.c")
 (!srcfile 2047  "tree-chrec.h")
 (!srcfile 2047  "tree-scalar-evolution.c")
 (!srcfile 2047  "tree-ssa-operands.h")
 (!srcfile 2047  "tree-profile.c")
 (!srcfile 2047  "tree-nested.c")
 (!srcfile 2047  "omp-offload.h")
 (!srcfile 2047  "omp-offload.c")
 (!srcfile 2047  "omp-expand.c")
 (!srcfile 2047  "omp-low.c")
 (!srcfile 2047  "targhooks.c")
 (!srcfile 2047  "config/i386/i386.c")
 (!srcfile 2047  "passes.c")
 (!srcfile 2047  "cgraphunit.c")
 (!srcfile 2047  "cgraphclones.c")
 (!srcfile 2047  "tree-phinodes.c")
 (!srcfile 2047  "tree-ssa-alias.h")
 (!srcfile 2047  "tree-ssanames.h")
 (!srcfile 2047  "tree-vrp.h")
 (!srcfile 2047  "ipa-prop.h")
 (!srcfile 2047  "trans-mem.c")
 (!srcfile 2047  "lto-streamer.h")
 (!srcfile 2047  "target-globals.h")
 (!srcfile 2047  "ipa-predicate.h")
 (!srcfile 2047  "ipa-fnsummary.h")
 (!srcfile 2047  "value-range.h")
 (!srcfile 2047  "vtable-verify.c")
 (!srcfile 2047  "asan.c")
 (!srcfile 2047  "ubsan.c")
 (!srcfile 2047  "tsan.c")
 (!srcfile 2047  "sanopt.c")
 (!srcfile 2047  "sancov.c")
 (!srcfile 2047  "ipa-devirt.c")
 (!srcfile 2047  "internal-fn.h")
 (!srcfile 2047  "hsa-common.c")
 (!srcfile 2047  "calls.c")
 (!srcfile 2047  "omp-general.h")
 (!srcfile 2047  "config/i386/i386-builtins.c")
 (!srcfile 2047  "config/i386/i386-expand.c")
 (!srcfile 2047  "config/i386/i386-options.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  "brig/brig-lang.c")
 (!srcfile 2  "brig/brig-c.h")
 (!srcfile 4  "c/c-lang.c")
 (!srcfile 516  "c/c-tree.h")
 (!srcfile 516  "c/c-decl.c")
 (!srcfile 1548  "c-family/c-common.c")
 (!srcfile 1548  "c-family/c-common.h")
 (!srcfile 1548  "c-family/c-objc.h")
 (!srcfile 1548  "c-family/c-cppbuiltin.c")
 (!srcfile 1548  "c-family/c-pragma.h")
 (!srcfile 1548  "c-family/c-pragma.c")
 (!srcfile 1548  "c-family/c-format.c")
 (!srcfile 516  "c/c-objc-common.c")
 (!srcfile 516  "c/c-parser.h")
 (!srcfile 516  "c/c-parser.c")
 (!srcfile 516  "c/c-lang.h")
 (!srcfile 1032  "cp/name-lookup.h")
 (!srcfile 1032  "cp/cp-tree.h")
 (!srcfile 1032  "cp/decl.h")
 (!srcfile 1032  "cp/parser.h")
 (!srcfile 1032  "cp/call.c")
 (!srcfile 1032  "cp/class.c")
 (!srcfile 1032  "cp/constexpr.c")
 (!srcfile 1032  "cp/constraint.cc")
 (!srcfile 1032  "cp/coroutines.cc")
 (!srcfile 1032  "cp/cp-gimplify.c")
 (!srcfile 8  "cp/cp-lang.c")
 (!srcfile 1032  "cp/cp-objcp-common.c")
 (!srcfile 1032  "cp/decl.c")
 (!srcfile 1032  "cp/decl2.c")
 (!srcfile 1032  "cp/except.c")
 (!srcfile 1032  "cp/friend.c")
 (!srcfile 1032  "cp/init.c")
 (!srcfile 1032  "cp/lambda.c")
 (!srcfile 1032  "cp/lex.c")
 (!srcfile 1032  "cp/logic.cc")
 (!srcfile 1032  "cp/mangle.c")
 (!srcfile 1032  "cp/method.c")
 (!srcfile 1032  "cp/name-lookup.c")
 (!srcfile 1032  "cp/parser.c")
 (!srcfile 1032  "cp/pt.c")
 (!srcfile 1032  "cp/rtti.c")
 (!srcfile 1032  "cp/semantics.c")
 (!srcfile 1032  "cp/tree.c")
 (!srcfile 1032  "cp/typeck2.c")
 (!srcfile 1032  "cp/vtable-class-hierarchy.c")
 (!srcfile 16  "d/d-tree.h")
 (!srcfile 16  "d/d-builtins.cc")
 (!srcfile 16  "d/d-lang.cc")
 (!srcfile 16  "d/modules.cc")
 (!srcfile 16  "d/typeinfo.cc")
 (!srcfile 32  "fortran/f95-lang.c")
 (!srcfile 32  "fortran/trans-decl.c")
 (!srcfile 32  "fortran/trans-intrinsic.c")
 (!srcfile 32  "fortran/trans-io.c")
 (!srcfile 32  "fortran/trans-stmt.c")
 (!srcfile 32  "fortran/trans-types.c")
 (!srcfile 32  "fortran/trans-types.h")
 (!srcfile 32  "fortran/trans.h")
 (!srcfile 32  "fortran/trans-const.h")
 (!srcfile 64  "go/go-lang.c")
 (!srcfile 64  "go/go-c.h")
 (!srcfile 128  "jit/dummy-frontend.c")
 (!srcfile 256  "lto/lto-tree.h")
 (!srcfile 256  "lto/lto-lang.c")
 (!srcfile 256  "lto/lto.c")
 (!srcfile 256  "lto/lto.h")
 (!srcfile 256  "lto/lto-common.h")
 (!srcfile 256  "lto/lto-common.c")
 (!srcfile 256  "lto/lto-dump.c")
 (!srcfile 1536  "objc/objc-map.h")
 (!srcfile 1536  "objc/objc-act.h")
 (!srcfile 1536  "objc/objc-act.c")
 (!srcfile 1536  "objc/objc-runtime-shared-support.c")
 (!srcfile 1536  "objc/objc-gnu-runtime-abi-01.c")
 (!srcfile 1536  "objc/objc-next-runtime-abi-01.c")
 (!srcfile 1536  "objc/objc-next-runtime-abi-02.c")
 (!srcfile 1024  "objcp/objcp-lang.c")
)
(!structures 1618
 
 (!type struct 1 nil  gc_used "source_range"
  (!srcfileloc  "../libcpp/include/line-map.h" 749)
  (!fields 2 
   (!pair  "m_start"
    (!type scalar_nonchar 2 
     (!type pointer 3 
      (!type pointer 4 nil  gc_unused
       (!type already_seen 3)
      )
      gc_used
      (!type already_seen 2)
     )
     gc_pointed_to)
    (!srcfileloc  "../libcpp/include/line-map.h" 321)
    nil )
   (!pair  "m_finish"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 322)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 5 nil  gc_used "line_map"
  (!srcfileloc  "../libcpp/include/line-map.h" 388)
  (!fields 1 
   (!pair  "start_location"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 385)
    nil )
  )
  (!options 
   (!option desc string  "MAP_ORDINARY_P (&%h) ? 1 : 2")
   (!option tag string  "0")
  )
  2047 nil nil )
 
 (!type struct 6 
  (!type pointer 7 nil  gc_unused
   (!type already_seen 6)
  )
  gc_used "line_map_ordinary"
  (!srcfileloc  "../libcpp/include/line-map.h" 718)
  (!fields 7 
   (!pair  "reason"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 408)
    nil )
   (!pair  "sysp"
    (!type scalar_char 8 
     (!type pointer 9 
      (!type pointer 10 nil  gc_unused
       (!type already_seen 9)
      )
      gc_unused
      (!type already_seen 8)
     )
     gc_used)
    (!srcfileloc  "../libcpp/include/line-map.h" 414)
    nil )
   (!pair  "m_column_and_range_bits"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 418)
    nil )
   (!pair  "m_range_bits"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 433)
    nil )
   (!pair  "to_file"
    (!type string 11 nil  gc_used)
    (!srcfileloc  "../libcpp/include/line-map.h" 437)
    nil )
   (!pair  "to_line"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 438)
    nil )
   (!pair  "included_from"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 443)
    nil )
  )
  (!options 
   (!option tag string  "1")
  )
  2047 nil 
  (!type already_seen 5)
 )
 
 (!type struct 12 
  (!type pointer 13 
   (!type pointer 14 nil  gc_unused
    (!type already_seen 13)
   )
   gc_unused
   (!type already_seen 12)
  )
  gc_used "cpp_hashnode"
  (!srcfileloc  "../libcpp/include/cpplib.h" 901)
  (!fields 7 
   (!pair  "ident"
    (!type struct 15 
     (!type pointer 16 
      (!type pointer 17 nil  gc_unused
       (!type already_seen 16)
      )
      gc_unused
      (!type already_seen 15)
     )
     gc_used "ht_identifier"
     (!srcfileloc  "../libcpp/include/symtab.h" 35)
     (!fields 3 
      (!pair  "str"
       (!type already_seen 11)
       (!srcfileloc  "../libcpp/include/symtab.h" 32)
       nil )
      (!pair  "len"
       (!type already_seen 2)
       (!srcfileloc  "../libcpp/include/symtab.h" 33)
       nil )
      (!pair  "hash_value"
       (!type already_seen 2)
       (!srcfileloc  "../libcpp/include/symtab.h" 34)
       nil )
     )
     nil 2047 nil nil )
    (!srcfileloc  "../libcpp/include/cpplib.h" 889)
    nil )
   (!pair  "is_directive"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/cpplib.h" 890)
    nil )
   (!pair  "directive_index"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/cpplib.h" 891)
    nil )
   (!pair  "rid_code"
    (!type already_seen 8)
    (!srcfileloc  "../libcpp/include/cpplib.h" 894)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/cpplib.h" 895)
    nil )
   (!pair  "flags"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/cpplib.h" 896)
    nil )
   (!pair  "value"
    (!type union 18 nil  gc_used "_cpp_hashnode_value"
     (!srcfileloc  "../libcpp/include/cpplib.h" 886)
     (!fields 4 
      (!pair  "answers"
       (!type pointer 19 nil  gc_used
        (!type struct 20 
         (!type already_seen 19)
         gc_pointed_to "cpp_macro"
         (!srcfileloc  "../libcpp/include/cpplib.h" 819)
         (!fields 12 
          (!pair  "parm"
           (!type union 21 nil  gc_used "cpp_parm_u"
            (!srcfileloc  "../libcpp/include/cpplib.h" 772)
            (!fields 2 
             (!pair  "params"
              (!type already_seen 14)
              (!srcfileloc  "../libcpp/include/cpplib.h" 768)
              (!options 
               (!option length string  "%1.paramc")
               (!option nested_ptr nested 
                (!type union 22 
                 (!type pointer 23 
                  (!type pointer 24 nil  gc_used
                   (!type already_seen 23)
                  )
                  gc_pointed_to
                  (!type already_seen 22)
                 )
                 gc_pointed_to "tree_node"
                 (!srcfileloc  "tree-core.h" 2014)
                 (!fields 39 
                  (!pair  "base"
                   (!type struct 25 nil  gc_used "tree_base"
                    (!srcfileloc  "tree-core.h" 1074)
                    (!fields 18 
                     (!pair  "code"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 966)
                      nil )
                     (!pair  "side_effects_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 968)
                      nil )
                     (!pair  "constant_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 969)
                      nil )
                     (!pair  "addressable_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 970)
                      nil )
                     (!pair  "volatile_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 971)
                      nil )
                     (!pair  "readonly_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 972)
                      nil )
                     (!pair  "asm_written_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 973)
                      nil )
                     (!pair  "nowarning_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 974)
                      nil )
                     (!pair  "visited"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 975)
                      nil )
                     (!pair  "used_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 977)
                      nil )
                     (!pair  "nothrow_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 978)
                      nil )
                     (!pair  "static_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 979)
                      nil )
                     (!pair  "public_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 980)
                      nil )
                     (!pair  "private_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 981)
                      nil )
                     (!pair  "protected_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 982)
                      nil )
                     (!pair  "deprecated_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 983)
                      nil )
                     (!pair  "default_def_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 984)
                      nil )
                     (!pair  "u"
                      (!type union 26 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:986"
                       (!srcfileloc  "tree-core.h" 1073)
                       (!fields 9 
                        (!pair  "bits"
                         (!type struct 27 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:989"
                          (!srcfileloc  "tree-core.h" 1012)
                          (!fields 16 
                           (!pair  "lang_flag_0"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 990)
                            nil )
                           (!pair  "lang_flag_1"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 991)
                            nil )
                           (!pair  "lang_flag_2"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 992)
                            nil )
                           (!pair  "lang_flag_3"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 993)
                            nil )
                           (!pair  "lang_flag_4"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 994)
                            nil )
                           (!pair  "lang_flag_5"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 995)
                            nil )
                           (!pair  "lang_flag_6"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 996)
                            nil )
                           (!pair  "saturating_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 997)
                            nil )
                           (!pair  "unsigned_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 999)
                            nil )
                           (!pair  "packed_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1000)
                            nil )
                           (!pair  "user_align"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1001)
                            nil )
                           (!pair  "nameless_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1002)
                            nil )
                           (!pair  "atomic_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1003)
                            nil )
                           (!pair  "spare0"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1004)
                            nil )
                           (!pair  "spare1"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1006)
                            nil )
                           (!pair  "address_space"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1011)
                            nil )
                          )
                          nil 2047 nil nil )
                         (!srcfileloc  "tree-core.h" 1012)
                         nil )
                        (!pair  "int_length"
                         (!type struct 28 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:1019"
                          (!srcfileloc  "tree-core.h" 1033)
                          (!fields 3 
                           (!pair  "unextended"
                            (!type already_seen 8)
                            (!srcfileloc  "tree-core.h" 1022)
                            nil )
                           (!pair  "extended"
                            (!type already_seen 8)
                            (!srcfileloc  "tree-core.h" 1026)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 8)
                            (!srcfileloc  "tree-core.h" 1032)
                            nil )
                          )
                          nil 2047 nil nil )
                         (!srcfileloc  "tree-core.h" 1033)
                         nil )
                        (!pair  "length"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1036)
                         nil )
                        (!pair  "vector_cst"
                         (!type struct 29 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:1039"
                          (!srcfileloc  "tree-core.h" 1048)
                          (!fields 3 
                           (!pair  "log2_npatterns"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1041)
                            nil )
                           (!pair  "nelts_per_pattern"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1044)
                            nil )
                           (!pair  "unused"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1047)
                            nil )
                          )
                          nil 2047 nil nil )
                         (!srcfileloc  "tree-core.h" 1048)
                         nil )
                        (!pair  "version"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1051)
                         nil )
                        (!pair  "chrec_var"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1054)
                         nil )
                        (!pair  "ifn"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1057)
                         nil )
                        (!pair  "omp_atomic_memory_order"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1060)
                         nil )
                        (!pair  "dependence_info"
                         (!type struct 30 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:1069"
                          (!srcfileloc  "tree-core.h" 1072)
                          (!fields 2 
                           (!pair  "clique"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1070)
                            nil )
                           (!pair  "base"
                            (!type already_seen 2)
                            (!srcfileloc  "tree-core.h" 1071)
                            nil )
                          )
                          nil 2047 nil nil )
                         (!srcfileloc  "tree-core.h" 1072)
                         nil )
                       )
                       nil 2047 nil )
                      (!srcfileloc  "tree-core.h" 1073)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1971)
                   (!options 
                    (!option tag string  "TS_BASE")
                   )
                  )
                  (!pair  "typed"
                   (!type struct 31 nil  gc_used "tree_typed"
                    (!srcfileloc  "tree-core.h" 1377)
                    (!fields 2 
                     (!pair  "base"
                      (!type already_seen 25)
                      (!srcfileloc  "tree-core.h" 1375)
                      nil )
                     (!pair  "type"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1376)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1972)
                   (!options 
                    (!option tag string  "TS_TYPED")
                   )
                  )
                  (!pair  "common"
                   (!type struct 32 nil  gc_used "tree_common"
                    (!srcfileloc  "tree-core.h" 1382)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1380)
                      nil )
                     (!pair  "chain"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1381)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1973)
                   (!options 
                    (!option tag string  "TS_COMMON")
                   )
                  )
                  (!pair  "int_cst"
                   (!type struct 33 nil  gc_used "tree_int_cst"
                    (!srcfileloc  "tree-core.h" 1387)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1385)
                      nil )
                     (!pair  "val"
                      (!type array 34 nil  gc_used "1" 
                       (!type already_seen 2)
                      )
                      (!srcfileloc  "tree-core.h" 1386)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1974)
                   (!options 
                    (!option tag string  "TS_INT_CST")
                   )
                  )
                  (!pair  "poly_int_cst"
                   (!type struct 35 nil  gc_used "tree_poly_int_cst"
                    (!srcfileloc  "tree-core.h" 1420)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1418)
                      nil )
                     (!pair  "coeffs"
                      (!type array 36 nil  gc_used "NUM_POLY_INT_COEFFS" 
                       (!type already_seen 23)
                      )
                      (!srcfileloc  "tree-core.h" 1419)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1975)
                   (!options 
                    (!option tag string  "TS_POLY_INT_CST")
                   )
                  )
                  (!pair  "real_cst"
                   (!type struct 37 nil  gc_used "tree_real_cst"
                    (!srcfileloc  "tree-core.h" 1393)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1391)
                      nil )
                     (!pair  "real_cst_ptr"
                      (!type pointer 38 nil  gc_used
                       (!type struct 39 
                        (!type already_seen 38)
                        gc_pointed_to "real_value"
                        (!srcfileloc  "real.h" 57)
                        (!fields 7 
                         (!pair  "cl"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 43)
                          nil )
                         (!pair  "decimal"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 45)
                          nil )
                         (!pair  "sign"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 47)
                          nil )
                         (!pair  "signalling"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 49)
                          nil )
                         (!pair  "canonical"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 52)
                          nil )
                         (!pair  "uexp"
                          (!type already_seen 2)
                          (!srcfileloc  "real.h" 54)
                          nil )
                         (!pair  "sig"
                          (!type array 40 nil  gc_used "SIGSZ" 
                           (!type already_seen 2)
                          )
                          (!srcfileloc  "real.h" 56)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1392)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1976)
                   (!options 
                    (!option tag string  "TS_REAL_CST")
                   )
                  )
                  (!pair  "fixed_cst"
                   (!type struct 41 nil  gc_used "tree_fixed_cst"
                    (!srcfileloc  "tree-core.h" 1398)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1396)
                      nil )
                     (!pair  "fixed_cst_ptr"
                      (!type pointer 42 nil  gc_used
                       (!type struct 43 
                        (!type already_seen 42)
                        gc_pointed_to "fixed_value"
                        (!srcfileloc  "fixed-value.h" 27)
                        (!fields 2 
                         (!pair  "data"
                          (!type already_seen 2)
                          (!srcfileloc  "fixed-value.h" 25)
                          nil )
                         (!pair  "mode"
                          (!type user_struct 44 nil  gc_used "pod_mode<scalar_mode>"
                           (!srcfileloc  "coretypes.h" 69)
                           (!fields 1 
                            (!pair  "scalar_mode"
                             (!type struct 45 nil  gc_used "scalar_mode"
                              (!srcfileloc  "coretypes.h" 65)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "coretypes.h" 69)
                             nil )
                           )
                          )
                          (!srcfileloc  "fixed-value.h" 26)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1397)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1977)
                   (!options 
                    (!option tag string  "TS_FIXED_CST")
                   )
                  )
                  (!pair  "vector"
                   (!type struct 46 nil  gc_used "tree_vector"
                    (!srcfileloc  "tree-core.h" 1415)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1413)
                      nil )
                     (!pair  "elts"
                      (!type array 47 nil  gc_used "1" 
                       (!type already_seen 23)
                      )
                      (!srcfileloc  "tree-core.h" 1414)
                      (!options 
                       (!option length string  "vector_cst_encoded_nelts ((tree) &%h)")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1978)
                   (!options 
                    (!option tag string  "TS_VECTOR")
                   )
                  )
                  (!pair  "string"
                   (!type struct 48 nil  gc_used "tree_string"
                    (!srcfileloc  "tree-core.h" 1404)
                    (!fields 3 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1401)
                      nil )
                     (!pair  "length"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1402)
                      nil )
                     (!pair  "str"
                      (!type array 49 nil  gc_used "1" 
                       (!type already_seen 8)
                      )
                      (!srcfileloc  "tree-core.h" 1403)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1979)
                   (!options 
                    (!option tag string  "TS_STRING")
                   )
                  )
                  (!pair  "complex"
                   (!type struct 50 nil  gc_used "tree_complex"
                    (!srcfileloc  "tree-core.h" 1410)
                    (!fields 3 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1407)
                      nil )
                     (!pair  "real"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1408)
                      nil )
                     (!pair  "imag"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1409)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1980)
                   (!options 
                    (!option tag string  "TS_COMPLEX")
                   )
                  )
                  (!pair  "identifier"
                   (!type struct 51 nil  gc_used "tree_identifier"
                    (!srcfileloc  "tree-core.h" 1425)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1423)
                      nil )
                     (!pair  "id"
                      (!type already_seen 15)
                      (!srcfileloc  "tree-core.h" 1424)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1981)
                   (!options 
                    (!option tag string  "TS_IDENTIFIER")
                   )
                  )
                  (!pair  "decl_minimal"
                   (!type struct 52 nil  gc_used "tree_decl_minimal"
                    (!srcfileloc  "tree-core.h" 1685)
                    (!fields 5 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1680)
                      nil )
                     (!pair  "locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1681)
                      nil )
                     (!pair  "uid"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1682)
                      nil )
                     (!pair  "name"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1683)
                      nil )
                     (!pair  "context"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1684)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1982)
                   (!options 
                    (!option tag string  "TS_DECL_MINIMAL")
                   )
                  )
                  (!pair  "decl_common"
                   (!type struct 53 nil  gc_used "tree_decl_common"
                    (!srcfileloc  "tree-core.h" 1758)
                    (!fields 36 
                     (!pair  "common"
                      (!type already_seen 52)
                      (!srcfileloc  "tree-core.h" 1688)
                      nil )
                     (!pair  "size"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1689)
                      nil )
                     (!pair  "mode"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1691)
                      nil )
                     (!pair  "nonlocal_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1693)
                      nil )
                     (!pair  "virtual_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1694)
                      nil )
                     (!pair  "ignored_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1695)
                      nil )
                     (!pair  "abstract_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1696)
                      nil )
                     (!pair  "artificial_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1697)
                      nil )
                     (!pair  "preserve_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1698)
                      nil )
                     (!pair  "debug_expr_is_from"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1699)
                      nil )
                     (!pair  "lang_flag_0"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1701)
                      nil )
                     (!pair  "lang_flag_1"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1702)
                      nil )
                     (!pair  "lang_flag_2"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1703)
                      nil )
                     (!pair  "lang_flag_3"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1704)
                      nil )
                     (!pair  "lang_flag_4"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1705)
                      nil )
                     (!pair  "lang_flag_5"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1706)
                      nil )
                     (!pair  "lang_flag_6"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1707)
                      nil )
                     (!pair  "lang_flag_7"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1708)
                      nil )
                     (!pair  "lang_flag_8"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1709)
                      nil )
                     (!pair  "decl_flag_0"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1714)
                      nil )
                     (!pair  "decl_flag_1"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1718)
                      nil )
                     (!pair  "decl_flag_2"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1722)
                      nil )
                     (!pair  "decl_flag_3"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1724)
                      nil )
                     (!pair  "gimple_reg_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1727)
                      nil )
                     (!pair  "decl_by_reference_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1729)
                      nil )
                     (!pair  "decl_read_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1731)
                      nil )
                     (!pair  "decl_nonshareable_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1734)
                      nil )
                     (!pair  "off_align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1737)
                      nil )
                     (!pair  "align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1740)
                      nil )
                     (!pair  "warn_if_not_align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1744)
                      nil )
                     (!pair  "pt_uid"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1749)
                      nil )
                     (!pair  "size_unit"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1751)
                      nil )
                     (!pair  "initial"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1752)
                      nil )
                     (!pair  "attributes"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1753)
                      nil )
                     (!pair  "abstract_origin"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1754)
                      nil )
                     (!pair  "lang_specific"
                      (!type pointer 54 nil  gc_used
                       (!type lang_struct 55 
                        (!type already_seen 54)
                        gc_pointed_to "lang_decl"
                        (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                        (!fields 0 )
                        nil 2047 
                        (!homotypes 9
                         (!type struct 56 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "lto/lto-tree.h" 32)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 2)
                            (!srcfileloc  "lto/lto-tree.h" 31)
                            nil )
                          )
                          nil 256 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 57 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "jit/dummy-frontend.c" 45)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "jit/dummy-frontend.c" 44)
                            nil )
                          )
                          (!options 
                           (!option variable_size string  "")
                          )
                          128 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 58 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "go/go-lang.c" 58)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "go/go-lang.c" 57)
                            nil )
                          )
                          nil 64 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 59 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "fortran/trans.h" 1016)
                          (!fields 8 
                           (!pair  "saved_descriptor"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1004)
                            nil )
                           (!pair  "stringlen"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1009)
                            nil )
                           (!pair  "addr"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1010)
                            nil )
                           (!pair  "token"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1012)
                            nil )
                           (!pair  "caf_offset"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 1012)
                            nil )
                           (!pair  "scalar_allocatable"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 1013)
                            nil )
                           (!pair  "scalar_pointer"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 1014)
                            nil )
                           (!pair  "optional_arg"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 1015)
                            nil )
                          )
                          nil 32 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 60 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "d/d-tree.h" 270)
                          (!fields 7 
                           (!pair  "decl"
                            (!type pointer 61 nil  gc_unused
                             (!type struct 62 
                              (!type already_seen 61)
                              gc_unused "Declaration"
                              (!srcfileloc  "d/d-tree.h" 205)
                              (!fields 0 )
                              nil 16 nil nil )
                            )
                            (!srcfileloc  "d/d-tree.h" 251)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "frame_field"
                            (!type already_seen 23)
                            (!srcfileloc  "d/d-tree.h" 254)
                            nil )
                           (!pair  "named_result"
                            (!type already_seen 23)
                            (!srcfileloc  "d/d-tree.h" 257)
                            nil )
                           (!pair  "thunks"
                            (!type already_seen 23)
                            (!srcfileloc  "d/d-tree.h" 260)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 2)
                            (!srcfileloc  "d/d-tree.h" 263)
                            nil )
                           (!pair  "intrinsic"
                            (!type already_seen 2)
                            (!srcfileloc  "d/d-tree.h" 266)
                            nil )
                           (!pair  "frame_info"
                            (!type already_seen 23)
                            (!srcfileloc  "d/d-tree.h" 269)
                            nil )
                          )
                          nil 16 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 63 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "cp/cp-tree.h" 2811)
                          (!fields 1 
                           (!pair  "u"
                            (!type union 64 nil  gc_used "lang_decl_u"
                             (!srcfileloc  "cp/cp-tree.h" 2810)
                             (!fields 6 
                              (!pair  "base"
                               (!type struct 65 nil  gc_used "lang_decl_base"
                                (!srcfileloc  "cp/cp-tree.h" 2670)
                                (!fields 14 
                                 (!pair  "selector"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2654)
                                  nil )
                                 (!pair  "language"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2655)
                                  nil )
                                 (!pair  "use_template"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2656)
                                  nil )
                                 (!pair  "not_really_extern"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2657)
                                  nil )
                                 (!pair  "initialized_in_class"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2658)
                                  nil )
                                 (!pair  "threadprivate_or_deleted_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2659)
                                  nil )
                                 (!pair  "anticipated_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2660)
                                  nil )
                                 (!pair  "friend_or_tls"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2662)
                                  nil )
                                 (!pair  "unknown_bound_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2663)
                                  nil )
                                 (!pair  "odr_used"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2664)
                                  nil )
                                 (!pair  "spare"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2665)
                                  nil )
                                 (!pair  "concept_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2666)
                                  nil )
                                 (!pair  "var_declared_inline_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2667)
                                  nil )
                                 (!pair  "dependent_init_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2668)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2804)
                               (!options 
                                (!option default string  "")
                               )
                              )
                              (!pair  "min"
                               (!type struct 66 nil  gc_used "lang_decl_min"
                                (!srcfileloc  "cp/cp-tree.h" 2700)
                                (!fields 3 
                                 (!pair  "base"
                                  (!type already_seen 65)
                                  (!srcfileloc  "cp/cp-tree.h" 2685)
                                  nil )
                                 (!pair  "template_info"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2692)
                                  nil )
                                 (!pair  "access"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2699)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2805)
                               (!options 
                                (!option tag string  "lds_min")
                               )
                              )
                              (!pair  "fn"
                               (!type struct 67 nil  gc_used "lang_decl_fn"
                                (!srcfileloc  "cp/cp-tree.h" 2763)
                                (!fields 24 
                                 (!pair  "min"
                                  (!type already_seen 66)
                                  (!srcfileloc  "cp/cp-tree.h" 2705)
                                  nil )
                                 (!pair  "ovl_op_code"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2708)
                                  nil )
                                 (!pair  "global_ctor_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2709)
                                  nil )
                                 (!pair  "global_dtor_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2710)
                                  nil )
                                 (!pair  "static_function"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2712)
                                  nil )
                                 (!pair  "pure_virtual"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2713)
                                  nil )
                                 (!pair  "defaulted_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2714)
                                  nil )
                                 (!pair  "has_in_charge_parm_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2715)
                                  nil )
                                 (!pair  "has_vtt_parm_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2716)
                                  nil )
                                 (!pair  "pending_inline_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2717)
                                  nil )
                                 (!pair  "nonconverting"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2718)
                                  nil )
                                 (!pair  "thunk_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2719)
                                  nil )
                                 (!pair  "this_thunk_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2721)
                                  nil )
                                 (!pair  "hidden_friend_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2722)
                                  nil )
                                 (!pair  "omp_declare_reduction_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2723)
                                  nil )
                                 (!pair  "has_dependent_explicit_spec_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2724)
                                  nil )
                                 (!pair  "immediate_fn_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2725)
                                  nil )
                                 (!pair  "maybe_deleted"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2726)
                                  nil )
                                 (!pair  "coroutine_p"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2727)
                                  nil )
                                 (!pair  "spare"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2729)
                                  nil )
                                 (!pair  "befriending_classes"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2736)
                                  nil )
                                 (!pair  "context"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2744)
                                  nil )
                                 (!pair  "u5"
                                  (!type union 68 nil  gc_used "lang_decl_u5"
                                   (!srcfileloc  "cp/cp-tree.h" 2755)
                                   (!fields 2 
                                    (!pair  "cloned_function"
                                     (!type already_seen 23)
                                     (!srcfileloc  "cp/cp-tree.h" 2750)
                                     (!options 
                                      (!option tag string  "0")
                                     )
                                    )
                                    (!pair  "fixed_offset"
                                     (!type already_seen 2)
                                     (!srcfileloc  "cp/cp-tree.h" 2754)
                                     (!options 
                                      (!option tag string  "1")
                                     )
                                    )
                                   )
                                   nil 1032 nil )
                                  (!srcfileloc  "cp/cp-tree.h" 2755)
                                  (!options 
                                   (!option desc string  "%1.thunk_p")
                                  )
                                 )
                                 (!pair  "u"
                                  (!type union 69 nil  gc_used "lang_decl_u3"
                                   (!srcfileloc  "cp/cp-tree.h" 2761)
                                   (!fields 2 
                                    (!pair  "pending_inline_info"
                                     (!type pointer 70 nil  gc_used
                                      (!type struct 71 
                                       (!type already_seen 70)
                                       gc_pointed_to "cp_token_cache"
                                       (!srcfileloc  "cp/parser.h" 132)
                                       (!fields 2 
                                        (!pair  "first"
                                         (!type pointer 72 nil  gc_unused
                                          (!type struct 73 
                                           (!type already_seen 72)
                                           gc_used "cp_token"
                                           (!srcfileloc  "cp/parser.h" 86)
                                           (!fields 9 
                                            (!pair  "type"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 44)
                                             nil )
                                            (!pair  "keyword"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 47)
                                             nil )
                                            (!pair  "flags"
                                             (!type already_seen 8)
                                             (!srcfileloc  "cp/parser.h" 49)
                                             nil )
                                            (!pair  "implicit_extern_c"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 51)
                                             nil )
                                            (!pair  "error_reported"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 55)
                                             nil )
                                            (!pair  "purged_p"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 59)
                                             nil )
                                            (!pair  "tree_check_p"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 60)
                                             nil )
                                            (!pair  "location"
                                             (!type already_seen 2)
                                             (!srcfileloc  "cp/parser.h" 64)
                                             nil )
                                            (!pair  "u"
                                             (!type union 74 nil  gc_used "cp_token_value"
                                              (!srcfileloc  "cp/parser.h" 71)
                                              (!fields 2 
                                               (!pair  "tree_check_value"
                                                (!type pointer 75 nil  gc_used
                                                 (!type struct 76 
                                                  (!type already_seen 75)
                                                  gc_pointed_to "tree_check"
                                                  (!srcfileloc  "cp/parser.h" 38)
                                                  (!fields 3 
                                                   (!pair  "value"
                                                    (!type already_seen 23)
                                                    (!srcfileloc  "cp/parser.h" 32)
                                                    nil )
                                                   (!pair  "checks"
                                                    (!type pointer 77 nil  gc_used
                                                     (!type user_struct 78 
                                                      (!type already_seen 77)
                                                      gc_pointed_to "vec<deferred_access_check,va_gc>"
                                                      (!srcfileloc  "cp/parser.h" 34)
                                                      (!fields 2 
                                                       (!pair  "va_gc"
                                                        (!type undefined 79 nil  gc_unused "va_gc"
                                                         (!srcfileloc  "rtl.h" 267)
                                                        )
                                                        (!srcfileloc  "cp/parser.h" 34)
                                                        nil )
                                                       (!pair  "deferred_access_check"
                                                        (!type struct 80 nil  gc_used "deferred_access_check"
                                                         (!srcfileloc  "cp/parser.h" 34)
                                                         (!fields 4 
                                                          (!pair  "binfo"
                                                           (!type already_seen 23)
                                                           (!srcfileloc  "cp/cp-tree.h" 7102)
                                                           nil )
                                                          (!pair  "decl"
                                                           (!type already_seen 23)
                                                           (!srcfileloc  "cp/cp-tree.h" 7104)
                                                           nil )
                                                          (!pair  "diag_decl"
                                                           (!type already_seen 23)
                                                           (!srcfileloc  "cp/cp-tree.h" 7106)
                                                           nil )
                                                          (!pair  "loc"
                                                           (!type already_seen 2)
                                                           (!srcfileloc  "cp/cp-tree.h" 7108)
                                                           nil )
                                                         )
                                                         nil 1032 nil nil )
                                                        (!srcfileloc  "cp/parser.h" 34)
                                                        nil )
                                                      )
                                                     )
                                                    )
                                                    (!srcfileloc  "cp/parser.h" 34)
                                                    nil )
                                                   (!pair  "qualifying_scope"
                                                    (!type already_seen 23)
                                                    (!srcfileloc  "cp/parser.h" 37)
                                                    nil )
                                                  )
                                                  nil 1032 nil nil )
                                                )
                                                (!srcfileloc  "cp/parser.h" 68)
                                                (!options 
                                                 (!option tag string  "true")
                                                )
                                               )
                                               (!pair  "value"
                                                (!type already_seen 23)
                                                (!srcfileloc  "cp/parser.h" 70)
                                                (!options 
                                                 (!option tag string  "false")
                                                )
                                               )
                                              )
                                              nil 1032 nil )
                                             (!srcfileloc  "cp/parser.h" 71)
                                             (!options 
                                              (!option desc string  "%1.tree_check_p")
                                             )
                                            )
                                           )
                                           nil 1032 nil nil )
                                         )
                                         (!srcfileloc  "cp/parser.h" 126)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "last"
                                         (!type already_seen 72)
                                         (!srcfileloc  "cp/parser.h" 129)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                       )
                                       nil 1032 nil nil )
                                     )
                                     (!srcfileloc  "cp/cp-tree.h" 2759)
                                     (!options 
                                      (!option tag string  "1")
                                     )
                                    )
                                    (!pair  "saved_auto_return_type"
                                     (!type already_seen 23)
                                     (!srcfileloc  "cp/cp-tree.h" 2760)
                                     (!options 
                                      (!option tag string  "0")
                                     )
                                    )
                                   )
                                   nil 1032 nil )
                                  (!srcfileloc  "cp/cp-tree.h" 2761)
                                  (!options 
                                   (!option desc string  "%1.pending_inline_p")
                                  )
                                 )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2806)
                               (!options 
                                (!option tag string  "lds_fn")
                               )
                              )
                              (!pair  "ns"
                               (!type struct 81 nil  gc_used "lang_decl_ns"
                                (!srcfileloc  "cp/cp-tree.h" 2778)
                                (!fields 4 
                                 (!pair  "base"
                                  (!type already_seen 65)
                                  (!srcfileloc  "cp/cp-tree.h" 2768)
                                  nil )
                                 (!pair  "level"
                                  (!type pointer 82 nil  gc_used
                                   (!type struct 83 
                                    (!type already_seen 82)
                                    gc_pointed_to "cp_binding_level"
                                    (!srcfileloc  "cp/name-lookup.h" 240)
                                    (!fields 16 
                                     (!pair  "names"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 177)
                                      nil )
                                     (!pair  "using_directives"
                                      (!type pointer 84 nil  gc_used
                                       (!type user_struct 85 
                                        (!type already_seen 84)
                                        gc_pointed_to "vec<tree,va_gc>"
                                        (!srcfileloc  "tree-core.h" 1583)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 79)
                                          (!srcfileloc  "tree-core.h" 1583)
                                          nil )
                                         (!pair  "tree"
                                          (!type already_seen 23)
                                          (!srcfileloc  "tree-core.h" 1583)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/name-lookup.h" 180)
                                      nil )
                                     (!pair  "class_shadowed"
                                      (!type pointer 86 nil  gc_used
                                       (!type user_struct 87 
                                        (!type already_seen 86)
                                        gc_pointed_to "vec<cp_class_binding,va_gc>"
                                        (!srcfileloc  "cp/name-lookup.h" 184)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 79)
                                          (!srcfileloc  "cp/name-lookup.h" 184)
                                          nil )
                                         (!pair  "cp_class_binding"
                                          (!type struct 88 nil  gc_used "cp_class_binding"
                                           (!srcfileloc  "cp/name-lookup.h" 184)
                                           (!fields 2 
                                            (!pair  "base"
                                             (!type pointer 89 nil  gc_used
                                              (!type struct 90 
                                               (!type already_seen 89)
                                               gc_pointed_to "cxx_binding"
                                               (!srcfileloc  "cp/name-lookup.h" 76)
                                               (!fields 6 
                                                (!pair  "previous"
                                                 (!type already_seen 89)
                                                 (!srcfileloc  "cp/name-lookup.h" 67)
                                                 nil )
                                                (!pair  "value"
                                                 (!type already_seen 23)
                                                 (!srcfileloc  "cp/name-lookup.h" 69)
                                                 nil )
                                                (!pair  "type"
                                                 (!type already_seen 23)
                                                 (!srcfileloc  "cp/name-lookup.h" 71)
                                                 nil )
                                                (!pair  "scope"
                                                 (!type already_seen 82)
                                                 (!srcfileloc  "cp/name-lookup.h" 73)
                                                 nil )
                                                (!pair  "value_is_inherited"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "cp/name-lookup.h" 74)
                                                 nil )
                                                (!pair  "is_local"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "cp/name-lookup.h" 75)
                                                 nil )
                                               )
                                               nil 1032 nil nil )
                                             )
                                             (!srcfileloc  "cp/name-lookup.h" 146)
                                             nil )
                                            (!pair  "identifier"
                                             (!type already_seen 23)
                                             (!srcfileloc  "cp/name-lookup.h" 148)
                                             nil )
                                           )
                                           nil 1032 nil nil )
                                          (!srcfileloc  "cp/name-lookup.h" 184)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "cp/name-lookup.h" 184)
                                      nil )
                                     (!pair  "type_shadowed"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 191)
                                      nil )
                                     (!pair  "blocks"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 196)
                                      nil )
                                     (!pair  "this_entity"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 200)
                                      nil )
                                     (!pair  "level_chain"
                                      (!type already_seen 82)
                                      (!srcfileloc  "cp/name-lookup.h" 203)
                                      nil )
                                     (!pair  "statement_list"
                                      (!type already_seen 23)
                                      (!srcfileloc  "cp/name-lookup.h" 207)
                                      nil )
                                     (!pair  "binding_depth"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 210)
                                      nil )
                                     (!pair  "kind"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 215)
                                      nil )
                                     (!pair  "explicit_spec_p"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 219)
                                      nil )
                                     (!pair  "keep"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 222)
                                      nil )
                                     (!pair  "more_cleanups_ok"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 226)
                                      nil )
                                     (!pair  "have_cleanups"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 227)
                                      nil )
                                     (!pair  "defining_class_p"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 234)
                                      nil )
                                     (!pair  "immediate_fn_ctx_p"
                                      (!type already_seen 2)
                                      (!srcfileloc  "cp/name-lookup.h" 237)
                                      nil )
                                    )
                                    nil 1032 nil nil )
                                  )
                                  (!srcfileloc  "cp/cp-tree.h" 2769)
                                  nil )
                                 (!pair  "inlinees"
                                  (!type already_seen 84)
                                  (!srcfileloc  "cp/cp-tree.h" 2772)
                                  nil )
                                 (!pair  "bindings"
                                  (!type pointer 91 nil  gc_used
                                   (!type user_struct 92 
                                    (!type already_seen 91)
                                    gc_pointed_to "hash_table<named_decl_hash>"
                                    (!srcfileloc  "cp/cp-tree.h" 2777)
                                    (!fields 1 
                                     (!pair  "named_decl_hash"
                                      (!type struct 93 nil  gc_used "named_decl_hash"
                                       (!srcfileloc  "cp/cp-tree.h" 2777)
                                       (!fields 0 )
                                       nil 1032 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 2777)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "cp/cp-tree.h" 2777)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2807)
                               (!options 
                                (!option tag string  "lds_ns")
                               )
                              )
                              (!pair  "parm"
                               (!type struct 94 nil  gc_used "lang_decl_parm"
                                (!srcfileloc  "cp/cp-tree.h" 2786)
                                (!fields 3 
                                 (!pair  "base"
                                  (!type already_seen 65)
                                  (!srcfileloc  "cp/cp-tree.h" 2783)
                                  nil )
                                 (!pair  "level"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2784)
                                  nil )
                                 (!pair  "index"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 2785)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2808)
                               (!options 
                                (!option tag string  "lds_parm")
                               )
                              )
                              (!pair  "decomp"
                               (!type struct 95 nil  gc_used "lang_decl_decomp"
                                (!srcfileloc  "cp/cp-tree.h" 2795)
                                (!fields 2 
                                 (!pair  "min"
                                  (!type already_seen 66)
                                  (!srcfileloc  "cp/cp-tree.h" 2791)
                                  nil )
                                 (!pair  "base"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 2794)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 2809)
                               (!options 
                                (!option tag string  "lds_decomp")
                               )
                              )
                             )
                             (!options 
                              (!option desc string  "%h.base.selector")
                             )
                             1032 nil )
                            (!srcfileloc  "cp/cp-tree.h" 2810)
                            nil )
                          )
                          nil 1032 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 96 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "c/c-lang.h" 46)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "c/c-lang.h" 45)
                            nil )
                          )
                          nil 516 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 97 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "brig/brig-lang.c" 78)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "brig/brig-lang.c" 77)
                            nil )
                          )
                          (!options 
                           (!option variable_size string  "")
                          )
                          2 
                          (!type already_seen 55)
                          nil )
                         
                         (!type struct 98 nil  gc_pointed_to "lang_decl"
                          (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                          (!fields 1 
                           (!pair  "t"
                            (!type already_seen 23)
                            (!srcfileloc  "ada/gcc-interface/ada-tree.h" 37)
                            nil )
                          )
                          nil 1 
                          (!type already_seen 55)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "tree-core.h" 1757)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1983)
                   (!options 
                    (!option tag string  "TS_DECL_COMMON")
                   )
                  )
                  (!pair  "decl_with_rtl"
                   (!type struct 99 nil  gc_used "tree_decl_with_rtl"
                    (!srcfileloc  "tree-core.h" 1763)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 53)
                      (!srcfileloc  "tree-core.h" 1761)
                      nil )
                     (!pair  "rtl"
                      (!type pointer 100 
                       (!type pointer 101 nil  gc_used
                        (!type already_seen 100)
                       )
                       gc_pointed_to
                       (!type struct 102 
                        (!type already_seen 100)
                        gc_pointed_to "rtx_def"
                        (!srcfileloc  "rtl.h" 453)
                        (!fields 12 
                         (!pair  "code"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 313)
                          nil )
                         (!pair  "mode"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 316)
                          nil )
                         (!pair  "jump"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 329)
                          nil )
                         (!pair  "call"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 336)
                          nil )
                         (!pair  "unchanging"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 348)
                          nil )
                         (!pair  "volatil"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 362)
                          nil )
                         (!pair  "in_struct"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 377)
                          nil )
                         (!pair  "used"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 386)
                          nil )
                         (!pair  "frame_related"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 395)
                          nil )
                         (!pair  "return_val"
                          (!type already_seen 2)
                          (!srcfileloc  "rtl.h" 402)
                          nil )
                         (!pair  "u2"
                          (!type union 103 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/rtl.h:404"
                           (!srcfileloc  "rtl.h" 438)
                           (!fields 6 
                            (!pair  "original_regno"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 411)
                             nil )
                            (!pair  "insn_uid"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 414)
                             nil )
                            (!pair  "symbol_ref_flags"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 417)
                             nil )
                            (!pair  "var_location_status"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 420)
                             nil )
                            (!pair  "num_elem"
                             (!type already_seen 2)
                             (!srcfileloc  "rtl.h" 424)
                             nil )
                            (!pair  "const_vector"
                             (!type struct 104 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/rtl.h:428"
                              (!srcfileloc  "rtl.h" 437)
                              (!fields 3 
                               (!pair  "npatterns"
                                (!type already_seen 2)
                                (!srcfileloc  "rtl.h" 430)
                                nil )
                               (!pair  "nelts_per_pattern"
                                (!type already_seen 2)
                                (!srcfileloc  "rtl.h" 433)
                                nil )
                               (!pair  "unused"
                                (!type already_seen 2)
                                (!srcfileloc  "rtl.h" 436)
                                nil )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "rtl.h" 437)
                             nil )
                           )
                           nil 2047 nil )
                          (!srcfileloc  "rtl.h" 438)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "u"
                          (!type union 105 nil  gc_used "rtx_def_subunion"
                           (!srcfileloc  "rtl.h" 452)
                           (!fields 151 
                            (!pair  ""
                             (!type struct 106 nil  gc_used "rtx_def_debug_marker"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_MARKER")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 107 nil  gc_used "rtx_def_debug_parameter_ref"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_tree"
                                (!type already_seen 23)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_PARAMETER_REF")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 108 nil  gc_used "rtx_def_entry_value"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ENTRY_VALUE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 109 nil  gc_used "rtx_def_debug_implicit_ptr"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_tree"
                                (!type already_seen 23)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_IMPLICIT_PTR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 110 nil  gc_used "rtx_def_var_location"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_tree"
                                (!type already_seen 23)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VAR_LOCATION")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 111 nil  gc_used "rtx_def_fma"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FMA")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 112 nil  gc_used "rtx_def_us_truncate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_TRUNCATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 113 nil  gc_used "rtx_def_ss_truncate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_TRUNCATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 114 nil  gc_used "rtx_def_us_minus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_MINUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 115 nil  gc_used "rtx_def_us_ashift"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_ASHIFT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 116 nil  gc_used "rtx_def_ss_ashift"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_ASHIFT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 117 nil  gc_used "rtx_def_ss_abs"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_ABS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 118 nil  gc_used "rtx_def_us_neg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_NEG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 119 nil  gc_used "rtx_def_ss_neg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_NEG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 120 nil  gc_used "rtx_def_ss_minus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_MINUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 121 nil  gc_used "rtx_def_us_plus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_PLUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 122 nil  gc_used "rtx_def_ss_plus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_PLUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 123 nil  gc_used "rtx_def_vec_series"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_SERIES")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 124 nil  gc_used "rtx_def_vec_duplicate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_DUPLICATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 125 nil  gc_used "rtx_def_vec_concat"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_CONCAT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 126 nil  gc_used "rtx_def_vec_select"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_SELECT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 127 nil  gc_used "rtx_def_vec_merge"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VEC_MERGE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 128 nil  gc_used "rtx_def_lo_sum"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LO_SUM")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 129 nil  gc_used "rtx_def_high"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "HIGH")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 130 nil  gc_used "rtx_def_zero_extract"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ZERO_EXTRACT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 131 nil  gc_used "rtx_def_sign_extract"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SIGN_EXTRACT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 132 nil  gc_used "rtx_def_parity"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PARITY")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 133 nil  gc_used "rtx_def_popcount"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "POPCOUNT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 134 nil  gc_used "rtx_def_ctz"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CTZ")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 135 nil  gc_used "rtx_def_clz"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CLZ")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 136 nil  gc_used "rtx_def_clrsb"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CLRSB")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 137 nil  gc_used "rtx_def_ffs"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FFS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 138 nil  gc_used "rtx_def_bswap"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "BSWAP")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 139 nil  gc_used "rtx_def_sqrt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SQRT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 140 nil  gc_used "rtx_def_abs"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ABS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 141 nil  gc_used "rtx_def_unsigned_sat_fract"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSIGNED_SAT_FRACT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 142 nil  gc_used "rtx_def_sat_fract"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SAT_FRACT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 143 nil  gc_used "rtx_def_unsigned_fract_convert"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSIGNED_FRACT_CONVERT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 144 nil  gc_used "rtx_def_fract_convert"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FRACT_CONVERT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 145 nil  gc_used "rtx_def_unsigned_fix"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSIGNED_FIX")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 146 nil  gc_used "rtx_def_unsigned_float"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSIGNED_FLOAT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 147 nil  gc_used "rtx_def_fix"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FIX")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 148 nil  gc_used "rtx_def_float"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FLOAT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 149 nil  gc_used "rtx_def_float_truncate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FLOAT_TRUNCATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 150 nil  gc_used "rtx_def_float_extend"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "FLOAT_EXTEND")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 151 nil  gc_used "rtx_def_truncate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "TRUNCATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 152 nil  gc_used "rtx_def_zero_extend"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ZERO_EXTEND")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 153 nil  gc_used "rtx_def_sign_extend"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SIGN_EXTEND")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 154 nil  gc_used "rtx_def_unlt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNLT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 155 nil  gc_used "rtx_def_unle"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNLE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 156 nil  gc_used "rtx_def_ungt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNGT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 157 nil  gc_used "rtx_def_unge"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNGE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 158 nil  gc_used "rtx_def_uneq"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNEQ")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 159 nil  gc_used "rtx_def_ordered"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ORDERED")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 160 nil  gc_used "rtx_def_unordered"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNORDERED")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 161 nil  gc_used "rtx_def_ltu"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LTU")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 162 nil  gc_used "rtx_def_leu"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LEU")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 163 nil  gc_used "rtx_def_gtu"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "GTU")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 164 nil  gc_used "rtx_def_geu"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "GEU")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 165 nil  gc_used "rtx_def_ltgt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LTGT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 166 nil  gc_used "rtx_def_lt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 167 nil  gc_used "rtx_def_le"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 168 nil  gc_used "rtx_def_gt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "GT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 169 nil  gc_used "rtx_def_ge"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "GE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 170 nil  gc_used "rtx_def_eq"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "EQ")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 171 nil  gc_used "rtx_def_ne"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "NE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 172 nil  gc_used "rtx_def_post_modify"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "POST_MODIFY")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 173 nil  gc_used "rtx_def_pre_modify"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PRE_MODIFY")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 174 nil  gc_used "rtx_def_post_inc"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "POST_INC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 175 nil  gc_used "rtx_def_post_dec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "POST_DEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 176 nil  gc_used "rtx_def_pre_inc"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PRE_INC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 177 nil  gc_used "rtx_def_pre_dec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PRE_DEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 178 nil  gc_used "rtx_def_umax"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UMAX")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 179 nil  gc_used "rtx_def_umin"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UMIN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 180 nil  gc_used "rtx_def_smax"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SMAX")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 181 nil  gc_used "rtx_def_smin"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SMIN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 182 nil  gc_used "rtx_def_rotatert"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ROTATERT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 183 nil  gc_used "rtx_def_lshiftrt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LSHIFTRT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 184 nil  gc_used "rtx_def_ashiftrt"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ASHIFTRT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 185 nil  gc_used "rtx_def_rotate"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ROTATE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 186 nil  gc_used "rtx_def_ashift"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ASHIFT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 187 nil  gc_used "rtx_def_not"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "NOT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 188 nil  gc_used "rtx_def_xor"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "XOR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 189 nil  gc_used "rtx_def_ior"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "IOR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 190 nil  gc_used "rtx_def_and"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "AND")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 191 nil  gc_used "rtx_def_umod"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UMOD")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 192 nil  gc_used "rtx_def_udiv"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UDIV")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 193 nil  gc_used "rtx_def_mod"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "MOD")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 194 nil  gc_used "rtx_def_us_div"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_DIV")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 195 nil  gc_used "rtx_def_ss_div"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_DIV")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 196 nil  gc_used "rtx_def_div"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DIV")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 197 nil  gc_used "rtx_def_us_mult"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "US_MULT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 198 nil  gc_used "rtx_def_ss_mult"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SS_MULT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 199 nil  gc_used "rtx_def_mult"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "MULT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 200 nil  gc_used "rtx_def_neg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "NEG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 201 nil  gc_used "rtx_def_minus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "MINUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 202 nil  gc_used "rtx_def_plus"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PLUS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 203 nil  gc_used "rtx_def_compare"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "COMPARE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 204 nil  gc_used "rtx_def_if_then_else"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "IF_THEN_ELSE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 205 nil  gc_used "rtx_def_cc0"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CC0")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 206 nil  gc_used "rtx_def_symbol_ref"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  "block_sym"
                                (!type union 207 nil  gc_used "fake_union_1"
                                 (!srcfileloc  "rtl.h" 452)
                                 (!fields 1 
                                  (!pair  ""
                                   (!type struct 208 nil  gc_used "block_symbol"
                                    (!srcfileloc  "rtl.h" 245)
                                    (!fields 3 
                                     (!pair  "fld"
                                      (!type array 209 nil  gc_unused "2" 
                                       (!type undefined 210 nil  gc_unused "rtunion"
                                        (!srcfileloc  "rtl.h" 237)
                                       )
                                      )
                                      (!srcfileloc  "rtl.h" 237)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "block"
                                      (!type pointer 211 nil  gc_used
                                       (!type struct 212 
                                        (!type already_seen 211)
                                        gc_pointed_to "object_block"
                                        (!srcfileloc  "rtl.h" 278)
                                        (!fields 5 
                                         (!pair  "sect"
                                          (!type pointer 213 nil  gc_used
                                           (!type union 214 
                                            (!type already_seen 213)
                                            gc_pointed_to "section"
                                            (!srcfileloc  "output.h" 498)
                                            (!fields 4 
                                             (!pair  "common"
                                              (!type struct 215 nil  gc_used "section_common"
                                               (!srcfileloc  "output.h" 440)
                                               (!fields 1 
                                                (!pair  "flags"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "output.h" 439)
                                                 nil )
                                               )
                                               nil 2047 nil nil )
                                              (!srcfileloc  "output.h" 494)
                                              (!options 
                                               (!option skip string  "")
                                              )
                                             )
                                             (!pair  "named"
                                              (!type struct 216 nil  gc_used "named_section"
                                               (!srcfileloc  "output.h" 452)
                                               (!fields 3 
                                                (!pair  "common"
                                                 (!type already_seen 215)
                                                 (!srcfileloc  "output.h" 444)
                                                 nil )
                                                (!pair  "name"
                                                 (!type already_seen 11)
                                                 (!srcfileloc  "output.h" 447)
                                                 nil )
                                                (!pair  "decl"
                                                 (!type already_seen 23)
                                                 (!srcfileloc  "output.h" 451)
                                                 nil )
                                               )
                                               nil 2047 nil nil )
                                              (!srcfileloc  "output.h" 495)
                                              (!options 
                                               (!option tag string  "SECTION_NAMED")
                                              )
                                             )
                                             (!pair  "unnamed"
                                              (!type struct 217 nil  gc_used "unnamed_section"
                                               (!srcfileloc  "output.h" 469)
                                               (!fields 4 
                                                (!pair  "common"
                                                 (!type already_seen 215)
                                                 (!srcfileloc  "output.h" 460)
                                                 nil )
                                                (!pair  "callback"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "output.h" 464)
                                                 (!options 
                                                  (!option skip string  "")
                                                 )
                                                )
                                                (!pair  "data"
                                                 (!type already_seen 3)
                                                 (!srcfileloc  "output.h" 465)
                                                 (!options 
                                                  (!option skip string  "")
                                                 )
                                                )
                                                (!pair  "next"
                                                 (!type already_seen 213)
                                                 (!srcfileloc  "output.h" 468)
                                                 nil )
                                               )
                                               nil 2047 nil nil )
                                              (!srcfileloc  "output.h" 496)
                                              (!options 
                                               (!option tag string  "SECTION_UNNAMED")
                                              )
                                             )
                                             (!pair  "noswitch"
                                              (!type struct 218 nil  gc_used "noswitch_section"
                                               (!srcfileloc  "output.h" 490)
                                               (!fields 2 
                                                (!pair  "common"
                                                 (!type already_seen 215)
                                                 (!srcfileloc  "output.h" 486)
                                                 nil )
                                                (!pair  "callback"
                                                 (!type already_seen 2)
                                                 (!srcfileloc  "output.h" 489)
                                                 (!options 
                                                  (!option skip string  "")
                                                 )
                                                )
                                               )
                                               nil 2047 nil nil )
                                              (!srcfileloc  "output.h" 497)
                                              (!options 
                                               (!option tag string  "SECTION_NOSWITCH")
                                              )
                                             )
                                            )
                                            (!options 
                                             (!option for_user string  "")
                                             (!option desc string  "SECTION_STYLE (&(%h))")
                                            )
                                            2047 nil )
                                          )
                                          (!srcfileloc  "rtl.h" 251)
                                          nil )
                                         (!pair  "alignment"
                                          (!type already_seen 2)
                                          (!srcfileloc  "rtl.h" 254)
                                          nil )
                                         (!pair  "size"
                                          (!type already_seen 2)
                                          (!srcfileloc  "rtl.h" 257)
                                          nil )
                                         (!pair  "objects"
                                          (!type pointer 219 nil  gc_used
                                           (!type user_struct 220 
                                            (!type already_seen 219)
                                            gc_pointed_to "vec<rtx,va_gc>"
                                            (!srcfileloc  "rtl.h" 267)
                                            (!fields 2 
                                             (!pair  "va_gc"
                                              (!type already_seen 79)
                                              (!srcfileloc  "rtl.h" 267)
                                              nil )
                                             (!pair  "rtx"
                                              (!type already_seen 100)
                                              (!srcfileloc  "rtl.h" 267)
                                              nil )
                                            )
                                           )
                                          )
                                          (!srcfileloc  "rtl.h" 267)
                                          nil )
                                         (!pair  "anchors"
                                          (!type already_seen 219)
                                          (!srcfileloc  "rtl.h" 277)
                                          nil )
                                        )
                                        (!options 
                                         (!option for_user string  "")
                                        )
                                        2047 nil nil )
                                      )
                                      (!srcfileloc  "rtl.h" 240)
                                      nil )
                                     (!pair  "offset"
                                      (!type already_seen 2)
                                      (!srcfileloc  "rtl.h" 244)
                                      nil )
                                    )
                                    nil 2047 nil nil )
                                   (!srcfileloc  "gengtype.c" 1010)
                                   (!options 
                                    (!option tag string  "1")
                                    (!option dot string  "")
                                   )
                                  )
                                 )
                                 nil 2047 nil )
                                (!srcfileloc  "gengtype.c" 1354)
                                (!options 
                                 (!option desc string  "SYMBOL_REF_HAS_BLOCK_INFO_P (&%0)")
                                )
                               )
                               (!pair  ".fld[1]."
                                (!type union 221 nil  gc_used "rtx_def_symbol_subunion"
                                 (!srcfileloc  "rtl.h" 452)
                                 (!fields 2 
                                  (!pair  "rt_constant"
                                   (!type pointer 222 nil  gc_used
                                    (!type struct 223 
                                     (!type already_seen 222)
                                     gc_pointed_to "constant_descriptor_rtx"
                                     (!srcfileloc  "varasm.c" 3655)
                                     (!fields 10 
                                      (!pair  "next"
                                       (!type already_seen 222)
                                       (!srcfileloc  "varasm.c" 3645)
                                       nil )
                                      (!pair  "mem"
                                       (!type already_seen 100)
                                       (!srcfileloc  "varasm.c" 3646)
                                       nil )
                                      (!pair  "sym"
                                       (!type already_seen 100)
                                       (!srcfileloc  "varasm.c" 3647)
                                       nil )
                                      (!pair  "constant"
                                       (!type already_seen 100)
                                       (!srcfileloc  "varasm.c" 3648)
                                       nil )
                                      (!pair  "offset"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3649)
                                       nil )
                                      (!pair  "hash"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3650)
                                       nil )
                                      (!pair  "mode"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3651)
                                       nil )
                                      (!pair  "align"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3652)
                                       nil )
                                      (!pair  "labelno"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3653)
                                       nil )
                                      (!pair  "mark"
                                       (!type already_seen 2)
                                       (!srcfileloc  "varasm.c" 3654)
                                       nil )
                                     )
                                     (!options 
                                      (!option for_user string  "")
                                      (!option chain_next string  "%h.next")
                                     )
                                     2047 nil nil )
                                   )
                                   (!srcfileloc  "gengtype.c" 1214)
                                   (!options 
                                    (!option tag string  "1")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_tree"
                                   (!type already_seen 23)
                                   (!srcfileloc  "gengtype.c" 1212)
                                   (!options 
                                    (!option default string  "")
                                    (!option dot string  "")
                                   )
                                  )
                                 )
                                 nil 2047 nil )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option desc string  "CONSTANT_POOL_ADDRESS_P (&%0)")
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SYMBOL_REF")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 224 nil  gc_used "rtx_def_label_ref"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "LABEL_REF")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 225 nil  gc_used "rtx_def_mem"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_mem"
                                (!type pointer 226 nil  gc_used
                                 (!type struct 227 
                                  (!type already_seen 226)
                                  gc_pointed_to "mem_attrs"
                                  (!srcfileloc  "rtl.h" 184)
                                  (!fields 8 
                                   (!pair  "expr"
                                    (!type already_seen 23)
                                    (!srcfileloc  "rtl.h" 158)
                                    nil )
                                   (!pair  "offset"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 162)
                                    nil )
                                   (!pair  "size"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 166)
                                    nil )
                                   (!pair  "alias"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 169)
                                    nil )
                                   (!pair  "align"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 174)
                                    nil )
                                   (!pair  "addrspace"
                                    (!type already_seen 8)
                                    (!srcfileloc  "rtl.h" 177)
                                    nil )
                                   (!pair  "offset_known_p"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 180)
                                    nil )
                                   (!pair  "size_known_p"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 183)
                                    nil )
                                  )
                                  nil 2047 nil nil )
                                )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "MEM")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 228 nil  gc_used "rtx_def_concatn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type pointer 229 nil  gc_used
                                 (!type struct 230 
                                  (!type already_seen 229)
                                  gc_pointed_to "rtvec_def"
                                  (!srcfileloc  "rtl.h" 738)
                                  (!fields 2 
                                   (!pair  "num_elem"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 736)
                                    nil )
                                   (!pair  "elem"
                                    (!type array 231 nil  gc_used "1" 
                                     (!type already_seen 100)
                                    )
                                    (!srcfileloc  "rtl.h" 737)
                                    (!options 
                                     (!option length string  "%h.num_elem")
                                    )
                                   )
                                  )
                                  nil 2047 nil nil )
                                )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONCATN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 232 nil  gc_used "rtx_def_concat"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONCAT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 233 nil  gc_used "rtx_def_strict_low_part"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "STRICT_LOW_PART")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 234 nil  gc_used "rtx_def_subreg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_subreg"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SUBREG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 235 nil  gc_used "rtx_def_scratch"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SCRATCH")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 236 nil  gc_used "rtx_def_reg"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  "reg.attrs"
                                (!type pointer 237 nil  gc_used
                                 (!type struct 238 
                                  (!type already_seen 237)
                                  gc_pointed_to "reg_attrs"
                                  (!srcfileloc  "rtl.h" 229)
                                  (!fields 2 
                                   (!pair  "decl"
                                    (!type already_seen 23)
                                    (!srcfileloc  "rtl.h" 195)
                                    nil )
                                   (!pair  "offset"
                                    (!type already_seen 2)
                                    (!srcfileloc  "rtl.h" 196)
                                    nil )
                                  )
                                  (!options 
                                   (!option for_user string  "")
                                  )
                                  2047 nil nil )
                                )
                                (!srcfileloc  "gengtype.c" 1346)
                                nil )
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "REG")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 239 nil  gc_used "rtx_def_pc"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 240 nil  gc_used "rtx_def_const"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 241 nil  gc_used "rtx_def_const_string"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_STRING")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 242 nil  gc_used "rtx_def_const_vector"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_VECTOR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 243 nil  gc_used "rtx_def_const_double"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_DOUBLE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 244 nil  gc_used "rtx_def_const_fixed"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_FIXED")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 245 nil  gc_used "rtx_def_const_poly_int"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_POLY_INT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 246 nil  gc_used "rtx_def_const_wide_int"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_WIDE_INT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 247 nil  gc_used "rtx_def_const_int"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CONST_INT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 248 nil  gc_used "rtx_def_trap_if"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "TRAP_IF")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 249 nil  gc_used "rtx_def_eh_return"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "EH_RETURN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 250 nil  gc_used "rtx_def_simple_return"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SIMPLE_RETURN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 251 nil  gc_used "rtx_def_return"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 0 )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "RETURN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 252 nil  gc_used "rtx_def_call"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CALL")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 253 nil  gc_used "rtx_def_clobber"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CLOBBER")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 254 nil  gc_used "rtx_def_use"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "USE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 255 nil  gc_used "rtx_def_set"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SET")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 256 nil  gc_used "rtx_def_prefetch"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 3 
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PREFETCH")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 257 nil  gc_used "rtx_def_addr_diff_vec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 5 
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ADDR_DIFF_VEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 258 nil  gc_used "rtx_def_addr_vec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ADDR_VEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 259 nil  gc_used "rtx_def_unspec_volatile"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSPEC_VOLATILE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 260 nil  gc_used "rtx_def_unspec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNSPEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 261 nil  gc_used "rtx_def_asm_operands"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ASM_OPERANDS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 262 nil  gc_used "rtx_def_asm_input"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ASM_INPUT")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 263 nil  gc_used "rtx_def_parallel"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "PARALLEL")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 264 nil  gc_used "rtx_def_cond_exec"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "COND_EXEC")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 265 nil  gc_used "rtx_def_note"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 6 
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3]."
                                (!type union 266 nil  gc_used "rtx_def_note_subunion"
                                 (!srcfileloc  "rtl.h" 452)
                                 (!fields 19 
                                  (!pair  "rt_str"
                                   (!type already_seen 11)
                                   (!srcfileloc  "gengtype.c" 1181)
                                   (!options 
                                    (!option default string  "")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_UPDATE_SJLJ_CONTEXT")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_CFI_LABEL")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_CFI")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_SWITCH_TEXT_SECTIONS")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_BASIC_BLOCK")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_INLINE_ENTRY")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_BEGIN_STMT")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_rtx"
                                   (!type already_seen 100)
                                   (!srcfileloc  "gengtype.c" 1190)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_VAR_LOCATION")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_EH_REGION_END")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_EH_REGION_BEG")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_EPILOGUE_BEG")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_PROLOGUE_END")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_FUNCTION_BEG")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_tree"
                                   (!type already_seen 23)
                                   (!srcfileloc  "gengtype.c" 1186)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_BLOCK_END")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_tree"
                                   (!type already_seen 23)
                                   (!srcfileloc  "gengtype.c" 1186)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_BLOCK_BEG")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_str"
                                   (!type already_seen 11)
                                   (!srcfileloc  "gengtype.c" 1181)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_str"
                                   (!type already_seen 11)
                                   (!srcfileloc  "gengtype.c" 1181)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_DELETED_LABEL")
                                    (!option dot string  "")
                                   )
                                  )
                                  (!pair  "rt_int"
                                   (!type already_seen 2)
                                   (!srcfileloc  "gengtype.c" 1194)
                                   (!options 
                                    (!option tag string  "NOTE_INSN_DELETED")
                                    (!option dot string  "")
                                   )
                                  )
                                 )
                                 nil 2047 nil )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option desc string  "NOTE_KIND (&%0)")
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type pointer 267 nil  gc_used
                                 (!type struct 268 
                                  (!type already_seen 267)
                                  gc_pointed_to "basic_block_def"
                                  (!srcfileloc  "basic-block.h" 156)
                                  (!fields 12 
                                   (!pair  "preds"
                                    (!type pointer 269 nil  gc_used
                                     (!type user_struct 270 
                                      (!type already_seen 269)
                                      gc_pointed_to "vec<edge,va_gc>"
                                      (!srcfileloc  "basic-block.h" 119)
                                      (!fields 2 
                                       (!pair  "va_gc"
                                        (!type already_seen 79)
                                        (!srcfileloc  "basic-block.h" 119)
                                        nil )
                                       (!pair  "edge"
                                        (!type pointer 271 nil  gc_used
                                         (!type user_struct 272 
                                          (!type already_seen 271)
                                          gc_pointed_to "edge_def"
                                          (!srcfileloc  "basic-block.h" 53)
                                          (!fields 0 )
                                         )
                                        )
                                        (!srcfileloc  "basic-block.h" 119)
                                        nil )
                                      )
                                     )
                                    )
                                    (!srcfileloc  "basic-block.h" 119)
                                    nil )
                                   (!pair  "succs"
                                    (!type already_seen 269)
                                    (!srcfileloc  "basic-block.h" 120)
                                    nil )
                                   (!pair  "aux"
                                    (!type already_seen 3)
                                    (!srcfileloc  "basic-block.h" 123)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "loop_father"
                                    (!type pointer 273 nil  gc_used
                                     (!type struct 274 
                                      (!type already_seen 273)
                                      gc_pointed_to "loop"
                                      (!srcfileloc  "cfgloop.h" 275)
                                      (!fields 37 
                                       (!pair  "num"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 121)
                                        nil )
                                       (!pair  "ninsns"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 124)
                                        nil )
                                       (!pair  "header"
                                        (!type already_seen 267)
                                        (!srcfileloc  "cfgloop.h" 127)
                                        nil )
                                       (!pair  "latch"
                                        (!type already_seen 267)
                                        (!srcfileloc  "cfgloop.h" 130)
                                        nil )
                                       (!pair  "lpt_decision"
                                        (!type struct 275 nil  gc_used "lpt_decision"
                                         (!srcfileloc  "cfgloop.h" 37)
                                         (!fields 2 
                                          (!pair  "decision"
                                           (!type already_seen 2)
                                           (!srcfileloc  "cfgloop.h" 35)
                                           nil )
                                          (!pair  "times"
                                           (!type already_seen 2)
                                           (!srcfileloc  "cfgloop.h" 36)
                                           nil )
                                         )
                                         nil 2047 nil nil )
                                        (!srcfileloc  "cfgloop.h" 133)
                                        nil )
                                       (!pair  "av_ninsns"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 136)
                                        nil )
                                       (!pair  "num_nodes"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 139)
                                        nil )
                                       (!pair  "superloops"
                                        (!type pointer 276 nil  gc_used
                                         (!type user_struct 277 
                                          (!type already_seen 276)
                                          gc_pointed_to "vec<loop_p,va_gc>"
                                          (!srcfileloc  "cfgloop.h" 142)
                                          (!fields 2 
                                           (!pair  "va_gc"
                                            (!type already_seen 79)
                                            (!srcfileloc  "cfgloop.h" 142)
                                            nil )
                                           (!pair  "loop_p"
                                            (!type already_seen 273)
                                            (!srcfileloc  "cfgloop.h" 142)
                                            nil )
                                          )
                                         )
                                        )
                                        (!srcfileloc  "cfgloop.h" 142)
                                        nil )
                                       (!pair  "inner"
                                        (!type already_seen 273)
                                        (!srcfileloc  "cfgloop.h" 145)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 273)
                                        (!srcfileloc  "cfgloop.h" 148)
                                        nil )
                                       (!pair  "aux"
                                        (!type already_seen 3)
                                        (!srcfileloc  "cfgloop.h" 151)
                                        (!options 
                                         (!option skip string  "")
                                        )
                                       )
                                       (!pair  "nb_iterations"
                                        (!type already_seen 23)
                                        (!srcfileloc  "cfgloop.h" 160)
                                        nil )
                                       (!pair  "nb_iterations_upper_bound"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 164)
                                        nil )
                                       (!pair  "nb_iterations_likely_upper_bound"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 166)
                                        nil )
                                       (!pair  "nb_iterations_estimate"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 171)
                                        nil )
                                       (!pair  "safelen"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 177)
                                        nil )
                                       (!pair  "simdlen"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 180)
                                        nil )
                                       (!pair  "constraints"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 203)
                                        nil )
                                       (!pair  "estimate_state"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 207)
                                        nil )
                                       (!pair  "any_upper_bound"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 209)
                                        nil )
                                       (!pair  "any_estimate"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 210)
                                        nil )
                                       (!pair  "any_likely_upper_bound"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 211)
                                        nil )
                                       (!pair  "can_be_parallel"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 214)
                                        nil )
                                       (!pair  "warned_aggressive_loop_optimizations"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 218)
                                        nil )
                                       (!pair  "dont_vectorize"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 221)
                                        nil )
                                       (!pair  "force_vectorize"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 224)
                                        nil )
                                       (!pair  "in_oacc_kernels_region"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 227)
                                        nil )
                                       (!pair  "finite_p"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 231)
                                        nil )
                                       (!pair  "unroll"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 237)
                                        nil )
                                       (!pair  "owned_clique"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 241)
                                        nil )
                                       (!pair  "simduid"
                                        (!type already_seen 23)
                                        (!srcfileloc  "cfgloop.h" 246)
                                        nil )
                                       (!pair  "orig_loop_num"
                                        (!type already_seen 2)
                                        (!srcfileloc  "cfgloop.h" 256)
                                        nil )
                                       (!pair  "bounds"
                                        (!type pointer 278 nil  gc_used
                                         (!type struct 279 
                                          (!type already_seen 278)
                                          gc_pointed_to "nb_iter_bound"
                                          (!srcfileloc  "cfgloop.h" 70)
                                          (!fields 4 
                                           (!pair  "stmt"
                                            (!type pointer 280 nil  gc_used
                                             (!type struct 281 
                                              (!type already_seen 280)
                                              gc_pointed_to "gimple"
                                              (!srcfileloc  "gimple.h" 285)
                                              (!fields 15 
                                               (!pair  "code"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 226)
                                                nil )
                                               (!pair  "no_warning"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 229)
                                                nil )
                                               (!pair  "visited"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 233)
                                                nil )
                                               (!pair  "nontemporal_move"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 236)
                                                nil )
                                               (!pair  "plf"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 243)
                                                nil )
                                               (!pair  "modified"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 247)
                                                nil )
                                               (!pair  "has_volatile_ops"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 250)
                                                nil )
                                               (!pair  "pad"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 253)
                                                nil )
                                               (!pair  "subcode"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 259)
                                                nil )
                                               (!pair  "uid"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 264)
                                                nil )
                                               (!pair  "location"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 268)
                                                nil )
                                               (!pair  "num_ops"
                                                (!type already_seen 2)
                                                (!srcfileloc  "gimple.h" 271)
                                                nil )
                                               (!pair  "bb"
                                                (!type already_seen 267)
                                                (!srcfileloc  "gimple.h" 275)
                                                nil )
                                               (!pair  "next"
                                                (!type already_seen 280)
                                                (!srcfileloc  "gimple.h" 283)
                                                nil )
                                               (!pair  "prev"
                                                (!type already_seen 280)
                                                (!srcfileloc  "gimple.h" 284)
                                                (!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)")
                                              )
                                              2047 nil nil )
                                            )
                                            (!srcfileloc  "cfgloop.h" 52)
                                            nil )
                                           (!pair  "bound"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 61)
                                            nil )
                                           (!pair  "is_exit"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 66)
                                            nil )
                                           (!pair  "next"
                                            (!type already_seen 278)
                                            (!srcfileloc  "cfgloop.h" 69)
                                            nil )
                                          )
                                          (!options 
                                           (!option chain_next string  "%h.next")
                                          )
                                          2047 nil nil )
                                        )
                                        (!srcfileloc  "cfgloop.h" 259)
                                        nil )
                                       (!pair  "control_ivs"
                                        (!type pointer 282 nil  gc_used
                                         (!type struct 283 
                                          (!type already_seen 282)
                                          gc_pointed_to "control_iv"
                                          (!srcfileloc  "cfgloop.h" 114)
                                          (!fields 3 
                                           (!pair  "base"
                                            (!type already_seen 23)
                                            (!srcfileloc  "cfgloop.h" 111)
                                            nil )
                                           (!pair  "step"
                                            (!type already_seen 23)
                                            (!srcfileloc  "cfgloop.h" 112)
                                            nil )
                                           (!pair  "next"
                                            (!type already_seen 282)
                                            (!srcfileloc  "cfgloop.h" 113)
                                            nil )
                                          )
                                          (!options 
                                           (!option chain_next string  "%h.next")
                                          )
                                          2047 nil nil )
                                        )
                                        (!srcfileloc  "cfgloop.h" 262)
                                        nil )
                                       (!pair  "exits"
                                        (!type pointer 284 nil  gc_used
                                         (!type struct 285 
                                          (!type already_seen 284)
                                          gc_pointed_to "loop_exit"
                                          (!srcfileloc  "cfgloop.h" 84)
                                          (!fields 4 
                                           (!pair  "e"
                                            (!type already_seen 271)
                                            (!srcfileloc  "cfgloop.h" 76)
                                            nil )
                                           (!pair  "prev"
                                            (!type already_seen 284)
                                            (!srcfileloc  "cfgloop.h" 79)
                                            nil )
                                           (!pair  "next"
                                            (!type already_seen 284)
                                            (!srcfileloc  "cfgloop.h" 80)
                                            nil )
                                           (!pair  "next_e"
                                            (!type already_seen 284)
                                            (!srcfileloc  "cfgloop.h" 83)
                                            nil )
                                          )
                                          (!options 
                                           (!option for_user string  "")
                                          )
                                          2047 nil nil )
                                        )
                                        (!srcfileloc  "cfgloop.h" 265)
                                        nil )
                                       (!pair  "simple_loop_desc"
                                        (!type pointer 286 nil  gc_used
                                         (!type struct 287 
                                          (!type already_seen 286)
                                          gc_pointed_to "niter_desc"
                                          (!srcfileloc  "cfgloop.h" 497)
                                          (!fields 11 
                                           (!pair  "out_edge"
                                            (!type already_seen 271)
                                            (!srcfileloc  "cfgloop.h" 464)
                                            nil )
                                           (!pair  "in_edge"
                                            (!type already_seen 271)
                                            (!srcfileloc  "cfgloop.h" 467)
                                            nil )
                                           (!pair  "simple_p"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 471)
                                            nil )
                                           (!pair  "const_iter"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 474)
                                            nil )
                                           (!pair  "niter"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 477)
                                            nil )
                                           (!pair  "assumptions"
                                            (!type already_seen 100)
                                            (!srcfileloc  "cfgloop.h" 480)
                                            nil )
                                           (!pair  "noloop_assumptions"
                                            (!type already_seen 100)
                                            (!srcfileloc  "cfgloop.h" 484)
                                            nil )
                                           (!pair  "infinite"
                                            (!type already_seen 100)
                                            (!srcfileloc  "cfgloop.h" 487)
                                            nil )
                                           (!pair  "signed_p"
                                            (!type already_seen 2)
                                            (!srcfileloc  "cfgloop.h" 490)
                                            nil )
                                           (!pair  "mode"
                                            (!type struct 288 nil  gc_used "scalar_int_mode"
                                             (!srcfileloc  "coretypes.h" 66)
                                             (!fields 0 )
                                             nil 2047 nil nil )
                                            (!srcfileloc  "cfgloop.h" 493)
                                            nil )
                                           (!pair  "niter_expr"
                                            (!type already_seen 100)
                                            (!srcfileloc  "cfgloop.h" 496)
                                            nil )
                                          )
                                          nil 2047 nil nil )
                                        )
                                        (!srcfileloc  "cfgloop.h" 268)
                                        nil )
                                       (!pair  "former_header"
                                        (!type already_seen 267)
                                        (!srcfileloc  "cfgloop.h" 274)
                                        nil )
                                      )
                                      (!options 
                                       (!option chain_next string  "%h.next")
                                      )
                                      2047 nil nil )
                                    )
                                    (!srcfileloc  "basic-block.h" 126)
                                    nil )
                                   (!pair  "dom"
                                    (!type array 289 nil  gc_unused "2" 
                                     (!type pointer 290 nil  gc_unused
                                      (!type struct 291 
                                       (!type already_seen 290)
                                       gc_unused "et_node"nil 
                                       (!fields 0 )
                                       nil 0 nil nil )
                                     )
                                    )
                                    (!srcfileloc  "basic-block.h" 129)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "prev_bb"
                                    (!type already_seen 267)
                                    (!srcfileloc  "basic-block.h" 132)
                                    nil )
                                   (!pair  "next_bb"
                                    (!type already_seen 267)
                                    (!srcfileloc  "basic-block.h" 133)
                                    nil )
                                   (!pair  "il"
                                    (!type union 292 nil  gc_used "basic_block_il_dependent"
                                     (!srcfileloc  "basic-block.h" 141)
                                     (!fields 2 
                                      (!pair  "gimple"
                                       (!type struct 293 nil  gc_used "gimple_bb_info"
                                        (!srcfileloc  "basic-block.h" 89)
                                        (!fields 2 
                                         (!pair  "seq"
                                          (!type already_seen 280)
                                          (!srcfileloc  "basic-block.h" 85)
                                          nil )
                                         (!pair  "phi_nodes"
                                          (!type already_seen 280)
                                          (!srcfileloc  "basic-block.h" 88)
                                          nil )
                                        )
                                        nil 2047 nil nil )
                                       (!srcfileloc  "basic-block.h" 136)
                                       (!options 
                                        (!option tag string  "0")
                                       )
                                      )
                                      (!pair  "x"
                                       (!type struct 294 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/basic-block.h:137"
                                        (!srcfileloc  "basic-block.h" 140)
                                        (!fields 2 
                                         (!pair  "head_"
                                          (!type pointer 295 nil  gc_used
                                           (!type struct 296 
                                            (!type already_seen 295)
                                            gc_pointed_to "rtx_insn"
                                            (!srcfileloc  "rtl.h" 574)
                                            (!fields 0 )
                                            nil 2047 nil 
                                            (!type already_seen 102)
                                           )
                                          )
                                          (!srcfileloc  "basic-block.h" 138)
                                          nil )
                                         (!pair  "rtl"
                                          (!type pointer 297 nil  gc_used
                                           (!type struct 298 
                                            (!type already_seen 297)
                                            gc_pointed_to "rtl_bb_info"
                                            (!srcfileloc  "basic-block.h" 81)
                                            (!fields 3 
                                             (!pair  "end_"
                                              (!type already_seen 295)
                                              (!srcfileloc  "basic-block.h" 75)
                                              nil )
                                             (!pair  "header_"
                                              (!type already_seen 295)
                                              (!srcfileloc  "basic-block.h" 79)
                                              nil )
                                             (!pair  "footer_"
                                              (!type already_seen 295)
                                              (!srcfileloc  "basic-block.h" 80)
                                              nil )
                                            )
                                            nil 2047 nil nil )
                                          )
                                          (!srcfileloc  "basic-block.h" 139)
                                          nil )
                                        )
                                        nil 2047 nil nil )
                                       (!srcfileloc  "basic-block.h" 140)
                                       (!options 
                                        (!option tag string  "1")
                                       )
                                      )
                                     )
                                     nil 2047 nil )
                                    (!srcfileloc  "basic-block.h" 141)
                                    (!options 
                                     (!option desc string  "((%1.flags & BB_RTL) != 0)")
                                    )
                                   )
                                   (!pair  "flags"
                                    (!type already_seen 2)
                                    (!srcfileloc  "basic-block.h" 144)
                                    nil )
                                   (!pair  "index"
                                    (!type already_seen 2)
                                    (!srcfileloc  "basic-block.h" 147)
                                    nil )
                                   (!pair  "count"
                                    (!type struct 299 nil  gc_used "profile_count"
                                     (!srcfileloc  "profile-count.h" 1243)
                                     (!fields 2 
                                      (!pair  "UINT64_BIT_FIELD_ALIGN"
                                       (!type already_seen 2)
                                       (!srcfileloc  "profile-count.h" 711)
                                       nil )
                                      (!pair  "m_quality"
                                       (!type already_seen 2)
                                       (!srcfileloc  "profile-count.h" 713)
                                       nil )
                                     )
                                     nil 2047 nil nil )
                                    (!srcfileloc  "basic-block.h" 150)
                                    nil )
                                   (!pair  "discriminator"
                                    (!type already_seen 2)
                                    (!srcfileloc  "basic-block.h" 155)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_prev string  "%h.prev_bb")
                                   (!option chain_next string  "%h.next_bb")
                                  )
                                  2047 nil nil )
                                )
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "NOTE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 300 nil  gc_used "rtx_def_code_label"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_str"
                                (!type already_seen 11)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CODE_LABEL")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 301 nil  gc_used "rtx_def_barrier"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "BARRIER")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 302 nil  gc_used "rtx_def_jump_table_data"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 8 
                               (!pair  ".fld[7].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[6].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "JUMP_TABLE_DATA")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 303 nil  gc_used "rtx_def_call_insn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 8 
                               (!pair  ".fld[7].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[6].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "CALL_INSN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 304 nil  gc_used "rtx_def_jump_insn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 8 
                               (!pair  ".fld[7].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[6].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "JUMP_INSN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 305 nil  gc_used "rtx_def_insn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "INSN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 306 nil  gc_used "rtx_def_debug_insn"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 7 
                               (!pair  ".fld[6].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[5].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[4].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[3].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[2].rt_bb"
                                (!type already_seen 267)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_INSN")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 307 nil  gc_used "rtx_def_address"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "ADDRESS")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 308 nil  gc_used "rtx_def_sequence"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_rtvec"
                                (!type already_seen 229)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "SEQUENCE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 309 nil  gc_used "rtx_def_int_list"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "INT_LIST")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 310 nil  gc_used "rtx_def_insn_list"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "INSN_LIST")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 311 nil  gc_used "rtx_def_expr_list"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 2 
                               (!pair  ".fld[1].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                               (!pair  ".fld[0].rt_rtx"
                                (!type already_seen 100)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "EXPR_LIST")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 312 nil  gc_used "rtx_def_debug_expr"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_tree"
                                (!type already_seen 23)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "DEBUG_EXPR")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 313 nil  gc_used "rtx_def_value"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "VALUE")
                              (!option dot string  "")
                             )
                            )
                            (!pair  ""
                             (!type struct 314 nil  gc_used "rtx_def_UnKnown"
                              (!srcfileloc  "rtl.h" 452)
                              (!fields 1 
                               (!pair  ".fld[0].rt_int"
                                (!type already_seen 2)
                                (!srcfileloc  "gengtype.c" 1330)
                                (!options 
                                 (!option dot string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "gengtype.c" 1365)
                             (!options 
                              (!option tag string  "UNKNOWN")
                              (!option dot string  "")
                             )
                            )
                           )
                           (!options 
                            (!option dot string  "")
                           )
                           2047 nil )
                          (!srcfileloc  "rtl.h" 452)
                          (!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")
                        )
                        2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1762)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1984)
                   (!options 
                    (!option tag string  "TS_DECL_WRTL")
                   )
                  )
                  (!pair  "decl_non_common"
                   (!type struct 315 nil  gc_used "tree_decl_non_common"
                    (!srcfileloc  "tree-core.h" 1838)
                    (!fields 2 
                     (!pair  "common"
                      (!type struct 316 nil  gc_used "tree_decl_with_vis"
                       (!srcfileloc  "tree-core.h" 1828)
                       (!fields 20 
                        (!pair  "common"
                         (!type already_seen 99)
                         (!srcfileloc  "tree-core.h" 1795)
                         nil )
                        (!pair  "assembler_name"
                         (!type already_seen 23)
                         (!srcfileloc  "tree-core.h" 1796)
                         nil )
                        (!pair  "symtab_node"
                         (!type pointer 317 nil  gc_used
                          (!type struct 318 
                           (!type already_seen 317)
                           gc_pointed_to "symtab_node"
                           (!srcfileloc  "cgraph.h" 661)
                           (!fields 41 
                            (!pair  "DEBUG_FUNCTION"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 161)
                             nil )
                            (!pair  "DEBUG_FUNCTION"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 164)
                             nil )
                            (!pair  "type"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 473)
                             nil )
                            (!pair  "resolution"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 476)
                             nil )
                            (!pair  "definition"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 482)
                             nil )
                            (!pair  "alias"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 485)
                             nil )
                            (!pair  "transparent_alias"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 507)
                             nil )
                            (!pair  "weakref"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 509)
                             nil )
                            (!pair  "cpp_implicit_alias"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 516)
                             nil )
                            (!pair  "symver"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 518)
                             nil )
                            (!pair  "analyzed"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 521)
                             nil )
                            (!pair  "writeonly"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 523)
                             nil )
                            (!pair  "refuse_visibility_changes"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 526)
                             nil )
                            (!pair  "externally_visible"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 531)
                             nil )
                            (!pair  "no_reorder"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 533)
                             nil )
                            (!pair  "force_output"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 536)
                             nil )
                            (!pair  "forced_by_abi"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 540)
                             nil )
                            (!pair  "unique_name"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 542)
                             nil )
                            (!pair  "implicit_section"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 545)
                             nil )
                            (!pair  "body_removed"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 548)
                             nil )
                            (!pair  "used_from_other_partition"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 555)
                             nil )
                            (!pair  "in_other_partition"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 559)
                             nil )
                            (!pair  "address_taken"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 566)
                             nil )
                            (!pair  "in_init_priority_hash"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 568)
                             nil )
                            (!pair  "need_lto_streaming"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 572)
                             nil )
                            (!pair  "offloadable"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 575)
                             nil )
                            (!pair  "ifunc_resolver"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 578)
                             nil )
                            (!pair  "order"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 582)
                             nil )
                            (!pair  "decl"
                             (!type already_seen 23)
                             (!srcfileloc  "cgraph.h" 585)
                             nil )
                            (!pair  "next"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 588)
                             nil )
                            (!pair  "previous"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 589)
                             nil )
                            (!pair  "next_sharing_asm_name"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 600)
                             nil )
                            (!pair  "previous_sharing_asm_name"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 601)
                             nil )
                            (!pair  "same_comdat_group"
                             (!type already_seen 317)
                             (!srcfileloc  "cgraph.h" 604)
                             nil )
                            (!pair  "ref_list"
                             (!type struct 319 
                              (!type pointer 320 nil  gc_unused
                               (!type already_seen 319)
                              )
                              gc_used "ipa_ref_list"
                              (!srcfileloc  "cgraph.h" 607)
                              (!fields 2 
                               (!pair  "references"
                                (!type pointer 321 nil  gc_used
                                 (!type user_struct 322 
                                  (!type already_seen 321)
                                  gc_pointed_to "vec<ipa_ref_t,va_gc>"
                                  (!srcfileloc  "ipa-ref.h" 134)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 79)
                                    (!srcfileloc  "ipa-ref.h" 134)
                                    nil )
                                   (!pair  "ipa_ref_t"
                                    (!type struct 323 
                                     (!type pointer 324 nil  gc_unused
                                      (!type already_seen 323)
                                     )
                                     gc_used "ipa_ref"
                                     (!srcfileloc  "cgraph.h" 169)
                                     (!fields 8 
                                      (!pair  "referring"
                                       (!type already_seen 317)
                                       (!srcfileloc  "ipa-ref.h" 58)
                                       nil )
                                      (!pair  "referred"
                                       (!type already_seen 317)
                                       (!srcfileloc  "ipa-ref.h" 59)
                                       nil )
                                      (!pair  "stmt"
                                       (!type already_seen 280)
                                       (!srcfileloc  "ipa-ref.h" 60)
                                       nil )
                                      (!pair  "lto_stmt_uid"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 61)
                                       nil )
                                      (!pair  "speculative_id"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 64)
                                       nil )
                                      (!pair  "referred_index"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 65)
                                       nil )
                                      (!pair  "use"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 66)
                                       nil )
                                      (!pair  "speculative"
                                       (!type already_seen 2)
                                       (!srcfileloc  "ipa-ref.h" 67)
                                       nil )
                                     )
                                     nil 2047 nil nil )
                                    (!srcfileloc  "ipa-ref.h" 134)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "ipa-ref.h" 134)
                                nil )
                               (!pair  "referring"
                                (!type user_struct 325 nil  gc_unused "vec<ipa_ref_ptr>"
                                 (!srcfileloc  "ipa-ref.h" 137)
                                 (!fields 1 
                                  (!pair  "ipa_ref_ptr"
                                   (!type already_seen 324)
                                   (!srcfileloc  "ipa-ref.h" 137)
                                   nil )
                                 )
                                )
                                (!srcfileloc  "ipa-ref.h" 137)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                              )
                              nil 2047 nil nil )
                             (!srcfileloc  "cgraph.h" 607)
                             nil )
                            (!pair  "alias_target"
                             (!type already_seen 23)
                             (!srcfileloc  "cgraph.h" 612)
                             nil )
                            (!pair  "lto_file_data"
                             (!type pointer 326 
                              (!type pointer 327 nil  gc_used
                               (!type already_seen 326)
                              )
                              gc_pointed_to
                              (!type struct 328 
                               (!type already_seen 326)
                               gc_pointed_to "lto_file_decl_data"
                               (!srcfileloc  "lto-streamer.h" 632)
                               (!fields 18 
                                (!pair  "current_decl_state"
                                 (!type pointer 329 nil  gc_used
                                  (!type struct 330 
                                   (!type already_seen 329)
                                   gc_pointed_to "lto_in_decl_state"
                                   (!srcfileloc  "lto-streamer.h" 527)
                                   (!fields 3 
                                    (!pair  "streams"
                                     (!type array 331 nil  gc_used "LTO_N_DECL_STREAMS" 
                                      (!type already_seen 84)
                                     )
                                     (!srcfileloc  "lto-streamer.h" 519)
                                     nil )
                                    (!pair  "fn_decl"
                                     (!type already_seen 23)
                                     (!srcfileloc  "lto-streamer.h" 523)
                                     nil )
                                    (!pair  "compressed"
                                     (!type already_seen 2)
                                     (!srcfileloc  "lto-streamer.h" 526)
                                     nil )
                                   )
                                   (!options 
                                    (!option for_user string  "")
                                   )
                                   2047 nil nil )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 584)
                                 nil )
                                (!pair  "global_decl_state"
                                 (!type already_seen 329)
                                 (!srcfileloc  "lto-streamer.h" 588)
                                 nil )
                                (!pair  "symtab_node_encoder"
                                 (!type pointer 332 nil  gc_unused
                                  (!type struct 333 
                                   (!type already_seen 332)
                                   gc_unused "lto_symtab_encoder_d"nil 
                                   (!fields 0 )
                                   nil 0 nil nil )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 591)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "function_decl_states"
                                 (!type pointer 334 nil  gc_used
                                  (!type user_struct 335 
                                   (!type already_seen 334)
                                   gc_pointed_to "hash_table<decl_state_hasher>"
                                   (!srcfileloc  "lto-streamer.h" 594)
                                   (!fields 1 
                                    (!pair  "decl_state_hasher"
                                     (!type struct 336 nil  gc_used "decl_state_hasher"
                                      (!srcfileloc  "lto-streamer.h" 594)
                                      (!fields 0 )
                                      nil 2047 nil nil )
                                     (!srcfileloc  "lto-streamer.h" 594)
                                     nil )
                                   )
                                  )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 594)
                                 nil )
                                (!pair  "file_name"
                                 (!type already_seen 11)
                                 (!srcfileloc  "lto-streamer.h" 597)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "section_hash_table"
                                 (!type pointer 337 nil  gc_unused
                                  (!type struct 338 
                                   (!type already_seen 337)
                                   gc_unused "htab"nil 
                                   (!fields 0 )
                                   nil 0 nil nil )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 600)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "renaming_hash_table"
                                 (!type already_seen 337)
                                 (!srcfileloc  "lto-streamer.h" 603)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "next"
                                 (!type already_seen 326)
                                 (!srcfileloc  "lto-streamer.h" 606)
                                 nil )
                                (!pair  "order"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 609)
                                 nil )
                                (!pair  "id"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 612)
                                 nil )
                                (!pair  "respairs"
                                 (!type user_struct 339 nil  gc_unused "vec<res_pair>"
                                  (!srcfileloc  "lto-streamer.h" 615)
                                  (!fields 1 
                                   (!pair  "res_pair"
                                    (!type struct 340 nil  gc_unused "res_pair"
                                     (!srcfileloc  "lto-streamer.h" 615)
                                     (!fields 0 )
                                     nil 2047 nil nil )
                                    (!srcfileloc  "lto-streamer.h" 615)
                                    nil )
                                  )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 615)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "max_index"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 616)
                                 nil )
                                (!pair  "profile_info"
                                 (!type undefined 341 nil  gc_unused "gcov_summary"
                                  (!srcfileloc  "lto-streamer.h" 618)
                                 )
                                 (!srcfileloc  "lto-streamer.h" 618)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "resolution_map"
                                 (!type pointer 342 nil  gc_unused
                                  (!type user_struct 343 
                                   (!type already_seen 342)
                                   gc_unused "hash_map<tree,ld_plugin_symbol_resolution>"
                                   (!srcfileloc  "lto-streamer.h" 621)
                                   (!fields 2 
                                    (!pair  "ld_plugin_symbol_resolution"
                                     (!type undefined 344 nil  gc_unused "ld_plugin_symbol_resolution"
                                      (!srcfileloc  "lto-streamer.h" 621)
                                     )
                                     (!srcfileloc  "lto-streamer.h" 621)
                                     nil )
                                    (!pair  "tree"
                                     (!type already_seen 23)
                                     (!srcfileloc  "lto-streamer.h" 621)
                                     nil )
                                   )
                                  )
                                 )
                                 (!srcfileloc  "lto-streamer.h" 621)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                                (!pair  "mode_table"
                                 (!type already_seen 11)
                                 (!srcfileloc  "lto-streamer.h" 624)
                                 nil )
                                (!pair  "lto_section_header"
                                 (!type struct 345 nil  gc_used "lto_section"
                                  (!srcfileloc  "lto-streamer.h" 627)
                                  (!fields 0 )
                                  nil 2047 nil nil )
                                 (!srcfileloc  "lto-streamer.h" 627)
                                 nil )
                                (!pair  "order_base"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 629)
                                 nil )
                                (!pair  "unit_base"
                                 (!type already_seen 2)
                                 (!srcfileloc  "lto-streamer.h" 631)
                                 nil )
                               )
                               nil 2047 nil nil )
                             )
                             (!srcfileloc  "cgraph.h" 615)
                             nil )
                            (!pair  "aux"
                             (!type already_seen 3)
                             (!srcfileloc  "cgraph.h" 617)
                             (!options 
                              (!option skip string  "")
                             )
                            )
                            (!pair  "x_comdat_group"
                             (!type already_seen 23)
                             (!srcfileloc  "cgraph.h" 620)
                             nil )
                            (!pair  "x_section"
                             (!type pointer 346 nil  gc_used
                              (!type struct 347 
                               (!type already_seen 346)
                               gc_pointed_to "section_hash_entry"
                               (!srcfileloc  "cgraph.h" 623)
                               (!fields 2 
                                (!pair  "ref_count"
                                 (!type already_seen 2)
                                 (!srcfileloc  "cgraph.h" 54)
                                 nil )
                                (!pair  "name"
                                 (!type already_seen 11)
                                 (!srcfileloc  "cgraph.h" 55)
                                 nil )
                               )
                               (!options 
                                (!option for_user string  "")
                               )
                               2047 nil nil )
                             )
                             (!srcfileloc  "cgraph.h" 623)
                             nil )
                            (!pair  "DEBUG_FUNCTION"
                             (!type already_seen 2)
                             (!srcfileloc  "cgraph.h" 630)
                             nil )
                           )
                           (!options 
                            (!option chain_prev string  "%h.previous")
                            (!option chain_next string  "%h.next")
                            (!option tag string  "SYMTAB_SYMBOL")
                            (!option desc string  "%h.type")
                           )
                           2047 nil nil )
                         )
                         (!srcfileloc  "tree-core.h" 1797)
                         nil )
                        (!pair  "defer_output"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1800)
                         nil )
                        (!pair  "hard_register"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1801)
                         nil )
                        (!pair  "common_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1802)
                         nil )
                        (!pair  "in_text_section"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1803)
                         nil )
                        (!pair  "in_constant_pool"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1804)
                         nil )
                        (!pair  "dllimport_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1805)
                         nil )
                        (!pair  "weak_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1807)
                         nil )
                        (!pair  "seen_in_bind_expr"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1809)
                         nil )
                        (!pair  "comdat_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1810)
                         nil )
                        (!pair  "visibility"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1812)
                         nil )
                        (!pair  "visibility_specified"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1813)
                         nil )
                        (!pair  "init_priority_p"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1816)
                         nil )
                        (!pair  "shadowed_for_var_p"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1818)
                         nil )
                        (!pair  "cxx_constructor"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1820)
                         nil )
                        (!pair  "cxx_destructor"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1822)
                         nil )
                        (!pair  "final"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1824)
                         nil )
                        (!pair  "regdecl_flag"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1826)
                         nil )
                       )
                       nil 2047 nil nil )
                      (!srcfileloc  "tree-core.h" 1835)
                      nil )
                     (!pair  "result"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1837)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1986)
                   (!options 
                    (!option tag string  "TS_DECL_NON_COMMON")
                   )
                  )
                  (!pair  "parm_decl"
                   (!type struct 348 nil  gc_used "tree_parm_decl"
                    (!srcfileloc  "tree-core.h" 1792)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 99)
                      (!srcfileloc  "tree-core.h" 1790)
                      nil )
                     (!pair  "incoming_rtl"
                      (!type already_seen 100)
                      (!srcfileloc  "tree-core.h" 1791)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1987)
                   (!options 
                    (!option tag string  "TS_PARM_DECL")
                   )
                  )
                  (!pair  "decl_with_vis"
                   (!type already_seen 316)
                   (!srcfileloc  "tree-core.h" 1988)
                   (!options 
                    (!option tag string  "TS_DECL_WITH_VIS")
                   )
                  )
                  (!pair  "var_decl"
                   (!type struct 349 nil  gc_used "tree_var_decl"
                    (!srcfileloc  "tree-core.h" 1832)
                    (!fields 1 
                     (!pair  "common"
                      (!type already_seen 316)
                      (!srcfileloc  "tree-core.h" 1831)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1989)
                   (!options 
                    (!option tag string  "TS_VAR_DECL")
                   )
                  )
                  (!pair  "field_decl"
                   (!type struct 350 nil  gc_used "tree_field_decl"
                    (!srcfileloc  "tree-core.h" 1773)
                    (!fields 6 
                     (!pair  "common"
                      (!type already_seen 53)
                      (!srcfileloc  "tree-core.h" 1766)
                      nil )
                     (!pair  "offset"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1768)
                      nil )
                     (!pair  "bit_field_type"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1769)
                      nil )
                     (!pair  "qualifier"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1770)
                      nil )
                     (!pair  "bit_offset"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1771)
                      nil )
                     (!pair  "fcontext"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1772)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1990)
                   (!options 
                    (!option tag string  "TS_FIELD_DECL")
                   )
                  )
                  (!pair  "label_decl"
                   (!type struct 351 nil  gc_used "tree_label_decl"
                    (!srcfileloc  "tree-core.h" 1779)
                    (!fields 3 
                     (!pair  "common"
                      (!type already_seen 99)
                      (!srcfileloc  "tree-core.h" 1776)
                      nil )
                     (!pair  "label_decl_uid"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1777)
                      nil )
                     (!pair  "eh_landing_pad_nr"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1778)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1991)
                   (!options 
                    (!option tag string  "TS_LABEL_DECL")
                   )
                  )
                  (!pair  "result_decl"
                   (!type struct 352 nil  gc_used "tree_result_decl"
                    (!srcfileloc  "tree-core.h" 1783)
                    (!fields 1 
                     (!pair  "common"
                      (!type already_seen 99)
                      (!srcfileloc  "tree-core.h" 1782)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1992)
                   (!options 
                    (!option tag string  "TS_RESULT_DECL")
                   )
                  )
                  (!pair  "const_decl"
                   (!type struct 353 nil  gc_used "tree_const_decl"
                    (!srcfileloc  "tree-core.h" 1787)
                    (!fields 1 
                     (!pair  "common"
                      (!type already_seen 53)
                      (!srcfileloc  "tree-core.h" 1786)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1993)
                   (!options 
                    (!option tag string  "TS_CONST_DECL")
                   )
                  )
                  (!pair  "type_decl"
                   (!type struct 354 nil  gc_used "tree_type_decl"
                    (!srcfileloc  "tree-core.h" 1916)
                    (!fields 1 
                     (!pair  "common"
                      (!type already_seen 315)
                      (!srcfileloc  "tree-core.h" 1914)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1994)
                   (!options 
                    (!option tag string  "TS_TYPE_DECL")
                   )
                  )
                  (!pair  "function_decl"
                   (!type struct 355 nil  gc_used "tree_function_decl"
                    (!srcfileloc  "tree-core.h" 1903)
                    (!fields 28 
                     (!pair  "common"
                      (!type already_seen 315)
                      (!srcfileloc  "tree-core.h" 1858)
                      nil )
                     (!pair  "f"
                      (!type pointer 356 nil  gc_used
                       (!type struct 357 
                        (!type already_seen 356)
                        gc_pointed_to "function"
                        (!srcfileloc  "function.h" 424)
                        (!fields 48 
                         (!pair  "eh"
                          (!type pointer 358 nil  gc_used
                           (!type struct 359 
                            (!type already_seen 358)
                            gc_pointed_to "eh_status"
                            (!srcfileloc  "except.h" 218)
                            (!fields 6 
                             (!pair  "region_tree"
                              (!type pointer 360 nil  gc_used
                               (!type struct 361 
                                (!type already_seen 360)
                                gc_pointed_to "eh_region_d"
                                (!srcfileloc  "except.h" 180)
                                (!fields 10 
                                 (!pair  "outer"
                                  (!type already_seen 360)
                                  (!srcfileloc  "except.h" 121)
                                  nil )
                                 (!pair  "inner"
                                  (!type already_seen 360)
                                  (!srcfileloc  "except.h" 124)
                                  nil )
                                 (!pair  "next_peer"
                                  (!type already_seen 360)
                                  (!srcfileloc  "except.h" 125)
                                  nil )
                                 (!pair  "index"
                                  (!type already_seen 2)
                                  (!srcfileloc  "except.h" 128)
                                  nil )
                                 (!pair  "type"
                                  (!type already_seen 2)
                                  (!srcfileloc  "except.h" 131)
                                  nil )
                                 (!pair  "u"
                                  (!type union 362 nil  gc_used "eh_region_u"
                                   (!srcfileloc  "except.h" 167)
                                   (!fields 3 
                                    (!pair  "eh_try"
                                     (!type struct 363 nil  gc_used "eh_region_u_try"
                                      (!srcfileloc  "except.h" 139)
                                      (!fields 2 
                                       (!pair  "first_catch"
                                        (!type pointer 364 nil  gc_used
                                         (!type struct 365 
                                          (!type already_seen 364)
                                          gc_pointed_to "eh_catch_d"
                                          (!srcfileloc  "except.h" 114)
                                          (!fields 5 
                                           (!pair  "next_catch"
                                            (!type already_seen 364)
                                            (!srcfileloc  "except.h" 98)
                                            nil )
                                           (!pair  "prev_catch"
                                            (!type already_seen 364)
                                            (!srcfileloc  "except.h" 99)
                                            nil )
                                           (!pair  "type_list"
                                            (!type already_seen 23)
                                            (!srcfileloc  "except.h" 103)
                                            nil )
                                           (!pair  "filter_list"
                                            (!type already_seen 23)
                                            (!srcfileloc  "except.h" 108)
                                            nil )
                                           (!pair  "label"
                                            (!type already_seen 23)
                                            (!srcfileloc  "except.h" 113)
                                            nil )
                                          )
                                          nil 2047 nil nil )
                                        )
                                        (!srcfileloc  "except.h" 137)
                                        nil )
                                       (!pair  "last_catch"
                                        (!type already_seen 364)
                                        (!srcfileloc  "except.h" 138)
                                        nil )
                                      )
                                      nil 2047 nil nil )
                                     (!srcfileloc  "except.h" 139)
                                     (!options 
                                      (!option tag string  "ERT_TRY")
                                     )
                                    )
                                    (!pair  "allowed"
                                     (!type struct 366 nil  gc_used "eh_region_u_allowed"
                                      (!srcfileloc  "except.h" 153)
                                      (!fields 3 
                                       (!pair  "type_list"
                                        (!type already_seen 23)
                                        (!srcfileloc  "except.h" 143)
                                        nil )
                                       (!pair  "label"
                                        (!type already_seen 23)
                                        (!srcfileloc  "except.h" 147)
                                        nil )
                                       (!pair  "filter"
                                        (!type already_seen 2)
                                        (!srcfileloc  "except.h" 152)
                                        nil )
                                      )
                                      nil 2047 nil nil )
                                     (!srcfileloc  "except.h" 153)
                                     (!options 
                                      (!option tag string  "ERT_ALLOWED_EXCEPTIONS")
                                     )
                                    )
                                    (!pair  "must_not_throw"
                                     (!type struct 367 nil  gc_used "eh_region_u_must_not_throw"
                                      (!srcfileloc  "except.h" 166)
                                      (!fields 2 
                                       (!pair  "failure_decl"
                                        (!type already_seen 23)
                                        (!srcfileloc  "except.h" 163)
                                        nil )
                                       (!pair  "failure_loc"
                                        (!type already_seen 2)
                                        (!srcfileloc  "except.h" 165)
                                        nil )
                                      )
                                      nil 2047 nil nil )
                                     (!srcfileloc  "except.h" 166)
                                     (!options 
                                      (!option tag string  "ERT_MUST_NOT_THROW")
                                     )
                                    )
                                   )
                                   nil 2047 nil )
                                  (!srcfileloc  "except.h" 167)
                                  (!options 
                                   (!option desc string  "%0.type")
                                  )
                                 )
                                 (!pair  "landing_pads"
                                  (!type pointer 368 nil  gc_used
                                   (!type struct 369 
                                    (!type already_seen 368)
                                    gc_pointed_to "eh_landing_pad_d"
                                    (!srcfileloc  "except.h" 91)
                                    (!fields 5 
                                     (!pair  "next_lp"
                                      (!type already_seen 368)
                                      (!srcfileloc  "except.h" 72)
                                      nil )
                                     (!pair  "region"
                                      (!type already_seen 360)
                                      (!srcfileloc  "except.h" 75)
                                      nil )
                                     (!pair  "post_landing_pad"
                                      (!type already_seen 23)
                                      (!srcfileloc  "except.h" 80)
                                      nil )
                                     (!pair  "landing_pad"
                                      (!type pointer 370 nil  gc_used
                                       (!type struct 371 
                                        (!type already_seen 370)
                                        gc_pointed_to "rtx_code_label"
                                        (!srcfileloc  "function.h" 140)
                                        (!fields 0 )
                                        nil 2047 nil 
                                        (!type already_seen 296)
                                       )
                                      )
                                      (!srcfileloc  "except.h" 87)
                                      nil )
                                     (!pair  "index"
                                      (!type already_seen 2)
                                      (!srcfileloc  "except.h" 90)
                                      nil )
                                    )
                                    nil 2047 nil nil )
                                  )
                                  (!srcfileloc  "except.h" 170)
                                  nil )
                                 (!pair  "exc_ptr_reg"
                                  (!type already_seen 100)
                                  (!srcfileloc  "except.h" 175)
                                  nil )
                                 (!pair  "filter_reg"
                                  (!type already_seen 100)
                                  (!srcfileloc  "except.h" 175)
                                  nil )
                                 (!pair  "use_cxa_end_cleanup"
                                  (!type already_seen 2)
                                  (!srcfileloc  "except.h" 179)
                                  nil )
                                )
                                nil 2047 nil nil )
                              )
                              (!srcfileloc  "except.h" 194)
                              nil )
                             (!pair  "region_array"
                              (!type pointer 372 nil  gc_used
                               (!type user_struct 373 
                                (!type already_seen 372)
                                gc_pointed_to "vec<eh_region,va_gc>"
                                (!srcfileloc  "except.h" 197)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "except.h" 197)
                                  nil )
                                 (!pair  "eh_region"
                                  (!type already_seen 360)
                                  (!srcfileloc  "except.h" 197)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "except.h" 197)
                              nil )
                             (!pair  "lp_array"
                              (!type pointer 374 nil  gc_used
                               (!type user_struct 375 
                                (!type already_seen 374)
                                gc_pointed_to "vec<eh_landing_pad,va_gc>"
                                (!srcfileloc  "except.h" 200)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "except.h" 200)
                                  nil )
                                 (!pair  "eh_landing_pad"
                                  (!type already_seen 368)
                                  (!srcfileloc  "except.h" 200)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "except.h" 200)
                              nil )
                             (!pair  "throw_stmt_table"
                              (!type pointer 376 nil  gc_used
                               (!type user_struct 377 
                                (!type already_seen 376)
                                gc_pointed_to "hash_map<gimple*,int>"
                                (!srcfileloc  "except.h" 204)
                                (!fields 2 
                                 (!pair  "int"
                                  (!type undefined 378 nil  gc_unused "int"
                                   (!srcfileloc  "coretypes.h" 352)
                                  )
                                  (!srcfileloc  "except.h" 204)
                                  nil )
                                 (!pair  "gimple"
                                  (!type already_seen 280)
                                  (!srcfileloc  "except.h" 204)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "except.h" 204)
                              nil )
                             (!pair  "ttype_data"
                              (!type already_seen 84)
                              (!srcfileloc  "except.h" 208)
                              nil )
                             (!pair  "ehspec_data"
                              (!type union 379 nil  gc_used "eh_status_u"
                               (!srcfileloc  "except.h" 217)
                               (!fields 2 
                                (!pair  "arm_eabi"
                                 (!type already_seen 84)
                                 (!srcfileloc  "except.h" 215)
                                 (!options 
                                  (!option tag string  "1")
                                 )
                                )
                                (!pair  "other"
                                 (!type pointer 380 nil  gc_used
                                  (!type user_struct 381 
                                   (!type already_seen 380)
                                   gc_pointed_to "vec<uchar,va_gc>"
                                   (!srcfileloc  "function.h" 145)
                                   (!fields 2 
                                    (!pair  "va_gc"
                                     (!type already_seen 79)
                                     (!srcfileloc  "function.h" 145)
                                     nil )
                                    (!pair  "uchar"
                                     (!type already_seen 8)
                                     (!srcfileloc  "function.h" 145)
                                     nil )
                                   )
                                  )
                                 )
                                 (!srcfileloc  "except.h" 216)
                                 (!options 
                                  (!option tag string  "0")
                                 )
                                )
                               )
                               nil 2047 nil )
                              (!srcfileloc  "except.h" 217)
                              (!options 
                               (!option desc string  "targetm.arm_eabi_unwinder")
                              )
                             )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 249)
                          nil )
                         (!pair  "cfg"
                          (!type pointer 382 nil  gc_used
                           (!type struct 383 
                            (!type already_seen 382)
                            gc_pointed_to "control_flow_graph"
                            (!srcfileloc  "cfg.h" 81)
                            (!fields 15 
                             (!pair  "x_entry_block_ptr"
                              (!type already_seen 267)
                              (!srcfileloc  "cfg.h" 41)
                              nil )
                             (!pair  "x_exit_block_ptr"
                              (!type already_seen 267)
                              (!srcfileloc  "cfg.h" 42)
                              nil )
                             (!pair  "x_basic_block_info"
                              (!type pointer 384 nil  gc_used
                               (!type user_struct 385 
                                (!type already_seen 384)
                                gc_pointed_to "vec<basic_block,va_gc>"
                                (!srcfileloc  "cfg.h" 45)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "cfg.h" 45)
                                  nil )
                                 (!pair  "basic_block"
                                  (!type already_seen 267)
                                  (!srcfileloc  "cfg.h" 45)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "cfg.h" 45)
                              nil )
                             (!pair  "x_n_basic_blocks"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 48)
                              nil )
                             (!pair  "x_n_edges"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 51)
                              nil )
                             (!pair  "x_last_basic_block"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 54)
                              nil )
                             (!pair  "last_label_uid"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 57)
                              nil )
                             (!pair  "x_label_to_block_map"
                              (!type already_seen 384)
                              (!srcfileloc  "cfg.h" 61)
                              nil )
                             (!pair  "x_profile_status"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 63)
                              nil )
                             (!pair  "x_dom_computed"
                              (!type array 386 nil  gc_used "2" 
                               (!type already_seen 2)
                              )
                              (!srcfileloc  "cfg.h" 66)
                              nil )
                             (!pair  "x_n_bbs_in_dom_tree"
                              (!type array 387 nil  gc_used "2" 
                               (!type already_seen 2)
                              )
                              (!srcfileloc  "cfg.h" 69)
                              nil )
                             (!pair  "max_jumptable_ents"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 73)
                              nil )
                             (!pair  "count_max"
                              (!type already_seen 299)
                              (!srcfileloc  "cfg.h" 76)
                              nil )
                             (!pair  "edge_flags_allocated"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 79)
                              nil )
                             (!pair  "bb_flags_allocated"
                              (!type already_seen 2)
                              (!srcfileloc  "cfg.h" 80)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 252)
                          nil )
                         (!pair  "gimple_body"
                          (!type already_seen 280)
                          (!srcfileloc  "function.h" 255)
                          nil )
                         (!pair  "gimple_df"
                          (!type pointer 388 nil  gc_used
                           (!type struct 389 
                            (!type already_seen 388)
                            gc_pointed_to "gimple_df"
                            (!srcfileloc  "gimple-ssa.h" 115)
                            (!fields 13 
                             (!pair  "ssa_names"
                              (!type already_seen 84)
                              (!srcfileloc  "gimple-ssa.h" 74)
                              nil )
                             (!pair  "vop"
                              (!type already_seen 23)
                              (!srcfileloc  "gimple-ssa.h" 77)
                              nil )
                             (!pair  "escaped"
                              (!type struct 390 nil  gc_used "pt_solution"
                               (!srcfileloc  "tree-ssa-alias.h" 65)
                               (!fields 11 
                                (!pair  "anything"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 32)
                                 nil )
                                (!pair  "nonlocal"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 36)
                                 nil )
                                (!pair  "escaped"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 40)
                                 nil )
                                (!pair  "ipa_escaped"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 44)
                                 nil )
                                (!pair  "null"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 48)
                                 nil )
                                (!pair  "vars_contains_nonlocal"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 51)
                                 nil )
                                (!pair  "vars_contains_escaped"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 53)
                                 nil )
                                (!pair  "vars_contains_escaped_heap"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 56)
                                 nil )
                                (!pair  "vars_contains_restrict"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 59)
                                 nil )
                                (!pair  "vars_contains_interposable"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-alias.h" 61)
                                 nil )
                                (!pair  "vars"
                                 (!type pointer 391 nil  gc_used
                                  (!type struct 392 
                                   (!type already_seen 391)
                                   gc_pointed_to "bitmap_head"
                                   (!srcfileloc  "bitmap.h" 361)
                                   (!fields 7 
                                    (!pair  "indx"
                                     (!type already_seen 2)
                                     (!srcfileloc  "bitmap.h" 335)
                                     nil )
                                    (!pair  "tree_form"
                                     (!type already_seen 2)
                                     (!srcfileloc  "bitmap.h" 338)
                                     nil )
                                    (!pair  "padding"
                                     (!type already_seen 2)
                                     (!srcfileloc  "bitmap.h" 340)
                                     nil )
                                    (!pair  "alloc_descriptor"
                                     (!type already_seen 2)
                                     (!srcfileloc  "bitmap.h" 342)
                                     nil )
                                    (!pair  "first"
                                     (!type pointer 393 nil  gc_used
                                      (!type struct 394 
                                       (!type already_seen 393)
                                       gc_pointed_to "bitmap_element"
                                       (!srcfileloc  "bitmap.h" 345)
                                       (!fields 4 
                                        (!pair  "next"
                                         (!type already_seen 393)
                                         (!srcfileloc  "bitmap.h" 313)
                                         nil )
                                        (!pair  "prev"
                                         (!type already_seen 393)
                                         (!srcfileloc  "bitmap.h" 316)
                                         nil )
                                        (!pair  "indx"
                                         (!type already_seen 2)
                                         (!srcfileloc  "bitmap.h" 318)
                                         nil )
                                        (!pair  "bits"
                                         (!type array 395 nil  gc_used "BITMAP_ELEMENT_WORDS" 
                                          (!type already_seen 2)
                                         )
                                         (!srcfileloc  "bitmap.h" 320)
                                         nil )
                                       )
                                       (!options 
                                        (!option chain_next string  "%h.next")
                                       )
                                       2047 nil nil )
                                     )
                                     (!srcfileloc  "bitmap.h" 345)
                                     nil )
                                    (!pair  "current"
                                     (!type already_seen 393)
                                     (!srcfileloc  "bitmap.h" 347)
                                     (!options 
                                      (!option skip string  "")
                                     )
                                    )
                                    (!pair  "obstack"
                                     (!type pointer 396 nil  gc_unused
                                      (!type struct 397 
                                       (!type already_seen 396)
                                       gc_unused "bitmap_obstack"
                                       (!srcfileloc  "bitmap.h" 349)
                                       (!fields 0 )
                                       nil 2047 nil nil )
                                     )
                                     (!srcfileloc  "bitmap.h" 349)
                                     (!options 
                                      (!option skip string  "")
                                     )
                                    )
                                   )
                                   nil 2047 nil nil )
                                 )
                                 (!srcfileloc  "tree-ssa-alias.h" 64)
                                 nil )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "gimple-ssa.h" 80)
                              nil )
                             (!pair  "decls_to_pointers"
                              (!type pointer 398 nil  gc_used
                               (!type user_struct 399 
                                (!type already_seen 398)
                                gc_pointed_to "hash_map<tree,tree>"
                                (!srcfileloc  "gimple-ssa.h" 84)
                                (!fields 2 
                                 (!pair  "tree"
                                  (!type already_seen 23)
                                  (!srcfileloc  "gimple-ssa.h" 84)
                                  nil )
                                 (!pair  "tree"
                                  (!type already_seen 23)
                                  (!srcfileloc  "gimple-ssa.h" 84)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "gimple-ssa.h" 84)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                             (!pair  "free_ssanames"
                              (!type already_seen 84)
                              (!srcfileloc  "gimple-ssa.h" 87)
                              nil )
                             (!pair  "free_ssanames_queue"
                              (!type already_seen 84)
                              (!srcfileloc  "gimple-ssa.h" 90)
                              nil )
                             (!pair  "default_defs"
                              (!type pointer 400 nil  gc_used
                               (!type user_struct 401 
                                (!type already_seen 400)
                                gc_pointed_to "hash_table<ssa_name_hasher>"
                                (!srcfileloc  "gimple-ssa.h" 96)
                                (!fields 1 
                                 (!pair  "ssa_name_hasher"
                                  (!type struct 402 nil  gc_used "ssa_name_hasher"
                                   (!srcfileloc  "gimple-ssa.h" 96)
                                   (!fields 0 )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "gimple-ssa.h" 96)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "gimple-ssa.h" 96)
                              nil )
                             (!pair  "ssa_renaming_needed"
                              (!type already_seen 2)
                              (!srcfileloc  "gimple-ssa.h" 99)
                              nil )
                             (!pair  "rename_vops"
                              (!type already_seen 2)
                              (!srcfileloc  "gimple-ssa.h" 102)
                              nil )
                             (!pair  "in_ssa_p"
                              (!type already_seen 2)
                              (!srcfileloc  "gimple-ssa.h" 105)
                              nil )
                             (!pair  "ipa_pta"
                              (!type already_seen 2)
                              (!srcfileloc  "gimple-ssa.h" 108)
                              nil )
                             (!pair  "ssa_operands"
                              (!type struct 403 nil  gc_used "ssa_operands"
                               (!srcfileloc  "tree-ssa-operands.h" 63)
                               (!fields 5 
                                (!pair  "operand_memory"
                                 (!type pointer 404 nil  gc_used
                                  (!type struct 405 
                                   (!type already_seen 404)
                                   gc_pointed_to "ssa_operand_memory_d"
                                   (!srcfileloc  "tree-ssa-operands.h" 51)
                                   (!fields 2 
                                    (!pair  "next"
                                     (!type already_seen 404)
                                     (!srcfileloc  "tree-ssa-operands.h" 49)
                                     nil )
                                    (!pair  "mem"
                                     (!type array 406 nil  gc_used "1" 
                                      (!type already_seen 8)
                                     )
                                     (!srcfileloc  "tree-ssa-operands.h" 50)
                                     nil )
                                   )
                                   (!options 
                                    (!option chain_next string  "%h.next")
                                   )
                                   2047 nil nil )
                                 )
                                 (!srcfileloc  "tree-ssa-operands.h" 55)
                                 nil )
                                (!pair  "operand_memory_index"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-operands.h" 56)
                                 nil )
                                (!pair  "ssa_operand_mem_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-operands.h" 58)
                                 nil )
                                (!pair  "ops_active"
                                 (!type already_seen 2)
                                 (!srcfileloc  "tree-ssa-operands.h" 60)
                                 nil )
                                (!pair  "free_uses"
                                 (!type pointer 407 nil  gc_unused
                                  (!type struct 408 
                                   (!type already_seen 407)
                                   gc_unused "use_optype_d"nil 
                                   (!fields 0 )
                                   nil 0 nil nil )
                                 )
                                 (!srcfileloc  "tree-ssa-operands.h" 62)
                                 (!options 
                                  (!option skip string  "")
                                 )
                                )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "gimple-ssa.h" 110)
                              nil )
                             (!pair  "tm_restart"
                              (!type pointer 409 nil  gc_used
                               (!type user_struct 410 
                                (!type already_seen 409)
                                gc_pointed_to "hash_table<tm_restart_hasher>"
                                (!srcfileloc  "gimple-ssa.h" 114)
                                (!fields 1 
                                 (!pair  "tm_restart_hasher"
                                  (!type struct 411 nil  gc_used "tm_restart_hasher"
                                   (!srcfileloc  "gimple-ssa.h" 114)
                                   (!fields 0 )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "gimple-ssa.h" 114)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "gimple-ssa.h" 114)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 258)
                          nil )
                         (!pair  "x_current_loops"
                          (!type pointer 412 nil  gc_used
                           (!type struct 413 
                            (!type already_seen 412)
                            gc_pointed_to "loops"
                            (!srcfileloc  "cfgloop.h" 335)
                            (!fields 4 
                             (!pair  "state"
                              (!type already_seen 2)
                              (!srcfileloc  "cfgloop.h" 323)
                              nil )
                             (!pair  "larray"
                              (!type already_seen 276)
                              (!srcfileloc  "cfgloop.h" 326)
                              nil )
                             (!pair  "exits"
                              (!type pointer 414 nil  gc_used
                               (!type user_struct 415 
                                (!type already_seen 414)
                                gc_pointed_to "hash_table<loop_exit_hasher>"
                                (!srcfileloc  "cfgloop.h" 331)
                                (!fields 1 
                                 (!pair  "loop_exit_hasher"
                                  (!type struct 416 nil  gc_used "loop_exit_hasher"
                                   (!srcfileloc  "cfgloop.h" 331)
                                   (!fields 0 )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "cfgloop.h" 331)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "cfgloop.h" 331)
                              nil )
                             (!pair  "tree_root"
                              (!type already_seen 273)
                              (!srcfileloc  "cfgloop.h" 334)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 261)
                          nil )
                         (!pair  "pass_startwith"
                          (!type already_seen 11)
                          (!srcfileloc  "function.h" 264)
                          nil )
                         (!pair  "su"
                          (!type pointer 417 nil  gc_used
                           (!type struct 418 
                            (!type already_seen 417)
                            gc_pointed_to "stack_usage"
                            (!srcfileloc  "function.h" 234)
                            (!fields 6 
                             (!pair  "static_stack_size"
                              (!type already_seen 2)
                              (!srcfileloc  "function.h" 213)
                              nil )
                             (!pair  "dynamic_stack_size"
                              (!type already_seen 2)
                              (!srcfileloc  "function.h" 217)
                              nil )
                             (!pair  "pushed_stack_size"
                              (!type already_seen 2)
                              (!srcfileloc  "function.h" 222)
                              nil )
                             (!pair  "has_unbounded_dynamic_stack_size"
                              (!type already_seen 2)
                              (!srcfileloc  "function.h" 226)
                              nil )
                             (!pair  "callees"
                              (!type pointer 419 nil  gc_used
                               (!type user_struct 420 
                                (!type already_seen 419)
                                gc_pointed_to "vec<callinfo_callee,va_gc>"
                                (!srcfileloc  "function.h" 229)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "function.h" 229)
                                  nil )
                                 (!pair  "callinfo_callee"
                                  (!type struct 421 nil  gc_used "callinfo_callee"
                                   (!srcfileloc  "function.h" 229)
                                   (!fields 2 
                                    (!pair  "location"
                                     (!type already_seen 2)
                                     (!srcfileloc  "function.h" 198)
                                     nil )
                                    (!pair  "decl"
                                     (!type already_seen 23)
                                     (!srcfileloc  "function.h" 199)
                                     nil )
                                   )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "function.h" 229)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "function.h" 229)
                              nil )
                             (!pair  "dallocs"
                              (!type pointer 422 nil  gc_used
                               (!type user_struct 423 
                                (!type already_seen 422)
                                gc_pointed_to "vec<callinfo_dalloc,va_gc>"
                                (!srcfileloc  "function.h" 233)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "function.h" 233)
                                  nil )
                                 (!pair  "callinfo_dalloc"
                                  (!type struct 424 nil  gc_used "callinfo_dalloc"
                                   (!srcfileloc  "function.h" 233)
                                   (!fields 2 
                                    (!pair  "location"
                                     (!type already_seen 2)
                                     (!srcfileloc  "function.h" 205)
                                     nil )
                                    (!pair  "name"
                                     (!type already_seen 11)
                                     (!srcfileloc  "function.h" 206)
                                     nil )
                                   )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "function.h" 233)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "function.h" 233)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 267)
                          nil )
                         (!pair  "value_histograms"
                          (!type already_seen 337)
                          (!srcfileloc  "function.h" 270)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "decl"
                          (!type already_seen 23)
                          (!srcfileloc  "function.h" 275)
                          nil )
                         (!pair  "static_chain_decl"
                          (!type already_seen 23)
                          (!srcfileloc  "function.h" 279)
                          nil )
                         (!pair  "nonlocal_goto_save_area"
                          (!type already_seen 23)
                          (!srcfileloc  "function.h" 284)
                          nil )
                         (!pair  "local_decls"
                          (!type already_seen 84)
                          (!srcfileloc  "function.h" 287)
                          nil )
                         (!pair  "machine"
                          (!type pointer 425 nil  gc_unused
                           (!type struct 426 
                            (!type already_seen 425)
                            gc_maybe_pointed_to "machine_function"
                            (!srcfileloc  "config/i386/i386.h" 2857)
                            (!fields 28 
                             (!pair  "stack_locals"
                              (!type pointer 427 nil  gc_used
                               (!type struct 428 
                                (!type already_seen 427)
                                gc_pointed_to "stack_local_entry"
                                (!srcfileloc  "config/i386/i386.c" 338)
                                (!fields 4 
                                 (!pair  "mode"
                                  (!type already_seen 2)
                                  (!srcfileloc  "config/i386/i386.c" 334)
                                  nil )
                                 (!pair  "n"
                                  (!type already_seen 2)
                                  (!srcfileloc  "config/i386/i386.c" 335)
                                  nil )
                                 (!pair  "rtl"
                                  (!type already_seen 100)
                                  (!srcfileloc  "config/i386/i386.c" 336)
                                  nil )
                                 (!pair  "next"
                                  (!type already_seen 427)
                                  (!srcfileloc  "config/i386/i386.c" 337)
                                  nil )
                                )
                                nil 2047 nil nil )
                              )
                              (!srcfileloc  "config/i386/i386.h" 2753)
                              nil )
                             (!pair  "varargs_gpr_size"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2754)
                              nil )
                             (!pair  "varargs_fpr_size"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2755)
                              nil )
                             (!pair  "optimize_mode_switching"
                              (!type array 429 nil  gc_used "MAX_386_ENTITIES" 
                               (!type already_seen 2)
                              )
                              (!srcfileloc  "config/i386/i386.h" 2756)
                              nil )
                             (!pair  "frame"
                              (!type struct 430 nil  gc_used "ix86_frame"
                               (!srcfileloc  "config/i386/i386.h" 2678)
                               (!fields 16 
                                (!pair  "nsseregs"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2654)
                                 nil )
                                (!pair  "nregs"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2655)
                                 nil )
                                (!pair  "va_arg_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2656)
                                 nil )
                                (!pair  "red_zone_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2657)
                                 nil )
                                (!pair  "outgoing_arguments_size"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2658)
                                 nil )
                                (!pair  "frame_pointer_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2661)
                                 nil )
                                (!pair  "hard_frame_pointer_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2662)
                                 nil )
                                (!pair  "stack_pointer_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2663)
                                 nil )
                                (!pair  "hfp_save_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2664)
                                 nil )
                                (!pair  "reg_save_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2665)
                                 nil )
                                (!pair  "stack_realign_allocate"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2666)
                                 nil )
                                (!pair  "stack_realign_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2667)
                                 nil )
                                (!pair  "sse_reg_save_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2668)
                                 nil )
                                (!pair  "save_regs_using_mov"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2672)
                                 nil )
                                (!pair  "expensive_p"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2676)
                                 nil )
                                (!pair  "expensive_count"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2677)
                                 nil )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "config/i386/i386.h" 2759)
                              nil )
                             (!pair  "split_stack_varargs_pointer"
                              (!type already_seen 100)
                              (!srcfileloc  "config/i386/i386.h" 2766)
                              nil )
                             (!pair  "call_abi"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2770)
                              nil )
                             (!pair  "accesses_prev_frame"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2773)
                              nil )
                             (!pair  "use_fast_prologue_epilogue"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2777)
                              nil )
                             (!pair  "pc_thunk_call_expanded"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2781)
                              nil )
                             (!pair  "tls_descriptor_call_expanded_p"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2792)
                              nil )
                             (!pair  "static_chain_on_stack"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2796)
                              nil )
                             (!pair  "no_drap_save_restore"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2799)
                              nil )
                             (!pair  "func_type"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2802)
                              nil )
                             (!pair  "indirect_branch_type"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2805)
                              nil )
                             (!pair  "has_local_indirect_jump"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2809)
                              nil )
                             (!pair  "function_return_type"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2812)
                              nil )
                             (!pair  "no_caller_saved_registers"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2816)
                              nil )
                             (!pair  "arg_reg_available"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2823)
                              nil )
                             (!pair  "call_ms2sysv"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2827)
                              nil )
                             (!pair  "call_ms2sysv_pad_in"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2831)
                              nil )
                             (!pair  "call_ms2sysv_extra_regs"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2837)
                              nil )
                             (!pair  "outgoing_args_on_stack"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2840)
                              nil )
                             (!pair  "endbr_queued_at_entrance"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2843)
                              nil )
                             (!pair  "stack_frame_required"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2846)
                              nil )
                             (!pair  "max_used_stack_alignment"
                              (!type already_seen 2)
                              (!srcfileloc  "config/i386/i386.h" 2849)
                              nil )
                             (!pair  "fs"
                              (!type struct 431 nil  gc_used "machine_frame_state"
                               (!srcfileloc  "config/i386/i386.h" 2734)
                               (!fields 12 
                                (!pair  "cfa_reg"
                                 (!type already_seen 100)
                                 (!srcfileloc  "config/i386/i386.h" 2689)
                                 nil )
                                (!pair  "cfa_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2690)
                                 nil )
                                (!pair  "sp_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2696)
                                 nil )
                                (!pair  "fp_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2697)
                                 nil )
                                (!pair  "red_zone_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2703)
                                 nil )
                                (!pair  "sp_valid"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2709)
                                 nil )
                                (!pair  "fp_valid"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2710)
                                 nil )
                                (!pair  "drap_valid"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2711)
                                 nil )
                                (!pair  "realigned"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2716)
                                 nil )
                                (!pair  "sp_realigned"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2723)
                                 nil )
                                (!pair  "sp_realigned_fp_last"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2727)
                                 nil )
                                (!pair  "sp_realigned_offset"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/i386/i386.h" 2733)
                                 nil )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "config/i386/i386.h" 2853)
                              nil )
                             (!pair  "seh"
                              (!type pointer 432 nil  gc_unused
                               (!type struct 433 
                                (!type already_seen 432)
                                gc_unused "seh_frame_state"nil 
                                (!fields 0 )
                                nil 0 nil nil )
                              )
                              (!srcfileloc  "config/i386/i386.h" 2856)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 292)
                          (!options 
                           (!option maybe_undef string  "")
                          )
                         )
                         (!pair  "language"
                          (!type pointer 434 nil  gc_used
                           (!type lang_struct 435 
                            (!type already_seen 434)
                            gc_pointed_to "language_function"
                            (!srcfileloc  "ada/gcc-interface/trans.c" 120)
                            (!fields 0 )
                            nil 2047 
                            (!homotypes 9
                             (!type struct 436 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "lto/lto-tree.h" 42)
                              (!fields 1 
                               (!pair  "dummy"
                                (!type already_seen 2)
                                (!srcfileloc  "lto/lto-tree.h" 41)
                                nil )
                              )
                              nil 256 
                              (!type already_seen 435)
                              nil )
                             
                             (!type struct 437 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "jit/dummy-frontend.c" 71)
                              (!fields 1 
                               (!pair  "dummy"
                                (!type already_seen 2)
                                (!srcfileloc  "jit/dummy-frontend.c" 70)
                                nil )
                              )
                              nil 128 
                              (!type already_seen 435)
                              nil )
                             
                             (!type struct 438 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "go/go-lang.c" 84)
                              (!fields 1 
                               (!pair  "dummy"
                                (!type already_seen 2)
                                (!srcfileloc  "go/go-lang.c" 83)
                                nil )
                              )
                              nil 64 
                              (!type already_seen 435)
                              nil )
                             
                             (!type struct 439 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "fortran/f95-lang.c" 68)
                              (!fields 1 
                               (!pair  "binding_level"
                                (!type pointer 440 nil  gc_used
                                 (!type lang_struct 441 
                                  (!type already_seen 440)
                                  gc_pointed_to "binding_level"
                                  (!srcfileloc  "d/d-tree.h" 117)
                                  (!fields 0 )
                                  (!options 
                                   (!option chain_next string  "%h.level_chain")
                                  )
                                  48 
                                  (!homotypes 2
                                   (!type struct 442 nil  gc_pointed_to "binding_level"
                                    (!srcfileloc  "fortran/f95-lang.c" 304)
                                    (!fields 4 
                                     (!pair  "names"
                                      (!type already_seen 23)
                                      (!srcfileloc  "fortran/f95-lang.c" 295)
                                      nil )
                                     (!pair  "blocks"
                                      (!type already_seen 23)
                                      (!srcfileloc  "fortran/f95-lang.c" 298)
                                      nil )
                                     (!pair  "level_chain"
                                      (!type already_seen 440)
                                      (!srcfileloc  "fortran/f95-lang.c" 300)
                                      nil )
                                     (!pair  "reversed"
                                      (!type already_seen 2)
                                      (!srcfileloc  "fortran/f95-lang.c" 303)
                                      nil )
                                    )
                                    nil 32 
                                    (!type already_seen 441)
                                    nil )
                                   
                                   (!type struct 443 nil  gc_pointed_to "binding_level"
                                    (!srcfileloc  "d/d-tree.h" 117)
                                    (!fields 4 
                                     (!pair  "names"
                                      (!type already_seen 23)
                                      (!srcfileloc  "d/d-tree.h" 106)
                                      nil )
                                     (!pair  "blocks"
                                      (!type already_seen 23)
                                      (!srcfileloc  "d/d-tree.h" 110)
                                      nil )
                                     (!pair  "level_chain"
                                      (!type already_seen 440)
                                      (!srcfileloc  "d/d-tree.h" 113)
                                      nil )
                                     (!pair  "kind"
                                      (!type already_seen 2)
                                      (!srcfileloc  "d/d-tree.h" 116)
                                      nil )
                                    )
                                    (!options 
                                     (!option chain_next string  "%h.level_chain")
                                    )
                                    16 
                                    (!type already_seen 441)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "fortran/f95-lang.c" 67)
                                nil )
                              )
                              nil 32 
                              (!type already_seen 435)
                              nil )
                             
                             (!type struct 444 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "d/d-tree.h" 244)
                              (!fields 6 
                               (!pair  "function"
                                (!type pointer 445 nil  gc_unused
                                 (!type struct 446 
                                  (!type already_seen 445)
                                  gc_unused "FuncDeclaration"
                                  (!srcfileloc  "d/d-tree.h" 229)
                                  (!fields 0 )
                                  nil 16 nil nil )
                                )
                                (!srcfileloc  "d/d-tree.h" 229)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "module"
                                (!type pointer 447 nil  gc_unused
                                 (!type struct 448 
                                  (!type already_seen 447)
                                  gc_unused "Module"
                                  (!srcfileloc  "d/d-tree.h" 230)
                                  (!fields 0 )
                                  nil 16 nil nil )
                                )
                                (!srcfileloc  "d/d-tree.h" 230)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "static_chain"
                                (!type already_seen 23)
                                (!srcfileloc  "d/d-tree.h" 233)
                                nil )
                               (!pair  "stmt_list"
                                (!type already_seen 84)
                                (!srcfileloc  "d/d-tree.h" 237)
                                nil )
                               (!pair  "vars_in_scope"
                                (!type already_seen 84)
                                (!srcfileloc  "d/d-tree.h" 240)
                                nil )
                               (!pair  "labels"
                                (!type pointer 449 nil  gc_used
                                 (!type user_struct 450 
                                  (!type already_seen 449)
                                  gc_pointed_to "hash_map<Statement*,d_label_entry>"
                                  (!srcfileloc  "d/d-tree.h" 243)
                                  (!fields 2 
                                   (!pair  "d_label_entry"
                                    (!type struct 451 nil  gc_used "d_label_entry"
                                     (!srcfileloc  "d/d-tree.h" 243)
                                     (!fields 7 
                                      (!pair  "label"
                                       (!type already_seen 23)
                                       (!srcfileloc  "d/d-tree.h" 146)
                                       nil )
                                      (!pair  "statement"
                                       (!type pointer 452 nil  gc_used
                                        (!type struct 453 
                                         (!type already_seen 452)
                                         gc_pointed_to "Statement"
                                         (!srcfileloc  "d/d-tree.h" 131)
                                         (!fields 0 )
                                         nil 16 nil nil )
                                       )
                                       (!srcfileloc  "d/d-tree.h" 149)
                                       (!options 
                                        (!option skip string  "")
                                       )
                                      )
                                      (!pair  "level"
                                       (!type already_seen 440)
                                       (!srcfileloc  "d/d-tree.h" 154)
                                       nil )
                                      (!pair  "fwdrefs"
                                       (!type pointer 454 nil  gc_used
                                        (!type struct 455 
                                         (!type already_seen 454)
                                         gc_pointed_to "d_label_use_entry"
                                         (!srcfileloc  "d/d-tree.h" 137)
                                         (!fields 3 
                                          (!pair  "next"
                                           (!type already_seen 454)
                                           (!srcfileloc  "d/d-tree.h" 128)
                                           nil )
                                          (!pair  "statement"
                                           (!type already_seen 452)
                                           (!srcfileloc  "d/d-tree.h" 131)
                                           (!options 
                                            (!option skip string  "")
                                           )
                                          )
                                          (!pair  "level"
                                           (!type already_seen 440)
                                           (!srcfileloc  "d/d-tree.h" 136)
                                           nil )
                                         )
                                         (!options 
                                          (!option chain_next string  "%h.next")
                                         )
                                         16 nil nil )
                                       )
                                       (!srcfileloc  "d/d-tree.h" 157)
                                       nil )
                                      (!pair  "in_try_scope"
                                       (!type already_seen 2)
                                       (!srcfileloc  "d/d-tree.h" 162)
                                       nil )
                                      (!pair  "in_catch_scope"
                                       (!type already_seen 2)
                                       (!srcfileloc  "d/d-tree.h" 163)
                                       nil )
                                      (!pair  "bc_label"
                                       (!type already_seen 2)
                                       (!srcfileloc  "d/d-tree.h" 166)
                                       nil )
                                     )
                                     nil 16 nil nil )
                                    (!srcfileloc  "d/d-tree.h" 243)
                                    nil )
                                   (!pair  "Statement"
                                    (!type already_seen 452)
                                    (!srcfileloc  "d/d-tree.h" 243)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "d/d-tree.h" 243)
                                nil )
                              )
                              nil 16 
                              (!type already_seen 435)
                              nil )
                             
                             (!type struct 456 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "cp/cp-tree.h" 1930)
                              (!fields 21 
                               (!pair  "base"
                                (!type struct 457 nil  gc_used "c_language_function"
                                 (!srcfileloc  "c-family/c-common.h" 582)
                                 (!fields 2 
                                  (!pair  "x_stmt_tree"
                                   (!type struct 458 
                                    (!type pointer 459 nil  gc_unused
                                     (!type already_seen 458)
                                    )
                                    gc_used "stmt_tree_s"
                                    (!srcfileloc  "c-family/c-common.h" 567)
                                    (!fields 2 
                                     (!pair  "x_cur_stmt_list"
                                      (!type already_seen 84)
                                      (!srcfileloc  "c-family/c-common.h" 555)
                                      nil )
                                     (!pair  "stmts_are_full_exprs_p"
                                      (!type already_seen 2)
                                      (!srcfileloc  "c-family/c-common.h" 566)
                                      nil )
                                    )
                                    nil 1548 nil nil )
                                   (!srcfileloc  "c-family/c-common.h" 577)
                                   nil )
                                  (!pair  "local_typedefs"
                                   (!type already_seen 84)
                                   (!srcfileloc  "c-family/c-common.h" 581)
                                   nil )
                                 )
                                 nil 1548 nil nil )
                                (!srcfileloc  "cp/cp-tree.h" 1899)
                                nil )
                               (!pair  "x_cdtor_label"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1901)
                                nil )
                               (!pair  "x_current_class_ptr"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1902)
                                nil )
                               (!pair  "x_current_class_ref"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1903)
                                nil )
                               (!pair  "x_eh_spec_block"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1904)
                                nil )
                               (!pair  "x_in_charge_parm"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1905)
                                nil )
                               (!pair  "x_vtt_parm"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1906)
                                nil )
                               (!pair  "x_return_value"
                                (!type already_seen 23)
                                (!srcfileloc  "cp/cp-tree.h" 1907)
                                nil )
                               (!pair  "returns_value"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1909)
                                nil )
                               (!pair  "returns_null"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1910)
                                nil )
                               (!pair  "returns_abnormally"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1911)
                                nil )
                               (!pair  "infinite_loop"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1912)
                                nil )
                               (!pair  "x_in_function_try_handler"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1913)
                                nil )
                               (!pair  "x_in_base_initializer"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1914)
                                nil )
                               (!pair  "can_throw"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1917)
                                nil )
                               (!pair  "invalid_constexpr"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1919)
                                nil )
                               (!pair  "throwing_cleanup"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/cp-tree.h" 1920)
                                nil )
                               (!pair  "x_named_labels"
                                (!type pointer 460 nil  gc_used
                                 (!type user_struct 461 
                                  (!type already_seen 460)
                                  gc_pointed_to "hash_table<named_label_hash>"
                                  (!srcfileloc  "cp/cp-tree.h" 1922)
                                  (!fields 1 
                                   (!pair  "named_label_hash"
                                    (!type struct 462 nil  gc_used "named_label_hash"
                                     (!srcfileloc  "cp/cp-tree.h" 1922)
                                     (!fields 0 )
                                     nil 1032 nil nil )
                                    (!srcfileloc  "cp/cp-tree.h" 1922)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 1922)
                                nil )
                               (!pair  "bindings"
                                (!type already_seen 82)
                                (!srcfileloc  "cp/cp-tree.h" 1924)
                                nil )
                               (!pair  "infinite_loops"
                                (!type already_seen 84)
                                (!srcfileloc  "cp/cp-tree.h" 1928)
                                nil )
                               (!pair  "extern_decl_map"
                                (!type pointer 463 nil  gc_used
                                 (!type user_struct 464 
                                  (!type already_seen 463)
                                  gc_pointed_to "hash_table<cxx_int_tree_map_hasher>"
                                  (!srcfileloc  "cp/cp-tree.h" 1929)
                                  (!fields 1 
                                   (!pair  "cxx_int_tree_map_hasher"
                                    (!type struct 465 nil  gc_used "cxx_int_tree_map_hasher"
                                     (!srcfileloc  "cp/cp-tree.h" 1929)
                                     (!fields 0 )
                                     nil 1032 nil nil )
                                    (!srcfileloc  "cp/cp-tree.h" 1929)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 1929)
                                nil )
                              )
                              nil 1032 
                              (!type already_seen 435)
                              nil )
                             
                             (!type struct 466 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "c/c-lang.h" 62)
                              (!fields 9 
                               (!pair  "base"
                                (!type already_seen 457)
                                (!srcfileloc  "c/c-lang.h" 53)
                                nil )
                               (!pair  "x_break_label"
                                (!type already_seen 23)
                                (!srcfileloc  "c/c-lang.h" 54)
                                nil )
                               (!pair  "x_cont_label"
                                (!type already_seen 23)
                                (!srcfileloc  "c/c-lang.h" 55)
                                nil )
                               (!pair  "x_switch_stack"
                                (!type pointer 467 nil  gc_unused
                                 (!type struct 468 
                                  (!type already_seen 467)
                                  gc_unused "c_switch"nil 
                                  (!fields 0 )
                                  nil 0 nil nil )
                                )
                                (!srcfileloc  "c/c-lang.h" 56)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "arg_info"
                                (!type pointer 469 nil  gc_unused
                                 (!type struct 470 
                                  (!type already_seen 469)
                                  gc_unused "c_arg_info"nil 
                                  (!fields 0 )
                                  nil 0 nil nil )
                                )
                                (!srcfileloc  "c/c-lang.h" 57)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "returns_value"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 58)
                                nil )
                               (!pair  "returns_null"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 59)
                                nil )
                               (!pair  "returns_abnormally"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 60)
                                nil )
                               (!pair  "warn_about_return_type"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 61)
                                nil )
                              )
                              nil 516 
                              (!type already_seen 435)
                              nil )
                             
                             (!type struct 471 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "brig/brig-lang.c" 104)
                              (!fields 1 
                               (!pair  "dummy"
                                (!type already_seen 2)
                                (!srcfileloc  "brig/brig-lang.c" 103)
                                nil )
                              )
                              nil 2 
                              (!type already_seen 435)
                              nil )
                             
                             (!type struct 472 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "ada/gcc-interface/trans.c" 120)
                              (!fields 4 
                               (!pair  "parm_attr_cache"
                                (!type pointer 473 nil  gc_used
                                 (!type user_struct 474 
                                  (!type already_seen 473)
                                  gc_pointed_to "vec<parm_attr,va_gc>"
                                  (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 79)
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                    nil )
                                   (!pair  "parm_attr"
                                    (!type pointer 475 nil  gc_used
                                     (!type struct 476 
                                      (!type already_seen 475)
                                      gc_pointed_to "parm_attr_d"
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 110)
                                      (!fields 5 
                                       (!pair  "id"
                                        (!type already_seen 2)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 105)
                                        nil )
                                       (!pair  "dim"
                                        (!type already_seen 2)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 106)
                                        nil )
                                       (!pair  "first"
                                        (!type already_seen 23)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 107)
                                        nil )
                                       (!pair  "last"
                                        (!type already_seen 23)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 108)
                                        nil )
                                       (!pair  "length"
                                        (!type already_seen 23)
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 109)
                                        nil )
                                      )
                                      nil 1 nil nil )
                                    )
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "ada/gcc-interface/trans.c" 116)
                                nil )
                               (!pair  "named_ret_val"
                                (!type already_seen 391)
                                (!srcfileloc  "ada/gcc-interface/trans.c" 117)
                                nil )
                               (!pair  "other_ret_val"
                                (!type already_seen 84)
                                (!srcfileloc  "ada/gcc-interface/trans.c" 118)
                                nil )
                               (!pair  "gnat_ret"
                                (!type already_seen 2)
                                (!srcfileloc  "ada/gcc-interface/trans.c" 119)
                                nil )
                              )
                              nil 1 
                              (!type already_seen 435)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "function.h" 295)
                          nil )
                         (!pair  "used_types_hash"
                          (!type pointer 477 nil  gc_used
                           (!type user_struct 478 
                            (!type already_seen 477)
                            gc_pointed_to "hash_set<tree>"
                            (!srcfileloc  "function.h" 298)
                            (!fields 1 
                             (!pair  "tree"
                              (!type already_seen 23)
                              (!srcfileloc  "function.h" 298)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "function.h" 298)
                          nil )
                         (!pair  "fde"
                          (!type pointer 479 nil  gc_used
                           (!type struct 480 
                            (!type already_seen 479)
                            gc_pointed_to "dw_fde_node"
                            (!srcfileloc  "dwarf2out.h" 111)
                            (!fields 22 
                             (!pair  "decl"
                              (!type already_seen 23)
                              (!srcfileloc  "dwarf2out.h" 79)
                              nil )
                             (!pair  "dw_fde_begin"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 80)
                              nil )
                             (!pair  "dw_fde_current_label"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 81)
                              nil )
                             (!pair  "dw_fde_end"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 82)
                              nil )
                             (!pair  "dw_fde_vms_end_prologue"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 83)
                              nil )
                             (!pair  "dw_fde_vms_begin_epilogue"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 84)
                              nil )
                             (!pair  "dw_fde_second_begin"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 85)
                              nil )
                             (!pair  "dw_fde_second_end"
                              (!type already_seen 11)
                              (!srcfileloc  "dwarf2out.h" 86)
                              nil )
                             (!pair  "dw_fde_cfi"
                              (!type pointer 481 nil  gc_used
                               (!type user_struct 482 
                                (!type already_seen 481)
                                gc_pointed_to "vec<dw_cfi_ref,va_gc>"
                                (!srcfileloc  "dwarf2out.h" 68)
                                (!fields 2 
                                 (!pair  "va_gc"
                                  (!type already_seen 79)
                                  (!srcfileloc  "dwarf2out.h" 68)
                                  nil )
                                 (!pair  "dw_cfi_ref"
                                  (!type pointer 483 nil  gc_used
                                   (!type struct 484 
                                    (!type already_seen 483)
                                    gc_pointed_to "dw_cfi_node"
                                    (!srcfileloc  "dwarf2out.h" 65)
                                    (!fields 3 
                                     (!pair  "dw_cfi_opc"
                                      (!type already_seen 2)
                                      (!srcfileloc  "dwarf2out.h" 60)
                                      nil )
                                     (!pair  "dw_cfi_oprnd1"
                                      (!type union 485 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/dwarf2out.h:50"
                                       (!srcfileloc  "dwarf2out.h" 57)
                                       (!fields 5 
                                        (!pair  "dw_cfi_reg_num"
                                         (!type already_seen 2)
                                         (!srcfileloc  "dwarf2out.h" 51)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_reg_num")
                                         )
                                        )
                                        (!pair  "dw_cfi_offset"
                                         (!type already_seen 2)
                                         (!srcfileloc  "dwarf2out.h" 52)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_offset")
                                         )
                                        )
                                        (!pair  "dw_cfi_addr"
                                         (!type already_seen 11)
                                         (!srcfileloc  "dwarf2out.h" 53)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_addr")
                                         )
                                        )
                                        (!pair  "dw_cfi_loc"
                                         (!type pointer 486 nil  gc_used
                                          (!type struct 487 
                                           (!type already_seen 486)
                                           gc_pointed_to "dw_loc_descr_node"
                                           (!srcfileloc  "dwarf2out.h" 258)
                                           (!fields 7 
                                            (!pair  "dw_loc_next"
                                             (!type already_seen 486)
                                             (!srcfileloc  "dwarf2out.h" 246)
                                             nil )
                                            (!pair  "dw_loc_opc"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 247)
                                             nil )
                                            (!pair  "dtprel"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 250)
                                             nil )
                                            (!pair  "frame_offset_rel"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 254)
                                             nil )
                                            (!pair  "dw_loc_addr"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 255)
                                             nil )
                                            (!pair  "dw_loc_oprnd1"
                                             (!type struct 488 
                                              (!type pointer 489 nil  gc_unused
                                               (!type already_seen 488)
                                              )
                                              gc_used "dw_val_node"
                                              (!srcfileloc  "dwarf2out.h" 256)
                                              (!fields 3 
                                               (!pair  "val_class"
                                                (!type already_seen 2)
                                                (!srcfileloc  "dwarf2out.h" 201)
                                                nil )
                                               (!pair  "val_entry"
                                                (!type pointer 490 nil  gc_used
                                                 (!type struct 491 
                                                  (!type already_seen 490)
                                                  gc_pointed_to "addr_table_entry"
                                                  (!srcfileloc  "dwarf2out.c" 1308)
                                                  (!fields 4 
                                                   (!pair  "kind"
                                                    (!type already_seen 2)
                                                    (!srcfileloc  "dwarf2out.c" 1289)
                                                    nil )
                                                   (!pair  "refcount"
                                                    (!type already_seen 2)
                                                    (!srcfileloc  "dwarf2out.c" 1290)
                                                    nil )
                                                   (!pair  "index"
                                                    (!type already_seen 2)
                                                    (!srcfileloc  "dwarf2out.c" 1291)
                                                    nil )
                                                   (!pair  "addr"
                                                    (!type union 492 nil  gc_used "addr_table_entry_struct_union"
                                                     (!srcfileloc  "dwarf2out.c" 1296)
                                                     (!fields 2 
                                                      (!pair  "rtl"
                                                       (!type already_seen 100)
                                                       (!srcfileloc  "dwarf2out.c" 1294)
                                                       (!options 
                                                        (!option tag string  "0")
                                                       )
                                                      )
                                                      (!pair  "label"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1295)
                                                       (!options 
                                                        (!option tag string  "1")
                                                       )
                                                      )
                                                     )
                                                     nil 2047 nil )
                                                    (!srcfileloc  "dwarf2out.c" 1297)
                                                    (!options 
                                                     (!option desc string  "%1.kind")
                                                    )
                                                   )
                                                  )
                                                  (!options 
                                                   (!option for_user string  "")
                                                  )
                                                  2047 nil nil )
                                                )
                                                (!srcfileloc  "dwarf2out.h" 202)
                                                nil )
                                               (!pair  "v"
                                                (!type union 493 nil  gc_used "dw_val_struct_union"
                                                 (!srcfileloc  "dwarf2out.h" 238)
                                                 (!fields 23 
                                                  (!pair  "val_addr"
                                                   (!type already_seen 100)
                                                   (!srcfileloc  "dwarf2out.h" 205)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_addr")
                                                   )
                                                  )
                                                  (!pair  "val_offset"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 206)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_offset")
                                                   )
                                                  )
                                                  (!pair  "val_loc_list"
                                                   (!type pointer 494 nil  gc_used
                                                    (!type struct 495 
                                                     (!type already_seen 494)
                                                     gc_pointed_to "dw_loc_list_struct"
                                                     (!srcfileloc  "dwarf2out.c" 1334)
                                                     (!fields 18 
                                                      (!pair  "dw_loc_next"
                                                       (!type already_seen 494)
                                                       (!srcfileloc  "dwarf2out.c" 1306)
                                                       nil )
                                                      (!pair  "begin"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1307)
                                                       nil )
                                                      (!pair  "begin_entry"
                                                       (!type already_seen 490)
                                                       (!srcfileloc  "dwarf2out.c" 1308)
                                                       nil )
                                                      (!pair  "end"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1309)
                                                       nil )
                                                      (!pair  "ll_symbol"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1310)
                                                       nil )
                                                      (!pair  "vl_symbol"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1312)
                                                       nil )
                                                      (!pair  "section"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1313)
                                                       nil )
                                                      (!pair  "expr"
                                                       (!type already_seen 486)
                                                       (!srcfileloc  "dwarf2out.c" 1314)
                                                       nil )
                                                      (!pair  "vbegin"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1315)
                                                       nil )
                                                      (!pair  "vend"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1315)
                                                       nil )
                                                      (!pair  "hash"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1316)
                                                       nil )
                                                      (!pair  "resolved_addr"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1319)
                                                       nil )
                                                      (!pair  "replaced"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1321)
                                                       nil )
                                                      (!pair  "emitted"
                                                       (!type already_seen 8)
                                                       (!srcfileloc  "dwarf2out.c" 1324)
                                                       nil )
                                                      (!pair  "num_assigned"
                                                       (!type already_seen 8)
                                                       (!srcfileloc  "dwarf2out.c" 1326)
                                                       nil )
                                                      (!pair  "offset_emitted"
                                                       (!type already_seen 8)
                                                       (!srcfileloc  "dwarf2out.c" 1328)
                                                       nil )
                                                      (!pair  "noted_variable_value"
                                                       (!type already_seen 8)
                                                       (!srcfileloc  "dwarf2out.c" 1330)
                                                       nil )
                                                      (!pair  "force"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1333)
                                                       nil )
                                                     )
                                                     nil 2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 207)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_loc_list")
                                                   )
                                                  )
                                                  (!pair  "val_view_list"
                                                   (!type pointer 496 nil  gc_used
                                                    (!type struct 497 
                                                     (!type already_seen 496)
                                                     gc_pointed_to "die_struct"
                                                     (!srcfileloc  "dwarf2out.c" 3104)
                                                     (!fields 15 
                                                      (!pair  "die_id"
                                                       (!type union 498 nil  gc_used "die_symbol_or_type_node"
                                                        (!srcfileloc  "dwarf2out.c" 3081)
                                                        (!fields 2 
                                                         (!pair  "die_symbol"
                                                          (!type already_seen 11)
                                                          (!srcfileloc  "dwarf2out.c" 3079)
                                                          (!options 
                                                           (!option tag string  "0")
                                                          )
                                                         )
                                                         (!pair  "die_type_node"
                                                          (!type pointer 499 nil  gc_used
                                                           (!type struct 500 
                                                            (!type already_seen 499)
                                                            gc_pointed_to "comdat_type_node"
                                                            (!srcfileloc  "dwarf2out.c" 3174)
                                                            (!fields 5 
                                                             (!pair  "root_die"
                                                              (!type already_seen 496)
                                                              (!srcfileloc  "dwarf2out.c" 3169)
                                                              nil )
                                                             (!pair  "type_die"
                                                              (!type already_seen 496)
                                                              (!srcfileloc  "dwarf2out.c" 3170)
                                                              nil )
                                                             (!pair  "skeleton_die"
                                                              (!type already_seen 496)
                                                              (!srcfileloc  "dwarf2out.c" 3171)
                                                              nil )
                                                             (!pair  "signature"
                                                              (!type array 501 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                               (!type already_seen 8)
                                                              )
                                                              (!srcfileloc  "dwarf2out.c" 3172)
                                                              nil )
                                                             (!pair  "next"
                                                              (!type already_seen 499)
                                                              (!srcfileloc  "dwarf2out.c" 3173)
                                                              nil )
                                                            )
                                                            nil 2047 nil nil )
                                                          )
                                                          (!srcfileloc  "dwarf2out.c" 3080)
                                                          (!options 
                                                           (!option tag string  "1")
                                                          )
                                                         )
                                                        )
                                                        nil 2047 nil )
                                                       (!srcfileloc  "dwarf2out.c" 3082)
                                                       (!options 
                                                        (!option desc string  "%0.comdat_type_p")
                                                       )
                                                      )
                                                      (!pair  "die_attr"
                                                       (!type pointer 502 nil  gc_used
                                                        (!type user_struct 503 
                                                         (!type already_seen 502)
                                                         gc_pointed_to "vec<dw_attr_node,va_gc>"
                                                         (!srcfileloc  "dwarf2out.c" 3083)
                                                         (!fields 2 
                                                          (!pair  "va_gc"
                                                           (!type already_seen 79)
                                                           (!srcfileloc  "dwarf2out.c" 3083)
                                                           nil )
                                                          (!pair  "dw_attr_node"
                                                           (!type struct 504 nil  gc_used "dw_attr_struct"
                                                            (!srcfileloc  "dwarf2out.c" 3068)
                                                            (!fields 2 
                                                             (!pair  "dw_attr"
                                                              (!type already_seen 2)
                                                              (!srcfileloc  "dwarf2out.c" 3066)
                                                              nil )
                                                             (!pair  "dw_attr_val"
                                                              (!type already_seen 488)
                                                              (!srcfileloc  "dwarf2out.c" 3067)
                                                              nil )
                                                            )
                                                            nil 2047 nil nil )
                                                           (!srcfileloc  "dwarf2out.c" 3083)
                                                           nil )
                                                         )
                                                        )
                                                       )
                                                       (!srcfileloc  "dwarf2out.c" 3083)
                                                       nil )
                                                      (!pair  "die_parent"
                                                       (!type already_seen 496)
                                                       (!srcfileloc  "dwarf2out.c" 3084)
                                                       nil )
                                                      (!pair  "die_child"
                                                       (!type already_seen 496)
                                                       (!srcfileloc  "dwarf2out.c" 3085)
                                                       nil )
                                                      (!pair  "die_sib"
                                                       (!type already_seen 496)
                                                       (!srcfileloc  "dwarf2out.c" 3086)
                                                       nil )
                                                      (!pair  "die_definition"
                                                       (!type already_seen 496)
                                                       (!srcfileloc  "dwarf2out.c" 3087)
                                                       nil )
                                                      (!pair  "die_offset"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3088)
                                                       nil )
                                                      (!pair  "die_abbrev"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3089)
                                                       nil )
                                                      (!pair  "die_mark"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3090)
                                                       nil )
                                                      (!pair  "decl_id"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3091)
                                                       nil )
                                                      (!pair  "die_tag"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3092)
                                                       nil )
                                                      (!pair  "die_perennial_p"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3094)
                                                       nil )
                                                      (!pair  "comdat_type_p"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3095)
                                                       nil )
                                                      (!pair  "with_offset"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3098)
                                                       nil )
                                                      (!pair  "removed"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 3102)
                                                       nil )
                                                     )
                                                     (!options 
                                                      (!option for_user string  "")
                                                      (!option chain_circular string  "%h.die_sib")
                                                     )
                                                     2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 208)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_view_list")
                                                   )
                                                  )
                                                  (!pair  "val_loc"
                                                   (!type already_seen 486)
                                                   (!srcfileloc  "dwarf2out.h" 209)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_loc")
                                                   )
                                                  )
                                                  (!pair  "val_int"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 210)
                                                   (!options 
                                                    (!option default string  "")
                                                   )
                                                  )
                                                  (!pair  "val_unsigned"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 212)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_unsigned_const")
                                                   )
                                                  )
                                                  (!pair  "val_double"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 213)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_const_double")
                                                   )
                                                  )
                                                  (!pair  "val_wide"
                                                   (!type pointer 505 nil  gc_used
                                                    (!type user_struct 506 
                                                     (!type already_seen 505)
                                                     gc_pointed_to "generic_wide_int<wide_int_storage>"
                                                     (!srcfileloc  "wide-int.h" 322)
                                                     (!fields 1 
                                                      (!pair  "wide_int_storage"
                                                       (!type struct 507 nil  gc_used "wide_int_storage"
                                                        (!srcfileloc  "wide-int.h" 1088)
                                                        (!fields 3 
                                                         (!pair  "val"
                                                          (!type array 508 nil  gc_used "WIDE_INT_MAX_ELTS" 
                                                           (!type already_seen 2)
                                                          )
                                                          (!srcfileloc  "wide-int.h" 1062)
                                                          nil )
                                                         (!pair  "len"
                                                          (!type already_seen 2)
                                                          (!srcfileloc  "wide-int.h" 1063)
                                                          nil )
                                                         (!pair  "precision"
                                                          (!type already_seen 2)
                                                          (!srcfileloc  "wide-int.h" 1064)
                                                          nil )
                                                        )
                                                        nil 2047 nil nil )
                                                       (!srcfileloc  "wide-int.h" 322)
                                                       nil )
                                                     )
                                                    )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 214)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_wide_int")
                                                   )
                                                  )
                                                  (!pair  "val_vec"
                                                   (!type struct 509 nil  gc_used "dw_vec_const"
                                                    (!srcfileloc  "dwarf2out.h" 215)
                                                    (!fields 3 
                                                     (!pair  "array"
                                                      (!type already_seen 3)
                                                      (!srcfileloc  "dwarf2out.h" 171)
                                                      (!options 
                                                       (!option atomic string  "")
                                                      )
                                                     )
                                                     (!pair  "length"
                                                      (!type already_seen 2)
                                                      (!srcfileloc  "dwarf2out.h" 172)
                                                      nil )
                                                     (!pair  "elt_size"
                                                      (!type already_seen 2)
                                                      (!srcfileloc  "dwarf2out.h" 173)
                                                      nil )
                                                    )
                                                    nil 2047 nil nil )
                                                   (!srcfileloc  "dwarf2out.h" 215)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_vec")
                                                   )
                                                  )
                                                  (!pair  "val_die_ref"
                                                   (!type struct 510 nil  gc_used "dw_val_die_union"
                                                    (!srcfileloc  "dwarf2out.h" 220)
                                                    (!fields 2 
                                                     (!pair  "die"
                                                      (!type already_seen 496)
                                                      (!srcfileloc  "dwarf2out.h" 218)
                                                      nil )
                                                     (!pair  "external"
                                                      (!type already_seen 2)
                                                      (!srcfileloc  "dwarf2out.h" 219)
                                                      nil )
                                                    )
                                                    nil 2047 nil nil )
                                                   (!srcfileloc  "dwarf2out.h" 220)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_die_ref")
                                                   )
                                                  )
                                                  (!pair  "val_fde_index"
                                                   (!type already_seen 2)
                                                   (!srcfileloc  "dwarf2out.h" 221)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_fde_ref")
                                                   )
                                                  )
                                                  (!pair  "val_str"
                                                   (!type pointer 511 nil  gc_used
                                                    (!type struct 512 
                                                     (!type already_seen 511)
                                                     gc_pointed_to "indirect_string_node"
                                                     (!srcfileloc  "dwarf2out.c" 221)
                                                     (!fields 5 
                                                      (!pair  "str"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 216)
                                                       nil )
                                                      (!pair  "refcount"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 217)
                                                       nil )
                                                      (!pair  "form"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 218)
                                                       nil )
                                                      (!pair  "label"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 219)
                                                       nil )
                                                      (!pair  "index"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 220)
                                                       nil )
                                                     )
                                                     (!options 
                                                      (!option for_user string  "")
                                                     )
                                                     2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 222)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_str")
                                                   )
                                                  )
                                                  (!pair  "val_lbl_id"
                                                   (!type already_seen 11)
                                                   (!srcfileloc  "dwarf2out.h" 223)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_lbl_id")
                                                   )
                                                  )
                                                  (!pair  "val_flag"
                                                   (!type already_seen 8)
                                                   (!srcfileloc  "dwarf2out.h" 224)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_flag")
                                                   )
                                                  )
                                                  (!pair  "val_file"
                                                   (!type pointer 513 nil  gc_used
                                                    (!type struct 514 
                                                     (!type already_seen 513)
                                                     gc_pointed_to "dwarf_file_data"
                                                     (!srcfileloc  "dwarf2out.c" 1278)
                                                     (!fields 2 
                                                      (!pair  "filename"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1276)
                                                       nil )
                                                      (!pair  "emitted_number"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.c" 1277)
                                                       nil )
                                                     )
                                                     (!options 
                                                      (!option for_user string  "")
                                                     )
                                                     2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 225)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_file")
                                                   )
                                                  )
                                                  (!pair  "val_file_implicit"
                                                   (!type already_seen 513)
                                                   (!srcfileloc  "dwarf2out.h" 227)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_file_implicit")
                                                   )
                                                  )
                                                  (!pair  "val_data8"
                                                   (!type array 515 nil  gc_used "8" 
                                                    (!type already_seen 8)
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 228)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_data8")
                                                   )
                                                  )
                                                  (!pair  "val_decl_ref"
                                                   (!type already_seen 23)
                                                   (!srcfileloc  "dwarf2out.h" 229)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_decl_ref")
                                                   )
                                                  )
                                                  (!pair  "val_vms_delta"
                                                   (!type struct 516 nil  gc_used "dw_val_vms_delta_union"
                                                    (!srcfileloc  "dwarf2out.h" 234)
                                                    (!fields 2 
                                                     (!pair  "lbl1"
                                                      (!type already_seen 11)
                                                      (!srcfileloc  "dwarf2out.h" 232)
                                                      nil )
                                                     (!pair  "lbl2"
                                                      (!type already_seen 11)
                                                      (!srcfileloc  "dwarf2out.h" 233)
                                                      nil )
                                                    )
                                                    nil 2047 nil nil )
                                                   (!srcfileloc  "dwarf2out.h" 234)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_vms_delta")
                                                   )
                                                  )
                                                  (!pair  "val_discr_value"
                                                   (!type struct 517 nil  gc_used "dw_discr_value"
                                                    (!srcfileloc  "dwarf2out.h" 235)
                                                    (!fields 2 
                                                     (!pair  "pos"
                                                      (!type already_seen 2)
                                                      (!srcfileloc  "dwarf2out.h" 186)
                                                      nil )
                                                     (!pair  "v"
                                                      (!type union 518 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/dwarf2out.h:188"
                                                       (!srcfileloc  "dwarf2out.h" 191)
                                                       (!fields 2 
                                                        (!pair  "sval"
                                                         (!type already_seen 2)
                                                         (!srcfileloc  "dwarf2out.h" 189)
                                                         (!options 
                                                          (!option tag string  "0")
                                                         )
                                                        )
                                                        (!pair  "uval"
                                                         (!type already_seen 2)
                                                         (!srcfileloc  "dwarf2out.h" 190)
                                                         (!options 
                                                          (!option tag string  "1")
                                                         )
                                                        )
                                                       )
                                                       nil 2047 nil )
                                                      (!srcfileloc  "dwarf2out.h" 192)
                                                      (!options 
                                                       (!option desc string  "%1.pos")
                                                      )
                                                     )
                                                    )
                                                    nil 2047 nil nil )
                                                   (!srcfileloc  "dwarf2out.h" 235)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_discr_value")
                                                   )
                                                  )
                                                  (!pair  "val_discr_list"
                                                   (!type pointer 519 nil  gc_used
                                                    (!type struct 520 
                                                     (!type already_seen 519)
                                                     gc_pointed_to "dw_discr_list_node"
                                                     (!srcfileloc  "dwarf2out.h" 273)
                                                     (!fields 4 
                                                      (!pair  "dw_discr_next"
                                                       (!type already_seen 519)
                                                       (!srcfileloc  "dwarf2out.h" 265)
                                                       nil )
                                                      (!pair  "dw_discr_lower_bound"
                                                       (!type already_seen 517)
                                                       (!srcfileloc  "dwarf2out.h" 267)
                                                       nil )
                                                      (!pair  "dw_discr_upper_bound"
                                                       (!type already_seen 517)
                                                       (!srcfileloc  "dwarf2out.h" 268)
                                                       nil )
                                                      (!pair  "dw_discr_range"
                                                       (!type already_seen 2)
                                                       (!srcfileloc  "dwarf2out.h" 272)
                                                       nil )
                                                     )
                                                     nil 2047 nil nil )
                                                   )
                                                   (!srcfileloc  "dwarf2out.h" 236)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_discr_list")
                                                   )
                                                  )
                                                  (!pair  "val_symbolic_view"
                                                   (!type already_seen 11)
                                                   (!srcfileloc  "dwarf2out.h" 237)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_symview")
                                                   )
                                                  )
                                                 )
                                                 nil 2047 nil )
                                                (!srcfileloc  "dwarf2out.h" 239)
                                                (!options 
                                                 (!option desc string  "%1.val_class")
                                                )
                                               )
                                              )
                                              nil 2047 nil nil )
                                             (!srcfileloc  "dwarf2out.h" 256)
                                             nil )
                                            (!pair  "dw_loc_oprnd2"
                                             (!type already_seen 488)
                                             (!srcfileloc  "dwarf2out.h" 257)
                                             nil )
                                           )
                                           (!options 
                                            (!option chain_next string  "%h.dw_loc_next")
                                           )
                                           2047 nil nil )
                                         )
                                         (!srcfileloc  "dwarf2out.h" 54)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_loc")
                                         )
                                        )
                                        (!pair  "dw_cfi_cfa_loc"
                                         (!type pointer 521 nil  gc_used
                                          (!type struct 522 
                                           (!type already_seen 521)
                                           gc_pointed_to "dw_cfa_location"
                                           (!srcfileloc  "dwarf2cfi.c" 66)
                                           (!fields 5 
                                            (!pair  "offset"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 120)
                                             nil )
                                            (!pair  "base_offset"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 121)
                                             nil )
                                            (!pair  "reg"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 123)
                                             nil )
                                            (!pair  "indirect"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 124)
                                             nil )
                                            (!pair  "in_use"
                                             (!type already_seen 2)
                                             (!srcfileloc  "dwarf2out.h" 125)
                                             nil )
                                           )
                                           nil 2047 nil nil )
                                         )
                                         (!srcfileloc  "dwarf2out.h" 56)
                                         (!options 
                                          (!option tag string  "dw_cfi_oprnd_cfa_loc")
                                         )
                                        )
                                       )
                                       nil 2047 nil )
                                      (!srcfileloc  "dwarf2out.h" 62)
                                      (!options 
                                       (!option desc string  "dw_cfi_oprnd1_desc (%1.dw_cfi_opc)")
                                      )
                                     )
                                     (!pair  "dw_cfi_oprnd2"
                                      (!type already_seen 485)
                                      (!srcfileloc  "dwarf2out.h" 64)
                                      (!options 
                                       (!option desc string  "dw_cfi_oprnd2_desc (%1.dw_cfi_opc)")
                                      )
                                     )
                                    )
                                    nil 2047 nil nil )
                                  )
                                  (!srcfileloc  "dwarf2out.h" 68)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "dwarf2out.h" 87)
                              nil )
                             (!pair  "dw_fde_switch_cfi_index"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 88)
                              nil )
                             (!pair  "stack_realignment"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 89)
                              nil )
                             (!pair  "funcdef_number"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 91)
                              nil )
                             (!pair  "fde_index"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 92)
                              nil )
                             (!pair  "drap_reg"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 95)
                              nil )
                             (!pair  "vdrap_reg"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 97)
                              nil )
                             (!pair  "all_throwers_are_sibcalls"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 99)
                              nil )
                             (!pair  "uses_eh_lsda"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 100)
                              nil )
                             (!pair  "nothrow"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 101)
                              nil )
                             (!pair  "stack_realign"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 103)
                              nil )
                             (!pair  "drap_reg_saved"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 105)
                              nil )
                             (!pair  "in_std_section"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 107)
                              nil )
                             (!pair  "second_in_std_section"
                              (!type already_seen 2)
                              (!srcfileloc  "dwarf2out.h" 110)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 303)
                          nil )
                         (!pair  "last_stmt_uid"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 306)
                          nil )
                         (!pair  "debug_marker_count"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 312)
                          nil )
                         (!pair  "funcdef_no"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 315)
                          nil )
                         (!pair  "function_start_locus"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 318)
                          nil )
                         (!pair  "function_end_locus"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 321)
                          nil )
                         (!pair  "curr_properties"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 324)
                          nil )
                         (!pair  "last_verified"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 325)
                          nil )
                         (!pair  "cannot_be_copied_reason"
                          (!type already_seen 11)
                          (!srcfileloc  "function.h" 330)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "last_clique"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 333)
                          nil )
                         (!pair  "va_list_gpr_size"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 340)
                          nil )
                         (!pair  "va_list_fpr_size"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 344)
                          nil )
                         (!pair  "calls_setjmp"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 347)
                          nil )
                         (!pair  "calls_alloca"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 351)
                          nil )
                         (!pair  "calls_eh_return"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 354)
                          nil )
                         (!pair  "has_nonlocal_label"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 358)
                          nil )
                         (!pair  "has_forced_label_in_static"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 362)
                          nil )
                         (!pair  "cannot_be_copied_set"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 367)
                          nil )
                         (!pair  "stdarg"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 370)
                          nil )
                         (!pair  "after_inlining"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 372)
                          nil )
                         (!pair  "always_inline_functions_inlined"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 373)
                          nil )
                         (!pair  "can_throw_non_call_exceptions"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 377)
                          nil )
                         (!pair  "can_delete_dead_exceptions"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 381)
                          nil )
                         (!pair  "returns_struct"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 388)
                          nil )
                         (!pair  "returns_pcc_struct"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 392)
                          nil )
                         (!pair  "has_local_explicit_reg_vars"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 396)
                          nil )
                         (!pair  "is_thunk"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 402)
                          nil )
                         (!pair  "has_force_vectorize_loops"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 406)
                          nil )
                         (!pair  "has_simduid_loops"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 410)
                          nil )
                         (!pair  "tail_call_marked"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 413)
                          nil )
                         (!pair  "has_unroll"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 416)
                          nil )
                         (!pair  "debug_nonbind_markers"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 420)
                          nil )
                         (!pair  "coroutine_component"
                          (!type already_seen 2)
                          (!srcfileloc  "function.h" 423)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1860)
                      nil )
                     (!pair  "arguments"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1863)
                      nil )
                     (!pair  "personality"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1865)
                      nil )
                     (!pair  "function_specific_target"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1868)
                      nil )
                     (!pair  "function_specific_optimization"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1869)
                      nil )
                     (!pair  "saved_tree"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1872)
                      nil )
                     (!pair  "vindex"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1874)
                      nil )
                     (!pair  "function_code"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1877)
                      nil )
                     (!pair  "built_in_class"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1879)
                      nil )
                     (!pair  "static_ctor_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1880)
                      nil )
                     (!pair  "static_dtor_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1881)
                      nil )
                     (!pair  "uninlinable"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1882)
                      nil )
                     (!pair  "possibly_inlined"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1883)
                      nil )
                     (!pair  "novops_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1884)
                      nil )
                     (!pair  "returns_twice_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1885)
                      nil )
                     (!pair  "malloc_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1887)
                      nil )
                     (!pair  "declared_inline_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1888)
                      nil )
                     (!pair  "no_inline_warning_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1889)
                      nil )
                     (!pair  "no_instrument_function_entry_exit"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1890)
                      nil )
                     (!pair  "no_limit_stack"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1891)
                      nil )
                     (!pair  "disregard_inline_limits"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1892)
                      nil )
                     (!pair  "pure_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1893)
                      nil )
                     (!pair  "looping_const_or_pure_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1894)
                      nil )
                     (!pair  "decl_type"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1897)
                      nil )
                     (!pair  "has_debug_args_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1898)
                      nil )
                     (!pair  "versioned_function"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1899)
                      nil )
                     (!pair  "replaceable_operator"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1900)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1995)
                   (!options 
                    (!option tag string  "TS_FUNCTION_DECL")
                   )
                  )
                  (!pair  "translation_unit_decl"
                   (!type struct 523 nil  gc_used "tree_translation_unit_decl"
                    (!srcfileloc  "tree-core.h" 1911)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 53)
                      (!srcfileloc  "tree-core.h" 1906)
                      nil )
                     (!pair  "language"
                      (!type already_seen 11)
                      (!srcfileloc  "tree-core.h" 1908)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1997)
                   (!options 
                    (!option tag string  "TS_TRANSLATION_UNIT_DECL")
                   )
                  )
                  (!pair  "type_common"
                   (!type struct 524 nil  gc_used "tree_type_common"
                    (!srcfileloc  "tree-core.h" 1647)
                    (!fields 36 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1596)
                      nil )
                     (!pair  "size"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1597)
                      nil )
                     (!pair  "size_unit"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1598)
                      nil )
                     (!pair  "attributes"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1599)
                      nil )
                     (!pair  "uid"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1600)
                      nil )
                     (!pair  "precision"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1602)
                      nil )
                     (!pair  "no_force_blk_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1603)
                      nil )
                     (!pair  "needs_constructing_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1604)
                      nil )
                     (!pair  "transparent_aggr_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1605)
                      nil )
                     (!pair  "restrict_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1606)
                      nil )
                     (!pair  "contains_placeholder_bits"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1607)
                      nil )
                     (!pair  "mode"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1609)
                      nil )
                     (!pair  "string_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1613)
                      nil )
                     (!pair  "lang_flag_0"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1614)
                      nil )
                     (!pair  "lang_flag_1"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1615)
                      nil )
                     (!pair  "lang_flag_2"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1616)
                      nil )
                     (!pair  "lang_flag_3"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1617)
                      nil )
                     (!pair  "lang_flag_4"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1618)
                      nil )
                     (!pair  "lang_flag_5"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1619)
                      nil )
                     (!pair  "lang_flag_6"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1620)
                      nil )
                     (!pair  "lang_flag_7"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1621)
                      nil )
                     (!pair  "align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1628)
                      nil )
                     (!pair  "warn_if_not_align"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1629)
                      nil )
                     (!pair  "typeless_storage"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1630)
                      nil )
                     (!pair  "empty_flag"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1631)
                      nil )
                     (!pair  "indivisible_p"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1632)
                      nil )
                     (!pair  "spare"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1633)
                      nil )
                     (!pair  "alias_set"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1635)
                      nil )
                     (!pair  "pointer_to"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1636)
                      nil )
                     (!pair  "reference_to"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1637)
                      nil )
                     (!pair  "symtab"
                      (!type union 525 nil  gc_used "tree_type_symtab"
                       (!srcfileloc  "tree-core.h" 1641)
                       (!fields 2 
                        (!pair  "address"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1639)
                         (!options 
                          (!option tag string  "TYPE_SYMTAB_IS_ADDRESS")
                         )
                        )
                        (!pair  "die"
                         (!type already_seen 496)
                         (!srcfileloc  "tree-core.h" 1640)
                         (!options 
                          (!option tag string  "TYPE_SYMTAB_IS_DIE")
                         )
                        )
                       )
                       nil 2047 nil )
                      (!srcfileloc  "tree-core.h" 1641)
                      (!options 
                       (!option desc string  "debug_hooks->tree_type_symtab_field")
                      )
                     )
                     (!pair  "canonical"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1642)
                      nil )
                     (!pair  "next_variant"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1643)
                      nil )
                     (!pair  "main_variant"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1644)
                      nil )
                     (!pair  "context"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1645)
                      nil )
                     (!pair  "name"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1646)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 1998)
                   (!options 
                    (!option tag string  "TS_TYPE_COMMON")
                   )
                  )
                  (!pair  "type_with_lang_specific"
                   (!type struct 526 nil  gc_used "tree_type_with_lang_specific"
                    (!srcfileloc  "tree-core.h" 1653)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 524)
                      (!srcfileloc  "tree-core.h" 1650)
                      nil )
                     (!pair  "lang_specific"
                      (!type pointer 527 nil  gc_used
                       (!type lang_struct 528 
                        (!type already_seen 527)
                        gc_pointed_to "lang_type"
                        (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                        (!fields 0 )
                        nil 2047 
                        (!homotypes 9
                         (!type struct 529 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "lto/lto-tree.h" 37)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 2)
                            (!srcfileloc  "lto/lto-tree.h" 36)
                            nil )
                          )
                          nil 256 
                          (!type already_seen 528)
                          nil )
                         
                         (!type struct 530 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "jit/dummy-frontend.c" 38)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "jit/dummy-frontend.c" 37)
                            nil )
                          )
                          nil 128 
                          (!type already_seen 528)
                          nil )
                         
                         (!type struct 531 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "go/go-lang.c" 51)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "go/go-lang.c" 50)
                            nil )
                          )
                          nil 64 
                          (!type already_seen 528)
                          nil )
                         
                         (!type struct 532 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "fortran/trans.h" 1000)
                          (!fields 14 
                           (!pair  "rank"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 987)
                            nil )
                           (!pair  "corank"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 987)
                            nil )
                           (!pair  "akind"
                            (!type already_seen 2)
                            (!srcfileloc  "fortran/trans.h" 988)
                            nil )
                           (!pair  "lbound"
                            (!type array 533 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 989)
                            nil )
                           (!pair  "ubound"
                            (!type array 534 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 990)
                            nil )
                           (!pair  "stride"
                            (!type array 535 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 991)
                            nil )
                           (!pair  "size"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 992)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 993)
                            nil )
                           (!pair  "dtype"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 994)
                            nil )
                           (!pair  "dataptr_type"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 995)
                            nil )
                           (!pair  "base_decl"
                            (!type array 536 nil  gc_used "2" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 996)
                            nil )
                           (!pair  "nonrestricted_type"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 997)
                            nil )
                           (!pair  "caf_token"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 998)
                            nil )
                           (!pair  "caf_offset"
                            (!type already_seen 23)
                            (!srcfileloc  "fortran/trans.h" 999)
                            nil )
                          )
                          nil 32 
                          (!type already_seen 528)
                          nil )
                         
                         (!type struct 537 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "d/d-tree.h" 312)
                          (!fields 1 
                           (!pair  "type"
                            (!type pointer 538 nil  gc_unused
                             (!type struct 539 
                              (!type already_seen 538)
                              gc_unused "Type"
                              (!srcfileloc  "d/d-tree.h" 311)
                              (!fields 0 )
                              nil 16 nil nil )
                            )
                            (!srcfileloc  "d/d-tree.h" 311)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                          )
                          nil 16 
                          (!type already_seen 528)
                          nil )
                         
                         (!type struct 540 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "cp/cp-tree.h" 2235)
                          (!fields 66 
                           (!pair  "align"
                            (!type already_seen 8)
                            (!srcfileloc  "cp/cp-tree.h" 2148)
                            nil )
                           (!pair  "has_type_conversion"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2150)
                            nil )
                           (!pair  "has_copy_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2151)
                            nil )
                           (!pair  "has_default_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2152)
                            nil )
                           (!pair  "const_needs_init"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2153)
                            nil )
                           (!pair  "ref_needs_init"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2154)
                            nil )
                           (!pair  "has_const_copy_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2155)
                            nil )
                           (!pair  "use_template"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2156)
                            nil )
                           (!pair  "has_mutable"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2158)
                            nil )
                           (!pair  "com_interface"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2159)
                            nil )
                           (!pair  "non_pod_class"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2160)
                            nil )
                           (!pair  "nearly_empty_p"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2161)
                            nil )
                           (!pair  "user_align"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2162)
                            nil )
                           (!pair  "has_copy_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2163)
                            nil )
                           (!pair  "has_new"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2164)
                            nil )
                           (!pair  "has_array_new"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2165)
                            nil )
                           (!pair  "gets_delete"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2167)
                            nil )
                           (!pair  "interface_only"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2168)
                            nil )
                           (!pair  "interface_unknown"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2169)
                            nil )
                           (!pair  "contains_empty_class_p"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2170)
                            nil )
                           (!pair  "anon_aggr"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2171)
                            nil )
                           (!pair  "non_zero_init"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2172)
                            nil )
                           (!pair  "empty_p"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2173)
                            nil )
                           (!pair  "vec_new_uses_cookie"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2176)
                            nil )
                           (!pair  "declared_class"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2177)
                            nil )
                           (!pair  "diamond_shaped"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2178)
                            nil )
                           (!pair  "repeated_base"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2179)
                            nil )
                           (!pair  "being_defined"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2180)
                            nil )
                           (!pair  "debug_requested"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2181)
                            nil )
                           (!pair  "fields_readonly"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2182)
                            nil )
                           (!pair  "ptrmemfunc_flag"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2183)
                            nil )
                           (!pair  "lazy_default_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2185)
                            nil )
                           (!pair  "lazy_copy_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2186)
                            nil )
                           (!pair  "lazy_copy_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2187)
                            nil )
                           (!pair  "lazy_destructor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2188)
                            nil )
                           (!pair  "has_const_copy_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2189)
                            nil )
                           (!pair  "has_complex_copy_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2190)
                            nil )
                           (!pair  "has_complex_copy_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2191)
                            nil )
                           (!pair  "non_aggregate"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2192)
                            nil )
                           (!pair  "has_complex_dflt"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2194)
                            nil )
                           (!pair  "has_list_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2195)
                            nil )
                           (!pair  "non_std_layout"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2196)
                            nil )
                           (!pair  "is_literal"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2197)
                            nil )
                           (!pair  "lazy_move_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2198)
                            nil )
                           (!pair  "lazy_move_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2199)
                            nil )
                           (!pair  "has_complex_move_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2200)
                            nil )
                           (!pair  "has_complex_move_assign"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2201)
                            nil )
                           (!pair  "has_constexpr_ctor"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2203)
                            nil )
                           (!pair  "unique_obj_representations"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2204)
                            nil )
                           (!pair  "unique_obj_representations_set"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2205)
                            nil )
                           (!pair  "dummy"
                            (!type already_seen 2)
                            (!srcfileloc  "cp/cp-tree.h" 2214)
                            nil )
                           (!pair  "primary_base"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2216)
                            nil )
                           (!pair  "vcall_indices"
                            (!type pointer 541 nil  gc_used
                             (!type user_struct 542 
                              (!type already_seen 541)
                              gc_pointed_to "vec<tree_pair_s,va_gc>"
                              (!srcfileloc  "cp/cp-tree.h" 2217)
                              (!fields 2 
                               (!pair  "va_gc"
                                (!type already_seen 79)
                                (!srcfileloc  "cp/cp-tree.h" 2217)
                                nil )
                               (!pair  "tree_pair_s"
                                (!type struct 543 
                                 (!type pointer 544 nil  gc_used
                                  (!type already_seen 543)
                                 )
                                 gc_pointed_to "tree_pair_s"
                                 (!srcfileloc  "cp/cp-tree.h" 2132)
                                 (!fields 2 
                                  (!pair  "purpose"
                                   (!type already_seen 23)
                                   (!srcfileloc  "cp/cp-tree.h" 2129)
                                   nil )
                                  (!pair  "value"
                                   (!type already_seen 23)
                                   (!srcfileloc  "cp/cp-tree.h" 2130)
                                   nil )
                                 )
                                 nil 1032 nil nil )
                                (!srcfileloc  "cp/cp-tree.h" 2217)
                                nil )
                              )
                             )
                            )
                            (!srcfileloc  "cp/cp-tree.h" 2217)
                            nil )
                           (!pair  "vtables"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2218)
                            nil )
                           (!pair  "typeinfo_var"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2219)
                            nil )
                           (!pair  "vbases"
                            (!type already_seen 84)
                            (!srcfileloc  "cp/cp-tree.h" 2220)
                            nil )
                           (!pair  "nested_udts"
                            (!type pointer 545 nil  gc_used
                             (!type struct 546 
                              (!type already_seen 545)
                              gc_pointed_to "binding_table_s"
                              (!srcfileloc  "cp/name-lookup.c" 1802)
                              (!fields 3 
                               (!pair  "chain"
                                (!type pointer 547 nil  gc_unused
                                 (!type pointer 548 
                                  (!type already_seen 547)
                                  gc_used
                                  (!type struct 549 
                                   (!type already_seen 548)
                                   gc_pointed_to "binding_entry_s"
                                   (!srcfileloc  "cp/name-lookup.h" 38)
                                   (!fields 3 
                                    (!pair  "chain"
                                     (!type already_seen 548)
                                     (!srcfileloc  "cp/name-lookup.h" 35)
                                     nil )
                                    (!pair  "name"
                                     (!type already_seen 23)
                                     (!srcfileloc  "cp/name-lookup.h" 36)
                                     nil )
                                    (!pair  "type"
                                     (!type already_seen 23)
                                     (!srcfileloc  "cp/name-lookup.h" 37)
                                     nil )
                                   )
                                   nil 1032 nil nil )
                                 )
                                )
                                (!srcfileloc  "cp/name-lookup.c" 1794)
                                (!options 
                                 (!option length string  "%h.chain_count")
                                )
                               )
                               (!pair  "chain_count"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/name-lookup.c" 1798)
                                nil )
                               (!pair  "entry_count"
                                (!type already_seen 2)
                                (!srcfileloc  "cp/name-lookup.c" 1801)
                                nil )
                              )
                              nil 1032 nil nil )
                            )
                            (!srcfileloc  "cp/cp-tree.h" 2221)
                            nil )
                           (!pair  "as_base"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2222)
                            nil )
                           (!pair  "pure_virtuals"
                            (!type already_seen 84)
                            (!srcfileloc  "cp/cp-tree.h" 2223)
                            nil )
                           (!pair  "friend_classes"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2224)
                            nil )
                           (!pair  "members"
                            (!type already_seen 84)
                            (!srcfileloc  "cp/cp-tree.h" 2225)
                            (!options 
                             (!option reorder string  "resort_type_member_vec")
                            )
                           )
                           (!pair  "key_method"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2226)
                            nil )
                           (!pair  "decl_list"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2227)
                            nil )
                           (!pair  "befriending_classes"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2228)
                            nil )
                           (!pair  "objc_info"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2232)
                            nil )
                           (!pair  "lambda_expr"
                            (!type already_seen 23)
                            (!srcfileloc  "cp/cp-tree.h" 2234)
                            nil )
                          )
                          nil 1032 
                          (!type already_seen 528)
                          nil )
                         
                         (!type struct 550 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "c/c-lang.h" 42)
                          (!fields 4 
                           (!pair  "s"
                            (!type pointer 551 nil  gc_used
                             (!type struct 552 
                              (!type already_seen 551)
                              gc_pointed_to "sorted_fields_type"
                              (!srcfileloc  "c/c-lang.h" 30)
                              (!fields 2 
                               (!pair  "len"
                                (!type already_seen 2)
                                (!srcfileloc  "c/c-lang.h" 28)
                                nil )
                               (!pair  "elts"
                                (!type array 553 nil  gc_used "1" 
                                 (!type already_seen 23)
                                )
                                (!srcfileloc  "c/c-lang.h" 29)
                                (!options 
                                 (!option length string  "%h.len")
                                )
                               )
                              )
                              nil 516 nil nil )
                            )
                            (!srcfileloc  "c/c-lang.h" 34)
                            (!options 
                             (!option reorder string  "resort_sorted_fields")
                            )
                           )
                           (!pair  "enum_min"
                            (!type already_seen 23)
                            (!srcfileloc  "c/c-lang.h" 36)
                            nil )
                           (!pair  "enum_max"
                            (!type already_seen 23)
                            (!srcfileloc  "c/c-lang.h" 37)
                            nil )
                           (!pair  "objc_info"
                            (!type already_seen 23)
                            (!srcfileloc  "c/c-lang.h" 41)
                            nil )
                          )
                          nil 516 
                          (!type already_seen 528)
                          nil )
                         
                         (!type struct 554 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "brig/brig-lang.c" 71)
                          (!fields 1 
                           (!pair  "dummy"
                            (!type already_seen 8)
                            (!srcfileloc  "brig/brig-lang.c" 70)
                            nil )
                          )
                          nil 2 
                          (!type already_seen 528)
                          nil )
                         
                         (!type struct 555 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                          (!fields 2 
                           (!pair  "t1"
                            (!type already_seen 23)
                            (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                            nil )
                           (!pair  "t2"
                            (!type already_seen 23)
                            (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                            nil )
                          )
                          nil 1 
                          (!type already_seen 528)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "tree-core.h" 1652)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2000)
                   (!options 
                    (!option tag string  "TS_TYPE_WITH_LANG_SPECIFIC")
                   )
                  )
                  (!pair  "type_non_common"
                   (!type struct 556 nil  gc_used "tree_type_non_common"
                    (!srcfileloc  "tree-core.h" 1661)
                    (!fields 5 
                     (!pair  "with_lang_specific"
                      (!type already_seen 526)
                      (!srcfileloc  "tree-core.h" 1656)
                      nil )
                     (!pair  "values"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1657)
                      nil )
                     (!pair  "minval"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1658)
                      nil )
                     (!pair  "maxval"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1659)
                      nil )
                     (!pair  "lang_1"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1660)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2002)
                   (!options 
                    (!option tag string  "TS_TYPE_NON_COMMON")
                   )
                  )
                  (!pair  "list"
                   (!type struct 557 nil  gc_used "tree_list"
                    (!srcfileloc  "tree-core.h" 1431)
                    (!fields 3 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1428)
                      nil )
                     (!pair  "purpose"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1429)
                      nil )
                     (!pair  "value"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1430)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2003)
                   (!options 
                    (!option tag string  "TS_LIST")
                   )
                  )
                  (!pair  "vec"
                   (!type struct 558 nil  gc_used "tree_vec"
                    (!srcfileloc  "tree-core.h" 1436)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1434)
                      nil )
                     (!pair  "a"
                      (!type array 559 nil  gc_used "1" 
                       (!type already_seen 23)
                      )
                      (!srcfileloc  "tree-core.h" 1435)
                      (!options 
                       (!option length string  "TREE_VEC_LENGTH ((tree)&%h)")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2004)
                   (!options 
                    (!option tag string  "TS_VEC")
                   )
                  )
                  (!pair  "exp"
                   (!type struct 560 nil  gc_used "tree_exp"
                    (!srcfileloc  "tree-core.h" 1496)
                    (!fields 3 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1491)
                      nil )
                     (!pair  "locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1492)
                      nil )
                     (!pair  "operands"
                      (!type union 561 nil  gc_used "tree_exp_subunion"
                       (!srcfileloc  "tree-core.h" 1495)
                       (!fields 1 
                        (!pair  ""
                         (!type array 562 nil  gc_used "1" 
                          (!type already_seen 23)
                         )
                         (!srcfileloc  "gengtype.c" 1393)
                         (!options 
                          (!option default string  "")
                          (!option length string  "TREE_OPERAND_LENGTH ((tree) &%0)")
                          (!option dot string  "")
                         )
                        )
                       )
                       (!options 
                        (!option dot string  "")
                       )
                       2047 nil )
                      (!srcfileloc  "tree-core.h" 1495)
                      (!options 
                       (!option desc string  "TREE_CODE ((tree) &%0)")
                       (!option special string  "tree_exp")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2005)
                   (!options 
                    (!option tag string  "TS_EXP")
                   )
                  )
                  (!pair  "ssa_name"
                   (!type struct 563 nil  gc_used "tree_ssa_name"
                    (!srcfileloc  "tree-core.h" 1532)
                    (!fields 5 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1513)
                      nil )
                     (!pair  "var"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1516)
                      nil )
                     (!pair  "def_stmt"
                      (!type already_seen 280)
                      (!srcfileloc  "tree-core.h" 1519)
                      nil )
                     (!pair  "info"
                      (!type union 564 nil  gc_used "ssa_name_info_type"
                       (!srcfileloc  "tree-core.h" 1527)
                       (!fields 2 
                        (!pair  "ptr_info"
                         (!type pointer 565 nil  gc_used
                          (!type struct 566 
                           (!type already_seen 565)
                           gc_pointed_to "ptr_info_def"
                           (!srcfileloc  "tree-ssanames.h" 46)
                           (!fields 3 
                            (!pair  "pt"
                             (!type already_seen 390)
                             (!srcfileloc  "tree-ssanames.h" 28)
                             nil )
                            (!pair  "align"
                             (!type already_seen 2)
                             (!srcfileloc  "tree-ssanames.h" 40)
                             nil )
                            (!pair  "misalign"
                             (!type already_seen 2)
                             (!srcfileloc  "tree-ssanames.h" 45)
                             nil )
                           )
                           nil 2047 nil nil )
                         )
                         (!srcfileloc  "tree-core.h" 1524)
                         (!options 
                          (!option tag string  "0")
                         )
                        )
                        (!pair  "range_info"
                         (!type pointer 567 nil  gc_used
                          (!type struct 568 
                           (!type already_seen 567)
                           gc_pointed_to "range_info_def"
                           (!srcfileloc  "tree-ssanames.h" 56)
                           (!fields 0 )
                           (!options 
                            (!option variable_size string  "")
                           )
                           2047 nil nil )
                         )
                         (!srcfileloc  "tree-core.h" 1526)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                       )
                       nil 2047 nil )
                      (!srcfileloc  "tree-core.h" 1528)
                      (!options 
                       (!option desc string  "%1.typed.type ?!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2")
                      )
                     )
                     (!pair  "imm_uses"
                      (!type struct 569 
                       (!type pointer 570 nil  gc_unused
                        (!type already_seen 569)
                       )
                       gc_used "ssa_use_operand_t"
                       (!srcfileloc  "tree-ssa-operands.h" 30)
                       (!fields 4 
                        (!pair  "prev"
                         (!type already_seen 570)
                         (!srcfileloc  "tree-core.h" 1501)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "next"
                         (!type already_seen 570)
                         (!srcfileloc  "tree-core.h" 1502)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "loc"
                         (!type union 571 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-core.h:1508"
                          (!srcfileloc  "tree-core.h" 1508)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 280)
                            (!srcfileloc  "tree-core.h" 1508)
                            nil )
                           (!pair  "ssa_name"
                            (!type already_seen 23)
                            (!srcfileloc  "tree-core.h" 1508)
                            nil )
                          )
                          nil 2047 nil )
                         (!srcfileloc  "tree-core.h" 1508)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "use"
                         (!type already_seen 24)
                         (!srcfileloc  "tree-core.h" 1509)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                       )
                       nil 2047 nil nil )
                      (!srcfileloc  "tree-core.h" 1531)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2006)
                   (!options 
                    (!option tag string  "TS_SSA_NAME")
                   )
                  )
                  (!pair  "block"
                   (!type struct 572 nil  gc_used "tree_block"
                    (!srcfileloc  "tree-core.h" 1593)
                    (!fields 13 
                     (!pair  "base"
                      (!type already_seen 25)
                      (!srcfileloc  "tree-core.h" 1574)
                      nil )
                     (!pair  "chain"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1575)
                      nil )
                     (!pair  "block_num"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1577)
                      nil )
                     (!pair  "locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1579)
                      nil )
                     (!pair  "end_locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1580)
                      nil )
                     (!pair  "vars"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1582)
                      nil )
                     (!pair  "nonlocalized_vars"
                      (!type already_seen 84)
                      (!srcfileloc  "tree-core.h" 1583)
                      nil )
                     (!pair  "subblocks"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1585)
                      nil )
                     (!pair  "supercontext"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1586)
                      nil )
                     (!pair  "abstract_origin"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1587)
                      nil )
                     (!pair  "fragment_origin"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1588)
                      nil )
                     (!pair  "fragment_chain"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1589)
                      nil )
                     (!pair  "die"
                      (!type already_seen 496)
                      (!srcfileloc  "tree-core.h" 1592)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2007)
                   (!options 
                    (!option tag string  "TS_BLOCK")
                   )
                  )
                  (!pair  "binfo"
                   (!type struct 573 nil  gc_used "tree_binfo"
                    (!srcfileloc  "tree-core.h" 1677)
                    (!fields 10 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1664)
                      nil )
                     (!pair  "offset"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1666)
                      nil )
                     (!pair  "vtable"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1667)
                      nil )
                     (!pair  "virtuals"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1668)
                      nil )
                     (!pair  "vptr_field"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1669)
                      nil )
                     (!pair  "base_accesses"
                      (!type already_seen 84)
                      (!srcfileloc  "tree-core.h" 1670)
                      nil )
                     (!pair  "inheritance"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1671)
                      nil )
                     (!pair  "vtt_subvtt"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1673)
                      nil )
                     (!pair  "vtt_vptr"
                      (!type already_seen 23)
                      (!srcfileloc  "tree-core.h" 1674)
                      nil )
                     (!pair  "base_binfos"
                      (!type already_seen 85)
                      (!srcfileloc  "tree-core.h" 1676)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2008)
                   (!options 
                    (!option tag string  "TS_BINFO")
                   )
                  )
                  (!pair  "stmt_list"
                   (!type struct 574 nil  gc_used "tree_statement_list"
                    (!srcfileloc  "tree-core.h" 1930)
                    (!fields 3 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1927)
                      nil )
                     (!pair  "head"
                      (!type pointer 575 nil  gc_used
                       (!type struct 576 
                        (!type already_seen 575)
                        gc_pointed_to "tree_statement_list_node"
                        (!srcfileloc  "tree-core.h" 1923)
                        (!fields 3 
                         (!pair  "prev"
                          (!type already_seen 575)
                          (!srcfileloc  "tree-core.h" 1920)
                          nil )
                         (!pair  "next"
                          (!type already_seen 575)
                          (!srcfileloc  "tree-core.h" 1921)
                          nil )
                         (!pair  "stmt"
                          (!type already_seen 23)
                          (!srcfileloc  "tree-core.h" 1922)
                          nil )
                        )
                        (!options 
                         (!option chain_prev string  "%h.prev")
                         (!option chain_next string  "%h.next")
                        )
                        2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1928)
                      nil )
                     (!pair  "tail"
                      (!type already_seen 575)
                      (!srcfileloc  "tree-core.h" 1929)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2009)
                   (!options 
                    (!option tag string  "TS_STATEMENT_LIST")
                   )
                  )
                  (!pair  "constructor"
                   (!type struct 577 nil  gc_used "tree_constructor"
                    (!srcfileloc  "tree-core.h" 1450)
                    (!fields 2 
                     (!pair  "typed"
                      (!type already_seen 31)
                      (!srcfileloc  "tree-core.h" 1448)
                      nil )
                     (!pair  "elts"
                      (!type pointer 578 nil  gc_used
                       (!type user_struct 579 
                        (!type already_seen 578)
                        gc_pointed_to "vec<constructor_elt,va_gc>"
                        (!srcfileloc  "tree-core.h" 1449)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 79)
                          (!srcfileloc  "tree-core.h" 1449)
                          nil )
                         (!pair  "constructor_elt"
                          (!type struct 580 nil  gc_used "constructor_elt"
                           (!srcfileloc  "tree-core.h" 1449)
                           (!fields 2 
                            (!pair  "index"
                             (!type already_seen 23)
                             (!srcfileloc  "tree-core.h" 1443)
                             nil )
                            (!pair  "value"
                             (!type already_seen 23)
                             (!srcfileloc  "tree-core.h" 1444)
                             nil )
                           )
                           nil 2047 nil nil )
                          (!srcfileloc  "tree-core.h" 1449)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "tree-core.h" 1449)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2010)
                   (!options 
                    (!option tag string  "TS_CONSTRUCTOR")
                   )
                  )
                  (!pair  "omp_clause"
                   (!type struct 581 nil  gc_used "tree_omp_clause"
                    (!srcfileloc  "tree-core.h" 1571)
                    (!fields 7 
                     (!pair  "common"
                      (!type already_seen 32)
                      (!srcfileloc  "tree-core.h" 1543)
                      nil )
                     (!pair  "locus"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1544)
                      nil )
                     (!pair  "code"
                      (!type already_seen 2)
                      (!srcfileloc  "tree-core.h" 1545)
                      nil )
                     (!pair  "subcode"
                      (!type union 582 nil  gc_unused "omp_clause_subcode"
                       (!srcfileloc  "tree-core.h" 1562)
                       (!fields 12 
                        (!pair  "default_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1547)
                         nil )
                        (!pair  "schedule_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1548)
                         nil )
                        (!pair  "depend_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1549)
                         nil )
                        (!pair  "map_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1551)
                         nil )
                        (!pair  "proc_bind_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1552)
                         nil )
                        (!pair  "reduction_code"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1553)
                         nil )
                        (!pair  "linear_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1554)
                         nil )
                        (!pair  "if_modifier"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1555)
                         nil )
                        (!pair  "defaultmap_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1556)
                         nil )
                        (!pair  "bind_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1557)
                         nil )
                        (!pair  "device_type_kind"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1558)
                         nil )
                        (!pair  "dimension"
                         (!type already_seen 2)
                         (!srcfileloc  "tree-core.h" 1561)
                         nil )
                       )
                       nil 2047 nil )
                      (!srcfileloc  "tree-core.h" 1562)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                     (!pair  "gimple_reduction_init"
                      (!type already_seen 280)
                      (!srcfileloc  "tree-core.h" 1566)
                      nil )
                     (!pair  "gimple_reduction_merge"
                      (!type already_seen 280)
                      (!srcfileloc  "tree-core.h" 1567)
                      nil )
                     (!pair  "ops"
                      (!type array 583 nil  gc_used "1" 
                       (!type already_seen 23)
                      )
                      (!srcfileloc  "tree-core.h" 1570)
                      (!options 
                       (!option length string  "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2011)
                   (!options 
                    (!option tag string  "TS_OMP_CLAUSE")
                   )
                  )
                  (!pair  "optimization"
                   (!type struct 584 nil  gc_used "tree_optimization_option"
                    (!srcfileloc  "tree-core.h" 1948)
                    (!fields 4 
                     (!pair  "base"
                      (!type already_seen 25)
                      (!srcfileloc  "tree-core.h" 1936)
                      nil )
                     (!pair  "opts"
                      (!type pointer 585 nil  gc_used
                       (!type struct 586 
                        (!type already_seen 585)
                        gc_pointed_to "cl_optimization"
                        (!fileloc  "options.h" 7909)
                        (!fields 451 
                         (!pair  "x_str_align_functions"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7458)
                          nil )
                         (!pair  "x_str_align_jumps"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7459)
                          nil )
                         (!pair  "x_str_align_labels"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7460)
                          nil )
                         (!pair  "x_str_align_loops"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7461)
                          nil )
                         (!pair  "x_param_align_loop_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7462)
                          nil )
                         (!pair  "x_param_align_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7463)
                          nil )
                         (!pair  "x_param_asan_protect_allocas"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7464)
                          nil )
                         (!pair  "x_param_asan_instrument_reads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7465)
                          nil )
                         (!pair  "x_param_asan_instrument_writes"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7466)
                          nil )
                         (!pair  "x_param_asan_instrumentation_with_call_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7467)
                          nil )
                         (!pair  "x_param_asan_memintrin"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7468)
                          nil )
                         (!pair  "x_param_asan_stack"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7469)
                          nil )
                         (!pair  "x_param_asan_use_after_return"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7470)
                          nil )
                         (!pair  "x_param_avg_loop_niter"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7471)
                          nil )
                         (!pair  "x_param_avoid_fma_max_bits"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7472)
                          nil )
                         (!pair  "x_param_builtin_expect_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7473)
                          nil )
                         (!pair  "x_param_builtin_string_cmp_inline_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7474)
                          nil )
                         (!pair  "x_param_case_values_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7475)
                          nil )
                         (!pair  "x_param_comdat_sharing_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7476)
                          nil )
                         (!pair  "x_param_dse_max_alias_queries_per_store"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7477)
                          nil )
                         (!pair  "x_param_dse_max_object_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7478)
                          nil )
                         (!pair  "x_param_early_inlining_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7479)
                          nil )
                         (!pair  "x_param_fsm_maximum_phi_arguments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7480)
                          nil )
                         (!pair  "x_param_fsm_scale_path_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7481)
                          nil )
                         (!pair  "x_param_fsm_scale_path_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7482)
                          nil )
                         (!pair  "x_param_gcse_after_reload_critical_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7483)
                          nil )
                         (!pair  "x_param_gcse_after_reload_partial_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7484)
                          nil )
                         (!pair  "x_param_gcse_cost_distance_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7485)
                          nil )
                         (!pair  "x_param_gcse_unrestricted_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7486)
                          nil )
                         (!pair  "x_param_graphite_max_arrays_per_scop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7487)
                          nil )
                         (!pair  "x_param_graphite_max_nb_scop_params"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7488)
                          nil )
                         (!pair  "x_param_inline_heuristics_hint_percent"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7489)
                          nil )
                         (!pair  "x_param_inline_min_speedup"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7490)
                          nil )
                         (!pair  "x_param_inline_unit_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7491)
                          nil )
                         (!pair  "x_param_ipa_cp_eval_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7492)
                          nil )
                         (!pair  "x_param_ipa_cp_loop_hint_bonus"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7493)
                          nil )
                         (!pair  "x_param_ipa_cp_max_recursive_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7494)
                          nil )
                         (!pair  "x_param_ipa_cp_min_recursive_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7495)
                          nil )
                         (!pair  "x_param_ipa_cp_recursion_penalty"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7496)
                          nil )
                         (!pair  "x_param_ipa_cp_single_call_penalty"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7497)
                          nil )
                         (!pair  "x_param_ipa_cp_unit_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7498)
                          nil )
                         (!pair  "x_param_ipa_cp_value_list_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7499)
                          nil )
                         (!pair  "x_param_ipa_max_aa_steps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7500)
                          nil )
                         (!pair  "x_param_ipa_max_agg_items"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7501)
                          nil )
                         (!pair  "x_param_ipa_max_param_expr_ops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7502)
                          nil )
                         (!pair  "x_param_ipa_max_switch_predicate_bounds"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7503)
                          nil )
                         (!pair  "x_param_ipa_sra_max_replacements"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7504)
                          nil )
                         (!pair  "x_param_ipa_sra_ptr_growth_factor"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7505)
                          nil )
                         (!pair  "x_param_ira_loop_reserved_regs"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7506)
                          nil )
                         (!pair  "x_param_ira_max_conflict_table_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7507)
                          nil )
                         (!pair  "x_param_ira_max_loops_num"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7508)
                          nil )
                         (!pair  "x_param_iv_always_prune_cand_set_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7509)
                          nil )
                         (!pair  "x_param_iv_consider_all_candidates_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7510)
                          nil )
                         (!pair  "x_param_iv_max_considered_uses"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7511)
                          nil )
                         (!pair  "x_param_jump_table_max_growth_ratio_for_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7512)
                          nil )
                         (!pair  "x_param_jump_table_max_growth_ratio_for_speed"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7513)
                          nil )
                         (!pair  "x_param_l1_cache_line_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7514)
                          nil )
                         (!pair  "x_param_l1_cache_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7515)
                          nil )
                         (!pair  "x_param_l2_cache_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7516)
                          nil )
                         (!pair  "x_param_large_function_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7517)
                          nil )
                         (!pair  "x_param_large_function_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7518)
                          nil )
                         (!pair  "x_param_stack_frame_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7519)
                          nil )
                         (!pair  "x_param_large_stack_frame"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7520)
                          nil )
                         (!pair  "x_param_large_unit_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7521)
                          nil )
                         (!pair  "x_param_lim_expensive"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7522)
                          nil )
                         (!pair  "x_param_loop_block_tile_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7523)
                          nil )
                         (!pair  "x_param_loop_interchange_max_num_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7524)
                          nil )
                         (!pair  "x_param_loop_interchange_stride_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7525)
                          nil )
                         (!pair  "x_param_loop_invariant_max_bbs_in_loop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7526)
                          nil )
                         (!pair  "x_param_loop_max_datarefs_for_datadeps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7527)
                          nil )
                         (!pair  "x_param_loop_versioning_max_inner_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7528)
                          nil )
                         (!pair  "x_param_loop_versioning_max_outer_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7529)
                          nil )
                         (!pair  "x_param_lra_inheritance_ebb_probability_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7530)
                          nil )
                         (!pair  "x_param_lra_max_considered_reload_pseudos"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7531)
                          nil )
                         (!pair  "x_param_max_average_unrolled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7532)
                          nil )
                         (!pair  "x_param_max_combine_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7533)
                          nil )
                         (!pair  "x_param_max_unroll_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7534)
                          nil )
                         (!pair  "x_param_max_completely_peel_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7535)
                          nil )
                         (!pair  "x_param_max_completely_peeled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7536)
                          nil )
                         (!pair  "x_param_max_crossjump_edges"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7537)
                          nil )
                         (!pair  "x_param_max_cse_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7538)
                          nil )
                         (!pair  "x_param_max_cse_path_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7539)
                          nil )
                         (!pair  "x_param_max_cselib_memory_locations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7540)
                          nil )
                         (!pair  "x_param_max_debug_marker_count"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7541)
                          nil )
                         (!pair  "x_param_max_delay_slot_insn_search"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7542)
                          nil )
                         (!pair  "x_param_max_delay_slot_live_search"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7543)
                          nil )
                         (!pair  "x_param_max_dse_active_local_stores"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7544)
                          nil )
                         (!pair  "x_param_early_inliner_max_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7545)
                          nil )
                         (!pair  "x_param_max_find_base_term_values"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7546)
                          nil )
                         (!pair  "x_param_max_fsm_thread_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7547)
                          nil )
                         (!pair  "x_param_max_fsm_thread_path_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7548)
                          nil )
                         (!pair  "x_param_max_fsm_thread_paths"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7549)
                          nil )
                         (!pair  "x_param_max_gcse_insertion_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7550)
                          nil )
                         (!pair  "x_param_max_gcse_memory"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7551)
                          nil )
                         (!pair  "x_param_max_goto_duplication_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7552)
                          nil )
                         (!pair  "x_param_max_grow_copy_bb_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7553)
                          nil )
                         (!pair  "x_param_max_hoist_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7554)
                          nil )
                         (!pair  "x_param_max_inline_insns_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7555)
                          nil )
                         (!pair  "x_param_max_inline_insns_recursive_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7556)
                          nil )
                         (!pair  "x_param_max_inline_insns_recursive"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7557)
                          nil )
                         (!pair  "x_param_max_inline_insns_single"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7558)
                          nil )
                         (!pair  "x_param_max_inline_insns_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7559)
                          nil )
                         (!pair  "x_param_max_inline_insns_small"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7560)
                          nil )
                         (!pair  "x_param_max_inline_recursive_depth_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7561)
                          nil )
                         (!pair  "x_param_max_inline_recursive_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7562)
                          nil )
                         (!pair  "x_param_max_isl_operations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7563)
                          nil )
                         (!pair  "x_param_max_iterations_computation_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7564)
                          nil )
                         (!pair  "x_param_max_iterations_to_track"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7565)
                          nil )
                         (!pair  "x_param_max_jump_thread_duplication_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7566)
                          nil )
                         (!pair  "x_param_max_last_value_rtl"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7567)
                          nil )
                         (!pair  "x_param_max_loop_header_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7568)
                          nil )
                         (!pair  "x_param_max_modulo_backtrack_attempts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7569)
                          nil )
                         (!pair  "x_param_max_partial_antic_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7570)
                          nil )
                         (!pair  "x_param_max_peel_branches"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7571)
                          nil )
                         (!pair  "x_param_max_peel_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7572)
                          nil )
                         (!pair  "x_param_max_peeled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7573)
                          nil )
                         (!pair  "x_param_max_pending_list_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7574)
                          nil )
                         (!pair  "x_param_max_pipeline_region_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7575)
                          nil )
                         (!pair  "x_param_max_pipeline_region_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7576)
                          nil )
                         (!pair  "x_param_max_pow_sqrt_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7577)
                          nil )
                         (!pair  "x_param_max_predicted_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7578)
                          nil )
                         (!pair  "x_param_max_reload_search_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7579)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7580)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_predictable_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7581)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_unpredictable_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7582)
                          nil )
                         (!pair  "x_param_max_sched_extend_regions_iters"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7583)
                          nil )
                         (!pair  "x_param_max_sched_insn_conflict_delay"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7584)
                          nil )
                         (!pair  "x_param_max_sched_ready_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7585)
                          nil )
                         (!pair  "x_param_max_sched_region_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7586)
                          nil )
                         (!pair  "x_param_max_sched_region_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7587)
                          nil )
                         (!pair  "x_param_max_slsr_candidate_scan"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7588)
                          nil )
                         (!pair  "x_param_max_speculative_devirt_maydefs"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7589)
                          nil )
                         (!pair  "x_param_max_stores_to_merge"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7590)
                          nil )
                         (!pair  "x_param_max_stores_to_sink"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7591)
                          nil )
                         (!pair  "x_param_max_tail_merge_comparisons"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7592)
                          nil )
                         (!pair  "x_param_max_tail_merge_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7593)
                          nil )
                         (!pair  "x_param_max_tracked_strlens"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7594)
                          nil )
                         (!pair  "x_param_max_tree_if_conversion_phi_args"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7595)
                          nil )
                         (!pair  "x_param_max_unroll_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7596)
                          nil )
                         (!pair  "x_param_max_unrolled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7597)
                          nil )
                         (!pair  "x_param_max_unswitch_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7598)
                          nil )
                         (!pair  "x_param_max_unswitch_level"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7599)
                          nil )
                         (!pair  "x_param_max_variable_expansions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7600)
                          nil )
                         (!pair  "x_param_max_vartrack_expr_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7601)
                          nil )
                         (!pair  "x_param_max_vartrack_reverse_op_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7602)
                          nil )
                         (!pair  "x_param_max_vartrack_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7603)
                          nil )
                         (!pair  "x_param_max_vrp_switch_assertions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7604)
                          nil )
                         (!pair  "x_param_min_crossjump_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7605)
                          nil )
                         (!pair  "x_param_min_inline_recursive_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7606)
                          nil )
                         (!pair  "x_param_min_insn_to_prefetch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7607)
                          nil )
                         (!pair  "x_param_min_loop_cond_split_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7608)
                          nil )
                         (!pair  "x_param_min_size_for_stack_sharing"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7609)
                          nil )
                         (!pair  "x_param_min_spec_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7610)
                          nil )
                         (!pair  "x_param_min_vect_loop_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7611)
                          nil )
                         (!pair  "x_param_parloops_chunk_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7612)
                          nil )
                         (!pair  "x_param_parloops_min_per_thread"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7613)
                          nil )
                         (!pair  "x_param_parloops_schedule"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7614)
                          nil )
                         (!pair  "x_param_partial_inlining_entry_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7615)
                          nil )
                         (!pair  "x_param_predictable_branch_outcome"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7616)
                          nil )
                         (!pair  "x_param_prefetch_dynamic_strides"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7617)
                          nil )
                         (!pair  "x_param_prefetch_latency"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7618)
                          nil )
                         (!pair  "x_param_prefetch_min_insn_to_mem_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7619)
                          nil )
                         (!pair  "x_param_prefetch_minimum_stride"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7620)
                          nil )
                         (!pair  "x_param_rpo_vn_max_loop_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7621)
                          nil )
                         (!pair  "x_param_sccvn_max_alias_queries_per_access"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7622)
                          nil )
                         (!pair  "x_param_scev_max_expr_complexity"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7623)
                          nil )
                         (!pair  "x_param_scev_max_expr_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7624)
                          nil )
                         (!pair  "x_param_sched_autopref_queue_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7625)
                          nil )
                         (!pair  "x_param_sched_mem_true_dep_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7626)
                          nil )
                         (!pair  "x_param_sched_pressure_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7627)
                          nil )
                         (!pair  "x_param_sched_spec_prob_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7628)
                          nil )
                         (!pair  "x_param_sched_state_edge_prob_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7629)
                          nil )
                         (!pair  "x_param_selsched_insns_to_rename"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7630)
                          nil )
                         (!pair  "x_param_selsched_max_lookahead"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7631)
                          nil )
                         (!pair  "x_param_selsched_max_sched_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7632)
                          nil )
                         (!pair  "x_param_simultaneous_prefetches"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7633)
                          nil )
                         (!pair  "x_param_sink_frequency_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7634)
                          nil )
                         (!pair  "x_param_slp_max_insns_in_bb"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7635)
                          nil )
                         (!pair  "x_param_sms_dfa_history"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7636)
                          nil )
                         (!pair  "x_param_sms_loop_average_count_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7637)
                          nil )
                         (!pair  "x_param_sms_max_ii_factor"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7638)
                          nil )
                         (!pair  "x_param_sms_min_sc"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7639)
                          nil )
                         (!pair  "x_param_sra_max_propagations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7640)
                          nil )
                         (!pair  "x_param_sra_max_scalarization_size_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7641)
                          nil )
                         (!pair  "x_param_sra_max_scalarization_size_speed"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7642)
                          nil )
                         (!pair  "x_param_ssa_name_def_chain_limit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7643)
                          nil )
                         (!pair  "x_param_ssp_buffer_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7644)
                          nil )
                         (!pair  "x_param_stack_clash_protection_guard_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7645)
                          nil )
                         (!pair  "x_param_stack_clash_protection_probe_interval"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7646)
                          nil )
                         (!pair  "x_param_store_merging_allow_unaligned"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7647)
                          nil )
                         (!pair  "x_param_store_merging_max_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7648)
                          nil )
                         (!pair  "x_param_switch_conversion_branch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7649)
                          nil )
                         (!pair  "x_param_tm_max_aggregate_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7650)
                          nil )
                         (!pair  "x_param_tracer_dynamic_coverage_feedback"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7651)
                          nil )
                         (!pair  "x_param_tracer_dynamic_coverage"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7652)
                          nil )
                         (!pair  "x_param_tracer_max_code_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7653)
                          nil )
                         (!pair  "x_param_tracer_min_branch_probability_feedback"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7654)
                          nil )
                         (!pair  "x_param_tracer_min_branch_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7655)
                          nil )
                         (!pair  "x_param_tracer_min_branch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7656)
                          nil )
                         (!pair  "x_param_tree_reassoc_width"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7657)
                          nil )
                         (!pair  "x_param_uninit_control_dep_attempts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7658)
                          nil )
                         (!pair  "x_param_uninlined_function_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7659)
                          nil )
                         (!pair  "x_param_uninlined_function_time"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7660)
                          nil )
                         (!pair  "x_param_uninlined_function_thunk_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7661)
                          nil )
                         (!pair  "x_param_uninlined_function_thunk_time"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7662)
                          nil )
                         (!pair  "x_param_unlikely_bb_count_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7663)
                          nil )
                         (!pair  "x_param_unroll_jam_max_unroll"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7664)
                          nil )
                         (!pair  "x_param_unroll_jam_min_percent"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7665)
                          nil )
                         (!pair  "x_param_use_after_scope_direct_emission_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7666)
                          nil )
                         (!pair  "x_param_vect_epilogues_nomask"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7667)
                          nil )
                         (!pair  "x_param_vect_max_peeling_for_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7668)
                          nil )
                         (!pair  "x_param_vect_max_version_for_alias_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7669)
                          nil )
                         (!pair  "x_param_vect_max_version_for_alignment_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7670)
                          nil )
                         (!pair  "x_flag_sched_stalled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7671)
                          nil )
                         (!pair  "x_flag_sched_stalled_insns_dep"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7672)
                          nil )
                         (!pair  "x_flag_tree_parallelize_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7673)
                          nil )
                         (!pair  "x_flag_excess_precision"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7674)
                          nil )
                         (!pair  "x_flag_fp_contract_mode"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7675)
                          nil )
                         (!pair  "x_flag_ira_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7676)
                          nil )
                         (!pair  "x_flag_ira_region"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7677)
                          nil )
                         (!pair  "x_flag_live_patching"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7678)
                          nil )
                         (!pair  "x_flag_reorder_blocks_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7679)
                          nil )
                         (!pair  "x_flag_simd_cost_model"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7680)
                          nil )
                         (!pair  "x_flag_stack_reuse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7681)
                          nil )
                         (!pair  "x_flag_vect_cost_model"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7682)
                          nil )
                         (!pair  "x_optimize"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7683)
                          nil )
                         (!pair  "x_optimize_size"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7684)
                          nil )
                         (!pair  "x_optimize_debug"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7685)
                          nil )
                         (!pair  "x_optimize_fast"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7686)
                          nil )
                         (!pair  "x_warn_inline"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7687)
                          nil )
                         (!pair  "x_flag_aggressive_loop_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7688)
                          nil )
                         (!pair  "x_flag_align_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7689)
                          nil )
                         (!pair  "x_flag_align_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7690)
                          nil )
                         (!pair  "x_flag_align_labels"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7691)
                          nil )
                         (!pair  "x_flag_align_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7692)
                          nil )
                         (!pair  "x_flag_allocation_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7693)
                          nil )
                         (!pair  "x_flag_store_data_races"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7694)
                          nil )
                         (!pair  "x_flag_associative_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7695)
                          nil )
                         (!pair  "x_flag_assume_phsa"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7696)
                          nil )
                         (!pair  "x_flag_asynchronous_unwind_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7697)
                          nil )
                         (!pair  "x_flag_auto_inc_dec"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7698)
                          nil )
                         (!pair  "x_flag_branch_on_count_reg"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7699)
                          nil )
                         (!pair  "x_flag_branch_probabilities"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7700)
                          nil )
                         (!pair  "x_flag_caller_saves"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7701)
                          nil )
                         (!pair  "x_flag_code_hoisting"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7702)
                          nil )
                         (!pair  "x_flag_combine_stack_adjustments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7703)
                          nil )
                         (!pair  "x_flag_compare_elim_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7704)
                          nil )
                         (!pair  "x_flag_conserve_stack"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7705)
                          nil )
                         (!pair  "x_flag_cprop_registers"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7706)
                          nil )
                         (!pair  "x_flag_crossjumping"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7707)
                          nil )
                         (!pair  "x_flag_cse_follow_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7708)
                          nil )
                         (!pair  "x_flag_cx_fortran_rules"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7709)
                          nil )
                         (!pair  "x_flag_cx_limited_range"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7710)
                          nil )
                         (!pair  "x_flag_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7711)
                          nil )
                         (!pair  "x_flag_defer_pop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7712)
                          nil )
                         (!pair  "x_flag_delayed_branch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7713)
                          nil )
                         (!pair  "x_flag_delete_dead_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7714)
                          nil )
                         (!pair  "x_flag_delete_null_pointer_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7715)
                          nil )
                         (!pair  "x_flag_devirtualize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7716)
                          nil )
                         (!pair  "x_flag_devirtualize_speculatively"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7717)
                          nil )
                         (!pair  "x_flag_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7718)
                          nil )
                         (!pair  "x_flag_early_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7719)
                          nil )
                         (!pair  "x_flag_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7720)
                          nil )
                         (!pair  "x_flag_expensive_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7721)
                          nil )
                         (!pair  "x_flag_finite_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7722)
                          nil )
                         (!pair  "x_flag_finite_math_only"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7723)
                          nil )
                         (!pair  "x_flag_float_store"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7724)
                          nil )
                         (!pair  "x_flag_forward_propagate"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7725)
                          nil )
                         (!pair  "x_flag_fp_int_builtin_inexact"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7726)
                          nil )
                         (!pair  "x_flag_no_function_cse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7727)
                          nil )
                         (!pair  "x_flag_gcse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7728)
                          nil )
                         (!pair  "x_flag_gcse_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7729)
                          nil )
                         (!pair  "x_flag_gcse_las"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7730)
                          nil )
                         (!pair  "x_flag_gcse_lm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7731)
                          nil )
                         (!pair  "x_flag_gcse_sm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7732)
                          nil )
                         (!pair  "x_flag_graphite"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7733)
                          nil )
                         (!pair  "x_flag_graphite_identity"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7734)
                          nil )
                         (!pair  "x_flag_guess_branch_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7735)
                          nil )
                         (!pair  "x_flag_hoist_adjacent_loads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7736)
                          nil )
                         (!pair  "x_flag_if_conversion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7737)
                          nil )
                         (!pair  "x_flag_if_conversion2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7738)
                          nil )
                         (!pair  "x_flag_indirect_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7739)
                          nil )
                         (!pair  "x_flag_no_inline"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7740)
                          nil )
                         (!pair  "x_flag_inline_atomics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7741)
                          nil )
                         (!pair  "x_flag_inline_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7742)
                          nil )
                         (!pair  "x_flag_inline_functions_called_once"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7743)
                          nil )
                         (!pair  "x_flag_inline_small_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7744)
                          nil )
                         (!pair  "x_flag_ipa_bit_cp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7745)
                          nil )
                         (!pair  "x_flag_ipa_cp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7746)
                          nil )
                         (!pair  "x_flag_ipa_cp_clone"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7747)
                          nil )
                         (!pair  "x_flag_ipa_icf"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7748)
                          nil )
                         (!pair  "x_flag_ipa_icf_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7749)
                          nil )
                         (!pair  "x_flag_ipa_icf_variables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7750)
                          nil )
                         (!pair  "x_flag_ipa_profile"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7751)
                          nil )
                         (!pair  "x_flag_ipa_pta"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7752)
                          nil )
                         (!pair  "x_flag_ipa_pure_const"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7753)
                          nil )
                         (!pair  "x_flag_ipa_ra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7754)
                          nil )
                         (!pair  "x_flag_ipa_reference"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7755)
                          nil )
                         (!pair  "x_flag_ipa_reference_addressable"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7756)
                          nil )
                         (!pair  "x_flag_ipa_sra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7757)
                          nil )
                         (!pair  "x_flag_ipa_stack_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7758)
                          nil )
                         (!pair  "x_flag_ipa_vrp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7759)
                          nil )
                         (!pair  "x_flag_ira_hoist_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7760)
                          nil )
                         (!pair  "x_flag_ira_loop_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7761)
                          nil )
                         (!pair  "x_flag_ira_share_save_slots"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7762)
                          nil )
                         (!pair  "x_flag_ira_share_spill_slots"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7763)
                          nil )
                         (!pair  "x_flag_isolate_erroneous_paths_attribute"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7764)
                          nil )
                         (!pair  "x_flag_isolate_erroneous_paths_dereference"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7765)
                          nil )
                         (!pair  "x_flag_ivopts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7766)
                          nil )
                         (!pair  "x_flag_jump_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7767)
                          nil )
                         (!pair  "x_flag_keep_gc_roots_live"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7768)
                          nil )
                         (!pair  "x_flag_lifetime_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7769)
                          nil )
                         (!pair  "x_flag_limit_function_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7770)
                          nil )
                         (!pair  "x_flag_live_range_shrinkage"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7771)
                          nil )
                         (!pair  "x_flag_loop_interchange"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7772)
                          nil )
                         (!pair  "x_flag_loop_nest_optimize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7773)
                          nil )
                         (!pair  "x_flag_loop_parallelize_all"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7774)
                          nil )
                         (!pair  "x_flag_unroll_jam"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7775)
                          nil )
                         (!pair  "x_flag_lra_remat"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7776)
                          nil )
                         (!pair  "x_flag_errno_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7777)
                          nil )
                         (!pair  "x_flag_modulo_sched"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7778)
                          nil )
                         (!pair  "x_flag_modulo_sched_allow_regmoves"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7779)
                          nil )
                         (!pair  "x_flag_move_loop_invariants"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7780)
                          nil )
                         (!pair  "x_flag_non_call_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7781)
                          nil )
                         (!pair  "x_flag_nothrow_opt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7782)
                          nil )
                         (!pair  "x_flag_omit_frame_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7783)
                          nil )
                         (!pair  "x_flag_opt_info"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7784)
                          nil )
                         (!pair  "x_flag_optimize_sibling_calls"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7785)
                          nil )
                         (!pair  "x_flag_optimize_strlen"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7786)
                          nil )
                         (!pair  "x_flag_pack_struct"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7787)
                          nil )
                         (!pair  "x_flag_partial_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7788)
                          nil )
                         (!pair  "x_flag_peel_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7789)
                          nil )
                         (!pair  "x_flag_no_peephole"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7790)
                          nil )
                         (!pair  "x_flag_peephole2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7791)
                          nil )
                         (!pair  "x_flag_plt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7792)
                          nil )
                         (!pair  "x_flag_predictive_commoning"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7793)
                          nil )
                         (!pair  "x_flag_prefetch_loop_arrays"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7794)
                          nil )
                         (!pair  "x_flag_printf_return_value"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7795)
                          nil )
                         (!pair  "x_flag_profile_partial_training"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7796)
                          nil )
                         (!pair  "x_flag_profile_reorder_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7797)
                          nil )
                         (!pair  "x_flag_reciprocal_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7798)
                          nil )
                         (!pair  "x_flag_ree"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7799)
                          nil )
                         (!pair  "x_flag_pcc_struct_return"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7800)
                          nil )
                         (!pair  "x_flag_rename_registers"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7801)
                          nil )
                         (!pair  "x_flag_reorder_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7802)
                          nil )
                         (!pair  "x_flag_reorder_blocks_and_partition"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7803)
                          nil )
                         (!pair  "x_flag_reorder_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7804)
                          nil )
                         (!pair  "x_flag_rerun_cse_after_loop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7805)
                          nil )
                         (!pair  "x_flag_resched_modulo_sched"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7806)
                          nil )
                         (!pair  "x_flag_rounding_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7807)
                          nil )
                         (!pair  "x_flag_rtti"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7808)
                          nil )
                         (!pair  "x_flag_save_optimization_record"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7809)
                          nil )
                         (!pair  "x_flag_sched_critical_path_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7810)
                          nil )
                         (!pair  "x_flag_sched_dep_count_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7811)
                          nil )
                         (!pair  "x_flag_sched_group_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7812)
                          nil )
                         (!pair  "x_flag_schedule_interblock"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7813)
                          nil )
                         (!pair  "x_flag_sched_last_insn_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7814)
                          nil )
                         (!pair  "x_flag_sched_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7815)
                          nil )
                         (!pair  "x_flag_sched_rank_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7816)
                          nil )
                         (!pair  "x_flag_schedule_speculative"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7817)
                          nil )
                         (!pair  "x_flag_sched_spec_insn_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7818)
                          nil )
                         (!pair  "x_flag_schedule_speculative_load"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7819)
                          nil )
                         (!pair  "x_flag_schedule_speculative_load_dangerous"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7820)
                          nil )
                         (!pair  "x_flag_sched2_use_superblocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7821)
                          nil )
                         (!pair  "x_flag_schedule_fusion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7822)
                          nil )
                         (!pair  "x_flag_schedule_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7823)
                          nil )
                         (!pair  "x_flag_schedule_insns_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7824)
                          nil )
                         (!pair  "x_flag_section_anchors"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7825)
                          nil )
                         (!pair  "x_flag_sel_sched_pipelining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7826)
                          nil )
                         (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7827)
                          nil )
                         (!pair  "x_flag_sel_sched_reschedule_pipelined"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7828)
                          nil )
                         (!pair  "x_flag_selective_scheduling"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7829)
                          nil )
                         (!pair  "x_flag_selective_scheduling2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7830)
                          nil )
                         (!pair  "x_flag_short_enums"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7831)
                          nil )
                         (!pair  "x_flag_short_wchar"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7832)
                          nil )
                         (!pair  "x_flag_shrink_wrap"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7833)
                          nil )
                         (!pair  "x_flag_shrink_wrap_separate"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7834)
                          nil )
                         (!pair  "x_flag_signaling_nans"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7835)
                          nil )
                         (!pair  "x_flag_signed_zeros"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7836)
                          nil )
                         (!pair  "x_flag_single_precision_constant"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7837)
                          nil )
                         (!pair  "x_flag_split_ivs_in_unroller"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7838)
                          nil )
                         (!pair  "x_flag_split_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7839)
                          nil )
                         (!pair  "x_flag_split_paths"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7840)
                          nil )
                         (!pair  "x_flag_split_wide_types"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7841)
                          nil )
                         (!pair  "x_flag_split_wide_types_early"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7842)
                          nil )
                         (!pair  "x_flag_ssa_backprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7843)
                          nil )
                         (!pair  "x_flag_ssa_phiopt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7844)
                          nil )
                         (!pair  "x_flag_stack_clash_protection"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7845)
                          nil )
                         (!pair  "x_flag_stack_protect"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7846)
                          nil )
                         (!pair  "x_flag_stdarg_opt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7847)
                          nil )
                         (!pair  "x_flag_store_merging"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7848)
                          nil )
                         (!pair  "x_flag_strict_aliasing"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7849)
                          nil )
                         (!pair  "x_flag_strict_enums"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7850)
                          nil )
                         (!pair  "x_flag_strict_volatile_bitfields"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7851)
                          nil )
                         (!pair  "x_flag_thread_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7852)
                          nil )
                         (!pair  "x_flag_threadsafe_statics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7853)
                          nil )
                         (!pair  "x_flag_toplevel_reorder"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7854)
                          nil )
                         (!pair  "x_flag_tracer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7855)
                          nil )
                         (!pair  "x_flag_trapping_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7856)
                          nil )
                         (!pair  "x_flag_trapv"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7857)
                          nil )
                         (!pair  "x_flag_tree_bit_ccp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7858)
                          nil )
                         (!pair  "x_flag_tree_builtin_call_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7859)
                          nil )
                         (!pair  "x_flag_tree_ccp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7860)
                          nil )
                         (!pair  "x_flag_tree_ch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7861)
                          nil )
                         (!pair  "x_flag_tree_coalesce_vars"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7862)
                          nil )
                         (!pair  "x_flag_tree_copy_prop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7863)
                          nil )
                         (!pair  "x_flag_tree_cselim"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7864)
                          nil )
                         (!pair  "x_flag_tree_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7865)
                          nil )
                         (!pair  "x_flag_tree_dom"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7866)
                          nil )
                         (!pair  "x_flag_tree_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7867)
                          nil )
                         (!pair  "x_flag_tree_forwprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7868)
                          nil )
                         (!pair  "x_flag_tree_fre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7869)
                          nil )
                         (!pair  "x_flag_tree_loop_distribute_patterns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7870)
                          nil )
                         (!pair  "x_flag_tree_loop_distribution"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7871)
                          nil )
                         (!pair  "x_flag_tree_loop_if_convert"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7872)
                          nil )
                         (!pair  "x_flag_tree_loop_im"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7873)
                          nil )
                         (!pair  "x_flag_tree_loop_ivcanon"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7874)
                          nil )
                         (!pair  "x_flag_tree_loop_optimize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7875)
                          nil )
                         (!pair  "x_flag_tree_loop_vectorize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7876)
                          nil )
                         (!pair  "x_flag_tree_live_range_split"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7877)
                          nil )
                         (!pair  "x_flag_tree_partial_pre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7878)
                          nil )
                         (!pair  "x_flag_tree_phiprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7879)
                          nil )
                         (!pair  "x_flag_tree_pre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7880)
                          nil )
                         (!pair  "x_flag_tree_pta"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7881)
                          nil )
                         (!pair  "x_flag_tree_reassoc"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7882)
                          nil )
                         (!pair  "x_flag_tree_scev_cprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7883)
                          nil )
                         (!pair  "x_flag_tree_sink"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7884)
                          nil )
                         (!pair  "x_flag_tree_slp_vectorize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7885)
                          nil )
                         (!pair  "x_flag_tree_slsr"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7886)
                          nil )
                         (!pair  "x_flag_tree_sra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7887)
                          nil )
                         (!pair  "x_flag_tree_switch_conversion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7888)
                          nil )
                         (!pair  "x_flag_tree_tail_merge"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7889)
                          nil )
                         (!pair  "x_flag_tree_ter"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7890)
                          nil )
                         (!pair  "x_flag_tree_vrp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7891)
                          nil )
                         (!pair  "x_flag_unconstrained_commons"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7892)
                          nil )
                         (!pair  "x_flag_unroll_all_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7893)
                          nil )
                         (!pair  "x_flag_cunroll_grow_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7894)
                          nil )
                         (!pair  "x_flag_unroll_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7895)
                          nil )
                         (!pair  "x_flag_unsafe_math_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7896)
                          nil )
                         (!pair  "x_flag_unswitch_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7897)
                          nil )
                         (!pair  "x_flag_unwind_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7898)
                          nil )
                         (!pair  "x_flag_var_tracking"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7899)
                          nil )
                         (!pair  "x_flag_var_tracking_assignments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7900)
                          nil )
                         (!pair  "x_flag_var_tracking_assignments_toggle"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7901)
                          nil )
                         (!pair  "x_flag_var_tracking_uninit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7902)
                          nil )
                         (!pair  "x_flag_variable_expansion_in_unroller"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7903)
                          nil )
                         (!pair  "x_flag_version_loops_for_strides"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7904)
                          nil )
                         (!pair  "x_flag_value_profile_transformations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7905)
                          nil )
                         (!pair  "x_flag_web"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7906)
                          nil )
                         (!pair  "x_flag_wrapv"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7907)
                          nil )
                         (!pair  "x_flag_wrapv_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7908)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1939)
                      nil )
                     (!pair  "optabs"
                      (!type already_seen 3)
                      (!srcfileloc  "tree-core.h" 1943)
                      (!options 
                       (!option atomic string  "")
                      )
                     )
                     (!pair  "base_optabs"
                      (!type pointer 587 nil  gc_unused
                       (!type struct 588 
                        (!type already_seen 587)
                        gc_unused "target_optabs"nil 
                        (!fields 0 )
                        nil 0 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1947)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2012)
                   (!options 
                    (!option tag string  "TS_OPTIMIZATION")
                   )
                  )
                  (!pair  "target_option"
                   (!type struct 589 nil  gc_used "tree_target_option"
                    (!srcfileloc  "tree-core.h" 1964)
                    (!fields 3 
                     (!pair  "base"
                      (!type already_seen 25)
                      (!srcfileloc  "tree-core.h" 1957)
                      nil )
                     (!pair  "globals"
                      (!type pointer 590 nil  gc_used
                       (!type struct 591 
                        (!type already_seen 590)
                        gc_pointed_to "target_globals"
                        (!srcfileloc  "target-globals.h" 64)
                        (!fields 17 
                         (!pair  "flag_state"
                          (!type pointer 592 nil  gc_unused
                           (!type struct 593 
                            (!type already_seen 592)
                            gc_unused "target_flag_state"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 47)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "regs"
                          (!type pointer 594 nil  gc_unused
                           (!type struct 595 
                            (!type already_seen 594)
                            gc_unused "target_regs"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 48)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "rtl"
                          (!type pointer 596 nil  gc_used
                           (!type struct 597 
                            (!type already_seen 596)
                            gc_pointed_to "target_rtl"
                            (!srcfileloc  "rtl.h" 3763)
                            (!fields 8 
                             (!pair  "x_global_rtl"
                              (!type array 598 nil  gc_used "GR_MAX" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3735)
                              nil )
                             (!pair  "x_pic_offset_table_rtx"
                              (!type already_seen 100)
                              (!srcfileloc  "rtl.h" 3738)
                              nil )
                             (!pair  "x_return_address_pointer_rtx"
                              (!type already_seen 100)
                              (!srcfileloc  "rtl.h" 3743)
                              nil )
                             (!pair  "x_initial_regno_reg_rtx"
                              (!type array 599 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3749)
                              nil )
                             (!pair  "x_top_of_stack"
                              (!type array 600 nil  gc_used "MAX_MACHINE_MODE" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3752)
                              nil )
                             (!pair  "x_static_reg_base_value"
                              (!type array 601 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3756)
                              nil )
                             (!pair  "x_mode_mem_attrs"
                              (!type array 602 nil  gc_used "(int) MAX_MACHINE_MODE" 
                               (!type already_seen 226)
                              )
                              (!srcfileloc  "rtl.h" 3759)
                              nil )
                             (!pair  "target_specific_initialized"
                              (!type already_seen 2)
                              (!srcfileloc  "rtl.h" 3762)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 49)
                          nil )
                         (!pair  "recog"
                          (!type pointer 603 nil  gc_unused
                           (!type struct 604 
                            (!type already_seen 603)
                            gc_unused "target_recog"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 50)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "hard_regs"
                          (!type pointer 605 nil  gc_unused
                           (!type struct 606 
                            (!type already_seen 605)
                            gc_unused "target_hard_regs"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 51)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "function_abi_info"
                          (!type pointer 607 nil  gc_unused
                           (!type struct 608 
                            (!type already_seen 607)
                            gc_unused "target_function_abi_info"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 52)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "reload"
                          (!type pointer 609 nil  gc_unused
                           (!type struct 610 
                            (!type already_seen 609)
                            gc_unused "target_reload"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 53)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "expmed"
                          (!type pointer 611 nil  gc_unused
                           (!type struct 612 
                            (!type already_seen 611)
                            gc_unused "target_expmed"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 54)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "optabs"
                          (!type already_seen 587)
                          (!srcfileloc  "target-globals.h" 55)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "libfuncs"
                          (!type pointer 613 nil  gc_used
                           (!type struct 614 
                            (!type already_seen 613)
                            gc_pointed_to "target_libfuncs"
                            (!srcfileloc  "libfuncs.h" 62)
                            (!fields 2 
                             (!pair  "x_libfunc_table"
                              (!type array 615 nil  gc_used "LTI_MAX" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "libfuncs.h" 58)
                              nil )
                             (!pair  "x_libfunc_hash"
                              (!type pointer 616 nil  gc_used
                               (!type user_struct 617 
                                (!type already_seen 616)
                                gc_pointed_to "hash_table<libfunc_hasher>"
                                (!srcfileloc  "libfuncs.h" 61)
                                (!fields 1 
                                 (!pair  "libfunc_hasher"
                                  (!type struct 618 nil  gc_used "libfunc_hasher"
                                   (!srcfileloc  "libfuncs.h" 61)
                                   (!fields 0 )
                                   nil 2047 nil nil )
                                  (!srcfileloc  "libfuncs.h" 61)
                                  nil )
                                )
                               )
                              )
                              (!srcfileloc  "libfuncs.h" 61)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 56)
                          nil )
                         (!pair  "cfgloop"
                          (!type pointer 619 nil  gc_unused
                           (!type struct 620 
                            (!type already_seen 619)
                            gc_unused "target_cfgloop"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 57)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "ira"
                          (!type pointer 621 nil  gc_unused
                           (!type struct 622 
                            (!type already_seen 621)
                            gc_unused "target_ira"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 58)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "ira_int"
                          (!type pointer 623 nil  gc_unused
                           (!type struct 624 
                            (!type already_seen 623)
                            gc_unused "target_ira_int"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 59)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "builtins"
                          (!type pointer 625 nil  gc_unused
                           (!type struct 626 
                            (!type already_seen 625)
                            gc_unused "target_builtins"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 60)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "gcse"
                          (!type pointer 627 nil  gc_unused
                           (!type struct 628 
                            (!type already_seen 627)
                            gc_unused "target_gcse"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 61)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "bb_reorder"
                          (!type pointer 629 nil  gc_unused
                           (!type struct 630 
                            (!type already_seen 629)
                            gc_unused "target_bb_reorder"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 62)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "lower_subreg"
                          (!type pointer 631 nil  gc_unused
                           (!type struct 632 
                            (!type already_seen 631)
                            gc_unused "target_lower_subreg"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 63)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1960)
                      nil )
                     (!pair  "opts"
                      (!type pointer 633 nil  gc_used
                       (!type struct 634 
                        (!type already_seen 633)
                        gc_pointed_to "cl_target_option"
                        (!fileloc  "options.h" 7957)
                        (!fields 43 
                         (!pair  "x_ix86_isa_flags2_explicit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7914)
                          nil )
                         (!pair  "x_ix86_isa_flags_explicit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7915)
                          nil )
                         (!pair  "x_ix86_arch_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7916)
                          nil )
                         (!pair  "x_ix86_recip_name"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7917)
                          nil )
                         (!pair  "x_ix86_tune_ctrl_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7918)
                          nil )
                         (!pair  "x_ix86_tune_memcpy_strategy"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7919)
                          nil )
                         (!pair  "x_ix86_tune_memset_strategy"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7920)
                          nil )
                         (!pair  "x_ix86_tune_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7921)
                          nil )
                         (!pair  "x_ix86_stack_protector_guard_offset"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7922)
                          nil )
                         (!pair  "x_ix86_stack_protector_guard_reg"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7923)
                          nil )
                         (!pair  "x_target_flags"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7924)
                          nil )
                         (!pair  "x_ix86_isa_flags"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7925)
                          nil )
                         (!pair  "x_ix86_isa_flags2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7926)
                          nil )
                         (!pair  "x_ix86_fpmath"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7927)
                          nil )
                         (!pair  "x_ix86_target_flags"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7928)
                          nil )
                         (!pair  "x_prefer_vector_width_type"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7929)
                          nil )
                         (!pair  "x_ix86_asm_dialect"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7930)
                          nil )
                         (!pair  "x_ix86_abi"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7931)
                          nil )
                         (!pair  "x_ix86_cmodel"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7932)
                          nil )
                         (!pair  "x_ix86_veclibabi_type"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7933)
                          nil )
                         (!pair  "x_ix86_pmode"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7934)
                          nil )
                         (!pair  "x_ix86_stack_protector_guard"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7935)
                          nil )
                         (!pair  "x_ix86_stringop_alg"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7936)
                          nil )
                         (!pair  "x_ix86_tls_dialect"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7937)
                          nil )
                         (!pair  "x_ix86_branch_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7938)
                          nil )
                         (!pair  "x_ix86_dump_tunes"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7939)
                          nil )
                         (!pair  "x_ix86_force_align_arg_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7940)
                          nil )
                         (!pair  "x_ix86_force_drap"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7941)
                          nil )
                         (!pair  "x_ix86_incoming_stack_boundary_arg"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7942)
                          nil )
                         (!pair  "x_ix86_preferred_stack_boundary_arg"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7943)
                          nil )
                         (!pair  "x_ix86_regparm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7944)
                          nil )
                         (!pair  "x_ix86_section_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7945)
                          nil )
                         (!pair  "x_ix86_sse2avx"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7946)
                          nil )
                         (!pair  "x_ix86_tune_no_default"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7947)
                          nil )
                         (!pair  "x_recip_mask_explicit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7948)
                          nil )
                         (!pair  "x_recip_mask"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7949)
                          nil )
                         (!pair  "arch"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7950)
                          nil )
                         (!pair  "arch_specified"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7951)
                          nil )
                         (!pair  "branch_cost"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7952)
                          nil )
                         (!pair  "prefetch_sse"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7953)
                          nil )
                         (!pair  "schedule"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7954)
                          nil )
                         (!pair  "tune"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7955)
                          nil )
                         (!pair  "tune_defaulted"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7956)
                          nil )
                        )
                        nil 2047 nil nil )
                      )
                      (!srcfileloc  "tree-core.h" 1963)
                      nil )
                    )
                    nil 2047 nil nil )
                   (!srcfileloc  "tree-core.h" 2013)
                   (!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 635 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")
                    )
                    2047 
                    (!homotypes 9
                     (!type union 636 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "lto/lto-tree.h" 54)
                      (!fields 1 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!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)")
                      )
                      256 
                      (!type already_seen 635)
                     )
                     
                     (!type union 637 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "jit/dummy-frontend.c" 64)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "jit/dummy-frontend.c" 62)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type lang_struct 638 nil  gc_used "lang_identifier"
                         (!srcfileloc  "d/d-tree.h" 337)
                         (!fields 0 )
                         nil 496 
                         (!homotypes 8
                          (!type struct 639 nil  gc_used "lang_identifier"
                           (!srcfileloc  "lto/lto-tree.h" 27)
                           (!fields 1 
                            (!pair  "base"
                             (!type already_seen 51)
                             (!srcfileloc  "lto/lto-tree.h" 26)
                             nil )
                           )
                           nil 256 
                           (!type already_seen 638)
                           nil )
                          
                          (!type struct 640 nil  gc_used "lang_identifier"
                           (!srcfileloc  "jit/dummy-frontend.c" 53)
                           (!fields 1 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "jit/dummy-frontend.c" 52)
                             nil )
                           )
                           nil 128 
                           (!type already_seen 638)
                           nil )
                          
                          (!type struct 641 nil  gc_used "lang_identifier"
                           (!srcfileloc  "go/go-lang.c" 66)
                           (!fields 1 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "go/go-lang.c" 65)
                             nil )
                           )
                           nil 64 
                           (!type already_seen 638)
                           nil )
                          
                          (!type struct 642 nil  gc_used "lang_identifier"
                           (!srcfileloc  "fortran/f95-lang.c" 48)
                           (!fields 1 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "fortran/f95-lang.c" 47)
                             nil )
                           )
                           nil 32 
                           (!type already_seen 638)
                           nil )
                          
                          (!type struct 643 nil  gc_used "lang_identifier"
                           (!srcfileloc  "d/d-tree.h" 207)
                           (!fields 5 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "d/d-tree.h" 196)
                             nil )
                            (!pair  "pretty_ident"
                             (!type already_seen 23)
                             (!srcfileloc  "d/d-tree.h" 199)
                             nil )
                            (!pair  "decl_tree"
                             (!type already_seen 23)
                             (!srcfileloc  "d/d-tree.h" 202)
                             nil )
                            (!pair  "dsymbol"
                             (!type already_seen 61)
                             (!srcfileloc  "d/d-tree.h" 205)
                             (!options 
                              (!option skip string  "")
                             )
                            )
                            (!pair  "daggregate"
                             (!type pointer 644 nil  gc_unused
                              (!type struct 645 
                               (!type already_seen 644)
                               gc_unused "AggregateDeclaration"
                               (!srcfileloc  "d/d-tree.h" 206)
                               (!fields 0 )
                               nil 16 nil nil )
                             )
                             (!srcfileloc  "d/d-tree.h" 206)
                             (!options 
                              (!option skip string  "")
                             )
                            )
                           )
                           nil 16 
                           (!type already_seen 638)
                           nil )
                          
                          (!type struct 646 nil  gc_used "lang_identifier"
                           (!srcfileloc  "cp/cp-tree.h" 656)
                           (!fields 2 
                            (!pair  "c_common"
                             (!type struct 647 nil  gc_used "c_common_identifier"
                              (!srcfileloc  "c-family/c-common.h" 382)
                              (!fields 2 
                               (!pair  "common"
                                (!type already_seen 32)
                                (!srcfileloc  "c-family/c-common.h" 380)
                                nil )
                               (!pair  "node"
                                (!type already_seen 12)
                                (!srcfileloc  "c-family/c-common.h" 381)
                                nil )
                              )
                              nil 1548 nil nil )
                             (!srcfileloc  "cp/cp-tree.h" 654)
                             nil )
                            (!pair  "bindings"
                             (!type already_seen 89)
                             (!srcfileloc  "cp/cp-tree.h" 655)
                             nil )
                           )
                           nil 1032 
                           (!type already_seen 638)
                           nil )
                          
                          (!type struct 648 nil  gc_used "lang_identifier"
                           (!srcfileloc  "c/c-decl.c" 217)
                           (!fields 4 
                            (!pair  "common_id"
                             (!type already_seen 647)
                             (!srcfileloc  "c/c-decl.c" 213)
                             nil )
                            (!pair  "symbol_binding"
                             (!type pointer 649 nil  gc_used
                              (!type struct 650 
                               (!type already_seen 649)
                               gc_pointed_to "c_binding"
                               (!srcfileloc  "c/c-decl.c" 202)
                               (!fields 11 
                                (!pair  "u"
                                 (!type union 651 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/c/c-decl.c:188"
                                  (!srcfileloc  "c/c-decl.c" 191)
                                  (!fields 2 
                                   (!pair  "type"
                                    (!type already_seen 23)
                                    (!srcfileloc  "c/c-decl.c" 189)
                                    (!options 
                                     (!option tag string  "0")
                                    )
                                   )
                                   (!pair  "label"
                                    (!type pointer 652 nil  gc_used
                                     (!type struct 653 
                                      (!type already_seen 652)
                                      gc_pointed_to "c_label_vars"
                                      (!srcfileloc  "c/c-decl.c" 381)
                                      (!fields 4 
                                       (!pair  "shadowed"
                                        (!type already_seen 652)
                                        (!srcfileloc  "c/c-decl.c" 369)
                                        nil )
                                       (!pair  "label_bindings"
                                        (!type struct 654 nil  gc_used "c_spot_bindings"
                                         (!srcfileloc  "c/c-decl.c" 348)
                                         (!fields 4 
                                          (!pair  "scope"
                                           (!type pointer 655 nil  gc_used
                                            (!type struct 656 
                                             (!type already_seen 655)
                                             gc_pointed_to "c_scope"
                                             (!srcfileloc  "c/c-decl.c" 483)
                                             (!fields 14 
                                              (!pair  "outer"
                                               (!type already_seen 655)
                                               (!srcfileloc  "c/c-decl.c" 430)
                                               nil )
                                              (!pair  "outer_function"
                                               (!type already_seen 655)
                                               (!srcfileloc  "c/c-decl.c" 433)
                                               nil )
                                              (!pair  "bindings"
                                               (!type already_seen 649)
                                               (!srcfileloc  "c/c-decl.c" 436)
                                               nil )
                                              (!pair  "blocks"
                                               (!type already_seen 23)
                                               (!srcfileloc  "c/c-decl.c" 440)
                                               nil )
                                              (!pair  "blocks_last"
                                               (!type already_seen 23)
                                               (!srcfileloc  "c/c-decl.c" 441)
                                               nil )
                                              (!pair  "depth"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 445)
                                               nil )
                                              (!pair  "parm_flag"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 449)
                                               nil )
                                              (!pair  "had_vla_unspec"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 453)
                                               nil )
                                              (!pair  "warned_forward_parm_decls"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 458)
                                               nil )
                                              (!pair  "function_body"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 464)
                                               nil )
                                              (!pair  "keep"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 467)
                                               nil )
                                              (!pair  "float_const_decimal64"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 470)
                                               nil )
                                              (!pair  "has_label_bindings"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 475)
                                               nil )
                                              (!pair  "has_jump_unsafe_decl"
                                               (!type already_seen 2)
                                               (!srcfileloc  "c/c-decl.c" 482)
                                               nil )
                                             )
                                             (!options 
                                              (!option chain_next string  "%h.outer")
                                             )
                                             516 nil nil )
                                           )
                                           (!srcfileloc  "c/c-decl.c" 333)
                                           nil )
                                          (!pair  "bindings_in_scope"
                                           (!type already_seen 649)
                                           (!srcfileloc  "c/c-decl.c" 337)
                                           nil )
                                          (!pair  "stmt_exprs"
                                           (!type already_seen 2)
                                           (!srcfileloc  "c/c-decl.c" 344)
                                           nil )
                                          (!pair  "left_stmt_expr"
                                           (!type already_seen 2)
                                           (!srcfileloc  "c/c-decl.c" 347)
                                           nil )
                                         )
                                         nil 516 nil nil )
                                        (!srcfileloc  "c/c-decl.c" 371)
                                        nil )
                                       (!pair  "decls_in_scope"
                                        (!type already_seen 84)
                                        (!srcfileloc  "c/c-decl.c" 376)
                                        nil )
                                       (!pair  "gotos"
                                        (!type pointer 657 nil  gc_used
                                         (!type user_struct 658 
                                          (!type already_seen 657)
                                          gc_pointed_to "vec<c_goto_bindings_p,va_gc>"
                                          (!srcfileloc  "c/c-decl.c" 380)
                                          (!fields 2 
                                           (!pair  "va_gc"
                                            (!type already_seen 79)
                                            (!srcfileloc  "c/c-decl.c" 380)
                                            nil )
                                           (!pair  "c_goto_bindings_p"
                                            (!type pointer 659 nil  gc_used
                                             (!type struct 660 
                                              (!type already_seen 659)
                                              gc_pointed_to "c_goto_bindings"
                                              (!srcfileloc  "c/c-decl.c" 359)
                                              (!fields 2 
                                               (!pair  "loc"
                                                (!type already_seen 2)
                                                (!srcfileloc  "c/c-decl.c" 356)
                                                nil )
                                               (!pair  "goto_bindings"
                                                (!type already_seen 654)
                                                (!srcfileloc  "c/c-decl.c" 358)
                                                nil )
                                              )
                                              nil 516 nil nil )
                                            )
                                            (!srcfileloc  "c/c-decl.c" 380)
                                            nil )
                                          )
                                         )
                                        )
                                        (!srcfileloc  "c/c-decl.c" 380)
                                        nil )
                                      )
                                      nil 516 nil nil )
                                    )
                                    (!srcfileloc  "c/c-decl.c" 190)
                                    (!options 
                                     (!option tag string  "1")
                                    )
                                   )
                                  )
                                  nil 516 nil )
                                 (!srcfileloc  "c/c-decl.c" 191)
                                 (!options 
                                  (!option desc string  "TREE_CODE (%0.decl) == LABEL_DECL")
                                 )
                                )
                                (!pair  "decl"
                                 (!type already_seen 23)
                                 (!srcfileloc  "c/c-decl.c" 192)
                                 nil )
                                (!pair  "id"
                                 (!type already_seen 23)
                                 (!srcfileloc  "c/c-decl.c" 193)
                                 nil )
                                (!pair  "prev"
                                 (!type already_seen 649)
                                 (!srcfileloc  "c/c-decl.c" 194)
                                 nil )
                                (!pair  "shadowed"
                                 (!type already_seen 649)
                                 (!srcfileloc  "c/c-decl.c" 195)
                                 nil )
                                (!pair  "depth"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 196)
                                 nil )
                                (!pair  "invisible"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 197)
                                 nil )
                                (!pair  "nested"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 198)
                                 nil )
                                (!pair  "inner_comp"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 199)
                                 nil )
                                (!pair  "in_struct"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 200)
                                 nil )
                                (!pair  "locus"
                                 (!type already_seen 2)
                                 (!srcfileloc  "c/c-decl.c" 201)
                                 nil )
                               )
                               (!options 
                                (!option chain_next string  "%h.prev")
                               )
                               516 nil nil )
                             )
                             (!srcfileloc  "c/c-decl.c" 214)
                             nil )
                            (!pair  "tag_binding"
                             (!type already_seen 649)
                             (!srcfileloc  "c/c-decl.c" 215)
                             nil )
                            (!pair  "label_binding"
                             (!type already_seen 649)
                             (!srcfileloc  "c/c-decl.c" 216)
                             nil )
                           )
                           nil 516 
                           (!type already_seen 638)
                           nil )
                          
                          (!type struct 661 nil  gc_used "lang_identifier"
                           (!srcfileloc  "brig/brig-lang.c" 86)
                           (!fields 1 
                            (!pair  "common"
                             (!type already_seen 51)
                             (!srcfileloc  "brig/brig-lang.c" 85)
                             nil )
                           )
                           nil 2 
                           (!type already_seen 638)
                           nil )
                         )
                        )
                        (!srcfileloc  "jit/dummy-frontend.c" 63)
                        (!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")
                      )
                      128 
                      (!type already_seen 635)
                     )
                     
                     (!type union 662 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "go/go-lang.c" 77)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "go/go-lang.c" 75)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 638)
                        (!srcfileloc  "go/go-lang.c" 76)
                        (!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 635)
                     )
                     
                     (!type union 663 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "fortran/f95-lang.c" 58)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "fortran/f95-lang.c" 56)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 638)
                        (!srcfileloc  "fortran/f95-lang.c" 57)
                        (!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 635)
                     )
                     
                     (!type union 664 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "d/d-tree.h" 339)
                      (!fields 3 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "d/d-tree.h" 336)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "TS_D_GENERIC")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 638)
                        (!srcfileloc  "d/d-tree.h" 337)
                        (!options 
                         (!option tag string  "TS_D_IDENTIFIER")
                        )
                       )
                       (!pair  "frameinfo"
                        (!type struct 665 nil  gc_used "tree_frame_info"
                         (!srcfileloc  "d/d-tree.h" 338)
                         (!fields 2 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "d/d-tree.h" 173)
                           nil )
                          (!pair  "frame_type"
                           (!type already_seen 23)
                           (!srcfileloc  "d/d-tree.h" 174)
                           nil )
                         )
                         nil 16 nil nil )
                        (!srcfileloc  "d/d-tree.h" 338)
                        (!options 
                         (!option tag string  "TS_D_FRAMEINFO")
                        )
                       )
                      )
                      (!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  "d_tree_node_structure (&%h)")
                      )
                      16 
                      (!type already_seen 635)
                     )
                     
                     (!type union 666 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "cp/cp-tree.h" 1681)
                      (!fields 16 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "cp/cp-tree.h" 1658)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "TS_CP_GENERIC")
                        )
                       )
                       (!pair  "tpi"
                        (!type struct 667 nil  gc_used "template_parm_index"
                         (!srcfileloc  "cp/cp-tree.h" 677)
                         (!fields 5 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 672)
                           nil )
                          (!pair  "index"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 673)
                           nil )
                          (!pair  "level"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 674)
                           nil )
                          (!pair  "orig_level"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 675)
                           nil )
                          (!pair  "decl"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 676)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1659)
                        (!options 
                         (!option tag string  "TS_CP_TPI")
                        )
                       )
                       (!pair  "ptrmem"
                        (!type struct 668 
                         (!type pointer 669 nil  gc_unused
                          (!type already_seen 668)
                         )
                         gc_used "ptrmem_cst"
                         (!srcfileloc  "cp/cp-tree.h" 682)
                         (!fields 2 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 680)
                           nil )
                          (!pair  "member"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 681)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1660)
                        (!options 
                         (!option tag string  "TS_CP_PTRMEM")
                        )
                       )
                       (!pair  "overload"
                        (!type struct 670 nil  gc_used "tree_overload"
                         (!srcfileloc  "cp/cp-tree.h" 781)
                         (!fields 2 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 779)
                           nil )
                          (!pair  "function"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 780)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1661)
                        (!options 
                         (!option tag string  "TS_CP_OVERLOAD")
                        )
                       )
                       (!pair  "baselink"
                        (!type struct 671 nil  gc_used "tree_baselink"
                         (!srcfileloc  "cp/cp-tree.h" 1006)
                         (!fields 4 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 1002)
                           nil )
                          (!pair  "binfo"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1003)
                           nil )
                          (!pair  "functions"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1004)
                           nil )
                          (!pair  "access_binfo"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1005)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1662)
                        (!options 
                         (!option tag string  "TS_CP_BASELINK")
                        )
                       )
                       (!pair  "template_decl"
                        (!type struct 672 nil  gc_used "tree_template_decl"
                         (!srcfileloc  "cp/cp-tree.h" 968)
                         (!fields 3 
                          (!pair  "common"
                           (!type already_seen 53)
                           (!srcfileloc  "cp/cp-tree.h" 965)
                           nil )
                          (!pair  "arguments"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 966)
                           nil )
                          (!pair  "result"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 967)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1663)
                        (!options 
                         (!option tag string  "TS_CP_TEMPLATE_DECL")
                        )
                       )
                       (!pair  "deferred_parse"
                        (!type struct 673 nil  gc_used "tree_deferred_parse"
                         (!srcfileloc  "cp/cp-tree.h" 1242)
                         (!fields 3 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "cp/cp-tree.h" 1239)
                           nil )
                          (!pair  "tokens"
                           (!type already_seen 70)
                           (!srcfileloc  "cp/cp-tree.h" 1240)
                           nil )
                          (!pair  "instantiations"
                           (!type already_seen 84)
                           (!srcfileloc  "cp/cp-tree.h" 1241)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1664)
                        (!options 
                         (!option tag string  "TS_CP_DEFERRED_PARSE")
                        )
                       )
                       (!pair  "deferred_noexcept"
                        (!type struct 674 nil  gc_used "tree_deferred_noexcept"
                         (!srcfileloc  "cp/cp-tree.h" 1263)
                         (!fields 3 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "cp/cp-tree.h" 1260)
                           nil )
                          (!pair  "pattern"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1261)
                           nil )
                          (!pair  "args"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1262)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1665)
                        (!options 
                         (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 638)
                        (!srcfileloc  "cp/cp-tree.h" 1666)
                        (!options 
                         (!option tag string  "TS_CP_IDENTIFIER")
                        )
                       )
                       (!pair  "static_assertion"
                        (!type struct 675 nil  gc_used "tree_static_assert"
                         (!srcfileloc  "cp/cp-tree.h" 1286)
                         (!fields 4 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 1282)
                           nil )
                          (!pair  "condition"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1283)
                           nil )
                          (!pair  "message"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1284)
                           nil )
                          (!pair  "location"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1285)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1668)
                        (!options 
                         (!option tag string  "TS_CP_STATIC_ASSERT")
                        )
                       )
                       (!pair  "argument_pack_select"
                        (!type struct 676 nil  gc_used "tree_argument_pack_select"
                         (!srcfileloc  "cp/cp-tree.h" 1292)
                         (!fields 3 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 1289)
                           nil )
                          (!pair  "argument_pack"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1290)
                           nil )
                          (!pair  "index"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1291)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1670)
                        (!options 
                         (!option tag string  "TS_CP_ARGUMENT_PACK_SELECT")
                        )
                       )
                       (!pair  "trait_expression"
                        (!type struct 677 nil  gc_used "tree_trait_expr"
                         (!srcfileloc  "cp/cp-tree.h" 1351)
                         (!fields 5 
                          (!pair  "common"
                           (!type already_seen 32)
                           (!srcfileloc  "cp/cp-tree.h" 1346)
                           nil )
                          (!pair  "type1"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1347)
                           nil )
                          (!pair  "type2"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1348)
                           nil )
                          (!pair  "locus"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1349)
                           nil )
                          (!pair  "kind"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1350)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1672)
                        (!options 
                         (!option tag string  "TS_CP_TRAIT_EXPR")
                        )
                       )
                       (!pair  "lambda_expression"
                        (!type struct 678 nil  gc_used "tree_lambda_expr"
                         (!srcfileloc  "cp/cp-tree.h" 1450)
                         (!fields 8 
                          (!pair  "typed"
                           (!type already_seen 31)
                           (!srcfileloc  "cp/cp-tree.h" 1442)
                           nil )
                          (!pair  "capture_list"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1443)
                           nil )
                          (!pair  "this_capture"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1444)
                           nil )
                          (!pair  "extra_scope"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1445)
                           nil )
                          (!pair  "pending_proxies"
                           (!type already_seen 84)
                           (!srcfileloc  "cp/cp-tree.h" 1446)
                           nil )
                          (!pair  "locus"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1447)
                           nil )
                          (!pair  "default_capture_mode"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1448)
                           nil )
                          (!pair  "discriminator"
                           (!type already_seen 2)
                           (!srcfileloc  "cp/cp-tree.h" 1449)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1674)
                        (!options 
                         (!option tag string  "TS_CP_LAMBDA_EXPR")
                        )
                       )
                       (!pair  "template_info"
                        (!type struct 679 nil  gc_used "tree_template_info"
                         (!srcfileloc  "cp/cp-tree.h" 1497)
                         (!fields 4 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "cp/cp-tree.h" 1493)
                           nil )
                          (!pair  "tmpl"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1494)
                           nil )
                          (!pair  "args"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1495)
                           nil )
                          (!pair  "typedefs_needing_access_checking"
                           (!type pointer 680 nil  gc_used
                            (!type user_struct 681 
                             (!type already_seen 680)
                             gc_pointed_to "vec<qualified_typedef_usage_t,va_gc>"
                             (!srcfileloc  "cp/cp-tree.h" 1496)
                             (!fields 2 
                              (!pair  "va_gc"
                               (!type already_seen 79)
                               (!srcfileloc  "cp/cp-tree.h" 1496)
                               nil )
                              (!pair  "qualified_typedef_usage_t"
                               (!type struct 682 nil  gc_used "qualified_typedef_usage_s"
                                (!srcfileloc  "cp/cp-tree.h" 1470)
                                (!fields 3 
                                 (!pair  "typedef_decl"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 1467)
                                  nil )
                                 (!pair  "context"
                                  (!type already_seen 23)
                                  (!srcfileloc  "cp/cp-tree.h" 1468)
                                  nil )
                                 (!pair  "locus"
                                  (!type already_seen 2)
                                  (!srcfileloc  "cp/cp-tree.h" 1469)
                                  nil )
                                )
                                nil 1032 nil nil )
                               (!srcfileloc  "cp/cp-tree.h" 1496)
                               nil )
                             )
                            )
                           )
                           (!srcfileloc  "cp/cp-tree.h" 1496)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1676)
                        (!options 
                         (!option tag string  "TS_CP_TEMPLATE_INFO")
                        )
                       )
                       (!pair  "constraint_info"
                        (!type struct 683 nil  gc_used "tree_constraint_info"
                         (!srcfileloc  "cp/cp-tree.h" 1514)
                         (!fields 4 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "cp/cp-tree.h" 1510)
                           nil )
                          (!pair  "template_reqs"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1511)
                           nil )
                          (!pair  "declarator_reqs"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1512)
                           nil )
                          (!pair  "associated_constr"
                           (!type already_seen 23)
                           (!srcfileloc  "cp/cp-tree.h" 1513)
                           nil )
                         )
                         nil 1032 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1678)
                        (!options 
                         (!option tag string  "TS_CP_CONSTRAINT_INFO")
                        )
                       )
                       (!pair  "userdef_literal"
                        (!type struct 684 nil  gc_used "tree_userdef_literal"
                         (!srcfileloc  "c-family/c-common.h" 1258)
                         (!fields 5 
                          (!pair  "base"
                           (!type already_seen 25)
                           (!srcfileloc  "c-family/c-common.h" 1253)
                           nil )
                          (!pair  "suffix_id"
                           (!type already_seen 23)
                           (!srcfileloc  "c-family/c-common.h" 1254)
                           nil )
                          (!pair  "value"
                           (!type already_seen 23)
                           (!srcfileloc  "c-family/c-common.h" 1255)
                           nil )
                          (!pair  "num_string"
                           (!type already_seen 23)
                           (!srcfileloc  "c-family/c-common.h" 1256)
                           nil )
                          (!pair  "overflow"
                           (!type already_seen 2)
                           (!srcfileloc  "c-family/c-common.h" 1257)
                           nil )
                         )
                         nil 1548 nil nil )
                        (!srcfileloc  "cp/cp-tree.h" 1680)
                        (!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)")
                      )
                      1032 
                      (!type already_seen 635)
                     )
                     
                     (!type union 685 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "c/c-decl.c" 322)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "c/c-decl.c" 320)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 638)
                        (!srcfileloc  "c/c-decl.c" 321)
                        (!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")
                      )
                      516 
                      (!type already_seen 635)
                     )
                     
                     (!type union 686 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "brig/brig-lang.c" 97)
                      (!fields 2 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!srcfileloc  "brig/brig-lang.c" 95)
                        (!options 
                         (!option desc string  "tree_node_structure (&%h)")
                         (!option tag string  "0")
                        )
                       )
                       (!pair  "identifier"
                        (!type already_seen 638)
                        (!srcfileloc  "brig/brig-lang.c" 96)
                        (!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")
                      )
                      2 
                      (!type already_seen 635)
                     )
                     
                     (!type union 687 nil  gc_pointed_to "lang_tree_node"
                      (!srcfileloc  "ada/gcc-interface/ada-tree.h" 33)
                      (!fields 1 
                       (!pair  "generic"
                        (!type already_seen 22)
                        (!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 635)
                     )
                    )
                   )
                  )
                 )
                 2047 nil )
                "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
               (!option tag string  "false")
              )
             )
             (!pair  "next"
              (!type already_seen 19)
              (!srcfileloc  "../libcpp/include/cpplib.h" 771)
              (!options 
               (!option tag string  "true")
              )
             )
            )
            nil 2047 nil )
           (!srcfileloc  "../libcpp/include/cpplib.h" 772)
           (!options 
            (!option desc string  "%1.kind == cmk_assert")
           )
          )
          (!pair  "line"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 775)
           nil )
          (!pair  "count"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 779)
           nil )
          (!pair  "paramc"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 782)
           nil )
          (!pair  "lazy"
           (!type already_seen 8)
           (!srcfileloc  "../libcpp/include/cpplib.h" 785)
           nil )
          (!pair  "kind"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 788)
           nil )
          (!pair  "fun_like"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 791)
           nil )
          (!pair  "variadic"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 794)
           nil )
          (!pair  "syshdr"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 797)
           nil )
          (!pair  "used"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 800)
           nil )
          (!pair  "extra_tokens"
           (!type already_seen 2)
           (!srcfileloc  "../libcpp/include/cpplib.h" 805)
           nil )
          (!pair  "exp"
           (!type union 688 nil  gc_used "cpp_exp_u"
            (!srcfileloc  "../libcpp/include/cpplib.h" 818)
            (!fields 2 
             (!pair  "tokens"
              (!type array 689 nil  gc_used "1" 
               (!type struct 690 
                (!type pointer 691 nil  gc_used
                 (!type already_seen 690)
                )
                gc_pointed_to "cpp_token"
                (!srcfileloc  "../libcpp/include/cpplib.h" 272)
                (!fields 4 
                 (!pair  "src_loc"
                  (!type already_seen 2)
                  (!srcfileloc  "../libcpp/include/cpplib.h" 246)
                  nil )
                 (!pair  "type"
                  (!type already_seen 2)
                  (!srcfileloc  "../libcpp/include/cpplib.h" 248)
                  nil )
                 (!pair  "flags"
                  (!type already_seen 2)
                  (!srcfileloc  "../libcpp/include/cpplib.h" 249)
                  nil )
                 (!pair  "val"
                  (!type union 692 nil  gc_used "cpp_token_u"
                   (!srcfileloc  "../libcpp/include/cpplib.h" 271)
                   (!fields 6 
                    (!pair  "node"
                     (!type struct 693 nil  gc_used "cpp_identifier"
                      (!srcfileloc  "../libcpp/include/cpplib.h" 239)
                      (!fields 2 
                       (!pair  "node"
                        (!type already_seen 13)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 232)
                        (!options 
                         (!option nested_ptr nested 
                          (!type already_seen 22)
                          "%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 13)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 238)
                        (!options 
                         (!option nested_ptr nested 
                          (!type already_seen 22)
                          "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                        )
                       )
                      )
                      nil 2047 nil nil )
                     (!srcfileloc  "../libcpp/include/cpplib.h" 254)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_NODE")
                     )
                    )
                    (!pair  "source"
                     (!type already_seen 691)
                     (!srcfileloc  "../libcpp/include/cpplib.h" 257)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                     )
                    )
                    (!pair  "str"
                     (!type struct 694 nil  gc_used "cpp_string"
                      (!srcfileloc  "../libcpp/include/cpplib.h" 182)
                      (!fields 2 
                       (!pair  "len"
                        (!type already_seen 2)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 180)
                        nil )
                       (!pair  "text"
                        (!type already_seen 11)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 181)
                        nil )
                      )
                      nil 2047 nil nil )
                     (!srcfileloc  "../libcpp/include/cpplib.h" 260)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_STR")
                     )
                    )
                    (!pair  "macro_arg"
                     (!type struct 695 nil  gc_used "cpp_macro_arg"
                      (!srcfileloc  "../libcpp/include/cpplib.h" 223)
                      (!fields 2 
                       (!pair  "arg_no"
                        (!type already_seen 2)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 216)
                        nil )
                       (!pair  "spelling"
                        (!type already_seen 13)
                        (!srcfileloc  "../libcpp/include/cpplib.h" 222)
                        (!options 
                         (!option nested_ptr nested 
                          (!type already_seen 22)
                          "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                        )
                       )
                      )
                      nil 2047 nil nil )
                     (!srcfileloc  "../libcpp/include/cpplib.h" 263)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_ARG_NO")
                     )
                    )
                    (!pair  "token_no"
                     (!type already_seen 2)
                     (!srcfileloc  "../libcpp/include/cpplib.h" 267)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_TOKEN_NO")
                     )
                    )
                    (!pair  "pragma"
                     (!type already_seen 2)
                     (!srcfileloc  "../libcpp/include/cpplib.h" 270)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_PRAGMA")
                     )
                    )
                   )
                   nil 2047 nil )
                  (!srcfileloc  "../libcpp/include/cpplib.h" 271)
                  (!options 
                   (!option desc string  "cpp_token_val_index (&%1)")
                  )
                 )
                )
                nil 2047 nil nil )
              )
              (!srcfileloc  "../libcpp/include/cpplib.h" 812)
              (!options 
               (!option length string  "%1.count")
               (!option tag string  "false")
              )
             )
             (!pair  "text"
              (!type already_seen 11)
              (!srcfileloc  "../libcpp/include/cpplib.h" 817)
              (!options 
               (!option tag string  "true")
              )
             )
            )
            nil 2047 nil )
           (!srcfileloc  "../libcpp/include/cpplib.h" 818)
           (!options 
            (!option desc string  "%1.kind == cmk_traditional")
           )
          )
         )
         nil 2047 nil nil )
       )
       (!srcfileloc  "../libcpp/include/cpplib.h" 879)
       (!options 
        (!option tag string  "NT_VOID")
       )
      )
      (!pair  "macro"
       (!type already_seen 19)
       (!srcfileloc  "../libcpp/include/cpplib.h" 881)
       (!options 
        (!option tag string  "NT_USER_MACRO")
       )
      )
      (!pair  "builtin"
       (!type already_seen 2)
       (!srcfileloc  "../libcpp/include/cpplib.h" 883)
       (!options 
        (!option tag string  "NT_BUILTIN_MACRO")
       )
      )
      (!pair  "arg_index"
       (!type already_seen 2)
       (!srcfileloc  "../libcpp/include/cpplib.h" 885)
       (!options 
        (!option tag string  "NT_MACRO_ARG")
       )
      )
     )
     nil 2047 nil )
    (!srcfileloc  "../libcpp/include/cpplib.h" 900)
    (!options 
     (!option desc string  "%1.type")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 22)
 
 (!type struct 696 
  (!type pointer 697 nil  gc_unused
   (!type already_seen 696)
  )
  gc_used "line_map_macro"
  (!srcfileloc  "../libcpp/include/line-map.h" 733)
  (!fields 4 
   (!pair  "n_tokens"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 463)
    nil )
   (!pair  "macro"
    (!type already_seen 13)
    (!srcfileloc  "../libcpp/include/line-map.h" 472)
    (!options 
     (!option nested_ptr nested 
      (!type already_seen 22)
      "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
    )
   )
   (!pair  "macro_locations"
    (!type already_seen 3)
    (!srcfileloc  "../libcpp/include/line-map.h" 527)
    (!options 
     (!option atomic string  "")
    )
   )
   (!pair  "expansion"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 534)
    nil )
  )
  (!options 
   (!option tag string  "2")
  )
  2047 nil 
  (!type already_seen 5)
 )
 
 (!type struct 698 nil  gc_used "maps_info_ordinary"
  (!srcfileloc  "../libcpp/include/line-map.h" 778)
  (!fields 3 
   (!pair  "maps"
    (!type already_seen 7)
    (!srcfileloc  "../libcpp/include/line-map.h" 718)
    (!options 
     (!option length string  "%h.used")
    )
   )
   (!pair  "allocated"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 721)
    nil )
   (!pair  "used"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 725)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 699 nil  gc_used "maps_info_macro"
  (!srcfileloc  "../libcpp/include/line-map.h" 780)
  (!fields 3 
   (!pair  "maps"
    (!type already_seen 697)
    (!srcfileloc  "../libcpp/include/line-map.h" 733)
    (!options 
     (!option length string  "%h.used")
    )
   )
   (!pair  "allocated"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 736)
    nil )
   (!pair  "used"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 740)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 700 
  (!type pointer 701 nil  gc_unused
   (!type already_seen 700)
  )
  gc_used "location_adhoc_data"
  (!srcfileloc  "../libcpp/include/line-map.h" 751)
  (!fields 3 
   (!pair  "locus"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 748)
    nil )
   (!pair  "src_range"
    (!type already_seen 1)
    (!srcfileloc  "../libcpp/include/line-map.h" 749)
    nil )
   (!pair  "data"
    (!type already_seen 3)
    (!srcfileloc  "../libcpp/include/line-map.h" 750)
    (!options 
     (!option skip string  "")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 338)
 
 (!type struct 702 nil  gc_used "location_adhoc_data_map"
  (!srcfileloc  "../libcpp/include/line-map.h" 770)
  (!fields 4 
   (!pair  "htab"
    (!type already_seen 337)
    (!srcfileloc  "../libcpp/include/line-map.h" 766)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "curr_loc"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 767)
    nil )
   (!pair  "allocated"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 768)
    nil )
   (!pair  "data"
    (!type already_seen 701)
    (!srcfileloc  "../libcpp/include/line-map.h" 769)
    (!options 
     (!option length string  "%h.allocated")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 703 
  (!type pointer 704 nil  gc_used
   (!type already_seen 703)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 819)
  (!fields 15 
   (!pair  "info_ordinary"
    (!type already_seen 698)
    (!srcfileloc  "../libcpp/include/line-map.h" 778)
    nil )
   (!pair  "info_macro"
    (!type already_seen 699)
    (!srcfileloc  "../libcpp/include/line-map.h" 780)
    nil )
   (!pair  "depth"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 783)
    nil )
   (!pair  "trace_includes"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 786)
    nil )
   (!pair  "highest_location"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 789)
    nil )
   (!pair  "highest_line"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 792)
    nil )
   (!pair  "max_column_hint"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 796)
    nil )
   (!pair  "reallocator"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 799)
    nil )
   (!pair  "round_alloc_size"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 803)
    nil )
   (!pair  "location_adhoc_data_map"
    (!type already_seen 702)
    (!srcfileloc  "../libcpp/include/line-map.h" 805)
    nil )
   (!pair  "builtin_location"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 809)
    nil )
   (!pair  "seen_line_directive"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 812)
    nil )
   (!pair  "default_range_bits"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 815)
    nil )
   (!pair  "num_optimized_ranges"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 817)
    nil )
   (!pair  "num_unoptimized_ranges"
    (!type already_seen 2)
    (!srcfileloc  "../libcpp/include/line-map.h" 818)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 705 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/../libcpp/include/line-map.h:1251"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 706 nil  gc_unused "range_label"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 707 nil  gc_unused "location_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 708 nil  gc_unused "semi_embedded_vec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 709 nil  gc_unused "fixit_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 710 nil  gc_unused "diagnostic_path"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 711 nil  gc_unused "rich_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 712 nil  gc_unused "label_text"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 713 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 714 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 715 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 716 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 690)
 
 (!type already_seen 694)
 
 (!type already_seen 20)
 
 (!type struct 717 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 718 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 719 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 695)
 
 (!type already_seen 693)
 
 (!type already_seen 692)
 
 (!type already_seen 21)
 
 (!type already_seen 688)
 
 (!type already_seen 18)
 
 (!type already_seen 15)
 
 (!type struct 720 nil  gc_unused "cpp_string_location_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 721 nil  gc_unused "cpp_substring_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 722 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 723 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/../libcpp/include/cpplib.h:1238"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 724 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/../libcpp/include/cpplib.h:1249"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 725 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 726 nil  gc_unused "char_span"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 727 
  (!type pointer 728 nil  gc_used
   (!type already_seen 727)
  )
  gc_pointed_to "string_concat"
  (!srcfileloc  "input.h" 186)
  (!fields 2 
   (!pair  "m_num"
    (!type already_seen 2)
    (!srcfileloc  "input.h" 184)
    nil )
   (!pair  "m_locs"
    (!type already_seen 3)
    (!srcfileloc  "input.h" 185)
    (!options 
     (!option atomic string  "")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 729 nil  gc_used "location_hash"
  (!srcfileloc  "input.h" 212)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 730 
  (!type pointer 731 nil  gc_used
   (!type already_seen 730)
  )
  gc_pointed_to "string_concat_db"
  (!srcfileloc  "input.h" 213)
  (!fields 1 
   (!pair  "m_table"
    (!type pointer 732 nil  gc_used
     (!type user_struct 733 
      (!type already_seen 732)
      gc_pointed_to "hash_map<location_hash,string_concat*>"
      (!srcfileloc  "input.h" 212)
      (!fields 2 
       (!pair  "string_concat"
        (!type already_seen 728)
        (!srcfileloc  "input.h" 212)
        nil )
       (!pair  "location_hash"
        (!type already_seen 729)
        (!srcfileloc  "input.h" 212)
        nil )
      )
     )
    )
    (!srcfileloc  "input.h" 212)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 733)
 
 (!type already_seen 397)
 
 (!type already_seen 392)
 
 (!type struct 734 
  (!type pointer 735 nil  gc_unused
   (!type already_seen 734)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 102)
 
 (!type already_seen 45)
 
 (!type already_seen 288)
 
 (!type struct 736 nil  gc_unused "scalar_float_mode"
  (!srcfileloc  "coretypes.h" 67)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 737 nil  gc_unused "complex_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 738 nil  gc_unused "fixed_size_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 739 nil  gc_unused "opt_mode<scalar_mode>"
  (!srcfileloc  "coretypes.h" 65)
  (!fields 1 
   (!pair  "scalar_mode"
    (!type already_seen 45)
    (!srcfileloc  "coretypes.h" 65)
    nil )
  )
 )
 
 (!type user_struct 740 nil  gc_unused "opt_mode<scalar_int_mode>"
  (!srcfileloc  "coretypes.h" 66)
  (!fields 1 
   (!pair  "scalar_int_mode"
    (!type already_seen 288)
    (!srcfileloc  "coretypes.h" 66)
    nil )
  )
 )
 
 (!type user_struct 741 nil  gc_unused "opt_mode<scalar_float_mode>"
  (!srcfileloc  "coretypes.h" 67)
  (!fields 1 
   (!pair  "scalar_float_mode"
    (!type already_seen 736)
    (!srcfileloc  "coretypes.h" 67)
    nil )
  )
 )
 
 (!type already_seen 44)
 
 (!type user_struct 742 nil  gc_unused "pod_mode<scalar_int_mode>"
  (!srcfileloc  "coretypes.h" 70)
  (!fields 1 
   (!pair  "scalar_int_mode"
    (!type already_seen 288)
    (!srcfileloc  "coretypes.h" 70)
    nil )
  )
 )
 
 (!type user_struct 743 nil  gc_unused "pod_mode<fixed_size_mode>"
  (!srcfileloc  "coretypes.h" 71)
  (!fields 1 
   (!pair  "fixed_size_mode"
    (!type already_seen 2)
    (!srcfileloc  "coretypes.h" 71)
    nil )
  )
 )
 
 (!type struct 744 
  (!type pointer 745 nil  gc_unused
   (!type already_seen 744)
  )
  gc_pointed_to "rtx_expr_list"
  (!srcfileloc  "rtl.h" 468)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type struct 746 
  (!type pointer 747 nil  gc_used
   (!type already_seen 746)
  )
  gc_pointed_to "rtx_insn_list"
  (!srcfileloc  "rtl.h" 498)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type struct 748 nil  gc_pointed_to "rtx_sequence"
  (!srcfileloc  "rtl.h" 526)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type already_seen 296)
 
 (!type struct 749 nil  gc_pointed_to "rtx_debug_insn"
  (!srcfileloc  "rtl.h" 587)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 750 nil  gc_pointed_to "rtx_nonjump_insn"
  (!srcfileloc  "rtl.h" 598)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 751 nil  gc_pointed_to "rtx_jump_insn"
  (!srcfileloc  "rtl.h" 625)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 752 nil  gc_pointed_to "rtx_call_insn"
  (!srcfileloc  "rtl.h" 638)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 753 nil  gc_pointed_to "rtx_jump_table_data"
  (!srcfileloc  "rtl.h" 664)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 754 nil  gc_pointed_to "rtx_barrier"
  (!srcfileloc  "rtl.h" 675)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type already_seen 371)
 
 (!type struct 755 
  (!type pointer 756 nil  gc_used
   (!type already_seen 755)
  )
  gc_pointed_to "rtx_note"
  (!srcfileloc  "emit-rtl.h" 125)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type already_seen 230)
 
 (!type struct 757 
  (!type pointer 758 nil  gc_unused
   (!type already_seen 757)
  )
  gc_unused "hwivec_def"
  (!srcfileloc  "rtl.h" 282)
  (!fields 1 
   (!pair  "elem"
    (!type array 759 nil  gc_unused "1" 
     (!type already_seen 2)
    )
    (!srcfileloc  "rtl.h" 281)
    nil )
  )
  (!options 
   (!option variable_size string  "")
  )
  2047 nil nil )
 
 (!type already_seen 281)
 
 (!type struct 760 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 761 nil  gc_pointed_to "gcond"
  (!srcfileloc  "gimple.h" 883)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type struct 762 nil  gc_pointed_to "gimple_statement_with_ops"
   (!srcfileloc  "gimple.h" 317)
   (!fields 1 
    (!pair  "op"
     (!type array 763 nil  gc_used "1" 
      (!type already_seen 23)
     )
     (!srcfileloc  "gimple.h" 316)
     (!options 
      (!option length string  "%h.num_ops")
     )
    )
   )
   (!options 
    (!option tag string  "GSS_WITH_OPS")
   )
   2047 nil 
   (!type struct 764 nil  gc_pointed_to "gimple_statement_with_ops_base"
    (!srcfileloc  "gimple.h" 302)
    (!fields 1 
     (!pair  "use_ops"
      (!type already_seen 407)
      (!srcfileloc  "gimple.h" 301)
      (!options 
       (!option skip string  "")
      )
     )
    )
    nil 2047 nil 
    (!type already_seen 281)
   )
  )
 )
 
 (!type struct 765 nil  gc_pointed_to "gdebug"
  (!srcfileloc  "gimple.h" 893)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 762)
 )
 
 (!type struct 766 nil  gc_pointed_to "ggoto"
  (!srcfileloc  "gimple.h" 903)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 762)
 )
 
 (!type struct 767 nil  gc_pointed_to "glabel"
  (!srcfileloc  "gimple.h" 913)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 762)
 )
 
 (!type struct 768 nil  gc_pointed_to "gswitch"
  (!srcfileloc  "gimple.h" 923)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 762)
 )
 
 (!type struct 769 nil  gc_pointed_to "gassign"
  (!srcfileloc  "gimple.h" 934)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  2047 nil 
  (!type struct 770 nil  gc_pointed_to "gimple_statement_with_memory_ops"
   (!srcfileloc  "gimple.h" 348)
   (!fields 1 
    (!pair  "op"
     (!type array 771 nil  gc_used "1" 
      (!type already_seen 23)
     )
     (!srcfileloc  "gimple.h" 347)
     (!options 
      (!option length string  "%h.num_ops")
     )
    )
   )
   (!options 
    (!option tag string  "GSS_WITH_MEM_OPS")
   )
   2047 nil 
   (!type struct 772 nil  gc_pointed_to "gimple_statement_with_memory_ops_base"
    (!srcfileloc  "gimple.h" 332)
    (!fields 2 
     (!pair  "vdef"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 330)
      (!options 
       (!option skip string  "")
      )
     )
     (!pair  "vuse"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 331)
      (!options 
       (!option skip string  "")
      )
     )
    )
    (!options 
     (!option tag string  "GSS_WITH_MEM_OPS_BASE")
    )
    2047 nil 
    (!type already_seen 764)
   )
  )
 )
 
 (!type struct 773 nil  gc_pointed_to "gasm"
  (!srcfileloc  "gimple.h" 584)
  (!fields 6 
   (!pair  "string"
    (!type already_seen 11)
    (!srcfileloc  "gimple.h" 570)
    nil )
   (!pair  "ni"
    (!type already_seen 8)
    (!srcfileloc  "gimple.h" 574)
    nil )
   (!pair  "no"
    (!type already_seen 8)
    (!srcfileloc  "gimple.h" 575)
    nil )
   (!pair  "nc"
    (!type already_seen 8)
    (!srcfileloc  "gimple.h" 576)
    nil )
   (!pair  "nl"
    (!type already_seen 8)
    (!srcfileloc  "gimple.h" 577)
    nil )
   (!pair  "op"
    (!type array 774 nil  gc_used "1" 
     (!type already_seen 23)
    )
    (!srcfileloc  "gimple.h" 583)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_ASM")
  )
  2047 nil 
  (!type already_seen 772)
 )
 
 (!type struct 775 
  (!type pointer 776 nil  gc_used
   (!type already_seen 775)
  )
  gc_pointed_to "gcall"
  (!srcfileloc  "gimple.h" 375)
  (!fields 4 
   (!pair  "call_used"
    (!type already_seen 390)
    (!srcfileloc  "gimple.h" 359)
    nil )
   (!pair  "call_clobbered"
    (!type already_seen 390)
    (!srcfileloc  "gimple.h" 360)
    nil )
   (!pair  "u"
    (!type union 777 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/gimple.h:363"
     (!srcfileloc  "gimple.h" 366)
     (!fields 2 
      (!pair  "fntype"
       (!type already_seen 23)
       (!srcfileloc  "gimple.h" 364)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "internal_fn"
       (!type already_seen 2)
       (!srcfileloc  "gimple.h" 365)
       (!options 
        (!option tag string  "GF_CALL_INTERNAL")
       )
      )
     )
     (!options 
      (!option desc string  "%1.subcode & GF_CALL_INTERNAL")
     )
     2047 nil )
    (!srcfileloc  "gimple.h" 366)
    nil )
   (!pair  "op"
    (!type array 778 nil  gc_used "1" 
     (!type already_seen 23)
    )
    (!srcfileloc  "gimple.h" 372)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_CALL")
  )
  2047 nil 
  (!type already_seen 772)
 )
 
 (!type struct 779 nil  gc_pointed_to "gtransaction"
  (!srcfileloc  "gimple.h" 865)
  (!fields 4 
   (!pair  "body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 859)
    nil )
   (!pair  "label_norm"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 862)
    nil )
   (!pair  "label_uninst"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 863)
    nil )
   (!pair  "label_over"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 864)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRANSACTION")
  )
  2047 nil 
  (!type already_seen 772)
 )
 
 (!type struct 780 nil  gc_pointed_to "greturn"
  (!srcfileloc  "gimple.h" 944)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  2047 nil 
  (!type already_seen 770)
 )
 
 (!type struct 781 nil  gc_pointed_to "gbind"
  (!srcfileloc  "gimple.h" 411)
  (!fields 3 
   (!pair  "vars"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 399)
    nil )
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 407)
    nil )
   (!pair  "body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 410)
    nil )
  )
  (!options 
   (!option tag string  "GSS_BIND")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 782 nil  gc_pointed_to "gcatch"
  (!srcfileloc  "gimple.h" 426)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 422)
    nil )
   (!pair  "handler"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 425)
    nil )
  )
  (!options 
   (!option tag string  "GSS_CATCH")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 783 nil  gc_pointed_to "geh_filter"
  (!srcfileloc  "gimple.h" 443)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 438)
    nil )
   (!pair  "failure"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 442)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_FILTER")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 784 nil  gc_pointed_to "geh_mnt"
  (!srcfileloc  "gimple.h" 465)
  (!fields 1 
   (!pair  "fndecl"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 464)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_MNT")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 785 nil  gc_pointed_to "geh_else"
  (!srcfileloc  "gimple.h" 454)
  (!fields 2 
   (!pair  "n_body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 453)
    nil )
   (!pair  "e_body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 453)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_ELSE")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 786 nil  gc_pointed_to "gresx"
  (!srcfileloc  "gimple.h" 503)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  2047 nil 
  (!type struct 787 nil  gc_pointed_to "gimple_statement_eh_ctrl"
   (!srcfileloc  "gimple.h" 496)
   (!fields 1 
    (!pair  "region"
     (!type already_seen 2)
     (!srcfileloc  "gimple.h" 495)
     nil )
   )
   (!options 
    (!option tag string  "GSS_EH_CTRL")
   )
   2047 nil 
   (!type already_seen 281)
  )
 )
 
 (!type struct 788 nil  gc_pointed_to "geh_dispatch"
  (!srcfileloc  "gimple.h" 510)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  2047 nil 
  (!type already_seen 787)
 )
 
 (!type struct 789 nil  gc_pointed_to "gphi"
  (!srcfileloc  "gimple.h" 483)
  (!fields 4 
   (!pair  "capacity"
    (!type already_seen 2)
    (!srcfileloc  "gimple.h" 475)
    nil )
   (!pair  "nargs"
    (!type already_seen 2)
    (!srcfileloc  "gimple.h" 476)
    nil )
   (!pair  "result"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 479)
    nil )
   (!pair  "args"
    (!type array 790 nil  gc_used "1" 
     (!type struct 791 nil  gc_used "phi_arg_d"
      (!srcfileloc  "tree-core.h" 1540)
      (!fields 3 
       (!pair  "imm_use"
        (!type already_seen 569)
        (!srcfileloc  "tree-core.h" 1537)
        nil )
       (!pair  "def"
        (!type already_seen 23)
        (!srcfileloc  "tree-core.h" 1538)
        nil )
       (!pair  "locus"
        (!type already_seen 2)
        (!srcfileloc  "tree-core.h" 1539)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "gimple.h" 482)
    (!options 
     (!option length string  "%h.nargs")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_PHI")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 792 nil  gc_pointed_to "gtry"
  (!srcfileloc  "gimple.h" 527)
  (!fields 2 
   (!pair  "eval"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 522)
    nil )
   (!pair  "cleanup"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 526)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRY")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 793 nil  gc_pointed_to "gomp_atomic_load"
  (!srcfileloc  "gimple.h" 795)
  (!fields 2 
   (!pair  "rhs"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 794)
    nil )
   (!pair  "lhs"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 794)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_LOAD")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 794 nil  gc_pointed_to "gomp_atomic_store"
  (!srcfileloc  "gimple.h" 815)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  2047 nil 
  (!type struct 795 nil  gc_pointed_to "gimple_statement_omp_atomic_store_layout"
   (!srcfileloc  "gimple.h" 807)
   (!fields 1 
    (!pair  "val"
     (!type already_seen 23)
     (!srcfileloc  "gimple.h" 806)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
   )
   2047 nil 
   (!type already_seen 281)
  )
 )
 
 (!type struct 796 nil  gc_pointed_to "gomp_continue"
  (!srcfileloc  "gimple.h" 741)
  (!fields 2 
   (!pair  "control_def"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 737)
    nil )
   (!pair  "control_use"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 740)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CONTINUE")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type struct 797 nil  gc_pointed_to "gomp_critical"
  (!srcfileloc  "gimple.h" 599)
  (!fields 2 
   (!pair  "clauses"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 594)
    nil )
   (!pair  "name"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 598)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CRITICAL")
  )
  2047 nil 
  (!type struct 798 nil  gc_pointed_to "gimple_statement_omp"
   (!srcfileloc  "gimple.h" 387)
   (!fields 1 
    (!pair  "body"
     (!type already_seen 280)
     (!srcfileloc  "gimple.h" 386)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP")
   )
   2047 nil 
   (!type already_seen 281)
  )
 )
 
 (!type struct 799 nil  gc_pointed_to "gomp_ordered"
  (!srcfileloc  "gimple.h" 774)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  2047 nil 
  (!type struct 800 nil  gc_pointed_to "gimple_statement_omp_single_layout"
   (!srcfileloc  "gimple.h" 753)
   (!fields 1 
    (!pair  "clauses"
     (!type already_seen 23)
     (!srcfileloc  "gimple.h" 752)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
   )
   2047 nil 
   (!type already_seen 798)
  )
 )
 
 (!type struct 801 nil  gc_pointed_to "gomp_for"
  (!srcfileloc  "gimple.h" 639)
  (!fields 4 
   (!pair  "clauses"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 627)
    nil )
   (!pair  "collapse"
    (!type already_seen 2)
    (!srcfileloc  "gimple.h" 631)
    nil )
   (!pair  "iter"
    (!type pointer 802 nil  gc_unused
     (!type struct 803 
      (!type already_seen 802)
      gc_used "gimple_omp_for_iter"
      (!srcfileloc  "gimple.h" 617)
      (!fields 5 
       (!pair  "cond"
        (!type already_seen 2)
        (!srcfileloc  "gimple.h" 604)
        nil )
       (!pair  "index"
        (!type already_seen 23)
        (!srcfileloc  "gimple.h" 607)
        nil )
       (!pair  "initial"
        (!type already_seen 23)
        (!srcfileloc  "gimple.h" 610)
        nil )
       (!pair  "final"
        (!type already_seen 23)
        (!srcfileloc  "gimple.h" 613)
        nil )
       (!pair  "incr"
        (!type already_seen 23)
        (!srcfileloc  "gimple.h" 616)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "gimple.h" 634)
    (!options 
     (!option length string  "%h.collapse")
    )
   )
   (!pair  "pre_body"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 638)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_FOR")
  )
  2047 nil 
  (!type already_seen 798)
 )
 
 (!type struct 804 nil  gc_pointed_to "gomp_parallel"
  (!srcfileloc  "gimple.h" 678)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  2047 nil 
  (!type struct 805 nil  gc_pointed_to "gimple_statement_omp_taskreg"
   (!srcfileloc  "gimple.h" 670)
   (!fields 0 )
   (!options 
    (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
   )
   2047 nil 
   (!type struct 806 nil  gc_pointed_to "gimple_statement_omp_parallel_layout"
    (!srcfileloc  "gimple.h" 660)
    (!fields 3 
     (!pair  "clauses"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 651)
      nil )
     (!pair  "child_fn"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 655)
      nil )
     (!pair  "data_arg"
      (!type already_seen 23)
      (!srcfileloc  "gimple.h" 659)
      nil )
    )
    (!options 
     (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
    )
    2047 nil 
    (!type already_seen 798)
   )
  )
 )
 
 (!type struct 807 nil  gc_pointed_to "gomp_task"
  (!srcfileloc  "gimple.h" 703)
  (!fields 3 
   (!pair  "copy_fn"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 697)
    nil )
   (!pair  "arg_size"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 701)
    nil )
   (!pair  "arg_align"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 702)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_TASK")
  )
  2047 nil 
  (!type already_seen 805)
 )
 
 (!type struct 808 nil  gc_pointed_to "gomp_sections"
  (!srcfileloc  "gimple.h" 724)
  (!fields 2 
   (!pair  "clauses"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 718)
    nil )
   (!pair  "control"
    (!type already_seen 23)
    (!srcfileloc  "gimple.h" 723)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_SECTIONS")
  )
  2047 nil 
  (!type already_seen 798)
 )
 
 (!type struct 809 nil  gc_pointed_to "gomp_single"
  (!srcfileloc  "gimple.h" 760)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  2047 nil 
  (!type already_seen 800)
 )
 
 (!type struct 810 nil  gc_pointed_to "gomp_target"
  (!srcfileloc  "gimple.h" 686)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  2047 nil 
  (!type already_seen 806)
 )
 
 (!type struct 811 nil  gc_pointed_to "gomp_teams"
  (!srcfileloc  "gimple.h" 767)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  2047 nil 
  (!type already_seen 805)
 )
 
 (!type already_seen 318)
 
 (!type struct 812 
  (!type pointer 813 nil  gc_used
   (!type already_seen 812)
  )
  gc_pointed_to "cgraph_node"
  (!srcfileloc  "cgraph.h" 1554)
  (!fields 50 
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1131)
    nil )
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1143)
    nil )
   (!pair  "callees"
    (!type pointer 814 nil  gc_used
     (!type struct 815 
      (!type already_seen 814)
      gc_pointed_to "cgraph_edge"
      (!srcfileloc  "cgraph.h" 2022)
      (!fields 21 
       (!pair  "count"
        (!type already_seen 299)
        (!srcfileloc  "cgraph.h" 1936)
        nil )
       (!pair  "caller"
        (!type already_seen 813)
        (!srcfileloc  "cgraph.h" 1937)
        nil )
       (!pair  "callee"
        (!type already_seen 813)
        (!srcfileloc  "cgraph.h" 1938)
        nil )
       (!pair  "prev_caller"
        (!type already_seen 814)
        (!srcfileloc  "cgraph.h" 1939)
        nil )
       (!pair  "next_caller"
        (!type already_seen 814)
        (!srcfileloc  "cgraph.h" 1940)
        nil )
       (!pair  "prev_callee"
        (!type already_seen 814)
        (!srcfileloc  "cgraph.h" 1941)
        nil )
       (!pair  "next_callee"
        (!type already_seen 814)
        (!srcfileloc  "cgraph.h" 1942)
        nil )
       (!pair  "call_stmt"
        (!type already_seen 776)
        (!srcfileloc  "cgraph.h" 1943)
        nil )
       (!pair  "indirect_info"
        (!type pointer 816 nil  gc_used
         (!type struct 817 
          (!type already_seen 816)
          gc_pointed_to "cgraph_indirect_call_info"
          (!srcfileloc  "cgraph.h" 1946)
          (!fields 13 
           (!pair  "offset"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1699)
            nil )
           (!pair  "context"
            (!type struct 818 nil  gc_used "ipa_polymorphic_call_context"
             (!srcfileloc  "cgraph.h" 1690)
             (!fields 10 
              (!pair  "offset"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1600)
               nil )
              (!pair  "speculative_offset"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1601)
               nil )
              (!pair  "outer_type"
               (!type already_seen 23)
               (!srcfileloc  "cgraph.h" 1602)
               nil )
              (!pair  "speculative_outer_type"
               (!type already_seen 23)
               (!srcfileloc  "cgraph.h" 1603)
               nil )
              (!pair  "maybe_in_construction"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1605)
               nil )
              (!pair  "maybe_derived_type"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1607)
               nil )
              (!pair  "speculative_maybe_derived_type"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1610)
               nil )
              (!pair  "invalid"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1613)
               nil )
              (!pair  "dynamic"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1615)
               nil )
              (!pair  "DEBUG_FUNCTION"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 1677)
               nil )
             )
             nil 2047 nil nil )
            (!srcfileloc  "cgraph.h" 1701)
            nil )
           (!pair  "otr_token"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1703)
            nil )
           (!pair  "otr_type"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 1705)
            nil )
           (!pair  "param_index"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1707)
            nil )
           (!pair  "ecf_flags"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1709)
            nil )
           (!pair  "num_speculative_call_targets"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1712)
            nil )
           (!pair  "polymorphic"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1716)
            nil )
           (!pair  "agg_contents"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1719)
            nil )
           (!pair  "member_ptr"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1721)
            nil )
           (!pair  "by_ref"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1724)
            nil )
           (!pair  "guaranteed_unmodified"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1729)
            nil )
           (!pair  "vptr_changed"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 1732)
            nil )
          )
          nil 2047 nil nil )
        )
        (!srcfileloc  "cgraph.h" 1946)
        nil )
       (!pair  "aux"
        (!type already_seen 3)
        (!srcfileloc  "cgraph.h" 1947)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "inline_failed"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1950)
        nil )
       (!pair  "lto_stmt_uid"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1953)
        nil )
       (!pair  "speculative_id"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1956)
        nil )
       (!pair  "indirect_inlining_edge"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1958)
        nil )
       (!pair  "indirect_unknown_callee"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1961)
        nil )
       (!pair  "call_stmt_cannot_inline_p"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1964)
        nil )
       (!pair  "can_throw_external"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1966)
        nil )
       (!pair  "speculative"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1984)
        nil )
       (!pair  "in_polymorphic_cdtor"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 1987)
        nil )
       (!pair  "m_uid"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 2001)
        nil )
       (!pair  "m_summary_id"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 2004)
        nil )
      )
      (!options 
       (!option for_user string  "")
       (!option chain_prev string  "%h.prev_caller")
       (!option chain_next string  "%h.next_caller")
      )
      2047 nil nil )
    )
    (!srcfileloc  "cgraph.h" 1433)
    nil )
   (!pair  "callers"
    (!type already_seen 814)
    (!srcfileloc  "cgraph.h" 1434)
    nil )
   (!pair  "indirect_calls"
    (!type already_seen 814)
    (!srcfileloc  "cgraph.h" 1437)
    nil )
   (!pair  "origin"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1439)
    nil )
   (!pair  "nested"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1441)
    nil )
   (!pair  "next_nested"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1443)
    nil )
   (!pair  "next_sibling_clone"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1445)
    nil )
   (!pair  "prev_sibling_clone"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1446)
    nil )
   (!pair  "clones"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1447)
    nil )
   (!pair  "clone_of"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1448)
    nil )
   (!pair  "call_site_hash"
    (!type pointer 819 nil  gc_used
     (!type user_struct 820 
      (!type already_seen 819)
      gc_pointed_to "hash_table<cgraph_edge_hasher>"
      (!srcfileloc  "cgraph.h" 1451)
      (!fields 1 
       (!pair  "cgraph_edge_hasher"
        (!type struct 821 nil  gc_used "cgraph_edge_hasher"
         (!srcfileloc  "cgraph.h" 1451)
         (!fields 0 )
         nil 2047 nil nil )
        (!srcfileloc  "cgraph.h" 1451)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 1451)
    nil )
   (!pair  "former_clone_of"
    (!type already_seen 23)
    (!srcfileloc  "cgraph.h" 1453)
    nil )
   (!pair  "simdclone"
    (!type pointer 822 nil  gc_used
     (!type struct 823 
      (!type already_seen 822)
      gc_pointed_to "cgraph_simd_clone"
      (!srcfileloc  "cgraph.h" 1457)
      (!fields 11 
       (!pair  "simdlen"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 829)
        nil )
       (!pair  "nargs"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 833)
        nil )
       (!pair  "vecsize_int"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 836)
        nil )
       (!pair  "vecsize_float"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 839)
        nil )
       (!pair  "mask_mode"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 844)
        nil )
       (!pair  "vecsize_mangle"
        (!type already_seen 8)
        (!srcfileloc  "cgraph.h" 849)
        nil )
       (!pair  "inbranch"
        (!type already_seen 2)
        (!srcfileloc  "cgraph.h" 853)
        nil )
       (!pair  "prev_clone"
        (!type already_seen 813)
        (!srcfileloc  "cgraph.h" 856)
        nil )
       (!pair  "next_clone"
        (!type already_seen 813)
        (!srcfileloc  "cgraph.h" 856)
        nil )
       (!pair  "origin"
        (!type already_seen 813)
        (!srcfileloc  "cgraph.h" 859)
        nil )
       (!pair  "args"
        (!type array 824 nil  gc_used "1" 
         (!type struct 825 nil  gc_used "cgraph_simd_clone_arg"
          (!srcfileloc  "cgraph.h" 862)
          (!fields 8 
           (!pair  "orig_arg"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 785)
            nil )
           (!pair  "orig_type"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 789)
            nil )
           (!pair  "vector_arg"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 797)
            nil )
           (!pair  "vector_type"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 800)
            nil )
           (!pair  "simd_array"
            (!type already_seen 23)
            (!srcfileloc  "cgraph.h" 809)
            nil )
           (!pair  "arg_type"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 813)
            nil )
           (!pair  "linear_step"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 819)
            nil )
           (!pair  "alignment"
            (!type already_seen 2)
            (!srcfileloc  "cgraph.h" 822)
            nil )
          )
          nil 2047 nil nil )
        )
        (!srcfileloc  "cgraph.h" 862)
        (!options 
         (!option length string  "%h.nargs")
        )
       )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "cgraph.h" 1457)
    nil )
   (!pair  "simd_clones"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1459)
    nil )
   (!pair  "ipa_transforms_to_apply"
    (!type user_struct 826 nil  gc_unused "vec<ipa_opt_pass>"
     (!srcfileloc  "cgraph.h" 1464)
     (!fields 1 
      (!pair  "ipa_opt_pass"
       (!type pointer 827 nil  gc_unused
        (!type struct 828 
         (!type already_seen 827)
         gc_unused "ipa_opt_pass_d"
         (!srcfileloc  "cgraph.h" 38)
         (!fields 0 )
         nil 2047 nil nil )
       )
       (!srcfileloc  "cgraph.h" 1464)
       nil )
     )
    )
    (!srcfileloc  "cgraph.h" 1464)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "inlined_to"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 1468)
    nil )
   (!pair  "rtl"
    (!type pointer 829 nil  gc_used
     (!type struct 830 
      (!type already_seen 829)
      gc_pointed_to "cgraph_rtl_info"
      (!srcfileloc  "rtl.h" 4402)
      (!fields 2 
       (!pair  "preferred_incoming_stack_boundary"
        (!type already_seen 2)
        (!srcfileloc  "rtl.h" 4397)
        nil )
       (!pair  "function_used_regs"
        (!type already_seen 2)
        (!srcfileloc  "rtl.h" 4401)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "cgraph.h" 1470)
    nil )
   (!pair  "clone"
    (!type struct 831 nil  gc_used "cgraph_clone_info"
     (!srcfileloc  "cgraph.h" 1471)
     (!fields 3 
      (!pair  "tree_map"
       (!type pointer 832 nil  gc_used
        (!type user_struct 833 
         (!type already_seen 832)
         gc_pointed_to "vec<ipa_replace_map*,va_gc>"
         (!srcfileloc  "cgraph.h" 744)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 79)
           (!srcfileloc  "cgraph.h" 744)
           nil )
          (!pair  "ipa_replace_map"
           (!type pointer 834 nil  gc_used
            (!type struct 835 
             (!type already_seen 834)
             gc_pointed_to "ipa_replace_map"
             (!srcfileloc  "cgraph.h" 738)
             (!fields 2 
              (!pair  "new_tree"
               (!type already_seen 23)
               (!srcfileloc  "cgraph.h" 735)
               nil )
              (!pair  "parm_num"
               (!type already_seen 2)
               (!srcfileloc  "cgraph.h" 737)
               nil )
             )
             nil 2047 nil nil )
           )
           (!srcfileloc  "cgraph.h" 744)
           nil )
         )
        )
       )
       (!srcfileloc  "cgraph.h" 744)
       nil )
      (!pair  "param_adjustments"
       (!type pointer 836 nil  gc_used
        (!type struct 837 
         (!type already_seen 836)
         gc_pointed_to "ipa_param_adjustments"
         (!srcfileloc  "ipa-param-manipulation.h" 285)
         (!fields 3 
          (!pair  "m_adj_params"
           (!type pointer 838 nil  gc_used
            (!type user_struct 839 
             (!type already_seen 838)
             gc_pointed_to "vec<ipa_adjusted_param,va_gc>"
             (!srcfileloc  "ipa-param-manipulation.h" 269)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 79)
               (!srcfileloc  "ipa-param-manipulation.h" 269)
               nil )
              (!pair  "ipa_adjusted_param"
               (!type struct 840 nil  gc_used "ipa_adjusted_param"
                (!srcfileloc  "ipa-param-manipulation.h" 269)
                (!fields 10 
                 (!pair  "type"
                  (!type already_seen 23)
                  (!srcfileloc  "ipa-param-manipulation.h" 167)
                  nil )
                 (!pair  "alias_ptr_type"
                  (!type already_seen 23)
                  (!srcfileloc  "ipa-param-manipulation.h" 171)
                  nil )
                 (!pair  "unit_offset"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 176)
                  nil )
                 (!pair  "base_index"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 182)
                  nil )
                 (!pair  "prev_clone_index"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 186)
                  nil )
                 (!pair  "op"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 189)
                  nil )
                 (!pair  "prev_clone_adjustment"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 193)
                  nil )
                 (!pair  "param_prefix_index"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 197)
                  nil )
                 (!pair  "reverse"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 201)
                  nil )
                 (!pair  "user_flag"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-param-manipulation.h" 204)
                  nil )
                )
                nil 2047 nil nil )
               (!srcfileloc  "ipa-param-manipulation.h" 269)
               nil )
             )
            )
           )
           (!srcfileloc  "ipa-param-manipulation.h" 269)
           nil )
          (!pair  "m_always_copy_start"
           (!type already_seen 2)
           (!srcfileloc  "ipa-param-manipulation.h" 275)
           nil )
          (!pair  "m_skip_return"
           (!type already_seen 2)
           (!srcfileloc  "ipa-param-manipulation.h" 277)
           nil )
         )
         nil 2047 nil nil )
       )
       (!srcfileloc  "cgraph.h" 746)
       nil )
      (!pair  "performed_splits"
       (!type pointer 841 nil  gc_used
        (!type user_struct 842 
         (!type already_seen 841)
         gc_pointed_to "vec<ipa_param_performed_split,va_gc>"
         (!srcfileloc  "cgraph.h" 758)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 79)
           (!srcfileloc  "cgraph.h" 758)
           nil )
          (!pair  "ipa_param_performed_split"
           (!type struct 843 nil  gc_used "ipa_param_performed_split"
            (!srcfileloc  "ipa-param-manipulation.h" 223)
            (!fields 2 
             (!pair  "dummy_decl"
              (!type already_seen 23)
              (!srcfileloc  "ipa-param-manipulation.h" 220)
              nil )
             (!pair  "unit_offset"
              (!type already_seen 2)
              (!srcfileloc  "ipa-param-manipulation.h" 222)
              nil )
            )
            nil 2047 nil nil )
           (!srcfileloc  "cgraph.h" 758)
           nil )
         )
        )
       )
       (!srcfileloc  "cgraph.h" 758)
       nil )
     )
     nil 2047 nil nil )
    (!srcfileloc  "cgraph.h" 1471)
    nil )
   (!pair  "thunk"
    (!type struct 844 nil  gc_used "cgraph_thunk_info"
     (!srcfileloc  "cgraph.h" 1472)
     (!fields 7 
      (!pair  "fixed_offset"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 699)
       nil )
      (!pair  "virtual_value"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 703)
       nil )
      (!pair  "indirect_offset"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 707)
       nil )
      (!pair  "alias"
       (!type already_seen 23)
       (!srcfileloc  "cgraph.h" 711)
       nil )
      (!pair  "this_adjusting"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 715)
       nil )
      (!pair  "virtual_offset_p"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 723)
       nil )
      (!pair  "thunk_p"
       (!type already_seen 2)
       (!srcfileloc  "cgraph.h" 727)
       nil )
     )
     nil 2047 nil nil )
    (!srcfileloc  "cgraph.h" 1472)
    nil )
   (!pair  "count"
    (!type already_seen 299)
    (!srcfileloc  "cgraph.h" 1475)
    nil )
   (!pair  "count_materialization_scale"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1478)
    nil )
   (!pair  "profile_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1480)
    nil )
   (!pair  "unit_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1482)
    nil )
   (!pair  "tp_first_run"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1484)
    nil )
   (!pair  "used_as_abstract_origin"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1488)
    nil )
   (!pair  "lowered"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1490)
    nil )
   (!pair  "process"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1493)
    nil )
   (!pair  "frequency"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1496)
    nil )
   (!pair  "only_called_at_startup"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1498)
    nil )
   (!pair  "only_called_at_exit"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1500)
    nil )
   (!pair  "tm_clone"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1505)
    nil )
   (!pair  "dispatcher_function"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1507)
    nil )
   (!pair  "calls_comdat_local"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1510)
    nil )
   (!pair  "icf_merged"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1512)
    nil )
   (!pair  "nonfreeing_fn"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1516)
    nil )
   (!pair  "merged_comdat"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1518)
    nil )
   (!pair  "merged_extern_inline"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1520)
    nil )
   (!pair  "parallelized_function"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1522)
    nil )
   (!pair  "split_part"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1524)
    nil )
   (!pair  "indirect_call_target"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1526)
    nil )
   (!pair  "local"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1529)
    nil )
   (!pair  "versionable"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1531)
    nil )
   (!pair  "can_change_signature"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1534)
    nil )
   (!pair  "redefined_extern_inline"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1537)
    nil )
   (!pair  "tm_may_enter_irr"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1539)
    nil )
   (!pair  "ipcp_clone"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1541)
    nil )
   (!pair  "m_uid"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1545)
    nil )
   (!pair  "m_summary_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 1548)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_FUNCTION")
  )
  2047 nil 
  (!type already_seen 318)
 )
 
 (!type struct 845 nil  gc_pointed_to "varpool_node"
  (!srcfileloc  "cgraph.h" 2163)
  (!fields 5 
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2042)
    nil )
   (!pair  "output"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2141)
    nil )
   (!pair  "dynamically_initialized"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2145)
    nil )
   (!pair  "tls_model"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2147)
    nil )
   (!pair  "used_by_single_function"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2153)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_VARIABLE")
  )
  2047 nil 
  (!type already_seen 318)
 )
 
 (!type already_seen 815)
 
 (!type already_seen 214)
 
 (!type struct 846 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 634)
 
 (!type already_seen 586)
 
 (!type struct 847 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 848 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 849 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 850 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 851 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 852 nil  gc_unused "diagnostic_event_id_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 853 nil  gc_unused "bitmap_view"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 272)
 
 (!type already_seen 268)
 
 (!type struct 854 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 855 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 856 nil  gc_unused "std::pair<tree,tree>"
  (!srcfileloc  "coretypes.h" 351)
  (!fields 2 
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "coretypes.h" 351)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "coretypes.h" 351)
    nil )
  )
 )
 
 (!type user_struct 857 nil  gc_unused "std::pair<char*,int>"
  (!srcfileloc  "coretypes.h" 352)
  (!fields 1 
   (!pair  "int"
    (!type already_seen 378)
    (!srcfileloc  "coretypes.h" 352)
    nil )
  )
 )
 
 (!type already_seen 378)
 
 (!type struct 858 nil  gc_unused "kv_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 859 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 860 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 861 nil  gc_unused "_dont_use_rtx_insn_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 862 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 863 nil  gc_unused "cpp_reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 864 nil  gc_unused "stringop_algs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 865 nil  gc_unused "processor_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 866 nil  gc_unused "ix86_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 867 nil  gc_unused "pta"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 430)
 
 (!type already_seen 431)
 
 (!type already_seen 433)
 
 (!type already_seen 428)
 
 (!type already_seen 426)
 
 (!type undefined 868 nil  gc_unused "TARGET_UNIT"
  (!srcfileloc  "defaults.h" 1482)
 )
 
 (!type struct 869 
  (!type pointer 870 nil  gc_unused
   (!type already_seen 869)
  )
  gc_unused "splay_tree_node_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 871 
  (!type pointer 872 nil  gc_unused
   (!type already_seen 871)
  )
  gc_unused "splay_tree_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 873 nil  gc_unused "bitmap_usage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 394)
 
 (!type struct 874 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 875 nil  gc_unused "auto_bitmap"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 876 nil  gc_unused "base_bitmap_view"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 507)
 
 (!type already_seen 506)
 
 (!type undefined 877 nil  gc_unused "FIXED_WIDE_INT"
  (!srcfileloc  "wide-int.h" 323)
 )
 
 (!type user_struct 878 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<WIDE_INT_MAX_PRECISION*>>"
  (!srcfileloc  "wide-int.h" 327)
  (!fields 1 
   (!pair  "fixed_wide_int_storage<WIDE_INT_MAX_PRECISION"
    (!type pointer 879 nil  gc_unused
     (!type struct 880 
      (!type already_seen 879)
      gc_unused "fixed_wide_int_storage<WIDE_INT_MAX_PRECISION"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "wide-int.h" 327)
    nil )
  )
 )
 
 (!type already_seen 880)
 
 (!type struct 881 nil  gc_unused "wide_int_ref_storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 882 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false>>"
  (!srcfileloc  "wide-int.h" 334)
  (!fields 1 
   (!pair  "wide_int_ref_storage<false"
    (!type user_struct 883 nil  gc_unused "wide_int_ref_storage<false"
     (!srcfileloc  "wide-int.h" 334)
     (!fields 1 
      (!pair  "false"
       (!type undefined 884 nil  gc_unused "false"
        (!srcfileloc  "wide-int.h" 334)
       )
       (!srcfileloc  "wide-int.h" 334)
       nil )
     )
    )
    (!srcfileloc  "wide-int.h" 334)
    nil )
  )
 )
 
 (!type already_seen 883)
 
 (!type already_seen 884)
 
 (!type struct 885 nil  gc_unused "binary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 886 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!srcfileloc  "wide-int.h" 438)
  (!fields 2 
   (!pair  "precision"
    (!type undefined 887 nil  gc_unused "precision"
     (!srcfileloc  "wide-int.h" 438)
    )
    (!srcfileloc  "wide-int.h" 438)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T2"
    (!type user_struct 888 nil  gc_unused "fixed_wide_int_storage<int_traits<T2"
     (!srcfileloc  "wide-int.h" 438)
     (!fields 1 
      (!pair  "int_traits<T2"
       (!type user_struct 889 nil  gc_unused "int_traits<T2"
        (!srcfileloc  "wide-int.h" 438)
        (!fields 1 
         (!pair  "T2"
          (!type undefined 890 nil  gc_unused "T2"
           (!srcfileloc  "wide-int.h" 438)
          )
          (!srcfileloc  "wide-int.h" 438)
          nil )
        )
       )
       (!srcfileloc  "wide-int.h" 438)
       nil )
     )
    )
    (!srcfileloc  "wide-int.h" 438)
    nil )
  )
 )
 
 (!type already_seen 888)
 
 (!type already_seen 889)
 
 (!type already_seen 890)
 
 (!type already_seen 887)
 
 (!type user_struct 891 nil  gc_unused "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!srcfileloc  "wide-int.h" 459)
  (!fields 2 
   (!pair  "precision"
    (!type already_seen 887)
    (!srcfileloc  "wide-int.h" 459)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T1"
    (!type user_struct 892 nil  gc_unused "fixed_wide_int_storage<int_traits<T1"
     (!srcfileloc  "wide-int.h" 459)
     (!fields 1 
      (!pair  "int_traits<T1"
       (!type user_struct 893 nil  gc_unused "int_traits<T1"
        (!srcfileloc  "wide-int.h" 459)
        (!fields 1 
         (!pair  "T1"
          (!type undefined 894 nil  gc_unused "T1"
           (!srcfileloc  "wide-int.h" 459)
          )
          (!srcfileloc  "wide-int.h" 459)
          nil )
        )
       )
       (!srcfileloc  "wide-int.h" 459)
       nil )
     )
    )
    (!srcfileloc  "wide-int.h" 459)
    nil )
  )
 )
 
 (!type already_seen 892)
 
 (!type already_seen 893)
 
 (!type already_seen 894)
 
 (!type struct 895 nil  gc_unused "storage_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 896 nil  gc_unused "storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 897 nil  gc_unused "generic_wide_int"
  (!srcfileloc  "wide-int.h" 774)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 896)
 )
 
 (!type undefined 898 nil  gc_unused "ASSIGNMENT_OPERATOR"
  (!srcfileloc  "wide-int.h" 754)
 )
 
 (!type struct 899 nil  gc_unused "int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 900 nil  gc_unused "fixed_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1235)
  (!fields 2 
   (!pair  "val"
    (!type array 901 nil  gc_unused "(N + HOST_BITS_PER_WIDE_INT + 1) / HOST_BITS_PER_WIDE_INT" 
     (!type already_seen 2)
    )
    (!srcfileloc  "wide-int.h" 1217)
    nil )
   (!pair  "len"
    (!type already_seen 2)
    (!srcfileloc  "wide-int.h" 1218)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 902 nil  gc_unused "trailing_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1366)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 903 nil  gc_unused "generic_wide_int<trailing_wide_int_storage>"
  (!srcfileloc  "wide-int.h" 1366)
  (!fields 1 
   (!pair  "trailing_wide_int_storage"
    (!type already_seen 902)
    (!srcfileloc  "wide-int.h" 1366)
    nil )
  )
 )
 
 (!type user_struct 904 nil  gc_unused "trailing_wide_ints"
  (!srcfileloc  "wide-int.h" 1406)
  (!fields 0 )
 )
 
 (!type struct 905 nil  gc_unused "primitive_int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 906 nil  gc_unused "hwi_with_prec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 907 nil  gc_unused "ints_for"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 908 nil  gc_unused "never_used1"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 909 nil  gc_unused "never_used2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 910 
  (!type pointer 911 nil  gc_used
   (!type already_seen 910)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 64)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 911)
    (!srcfileloc  "coverage.c" 58)
    nil )
   (!pair  "ident"
    (!type already_seen 2)
    (!srcfileloc  "coverage.c" 59)
    nil )
   (!pair  "lineno_checksum"
    (!type already_seen 2)
    (!srcfileloc  "coverage.c" 60)
    nil )
   (!pair  "cfg_checksum"
    (!type already_seen 2)
    (!srcfileloc  "coverage.c" 61)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 23)
    (!srcfileloc  "coverage.c" 62)
    nil )
   (!pair  "ctr_vars"
    (!type array 912 nil  gc_used "GCOV_COUNTERS" 
     (!type already_seen 23)
    )
    (!srcfileloc  "coverage.c" 63)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  2047 nil nil )
 
 (!type struct 913 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 914 
  (!type pointer 915 nil  gc_unused
   (!type already_seen 914)
  )
  gc_unused "predefined_function_abi"
  (!srcfileloc  "emit-rtl.h" 74)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 916 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 227)
 
 (!type already_seen 238)
 
 (!type union 917 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 918 nil  gc_unused "reg_info"
  (!srcfileloc  "rtl.h" 230)
  (!fields 4 
   (!pair  "regno"
    (!type already_seen 2)
    (!srcfileloc  "rtl.h" 222)
    nil )
   (!pair  "nregs"
    (!type already_seen 2)
    (!srcfileloc  "rtl.h" 225)
    nil )
   (!pair  "unused"
    (!type already_seen 2)
    (!srcfileloc  "rtl.h" 226)
    nil )
   (!pair  "attrs"
    (!type already_seen 237)
    (!srcfileloc  "rtl.h" 229)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 210)
 
 (!type already_seen 212)
 
 (!type already_seen 208)
 
 (!type already_seen 220)
 
 (!type already_seen 79)
 
 (!type user_struct 919 nil  gc_unused "trailing_wide_ints<NUM_POLY_INT_COEFFS>"
  (!srcfileloc  "rtl.h" 291)
  (!fields 1 
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type undefined 920 nil  gc_unused "NUM_POLY_INT_COEFFS"
     (!srcfileloc  "rtl.h" 291)
    )
    (!srcfileloc  "rtl.h" 291)
    nil )
  )
 )
 
 (!type already_seen 920)
 
 (!type struct 921 nil  gc_unused "const_poly_int_def"
  (!srcfileloc  "rtl.h" 292)
  (!fields 1 
   (!pair  "coeffs"
    (!type already_seen 919)
    (!srcfileloc  "rtl.h" 291)
    nil )
  )
  (!options 
   (!option variable_size string  "")
  )
  2047 nil nil )
 
 (!type already_seen 104)
 
 (!type already_seen 103)
 
 (!type already_seen 39)
 
 (!type already_seen 43)
 
 (!type union 922 nil  gc_used "u"
  (!srcfileloc  "ggc-tests.c" 140)
  (!fields 2 
   (!pair  "u_test_struct"
    (!type pointer 923 nil  gc_used
     (!type struct 924 
      (!type already_seen 923)
      gc_pointed_to "test_struct"
      (!srcfileloc  "ggc-tests.c" 53)
      (!fields 1 
       (!pair  "other"
        (!type already_seen 923)
        (!srcfileloc  "ggc-tests.c" 50)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "ggc-tests.c" 138)
    (!options 
     (!option tag string  "WHICH_FIELD_USE_TEST_STRUCT")
    )
   )
   (!pair  "u_test_other"
    (!type pointer 925 nil  gc_used
     (!type struct 926 
      (!type already_seen 925)
      gc_pointed_to "test_other"
      (!srcfileloc  "ggc-tests.c" 139)
      (!fields 2 
       (!pair  "dummy"
        (!type array 927 nil  gc_used "256" 
         (!type already_seen 8)
        )
        (!srcfileloc  "ggc-tests.c" 107)
        nil )
       (!pair  "m_ptr"
        (!type already_seen 923)
        (!srcfileloc  "ggc-tests.c" 108)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "ggc-tests.c" 139)
    (!options 
     (!option tag string  "WHICH_FIELD_USE_TEST_OTHER")
    )
   )
  )
  nil 2047 nil )
 
 (!type already_seen 223)
 
 (!type already_seen 266)
 
 (!type already_seen 221)
 
 (!type already_seen 314)
 
 (!type already_seen 313)
 
 (!type already_seen 312)
 
 (!type already_seen 311)
 
 (!type already_seen 310)
 
 (!type already_seen 309)
 
 (!type already_seen 308)
 
 (!type already_seen 307)
 
 (!type already_seen 306)
 
 (!type already_seen 305)
 
 (!type already_seen 304)
 
 (!type already_seen 303)
 
 (!type already_seen 302)
 
 (!type already_seen 301)
 
 (!type already_seen 300)
 
 (!type already_seen 265)
 
 (!type already_seen 264)
 
 (!type already_seen 263)
 
 (!type already_seen 262)
 
 (!type already_seen 261)
 
 (!type already_seen 260)
 
 (!type already_seen 259)
 
 (!type already_seen 258)
 
 (!type already_seen 257)
 
 (!type already_seen 256)
 
 (!type already_seen 255)
 
 (!type already_seen 254)
 
 (!type already_seen 253)
 
 (!type already_seen 252)
 
 (!type already_seen 251)
 
 (!type already_seen 250)
 
 (!type already_seen 249)
 
 (!type already_seen 248)
 
 (!type already_seen 247)
 
 (!type already_seen 246)
 
 (!type already_seen 245)
 
 (!type already_seen 244)
 
 (!type already_seen 243)
 
 (!type already_seen 242)
 
 (!type already_seen 241)
 
 (!type already_seen 240)
 
 (!type already_seen 239)
 
 (!type already_seen 236)
 
 (!type already_seen 235)
 
 (!type already_seen 234)
 
 (!type already_seen 233)
 
 (!type already_seen 232)
 
 (!type already_seen 228)
 
 (!type already_seen 225)
 
 (!type already_seen 224)
 
 (!type already_seen 207)
 
 (!type already_seen 206)
 
 (!type already_seen 205)
 
 (!type already_seen 204)
 
 (!type already_seen 203)
 
 (!type already_seen 202)
 
 (!type already_seen 201)
 
 (!type already_seen 200)
 
 (!type already_seen 199)
 
 (!type already_seen 198)
 
 (!type already_seen 197)
 
 (!type already_seen 196)
 
 (!type already_seen 195)
 
 (!type already_seen 194)
 
 (!type already_seen 193)
 
 (!type already_seen 192)
 
 (!type already_seen 191)
 
 (!type already_seen 190)
 
 (!type already_seen 189)
 
 (!type already_seen 188)
 
 (!type already_seen 187)
 
 (!type already_seen 186)
 
 (!type already_seen 185)
 
 (!type already_seen 184)
 
 (!type already_seen 183)
 
 (!type already_seen 182)
 
 (!type already_seen 181)
 
 (!type already_seen 180)
 
 (!type already_seen 179)
 
 (!type already_seen 178)
 
 (!type already_seen 177)
 
 (!type already_seen 176)
 
 (!type already_seen 175)
 
 (!type already_seen 174)
 
 (!type already_seen 173)
 
 (!type already_seen 172)
 
 (!type already_seen 171)
 
 (!type already_seen 170)
 
 (!type already_seen 169)
 
 (!type already_seen 168)
 
 (!type already_seen 167)
 
 (!type already_seen 166)
 
 (!type already_seen 165)
 
 (!type already_seen 164)
 
 (!type already_seen 163)
 
 (!type already_seen 162)
 
 (!type already_seen 161)
 
 (!type already_seen 160)
 
 (!type already_seen 159)
 
 (!type already_seen 158)
 
 (!type already_seen 157)
 
 (!type already_seen 156)
 
 (!type already_seen 155)
 
 (!type already_seen 154)
 
 (!type already_seen 153)
 
 (!type already_seen 152)
 
 (!type already_seen 151)
 
 (!type already_seen 150)
 
 (!type already_seen 149)
 
 (!type already_seen 148)
 
 (!type already_seen 147)
 
 (!type already_seen 146)
 
 (!type already_seen 145)
 
 (!type already_seen 144)
 
 (!type already_seen 143)
 
 (!type already_seen 142)
 
 (!type already_seen 141)
 
 (!type already_seen 140)
 
 (!type already_seen 139)
 
 (!type already_seen 138)
 
 (!type already_seen 137)
 
 (!type already_seen 136)
 
 (!type already_seen 135)
 
 (!type already_seen 134)
 
 (!type already_seen 133)
 
 (!type already_seen 132)
 
 (!type already_seen 131)
 
 (!type already_seen 130)
 
 (!type already_seen 129)
 
 (!type already_seen 128)
 
 (!type already_seen 127)
 
 (!type already_seen 126)
 
 (!type already_seen 125)
 
 (!type already_seen 124)
 
 (!type already_seen 123)
 
 (!type already_seen 122)
 
 (!type already_seen 121)
 
 (!type already_seen 120)
 
 (!type already_seen 119)
 
 (!type already_seen 118)
 
 (!type already_seen 117)
 
 (!type already_seen 116)
 
 (!type already_seen 115)
 
 (!type already_seen 114)
 
 (!type already_seen 113)
 
 (!type already_seen 112)
 
 (!type already_seen 111)
 
 (!type already_seen 110)
 
 (!type already_seen 109)
 
 (!type already_seen 108)
 
 (!type already_seen 107)
 
 (!type already_seen 106)
 
 (!type already_seen 105)
 
 (!type struct 928 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 929 nil  gc_unused "subreg_shape"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 930 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 931 nil  gc_unused "std::pair<rtx,machine_mode>"
  (!srcfileloc  "rtl.h" 2244)
  (!fields 2 
   (!pair  "machine_mode"
    (!type already_seen 2)
    (!srcfileloc  "rtl.h" 2244)
    nil )
   (!pair  "rtx"
    (!type already_seen 100)
    (!srcfileloc  "rtl.h" 2244)
    nil )
  )
 )
 
 (!type user_struct 932 nil  gc_unused "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<wide_int_ref_storage<false,false>>>"
  (!srcfileloc  "rtl.h" 2332)
  (!fields 3 
   (!pair  "false"
    (!type already_seen 884)
    (!srcfileloc  "rtl.h" 2332)
    nil )
   (!pair  "generic_wide_int<wide_int_ref_storage<false"
    (!type user_struct 933 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false"
     (!srcfileloc  "rtl.h" 2332)
     (!fields 1 
      (!pair  "wide_int_ref_storage<false"
       (!type already_seen 883)
       (!srcfileloc  "rtl.h" 2332)
       nil )
     )
    )
    (!srcfileloc  "rtl.h" 2332)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 920)
    (!srcfileloc  "rtl.h" 2332)
    nil )
  )
 )
 
 (!type already_seen 933)
 
 (!type already_seen 357)
 
 (!type struct 934 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 597)
 
 (!type struct 935 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 830)
 
 (!type struct 936 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 937 nil  gc_unused "auto_suppress_location_wrappers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 938 nil  gc_used "tree_decl_map_cache_hasher"
  (!srcfileloc  "tree.c" 239)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 939 nil  gc_unused "tree_decl_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 940 nil  gc_unused "tree_type_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 941 nil  gc_unused "tree_ssa_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 942 nil  gc_used "tree_hash"
  (!srcfileloc  "except.c" 150)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 943 nil  gc_unused "tree_cache_traits"
  (!srcfileloc  "tree.h" 5429)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 944 nil  gc_unused "hash_map<tree,tree,tree_cache_traits>"
  (!srcfileloc  "tree.h" 5429)
  (!fields 3 
   (!pair  "tree_cache_traits"
    (!type already_seen 943)
    (!srcfileloc  "tree.h" 5429)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5429)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5429)
    nil )
  )
 )
 
 (!type struct 945 nil  gc_used "decl_tree_cache_traits"
  (!srcfileloc  "tree.h" 5435)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 946 
  (!type pointer 947 nil  gc_used
   (!type already_seen 946)
  )
  gc_pointed_to "hash_map<tree,tree,decl_tree_cache_traits>"
  (!srcfileloc  "tree.h" 5435)
  (!fields 3 
   (!pair  "decl_tree_cache_traits"
    (!type already_seen 945)
    (!srcfileloc  "tree.h" 5435)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5435)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5435)
    nil )
  )
 )
 
 (!type struct 948 nil  gc_used "type_tree_cache_traits"
  (!srcfileloc  "tree.h" 5441)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 949 
  (!type pointer 950 nil  gc_used
   (!type already_seen 949)
  )
  gc_pointed_to "hash_map<tree,tree,type_tree_cache_traits>"
  (!srcfileloc  "tree.h" 5441)
  (!fields 3 
   (!pair  "type_tree_cache_traits"
    (!type already_seen 948)
    (!srcfileloc  "tree.h" 5441)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5441)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 5441)
    nil )
  )
 )
 
 (!type struct 951 nil  gc_unused "unextended_tree"
  (!srcfileloc  "tree.h" 5782)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 952 nil  gc_unused "extended_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 953 nil  gc_unused "extended_tree<WIDE_INT_MAX_PRECISION>"
  (!srcfileloc  "tree.h" 5762)
  (!fields 1 
   (!pair  "WIDE_INT_MAX_PRECISION"
    (!type already_seen 877)
    (!srcfileloc  "tree.h" 5762)
    nil )
  )
 )
 
 (!type user_struct 954 nil  gc_unused "extended_tree<ADDR_MAX_PRECISION>"
  (!srcfileloc  "tree.h" 5763)
  (!fields 1 
   (!pair  "ADDR_MAX_PRECISION"
    (!type already_seen 877)
    (!srcfileloc  "tree.h" 5763)
    nil )
  )
 )
 
 (!type user_struct 955 nil  gc_unused "generic_wide_int<widest_extended_tree>"
  (!srcfileloc  "tree.h" 5765)
  (!fields 1 
   (!pair  "widest_extended_tree"
    (!type already_seen 953)
    (!srcfileloc  "tree.h" 5765)
    nil )
  )
 )
 
 (!type user_struct 956 nil  gc_unused "generic_wide_int<offset_extended_tree>"
  (!srcfileloc  "tree.h" 5766)
  (!fields 1 
   (!pair  "offset_extended_tree"
    (!type already_seen 954)
    (!srcfileloc  "tree.h" 5766)
    nil )
  )
 )
 
 (!type user_struct 957 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false,false>>"
  (!srcfileloc  "tree.h" 5767)
  (!fields 2 
   (!pair  "false"
    (!type already_seen 884)
    (!srcfileloc  "tree.h" 5767)
    nil )
   (!pair  "wide_int_ref_storage<false"
    (!type already_seen 883)
    (!srcfileloc  "tree.h" 5767)
    nil )
  )
 )
 
 (!type user_struct 958 nil  gc_unused "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<widest_extended_tree>>"
  (!srcfileloc  "tree.h" 5776)
  (!fields 2 
   (!pair  "generic_wide_int<widest_extended_tree"
    (!type user_struct 959 nil  gc_unused "generic_wide_int<widest_extended_tree"
     (!srcfileloc  "tree.h" 5776)
     (!fields 1 
      (!pair  "widest_extended_tree"
       (!type already_seen 953)
       (!srcfileloc  "tree.h" 5776)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5776)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 920)
    (!srcfileloc  "tree.h" 5776)
    nil )
  )
 )
 
 (!type already_seen 959)
 
 (!type user_struct 960 nil  gc_unused "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<offset_extended_tree>>"
  (!srcfileloc  "tree.h" 5779)
  (!fields 2 
   (!pair  "generic_wide_int<offset_extended_tree"
    (!type user_struct 961 nil  gc_unused "generic_wide_int<offset_extended_tree"
     (!srcfileloc  "tree.h" 5779)
     (!fields 1 
      (!pair  "offset_extended_tree"
       (!type already_seen 954)
       (!srcfileloc  "tree.h" 5779)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5779)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 920)
    (!srcfileloc  "tree.h" 5779)
    nil )
  )
 )
 
 (!type already_seen 961)
 
 (!type user_struct 962 nil  gc_unused "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<unextended_tree>>"
  (!srcfileloc  "tree.h" 5782)
  (!fields 2 
   (!pair  "generic_wide_int<unextended_tree"
    (!type user_struct 963 nil  gc_unused "generic_wide_int<unextended_tree"
     (!srcfileloc  "tree.h" 5782)
     (!fields 1 
      (!pair  "unextended_tree"
       (!type already_seen 951)
       (!srcfileloc  "tree.h" 5782)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5782)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 920)
    (!srcfileloc  "tree.h" 5782)
    nil )
  )
 )
 
 (!type already_seen 963)
 
 (!type user_struct 964 nil  gc_unused "generic_wide_int<extended_tree<N>>"
  (!srcfileloc  "tree.h" 5792)
  (!fields 1 
   (!pair  "extended_tree<N"
    (!type user_struct 965 nil  gc_unused "extended_tree<N"
     (!srcfileloc  "tree.h" 5792)
     (!fields 1 
      (!pair  "N"
       (!type undefined 966 nil  gc_unused "N"
        (!srcfileloc  "tree.h" 5792)
       )
       (!srcfileloc  "tree.h" 5792)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5792)
    nil )
  )
 )
 
 (!type already_seen 965)
 
 (!type already_seen 966)
 
 (!type user_struct 967 nil  gc_unused "generic_wide_int<unextended_tree>"
  (!srcfileloc  "tree.h" 5799)
  (!fields 1 
   (!pair  "unextended_tree"
    (!type already_seen 951)
    (!srcfileloc  "tree.h" 5799)
    nil )
  )
 )
 
 (!type user_struct 968 nil  gc_unused "generic_wide_int<wi::extended_tree<WIDE_INT_MAX_PRECISION*>>"
  (!srcfileloc  "tree.h" 5806)
  (!fields 1 
   (!pair  "wi::extended_tree<WIDE_INT_MAX_PRECISION"
    (!type pointer 969 nil  gc_unused
     (!type struct 970 
      (!type already_seen 969)
      gc_unused "wi::extended_tree<WIDE_INT_MAX_PRECISION"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "tree.h" 5806)
    nil )
  )
 )
 
 (!type already_seen 970)
 
 (!type undefined 971 nil  gc_unused "typename"
  (!srcfileloc  "tree.h" 6057)
 )
 
 (!type struct 972 nil  gc_used "int_n_trees_t"
  (!srcfileloc  "tree.h" 6142)
  (!fields 2 
   (!pair  "signed_type"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 6140)
    nil )
   (!pair  "unsigned_type"
    (!type already_seen 23)
    (!srcfileloc  "tree.h" 6141)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 973 nil  gc_unused "builtin_structptr_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 974 nil  gc_unused "op_location_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 566)
 
 (!type already_seen 568)
 
 (!type already_seen 497)
 
 (!type struct 975 nil  gc_used "alias_pair"
  (!srcfileloc  "tree-core.h" 2201)
  (!fields 2 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 926)
    nil )
   (!pair  "target"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 927)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 27)
 
 (!type already_seen 28)
 
 (!type already_seen 29)
 
 (!type already_seen 30)
 
 (!type already_seen 26)
 
 (!type already_seen 25)
 
 (!type already_seen 31)
 
 (!type already_seen 32)
 
 (!type already_seen 33)
 
 (!type already_seen 37)
 
 (!type already_seen 41)
 
 (!type already_seen 48)
 
 (!type already_seen 50)
 
 (!type already_seen 46)
 
 (!type already_seen 35)
 
 (!type already_seen 51)
 
 (!type already_seen 557)
 
 (!type already_seen 558)
 
 (!type already_seen 580)
 
 (!type already_seen 579)
 
 (!type already_seen 577)
 
 (!type already_seen 561)
 
 (!type already_seen 560)
 
 (!type already_seen 569)
 
 (!type already_seen 571)
 
 (!type already_seen 564)
 
 (!type already_seen 563)
 
 (!type already_seen 791)
 
 (!type already_seen 582)
 
 (!type already_seen 581)
 
 (!type already_seen 85)
 
 (!type already_seen 572)
 
 (!type already_seen 525)
 
 (!type already_seen 524)
 
 (!type already_seen 528)
 
 (!type already_seen 526)
 
 (!type already_seen 556)
 
 (!type already_seen 573)
 
 (!type already_seen 52)
 
 (!type already_seen 55)
 
 (!type already_seen 53)
 
 (!type already_seen 99)
 
 (!type already_seen 350)
 
 (!type already_seen 351)
 
 (!type already_seen 352)
 
 (!type already_seen 353)
 
 (!type already_seen 348)
 
 (!type already_seen 316)
 
 (!type already_seen 349)
 
 (!type already_seen 315)
 
 (!type already_seen 355)
 
 (!type already_seen 523)
 
 (!type already_seen 354)
 
 (!type already_seen 576)
 
 (!type already_seen 574)
 
 (!type already_seen 588)
 
 (!type already_seen 584)
 
 (!type already_seen 591)
 
 (!type already_seen 589)
 
 (!type already_seen 635)
 
 (!type struct 976 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 977 
  (!type pointer 978 nil  gc_unused
   (!type already_seen 977)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 979 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 980 nil  gc_used "tree_map_base"
  (!srcfileloc  "tree-core.h" 2117)
  (!fields 1 
   (!pair  "from"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 2116)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 981 nil  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 2125)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 980)
    (!srcfileloc  "tree-core.h" 2122)
    nil )
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "tree-core.h" 2123)
    nil )
   (!pair  "to"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 2124)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 982 nil  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 2131)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 980)
    (!srcfileloc  "tree-core.h" 2129)
    nil )
   (!pair  "to"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 2130)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 983 nil  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 2137)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 980)
    (!srcfileloc  "tree-core.h" 2135)
    nil )
   (!pair  "to"
    (!type already_seen 2)
    (!srcfileloc  "tree-core.h" 2136)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 984 nil  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 2143)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 980)
    (!srcfileloc  "tree-core.h" 2141)
    nil )
   (!pair  "to"
    (!type already_seen 84)
    (!srcfileloc  "tree-core.h" 2142)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 985 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 986 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 987 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 2236)
  (!fields 3 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "tree-core.h" 2165)
    nil )
   (!pair  "implicit_p"
    (!type already_seen 2)
    (!srcfileloc  "tree-core.h" 2168)
    nil )
   (!pair  "declared_p"
    (!type already_seen 2)
    (!srcfileloc  "tree-core.h" 2170)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 988 nil  gc_unused "floatn_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 989 
  (!type pointer 990 nil  gc_used
   (!type already_seen 989)
  )
  gc_pointed_to "vec<alias_pair,va_gc>"
  (!srcfileloc  "tree-core.h" 2201)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "tree-core.h" 2201)
    nil )
   (!pair  "alias_pair"
    (!type already_seen 975)
    (!srcfileloc  "tree-core.h" 2201)
    nil )
  )
 )
 
 (!type struct 991 nil  gc_pointed_to "libfunc_entry"
  (!srcfileloc  "libfuncs.h" 44)
  (!fields 4 
   (!pair  "op"
    (!type already_seen 2)
    (!srcfileloc  "libfuncs.h" 42)
    nil )
   (!pair  "mode1"
    (!type already_seen 2)
    (!srcfileloc  "libfuncs.h" 42)
    nil )
   (!pair  "mode2"
    (!type already_seen 2)
    (!srcfileloc  "libfuncs.h" 42)
    nil )
   (!pair  "libfunc"
    (!type already_seen 100)
    (!srcfileloc  "libfuncs.h" 43)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type already_seen 618)
 
 (!type already_seen 617)
 
 (!type already_seen 614)
 
 (!type struct 992 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 993 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 994 nil  gc_unused "obstack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 995 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 996 nil  gc_unused "format_helper"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 997 
  (!type pointer 998 nil  gc_used
   (!type already_seen 997)
  )
  gc_pointed_to "sequence_stack"
  (!srcfileloc  "function.h" 34)
  (!fields 3 
   (!pair  "first"
    (!type already_seen 295)
    (!srcfileloc  "function.h" 31)
    nil )
   (!pair  "last"
    (!type already_seen 295)
    (!srcfileloc  "function.h" 32)
    nil )
   (!pair  "next"
    (!type already_seen 998)
    (!srcfileloc  "function.h" 33)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 999 nil  gc_used "emit_status"
  (!srcfileloc  "function.h" 76)
  (!fields 7 
   (!pair  "x_reg_rtx_no"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 41)
    nil )
   (!pair  "x_first_label_num"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 44)
    nil )
   (!pair  "seq"
    (!type already_seen 997)
    (!srcfileloc  "function.h" 56)
    nil )
   (!pair  "x_cur_insn_uid"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 60)
    nil )
   (!pair  "x_cur_debug_insn_uid"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 64)
    nil )
   (!pair  "regno_pointer_align_length"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 70)
    nil )
   (!pair  "regno_pointer_align"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 75)
    (!options 
     (!option skip string  "")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1000 
  (!type pointer 1001 nil  gc_used
   (!type already_seen 1000)
  )
  gc_pointed_to "vec<rtx_insn*,va_gc>"
  (!srcfileloc  "function.h" 131)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "function.h" 131)
    nil )
   (!pair  "rtx_insn"
    (!type already_seen 295)
    (!srcfileloc  "function.h" 131)
    nil )
  )
 )
 
 (!type struct 1002 nil  gc_used "expr_status"
  (!srcfileloc  "function.h" 132)
  (!fields 6 
   (!pair  "x_pending_stack_adjust"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 97)
    nil )
   (!pair  "x_inhibit_defer_pop"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 114)
    nil )
   (!pair  "x_stack_pointer_delta"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 120)
    nil )
   (!pair  "x_saveregs_value"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 125)
    nil )
   (!pair  "x_apply_args_value"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 128)
    nil )
   (!pair  "x_forced_labels"
    (!type already_seen 1001)
    (!srcfileloc  "function.h" 131)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1003 
  (!type pointer 1004 nil  gc_used
   (!type already_seen 1003)
  )
  gc_pointed_to "call_site_record_d"
  (!srcfileloc  "except.c" 167)
  (!fields 2 
   (!pair  "landing_pad"
    (!type already_seen 100)
    (!srcfileloc  "except.c" 165)
    nil )
   (!pair  "action"
    (!type already_seen 2)
    (!srcfileloc  "except.c" 166)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 381)
 
 (!type user_struct 1005 
  (!type pointer 1006 nil  gc_used
   (!type already_seen 1005)
  )
  gc_pointed_to "vec<call_site_record,va_gc>"
  (!srcfileloc  "function.h" 147)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "function.h" 147)
    nil )
   (!pair  "call_site_record"
    (!type already_seen 1004)
    (!srcfileloc  "function.h" 147)
    nil )
  )
 )
 
 (!type struct 1007 nil  gc_used "rtl_eh"
  (!srcfileloc  "function.h" 148)
  (!fields 7 
   (!pair  "ehr_stackadj"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 138)
    nil )
   (!pair  "ehr_handler"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 139)
    nil )
   (!pair  "ehr_label"
    (!type already_seen 370)
    (!srcfileloc  "function.h" 140)
    nil )
   (!pair  "sjlj_fc"
    (!type already_seen 100)
    (!srcfileloc  "function.h" 142)
    nil )
   (!pair  "sjlj_exit_after"
    (!type already_seen 295)
    (!srcfileloc  "function.h" 143)
    nil )
   (!pair  "action_record_data"
    (!type already_seen 380)
    (!srcfileloc  "function.h" 145)
    nil )
   (!pair  "call_site_record_v"
    (!type array 1008 nil  gc_used "2" 
     (!type already_seen 1006)
    )
    (!srcfileloc  "function.h" 147)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 389)
 
 (!type already_seen 480)
 
 (!type struct 1009 
  (!type pointer 1010 nil  gc_used
   (!type already_seen 1009)
  )
  gc_pointed_to "rtx_constant_pool"
  (!srcfileloc  "varasm.c" 3684)
  (!fields 4 
   (!pair  "first"
    (!type already_seen 222)
    (!srcfileloc  "varasm.c" 3672)
    nil )
   (!pair  "last"
    (!type already_seen 222)
    (!srcfileloc  "varasm.c" 3673)
    nil )
   (!pair  "const_rtx_htab"
    (!type pointer 1011 nil  gc_used
     (!type user_struct 1012 
      (!type already_seen 1011)
      gc_pointed_to "hash_table<const_rtx_desc_hasher>"
      (!srcfileloc  "varasm.c" 3679)
      (!fields 1 
       (!pair  "const_rtx_desc_hasher"
        (!type struct 1013 nil  gc_used "const_rtx_desc_hasher"
         (!srcfileloc  "varasm.c" 3679)
         (!fields 0 )
         nil 2047 nil nil )
        (!srcfileloc  "varasm.c" 3679)
        nil )
      )
     )
    )
    (!srcfileloc  "varasm.c" 3679)
    nil )
   (!pair  "offset"
    (!type already_seen 2)
    (!srcfileloc  "varasm.c" 3683)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1014 nil  gc_used "varasm_status"
  (!srcfileloc  "function.h" 168)
  (!fields 2 
   (!pair  "pool"
    (!type already_seen 1010)
    (!srcfileloc  "function.h" 163)
    nil )
   (!pair  "deferred_constants"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 167)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1015 nil  gc_used "function_subsections"
  (!srcfileloc  "function.h" 181)
  (!fields 4 
   (!pair  "hot_section_label"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 177)
    nil )
   (!pair  "cold_section_label"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 178)
    nil )
   (!pair  "hot_section_end_label"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 179)
    nil )
   (!pair  "cold_section_end_label"
    (!type already_seen 11)
    (!srcfileloc  "function.h" 180)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1016 
  (!type pointer 1017 nil  gc_used
   (!type already_seen 1016)
  )
  gc_pointed_to "frame_space"
  (!srcfileloc  "function.h" 193)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1017)
    (!srcfileloc  "function.h" 189)
    nil )
   (!pair  "start"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 191)
    nil )
   (!pair  "length"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 192)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 421)
 
 (!type already_seen 424)
 
 (!type already_seen 420)
 
 (!type already_seen 423)
 
 (!type already_seen 418)
 
 (!type already_seen 359)
 
 (!type already_seen 383)
 
 (!type already_seen 413)
 
 (!type already_seen 435)
 
 (!type already_seen 478)
 
 (!type struct 1018 nil  gc_pointed_to "types_used_by_vars_entry"
  (!srcfileloc  "function.h" 461)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "function.h" 459)
    nil )
   (!pair  "var_decl"
    (!type already_seen 23)
    (!srcfileloc  "function.h" 460)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1019 nil  gc_used "used_type_hasher"
  (!srcfileloc  "function.h" 474)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1020 
  (!type pointer 1021 nil  gc_used
   (!type already_seen 1020)
  )
  gc_pointed_to "hash_table<used_type_hasher>"
  (!srcfileloc  "function.h" 474)
  (!fields 1 
   (!pair  "used_type_hasher"
    (!type already_seen 1019)
    (!srcfileloc  "function.h" 474)
    nil )
  )
 )
 
 (!type struct 1022 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "function_abi"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1025 nil  gc_unused "function_abi_aggregator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 608)
 
 (!type already_seen 215)
 
 (!type already_seen 216)
 
 (!type already_seen 217)
 
 (!type already_seen 218)
 
 (!type already_seen 275)
 
 (!type already_seen 279)
 
 (!type already_seen 285)
 
 (!type already_seen 416)
 
 (!type already_seen 274)
 
 (!type already_seen 283)
 
 (!type already_seen 277)
 
 (!type already_seen 287)
 
 (!type already_seen 415)
 
 (!type struct 1026 nil  gc_unused "eni_weights"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1027 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1028 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 620)
 
 (!type already_seen 385)
 
 (!type already_seen 299)
 
 (!type struct 1029 nil  gc_unused "auto_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1030 nil  gc_unused "auto_edge_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1031 nil  gc_unused "auto_bb_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1032 nil  gc_unused "sreal"
  (!srcfileloc  "profile-count.h" 1206)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1033 nil  gc_unused "profile_probability"
  (!srcfileloc  "profile-count.h" 634)
  (!fields 0 )
 )
 
 (!type undefined 1034 nil  gc_unused "uint32_t"
  (!srcfileloc  "profile-count.h" 807)
 )
 
 (!type struct 1035 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1036 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1037 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 298)
 
 (!type already_seen 293)
 
 (!type already_seen 270)
 
 (!type already_seen 291)
 
 (!type already_seen 294)
 
 (!type already_seen 292)
 
 (!type struct 1038 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 319)
 
 (!type already_seen 323)
 
 (!type already_seen 322)
 
 (!type already_seen 325)
 
 (!type already_seen 828)
 
 (!type already_seen 347)
 
 (!type struct 1039 nil  gc_used "section_name_hasher"
  (!srcfileloc  "cgraph.h" 2535)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type undefined 1040 nil  gc_unused "explicit"
  (!srcfileloc  "cgraph.h" 113)
 )
 
 (!type already_seen 328)
 
 (!type struct 1041 
  (!type pointer 1042 nil  gc_unused
   (!type already_seen 1041)
  )
  gc_used "symbol_priority_map"
  (!srcfileloc  "cgraph.h" 2541)
  (!fields 2 
   (!pair  "init"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2212)
    nil )
   (!pair  "fini"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2213)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 844)
 
 (!type already_seen 835)
 
 (!type already_seen 833)
 
 (!type already_seen 837)
 
 (!type already_seen 842)
 
 (!type already_seen 843)
 
 (!type already_seen 831)
 
 (!type already_seen 825)
 
 (!type already_seen 823)
 
 (!type struct 1043 
  (!type pointer 1044 nil  gc_used
   (!type already_seen 1043)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 887)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 813)
    (!srcfileloc  "cgraph.h" 868)
    nil )
   (!pair  "prev"
    (!type already_seen 1044)
    (!srcfileloc  "cgraph.h" 872)
    nil )
   (!pair  "next"
    (!type already_seen 1044)
    (!srcfileloc  "cgraph.h" 876)
    nil )
   (!pair  "dispatcher_resolver"
    (!type already_seen 23)
    (!srcfileloc  "cgraph.h" 886)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type already_seen 821)
 
 (!type user_struct 1045 nil  gc_unused "vec<cgraph_edge*>"
  (!srcfileloc  "cgraph.h" 1204)
  (!fields 1 
   (!pair  "cgraph_edge"
    (!type already_seen 814)
    (!srcfileloc  "cgraph.h" 1204)
    nil )
  )
 )
 
 (!type already_seen 820)
 
 (!type already_seen 826)
 
 (!type struct 1046 
  (!type pointer 1047 nil  gc_unused
   (!type already_seen 1046)
  )
  gc_unused "cgraph_node_set_def"
  (!srcfileloc  "cgraph.h" 1564)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1048 
  (!type pointer 1049 nil  gc_unused
   (!type already_seen 1048)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1050 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1051 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 818)
 
 (!type already_seen 817)
 
 (!type undefined 1052 nil  gc_unused "availability"
  (!srcfileloc  "cgraph.h" 2053)
 )
 
 (!type struct 1053 
  (!type pointer 1054 nil  gc_used
   (!type already_seen 1053)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 2176)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1054)
    (!srcfileloc  "cgraph.h" 2171)
    nil )
   (!pair  "asm_str"
    (!type already_seen 23)
    (!srcfileloc  "cgraph.h" 2173)
    nil )
   (!pair  "order"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2175)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1055 
  (!type pointer 1056 nil  gc_unused
   (!type already_seen 1055)
  )
  gc_unused "cgraph_edge_hook_list"
  (!srcfileloc  "cgraph.h" 2384)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1057 
  (!type pointer 1058 nil  gc_unused
   (!type already_seen 1057)
  )
  gc_unused "cgraph_node_hook_list"
  (!srcfileloc  "cgraph.h" 2391)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1059 
  (!type pointer 1060 nil  gc_unused
   (!type already_seen 1059)
  )
  gc_unused "varpool_node_hook_list"
  (!srcfileloc  "cgraph.h" 2398)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1061 
  (!type pointer 1062 nil  gc_unused
   (!type already_seen 1061)
  )
  gc_unused "cgraph_2edge_hook_list"
  (!srcfileloc  "cgraph.h" 2419)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1063 
  (!type pointer 1064 nil  gc_unused
   (!type already_seen 1063)
  )
  gc_unused "cgraph_2node_hook_list"
  (!srcfileloc  "cgraph.h" 2425)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1065 nil  gc_used "asmname_hasher"
  (!srcfileloc  "cgraph.h" 2538)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1066 
  (!type pointer 1067 nil  gc_used
   (!type already_seen 1066)
  )
  gc_pointed_to "symbol_table"
  (!srcfileloc  "cgraph.h" 2589)
  (!fields 31 
   (!pair  "DEBUG_FUNCTION"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2468)
    nil )
   (!pair  "cgraph_count"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2496)
    nil )
   (!pair  "cgraph_max_uid"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2497)
    nil )
   (!pair  "cgraph_max_summary_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2498)
    nil )
   (!pair  "edges_count"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2500)
    nil )
   (!pair  "edges_max_uid"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2501)
    nil )
   (!pair  "edges_max_summary_id"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2502)
    nil )
   (!pair  "cgraph_released_summary_ids"
    (!type user_struct 1068 nil  gc_unused "vec<int>"
     (!srcfileloc  "cgraph.h" 2505)
     (!fields 1 
      (!pair  "int"
       (!type already_seen 378)
       (!srcfileloc  "cgraph.h" 2505)
       nil )
     )
    )
    (!srcfileloc  "cgraph.h" 2505)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "edge_released_summary_ids"
    (!type already_seen 1068)
    (!srcfileloc  "cgraph.h" 2508)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "nodes"
    (!type already_seen 317)
    (!srcfileloc  "cgraph.h" 2513)
    nil )
   (!pair  "asmnodes"
    (!type already_seen 1054)
    (!srcfileloc  "cgraph.h" 2514)
    nil )
   (!pair  "asm_last_node"
    (!type already_seen 1054)
    (!srcfileloc  "cgraph.h" 2515)
    nil )
   (!pair  "order"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2520)
    nil )
   (!pair  "max_unit"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2523)
    nil )
   (!pair  "global_info_ready"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2526)
    nil )
   (!pair  "state"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2528)
    nil )
   (!pair  "function_flags_ready"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2530)
    nil )
   (!pair  "cpp_implicit_aliases_done"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 2532)
    nil )
   (!pair  "section_hash"
    (!type pointer 1069 nil  gc_used
     (!type user_struct 1070 
      (!type already_seen 1069)
      gc_pointed_to "hash_table<section_name_hasher>"
      (!srcfileloc  "cgraph.h" 2535)
      (!fields 1 
       (!pair  "section_name_hasher"
        (!type already_seen 1039)
        (!srcfileloc  "cgraph.h" 2535)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2535)
    nil )
   (!pair  "assembler_name_hash"
    (!type pointer 1071 nil  gc_used
     (!type user_struct 1072 
      (!type already_seen 1071)
      gc_pointed_to "hash_table<asmname_hasher>"
      (!srcfileloc  "cgraph.h" 2538)
      (!fields 1 
       (!pair  "asmname_hasher"
        (!type already_seen 1065)
        (!srcfileloc  "cgraph.h" 2538)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2538)
    nil )
   (!pair  "init_priority_hash"
    (!type pointer 1073 nil  gc_used
     (!type user_struct 1074 
      (!type already_seen 1073)
      gc_pointed_to "hash_map<symtab_node*,symbol_priority_map>"
      (!srcfileloc  "cgraph.h" 2541)
      (!fields 2 
       (!pair  "symbol_priority_map"
        (!type already_seen 1041)
        (!srcfileloc  "cgraph.h" 2541)
        nil )
       (!pair  "symtab_node"
        (!type already_seen 317)
        (!srcfileloc  "cgraph.h" 2541)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2541)
    nil )
   (!pair  "dump_file"
    (!type pointer 1075 nil  gc_unused
     (!type undefined 1076 
      (!type already_seen 1075)
      gc_unused "FILE"
      (!srcfileloc  "cgraph.h" 2543)
     )
    )
    (!srcfileloc  "cgraph.h" 2543)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "ipa_clones_dump_file"
    (!type already_seen 1075)
    (!srcfileloc  "cgraph.h" 2545)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cloned_nodes"
    (!type user_struct 1077 nil  gc_unused "hash_set<cgraph_node*>"
     (!srcfileloc  "cgraph.h" 2547)
     (!fields 1 
      (!pair  "cgraph_node"
       (!type already_seen 813)
       (!srcfileloc  "cgraph.h" 2547)
       nil )
     )
    )
    (!srcfileloc  "cgraph.h" 2547)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_removal_hook"
    (!type already_seen 1056)
    (!srcfileloc  "cgraph.h" 2576)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_removal_hook"
    (!type already_seen 1058)
    (!srcfileloc  "cgraph.h" 2578)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_duplicated_hook"
    (!type already_seen 1062)
    (!srcfileloc  "cgraph.h" 2580)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_duplicated_hook"
    (!type already_seen 1064)
    (!srcfileloc  "cgraph.h" 2582)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_insertion_hook"
    (!type already_seen 1058)
    (!srcfileloc  "cgraph.h" 2584)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_insertion_hook"
    (!type already_seen 1060)
    (!srcfileloc  "cgraph.h" 2586)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_removal_hook"
    (!type already_seen 1060)
    (!srcfileloc  "cgraph.h" 2588)
    (!options 
     (!option skip string  "")
    )
   )
  )
  (!options 
   (!option tag string  "SYMTAB")
  )
  2047 nil nil )
 
 (!type already_seen 1068)
 
 (!type already_seen 1070)
 
 (!type already_seen 1072)
 
 (!type already_seen 1074)
 
 (!type already_seen 1076)
 
 (!type already_seen 1077)
 
 (!type struct 1078 nil  gc_pointed_to "constant_descriptor_tree"
  (!srcfileloc  "cgraph.h" 3127)
  (!fields 3 
   (!pair  "rtl"
    (!type already_seen 100)
    (!srcfileloc  "cgraph.h" 3118)
    nil )
   (!pair  "value"
    (!type already_seen 23)
    (!srcfileloc  "cgraph.h" 3121)
    nil )
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "cgraph.h" 3126)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1079 nil  gc_used "tree_descriptor_hasher"
  (!srcfileloc  "varasm.c" 3006)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1080 nil  gc_unused "symbol_table_test"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1081 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 610)
 
 (!type struct 1082 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1083 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1084 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1085 nil  gc_used "alias_set_hash"
  (!srcfileloc  "alias.c" 148)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1086 
  (!type pointer 1087 nil  gc_used
   (!type already_seen 1086)
  )
  gc_pointed_to "hash_map<alias_set_hash,int>"
  (!srcfileloc  "alias.c" 148)
  (!fields 2 
   (!pair  "int"
    (!type already_seen 378)
    (!srcfileloc  "alias.c" 148)
    nil )
   (!pair  "alias_set_hash"
    (!type already_seen 1085)
    (!srcfileloc  "alias.c" 148)
    nil )
  )
 )
 
 (!type struct 1088 
  (!type pointer 1089 nil  gc_used
   (!type already_seen 1088)
  )
  gc_pointed_to "alias_set_entry"
  (!srcfileloc  "alias.c" 149)
  (!fields 5 
   (!pair  "alias_set"
    (!type already_seen 2)
    (!srcfileloc  "alias.c" 128)
    nil )
   (!pair  "has_zero_child"
    (!type already_seen 2)
    (!srcfileloc  "alias.c" 132)
    nil )
   (!pair  "is_pointer"
    (!type already_seen 2)
    (!srcfileloc  "alias.c" 137)
    nil )
   (!pair  "has_pointer"
    (!type already_seen 2)
    (!srcfileloc  "alias.c" 139)
    nil )
   (!pair  "children"
    (!type already_seen 1087)
    (!srcfileloc  "alias.c" 148)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1090 
  (!type pointer 1091 nil  gc_used
   (!type already_seen 1090)
  )
  gc_pointed_to "vec<alias_set_entry*,va_gc>"
  (!srcfileloc  "alias.c" 279)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "alias.c" 279)
    nil )
   (!pair  "alias_set_entry"
    (!type already_seen 1089)
    (!srcfileloc  "alias.c" 279)
    nil )
  )
 )
 
 (!type struct 1092 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1093 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1094 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1095 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1096 nil  gc_used "function_version_hasher"
  (!srcfileloc  "cgraph.c" 119)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1097 
  (!type pointer 1098 nil  gc_used
   (!type already_seen 1097)
  )
  gc_pointed_to "hash_table<function_version_hasher>"
  (!srcfileloc  "cgraph.c" 119)
  (!fields 1 
   (!pair  "function_version_hasher"
    (!type already_seen 1096)
    (!srcfileloc  "cgraph.c" 119)
    nil )
  )
 )
 
 (!type struct 1099 nil  gc_unused "set_pure_flag_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 330)
 
 (!type struct 1100 nil  gc_used "ipa_bit_ggc_hash_traits"
  (!srcfileloc  "ipa-prop.c" 105)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1101 
  (!type pointer 1102 nil  gc_used
   (!type already_seen 1101)
  )
  gc_pointed_to "hash_table<ipa_bit_ggc_hash_traits>"
  (!srcfileloc  "ipa-prop.c" 105)
  (!fields 1 
   (!pair  "ipa_bit_ggc_hash_traits"
    (!type already_seen 1100)
    (!srcfileloc  "ipa-prop.c" 105)
    nil )
  )
 )
 
 (!type struct 1103 nil  gc_used "ipa_vr_ggc_hash_traits"
  (!srcfileloc  "ipa-prop.c" 151)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1104 
  (!type pointer 1105 nil  gc_used
   (!type already_seen 1104)
  )
  gc_pointed_to "hash_table<ipa_vr_ggc_hash_traits>"
  (!srcfileloc  "ipa-prop.c" 151)
  (!fields 1 
   (!pair  "ipa_vr_ggc_hash_traits"
    (!type already_seen 1103)
    (!srcfileloc  "ipa-prop.c" 151)
    nil )
  )
 )
 
 (!type struct 1106 
  (!type pointer 1107 nil  gc_unused
   (!type already_seen 1106)
  )
  gc_unused "ipa_cst_ref_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1108 nil  gc_pointed_to "ipa_node_params"
  (!srcfileloc  "ipa-prop.h" 506)
  (!fields 14 
   (!pair  "descriptors"
    (!type pointer 1109 nil  gc_used
     (!type user_struct 1110 
      (!type already_seen 1109)
      gc_pointed_to "vec<ipa_param_descriptor,va_gc>"
      (!srcfileloc  "ipa-prop.h" 472)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-prop.h" 472)
        nil )
       (!pair  "ipa_param_descriptor"
        (!type struct 1111 nil  gc_used "ipa_param_descriptor"
         (!srcfileloc  "ipa-prop.h" 472)
         (!fields 7 
          (!pair  "decl_or_type"
           (!type already_seen 23)
           (!srcfileloc  "ipa-prop.h" 444)
           nil )
          (!pair  "controlled_uses"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 448)
           nil )
          (!pair  "move_cost"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 449)
           nil )
          (!pair  "used"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 451)
           nil )
          (!pair  "used_by_ipa_predicates"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 452)
           nil )
          (!pair  "used_by_indirect_call"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 453)
           nil )
          (!pair  "used_by_polymorphic_call"
           (!type already_seen 2)
           (!srcfileloc  "ipa-prop.h" 454)
           nil )
         )
         nil 2047 nil nil )
        (!srcfileloc  "ipa-prop.h" 472)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 472)
    nil )
   (!pair  "lattices"
    (!type pointer 1112 nil  gc_unused
     (!type struct 1113 
      (!type already_seen 1112)
      gc_unused "ipcp_param_lattices"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "ipa-prop.h" 475)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "ipcp_orig_node"
    (!type already_seen 813)
    (!srcfileloc  "ipa-prop.h" 478)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "known_csts"
    (!type user_struct 1114 nil  gc_unused "vec<tree>"
     (!srcfileloc  "ipa-prop.h" 481)
     (!fields 1 
      (!pair  "tree"
       (!type already_seen 23)
       (!srcfileloc  "ipa-prop.h" 481)
       nil )
     )
    )
    (!srcfileloc  "ipa-prop.h" 481)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "known_contexts"
    (!type user_struct 1115 nil  gc_unused "vec<ipa_polymorphic_call_context>"
     (!srcfileloc  "ipa-prop.h" 484)
     (!fields 1 
      (!pair  "ipa_polymorphic_call_context"
       (!type already_seen 818)
       (!srcfileloc  "ipa-prop.h" 484)
       nil )
     )
    )
    (!srcfileloc  "ipa-prop.h" 484)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "analysis_done"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 487)
    nil )
   (!pair  "node_enqueued"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 489)
    nil )
   (!pair  "do_clone_for_all_contexts"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 492)
    nil )
   (!pair  "is_all_contexts_clone"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 494)
    nil )
   (!pair  "node_dead"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 497)
    nil )
   (!pair  "node_within_scc"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 499)
    nil )
   (!pair  "node_is_self_scc"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 501)
    nil )
   (!pair  "node_calling_single_call"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 503)
    nil )
   (!pair  "versionable"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 505)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1116 nil  gc_used "ipa_jump_func"
  (!srcfileloc  "ipa-prop.h" 803)
  (!fields 5 
   (!pair  "agg"
    (!type struct 1117 nil  gc_used "ipa_agg_jump_function"
     (!srcfileloc  "ipa-prop.h" 178)
     (!fields 2 
      (!pair  "items"
       (!type pointer 1118 nil  gc_used
        (!type user_struct 1119 
         (!type already_seen 1118)
         gc_pointed_to "vec<ipa_agg_jf_item,va_gc>"
         (!srcfileloc  "ipa-prop.h" 175)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 79)
           (!srcfileloc  "ipa-prop.h" 175)
           nil )
          (!pair  "ipa_agg_jf_item"
           (!type struct 1120 nil  gc_used "ipa_agg_jf_item"
            (!srcfileloc  "ipa-prop.h" 175)
            (!fields 4 
             (!pair  "offset"
              (!type already_seen 2)
              (!srcfileloc  "ipa-prop.h" 150)
              nil )
             (!pair  "type"
              (!type already_seen 23)
              (!srcfileloc  "ipa-prop.h" 153)
              nil )
             (!pair  "jftype"
              (!type already_seen 2)
              (!srcfileloc  "ipa-prop.h" 156)
              nil )
             (!pair  "value"
              (!type union 1121 nil  gc_used "jump_func_agg_value"
               (!srcfileloc  "ipa-prop.h" 167)
               (!fields 3 
                (!pair  "constant"
                 (!type already_seen 23)
                 (!srcfileloc  "ipa-prop.h" 164)
                 (!options 
                  (!option tag string  "IPA_JF_CONST")
                 )
                )
                (!pair  "pass_through"
                 (!type struct 1122 nil  gc_used "ipa_pass_through_data"
                  (!srcfileloc  "ipa-prop.h" 108)
                  (!fields 4 
                   (!pair  "operand"
                    (!type already_seen 23)
                    (!srcfileloc  "ipa-prop.h" 93)
                    nil )
                   (!pair  "formal_id"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 95)
                    nil )
                   (!pair  "operation"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 100)
                    nil )
                   (!pair  "agg_preserved"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 107)
                    nil )
                  )
                  nil 2047 nil nil )
                 (!srcfileloc  "ipa-prop.h" 165)
                 (!options 
                  (!option tag string  "IPA_JF_PASS_THROUGH")
                 )
                )
                (!pair  "load_agg"
                 (!type struct 1123 nil  gc_used "ipa_load_agg_data"
                  (!srcfileloc  "ipa-prop.h" 128)
                  (!fields 4 
                   (!pair  "pass_through"
                    (!type already_seen 1122)
                    (!srcfileloc  "ipa-prop.h" 119)
                    nil )
                   (!pair  "type"
                    (!type already_seen 23)
                    (!srcfileloc  "ipa-prop.h" 121)
                    nil )
                   (!pair  "offset"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 123)
                    nil )
                   (!pair  "by_ref"
                    (!type already_seen 2)
                    (!srcfileloc  "ipa-prop.h" 127)
                    nil )
                  )
                  nil 2047 nil nil )
                 (!srcfileloc  "ipa-prop.h" 166)
                 (!options 
                  (!option tag string  "IPA_JF_LOAD_AGG")
                 )
                )
               )
               nil 2047 nil )
              (!srcfileloc  "ipa-prop.h" 167)
              (!options 
               (!option desc string  "%1.jftype")
              )
             )
            )
            nil 2047 nil nil )
           (!srcfileloc  "ipa-prop.h" 175)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 175)
       nil )
      (!pair  "by_ref"
       (!type already_seen 2)
       (!srcfileloc  "ipa-prop.h" 177)
       nil )
     )
     nil 2047 nil nil )
    (!srcfileloc  "ipa-prop.h" 311)
    nil )
   (!pair  "bits"
    (!type pointer 1124 nil  gc_used
     (!type struct 1125 
      (!type already_seen 1124)
      gc_pointed_to "ipa_bits"
      (!srcfileloc  "ipa-prop.h" 289)
      (!fields 2 
       (!pair  "value"
        (!type already_seen 2)
        (!srcfileloc  "ipa-prop.h" 284)
        nil )
       (!pair  "mask"
        (!type already_seen 2)
        (!srcfileloc  "ipa-prop.h" 288)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "ipa-prop.h" 316)
    nil )
   (!pair  "m_vr"
    (!type pointer 1126 nil  gc_used
     (!type struct 1127 
      (!type already_seen 1126)
      gc_pointed_to "value_range"
      (!srcfileloc  "value-range.h" 117)
      (!fields 3 
       (!pair  "m_kind"
        (!type already_seen 2)
        (!srcfileloc  "value-range.h" 111)
        nil )
       (!pair  "m_min"
        (!type already_seen 23)
        (!srcfileloc  "value-range.h" 112)
        nil )
       (!pair  "m_max"
        (!type already_seen 23)
        (!srcfileloc  "value-range.h" 113)
        nil )
      )
      (!options 
       (!option for_user string  "")
      )
      2047 nil nil )
    )
    (!srcfileloc  "ipa-prop.h" 321)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 323)
    nil )
   (!pair  "value"
    (!type union 1128 nil  gc_used "jump_func_value"
     (!srcfileloc  "ipa-prop.h" 332)
     (!fields 3 
      (!pair  "constant"
       (!type struct 1129 nil  gc_used "ipa_constant_data"
        (!srcfileloc  "ipa-prop.h" 85)
        (!fields 2 
         (!pair  "value"
          (!type already_seen 23)
          (!srcfileloc  "ipa-prop.h" 82)
          nil )
         (!pair  "rdesc"
          (!type already_seen 1107)
          (!srcfileloc  "ipa-prop.h" 84)
          (!options 
           (!option skip string  "")
          )
         )
        )
        nil 2047 nil nil )
       (!srcfileloc  "ipa-prop.h" 329)
       (!options 
        (!option tag string  "IPA_JF_CONST")
       )
      )
      (!pair  "pass_through"
       (!type already_seen 1122)
       (!srcfileloc  "ipa-prop.h" 330)
       (!options 
        (!option tag string  "IPA_JF_PASS_THROUGH")
       )
      )
      (!pair  "ancestor"
       (!type struct 1130 nil  gc_used "ipa_ancestor_jf_data"
        (!srcfileloc  "ipa-prop.h" 141)
        (!fields 3 
         (!pair  "offset"
          (!type already_seen 2)
          (!srcfileloc  "ipa-prop.h" 136)
          nil )
         (!pair  "formal_id"
          (!type already_seen 2)
          (!srcfileloc  "ipa-prop.h" 138)
          nil )
         (!pair  "agg_preserved"
          (!type already_seen 2)
          (!srcfileloc  "ipa-prop.h" 140)
          nil )
        )
        nil 2047 nil nil )
       (!srcfileloc  "ipa-prop.h" 331)
       (!options 
        (!option tag string  "IPA_JF_ANCESTOR")
       )
      )
     )
     nil 2047 nil )
    (!srcfileloc  "ipa-prop.h" 332)
    (!options 
     (!option desc string  "%1.type")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1120)
 
 (!type struct 1131 nil  gc_unused "prop_type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1132 nil  gc_unused "ipa_bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1133 nil  gc_unused "ipa_param_aa_status"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1134 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1123)
 
 (!type struct 1135 nil  gc_pointed_to "ipa_edge_args"
  (!srcfileloc  "ipa-prop.h" 805)
  (!fields 2 
   (!pair  "jump_functions"
    (!type pointer 1136 nil  gc_used
     (!type user_struct 1137 
      (!type already_seen 1136)
      gc_pointed_to "vec<ipa_jump_func,va_gc>"
      (!srcfileloc  "ipa-prop.h" 803)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-prop.h" 803)
        nil )
       (!pair  "ipa_jump_func"
        (!type already_seen 1116)
        (!srcfileloc  "ipa-prop.h" 803)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 803)
    nil )
   (!pair  "polymorphic_call_contexts"
    (!type pointer 1138 nil  gc_used
     (!type user_struct 1139 
      (!type already_seen 1138)
      gc_pointed_to "vec<ipa_polymorphic_call_context,va_gc>"
      (!srcfileloc  "ipa-prop.h" 804)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-prop.h" 804)
        nil )
       (!pair  "ipa_polymorphic_call_context"
        (!type already_seen 818)
        (!srcfileloc  "ipa-prop.h" 804)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 804)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1140 nil  gc_unused "analysis_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1141 nil  gc_unused "ipa_func_body_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1142 nil  gc_unused "ipa_agg_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1143 
  (!type pointer 1144 nil  gc_used
   (!type already_seen 1143)
  )
  gc_pointed_to "ipa_agg_replacement_value"
  (!srcfileloc  "ipa-prop.h" 752)
  (!fields 5 
   (!pair  "next"
    (!type already_seen 1144)
    (!srcfileloc  "ipa-prop.h" 736)
    nil )
   (!pair  "offset"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 738)
    nil )
   (!pair  "value"
    (!type already_seen 23)
    (!srcfileloc  "ipa-prop.h" 740)
    nil )
   (!pair  "index"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 742)
    nil )
   (!pair  "by_ref"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 744)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1145 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1146 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1147 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1148 nil  gc_unused "ipcp_modif_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1149 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "ipcp_value_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1152 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1153 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1154 nil  gc_unused "ipcp_bits_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1155 nil  gc_unused "ipcp_vr_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1113)
 
 (!type struct 1156 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1157 nil  gc_unused "value_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1158 nil  gc_unused "ipa_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1159 nil  gc_unused "ipa_agg_value_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1117)
 
 (!type struct 1160 
  (!type pointer 1161 nil  gc_used
   (!type already_seen 1160)
  )
  gc_pointed_to "ipa_fn_summary"
  (!srcfileloc  "ipa-fnsummary.h" 190)
  (!fields 13 
   (!pair  "min_size"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 138)
    nil )
   (!pair  "inlinable"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 141)
    nil )
   (!pair  "single_caller"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 144)
    nil )
   (!pair  "fp_expressions"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 146)
    nil )
   (!pair  "estimated_stack_size"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 153)
    nil )
   (!pair  "time"
    (!type already_seen 1032)
    (!srcfileloc  "ipa-fnsummary.h" 155)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "conds"
    (!type pointer 1162 nil  gc_used
     (!type user_struct 1163 
      (!type already_seen 1162)
      gc_pointed_to "vec<condition,va_gc>"
      (!srcfileloc  "ipa-predicate.h" 90)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-predicate.h" 90)
        nil )
       (!pair  "condition"
        (!type struct 1164 nil  gc_used "condition"
         (!srcfileloc  "ipa-predicate.h" 90)
         (!fields 8 
          (!pair  "offset"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 52)
           nil )
          (!pair  "type"
           (!type already_seen 23)
           (!srcfileloc  "ipa-predicate.h" 54)
           nil )
          (!pair  "val"
           (!type already_seen 23)
           (!srcfileloc  "ipa-predicate.h" 55)
           nil )
          (!pair  "operand_num"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 56)
           nil )
          (!pair  "code"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 57)
           nil )
          (!pair  "agg_contents"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 60)
           nil )
          (!pair  "by_ref"
           (!type already_seen 2)
           (!srcfileloc  "ipa-predicate.h" 63)
           nil )
          (!pair  "param_ops"
           (!type pointer 1165 nil  gc_used
            (!type user_struct 1166 
             (!type already_seen 1165)
             gc_pointed_to "vec<expr_eval_op,va_gc>"
             (!srcfileloc  "ipa-predicate.h" 46)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 79)
               (!srcfileloc  "ipa-predicate.h" 46)
               nil )
              (!pair  "expr_eval_op"
               (!type struct 1167 nil  gc_used "expr_eval_op"
                (!srcfileloc  "ipa-predicate.h" 46)
                (!fields 4 
                 (!pair  "type"
                  (!type already_seen 23)
                  (!srcfileloc  "ipa-predicate.h" 37)
                  nil )
                 (!pair  "val"
                  (!type array 1168 nil  gc_used "2" 
                   (!type already_seen 23)
                  )
                  (!srcfileloc  "ipa-predicate.h" 39)
                  nil )
                 (!pair  "index"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-predicate.h" 41)
                  nil )
                 (!pair  "code"
                  (!type already_seen 2)
                  (!srcfileloc  "ipa-predicate.h" 43)
                  nil )
                )
                nil 2047 nil nil )
               (!srcfileloc  "ipa-predicate.h" 46)
               nil )
             )
            )
           )
           (!srcfileloc  "ipa-predicate.h" 66)
           nil )
         )
         nil 2047 nil nil )
        (!srcfileloc  "ipa-predicate.h" 90)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-fnsummary.h" 159)
    nil )
   (!pair  "size_time_table"
    (!type pointer 1169 nil  gc_used
     (!type user_struct 1170 
      (!type already_seen 1169)
      gc_pointed_to "vec<size_time_entry,va_gc>"
      (!srcfileloc  "ipa-fnsummary.h" 164)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-fnsummary.h" 164)
        nil )
       (!pair  "size_time_entry"
        (!type struct 1171 nil  gc_used "size_time_entry"
         (!srcfileloc  "ipa-fnsummary.h" 164)
         (!fields 4 
          (!pair  "exec_predicate"
           (!type struct 1172 
            (!type pointer 1173 nil  gc_unused
             (!type already_seen 1172)
            )
            gc_used "predicate"
            (!srcfileloc  "ipa-fnsummary.h" 76)
            (!fields 0 )
            nil 2047 nil nil )
           (!srcfileloc  "ipa-fnsummary.h" 76)
           nil )
          (!pair  "nonconst_predicate"
           (!type already_seen 1172)
           (!srcfileloc  "ipa-fnsummary.h" 80)
           nil )
          (!pair  "size"
           (!type already_seen 2)
           (!srcfileloc  "ipa-fnsummary.h" 81)
           nil )
          (!pair  "time"
           (!type already_seen 1032)
           (!srcfileloc  "ipa-fnsummary.h" 82)
           (!options 
            (!option skip string  "")
           )
          )
         )
         nil 2047 nil nil )
        (!srcfileloc  "ipa-fnsummary.h" 164)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-fnsummary.h" 164)
    nil )
   (!pair  "call_size_time_table"
    (!type already_seen 1169)
    (!srcfileloc  "ipa-fnsummary.h" 165)
    nil )
   (!pair  "loop_iterations"
    (!type already_seen 1173)
    (!srcfileloc  "ipa-fnsummary.h" 169)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "loop_stride"
    (!type already_seen 1173)
    (!srcfileloc  "ipa-fnsummary.h" 172)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "growth"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 178)
    nil )
   (!pair  "scc_no"
    (!type already_seen 2)
    (!srcfileloc  "ipa-fnsummary.h" 180)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1174 nil  gc_unused "edge_clone_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 nil  gc_unused "edge_clone_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1178 
  (!type pointer 1179 nil  gc_used
   (!type already_seen 1178)
  )
  gc_pointed_to "odr_type_d"
  (!srcfileloc  "ipa-devirt.c" 224)
  (!fields 11 
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "ipa-devirt.c" 200)
    nil )
   (!pair  "bases"
    (!type user_struct 1180 nil  gc_unused "vec<odr_type>"
     (!srcfileloc  "ipa-devirt.c" 202)
     (!fields 1 
      (!pair  "odr_type"
       (!type already_seen 1179)
       (!srcfileloc  "ipa-devirt.c" 202)
       nil )
     )
    )
    (!srcfileloc  "ipa-devirt.c" 202)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "derived_types"
    (!type already_seen 1180)
    (!srcfileloc  "ipa-devirt.c" 205)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "types"
    (!type already_seen 84)
    (!srcfileloc  "ipa-devirt.c" 208)
    nil )
   (!pair  "types_set"
    (!type already_seen 477)
    (!srcfileloc  "ipa-devirt.c" 210)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "id"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 213)
    nil )
   (!pair  "anonymous_namespace"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 215)
    nil )
   (!pair  "all_derivations_known"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 217)
    nil )
   (!pair  "odr_violated"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 219)
    nil )
   (!pair  "rtti_broken"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 221)
    nil )
   (!pair  "tbaa_enabled"
    (!type already_seen 2)
    (!srcfileloc  "ipa-devirt.c" 223)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 840)
 
 (!type already_seen 839)
 
 (!type struct 1181 nil  gc_unused "ipa_param_body_replacement"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_unused "ipa_param_body_adjustments"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1183 
  (!type pointer 1184 nil  gc_used
   (!type already_seen 1183)
  )
  gc_pointed_to "param_access"
  (!srcfileloc  "ipa-sra.c" 123)
  (!fields 6 
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "ipa-sra.c" 106)
    nil )
   (!pair  "alias_ptr_type"
    (!type already_seen 23)
    (!srcfileloc  "ipa-sra.c" 110)
    nil )
   (!pair  "unit_offset"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 114)
    nil )
   (!pair  "unit_size"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 115)
    nil )
   (!pair  "certain"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 120)
    nil )
   (!pair  "reverse"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 122)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1185 nil  gc_unused "gensum_param_access"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1186 
  (!type pointer 1187 nil  gc_used
   (!type already_seen 1186)
  )
  gc_pointed_to "vec<param_access*,va_gc>"
  (!srcfileloc  "ipa-sra.c" 165)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-sra.c" 165)
    nil )
   (!pair  "param_access"
    (!type already_seen 1184)
    (!srcfileloc  "ipa-sra.c" 165)
    nil )
  )
 )
 
 (!type struct 1188 nil  gc_used "isra_param_desc"
  (!srcfileloc  "ipa-sra.c" 254)
  (!fields 6 
   (!pair  "accesses"
    (!type already_seen 1187)
    (!srcfileloc  "ipa-sra.c" 165)
    nil )
   (!pair  "param_size_limit"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 168)
    nil )
   (!pair  "size_reached"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 170)
    nil )
   (!pair  "locally_unused"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 174)
    nil )
   (!pair  "split_candidate"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 176)
    nil )
   (!pair  "by_ref"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 178)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1189 nil  gc_unused "gensum_param_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1190 nil  gc_pointed_to "isra_func_summary"
  (!srcfileloc  "ipa-sra.c" 272)
  (!fields 5 
   (!pair  "m_parameters"
    (!type pointer 1191 nil  gc_used
     (!type user_struct 1192 
      (!type already_seen 1191)
      gc_pointed_to "vec<isra_param_desc,va_gc>"
      (!srcfileloc  "ipa-sra.c" 254)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "ipa-sra.c" 254)
        nil )
       (!pair  "isra_param_desc"
        (!type already_seen 1188)
        (!srcfileloc  "ipa-sra.c" 254)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-sra.c" 254)
    nil )
   (!pair  "m_candidate"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 258)
    nil )
   (!pair  "m_returns_value"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 261)
    nil )
   (!pair  "m_return_ignored"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 266)
    nil )
   (!pair  "m_queued"
    (!type already_seen 2)
    (!srcfileloc  "ipa-sra.c" 271)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type already_seen 1192)
 
 (!type struct 1193 nil  gc_unused "isra_param_flow"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1194 nil  gc_unused "isra_call_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1195 
  (!type pointer 1196 nil  gc_used
   (!type already_seen 1195)
  )
  gc_pointed_to "ipa_sra_function_summaries"
  (!srcfileloc  "ipa-sra.c" 376)
  (!fields 0 )
 )
 
 (!type struct 1197 nil  gc_unused "ipa_sra_call_summaries"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1198 nil  gc_unused "scan_call_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1199 nil  gc_unused "caller_issues"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1200 nil  gc_unused "pass_ipa_sra"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1201 
  (!type pointer 1202 nil  gc_used
   (!type already_seen 1201)
  )
  gc_pointed_to "typeinfo"
  (!srcfileloc  "dbxout.c" 173)
  (!fields 3 
   (!pair  "status"
    (!type already_seen 2)
    (!srcfileloc  "dbxout.c" 170)
    nil )
   (!pair  "file_number"
    (!type already_seen 2)
    (!srcfileloc  "dbxout.c" 171)
    nil )
   (!pair  "type_number"
    (!type already_seen 2)
    (!srcfileloc  "dbxout.c" 172)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1203 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 488)
 
 (!type already_seen 484)
 
 (!type already_seen 487)
 
 (!type already_seen 495)
 
 (!type already_seen 520)
 
 (!type already_seen 522)
 
 (!type already_seen 485)
 
 (!type already_seen 482)
 
 (!type already_seen 509)
 
 (!type already_seen 518)
 
 (!type already_seen 517)
 
 (!type already_seen 491)
 
 (!type already_seen 510)
 
 (!type already_seen 512)
 
 (!type already_seen 514)
 
 (!type already_seen 516)
 
 (!type already_seen 493)
 
 (!type struct 1204 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1205 nil  gc_unused "fixed_point_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1206 
  (!type pointer 1207 nil  gc_used
   (!type already_seen 1206)
  )
  gc_pointed_to "hash_map<char*,tree>"
  (!srcfileloc  "dwarf2asm.c" 865)
  (!fields 1 
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2asm.c" 865)
    nil )
  )
 )
 
 (!type struct 1208 
  (!type pointer 1209 nil  gc_used
   (!type already_seen 1208)
  )
  gc_pointed_to "dw_cfi_row"
  (!srcfileloc  "dwarf2cfi.c" 193)
  (!fields 5 
   (!pair  "cfa"
    (!type already_seen 522)
    (!srcfileloc  "dwarf2cfi.c" 66)
    nil )
   (!pair  "cfa_cfi"
    (!type already_seen 483)
    (!srcfileloc  "dwarf2cfi.c" 67)
    nil )
   (!pair  "reg_save"
    (!type already_seen 481)
    (!srcfileloc  "dwarf2cfi.c" 70)
    nil )
   (!pair  "window_save"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2cfi.c" 73)
    nil )
   (!pair  "ra_mangled"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2cfi.c" 76)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1210 
  (!type pointer 1211 nil  gc_used
   (!type already_seen 1210)
  )
  gc_pointed_to "reg_saved_in_data"
  (!srcfileloc  "dwarf2cfi.c" 195)
  (!fields 2 
   (!pair  "orig_reg"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2cfi.c" 81)
    nil )
   (!pair  "saved_in_reg"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2cfi.c" 82)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1212 nil  gc_unused "dw_trace_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1213 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1214 nil  gc_unused "queued_reg_save"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1215 nil  gc_unused "init_one_dwarf_reg_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1216 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1217 
  (!type pointer 1218 nil  gc_used
   (!type already_seen 1217)
  )
  gc_pointed_to "vec<dw_fde_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 213)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 213)
    nil )
   (!pair  "dw_fde_ref"
    (!type already_seen 479)
    (!srcfileloc  "dwarf2out.c" 213)
    nil )
  )
 )
 
 (!type struct 1219 nil  gc_used "indirect_string_hasher"
  (!srcfileloc  "dwarf2out.c" 231)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1220 
  (!type pointer 1221 nil  gc_used
   (!type already_seen 1220)
  )
  gc_pointed_to "hash_table<indirect_string_hasher>"
  (!srcfileloc  "dwarf2out.c" 231)
  (!fields 1 
   (!pair  "indirect_string_hasher"
    (!type already_seen 1219)
    (!srcfileloc  "dwarf2out.c" 231)
    nil )
  )
 )
 
 (!type already_seen 492)
 
 (!type already_seen 500)
 
 (!type struct 1222 nil  gc_used "dw_line_info_struct"
  (!srcfileloc  "dwarf2out.c" 2977)
  (!fields 2 
   (!pair  "opcode"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2975)
    nil )
   (!pair  "val"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2976)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1223 
  (!type pointer 1224 nil  gc_used
   (!type already_seen 1223)
  )
  gc_pointed_to "vec<dw_line_info_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3019)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
   (!pair  "dw_line_info_entry"
    (!type already_seen 1222)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
  )
 )
 
 (!type struct 1225 
  (!type pointer 1226 nil  gc_used
   (!type already_seen 1225)
  )
  gc_pointed_to "dw_line_info_table"
  (!srcfileloc  "dwarf2out.c" 3553)
  (!fields 10 
   (!pair  "end_label"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 2982)
    nil )
   (!pair  "file_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2986)
    nil )
   (!pair  "line_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2987)
    nil )
   (!pair  "column_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2988)
    nil )
   (!pair  "discrim_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2989)
    nil )
   (!pair  "is_stmt"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2990)
    nil )
   (!pair  "in_use"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 2991)
    nil )
   (!pair  "view"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3007)
    nil )
   (!pair  "symviews_since_reset"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3012)
    nil )
   (!pair  "entries"
    (!type already_seen 1224)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 504)
 
 (!type already_seen 498)
 
 (!type already_seen 503)
 
 (!type struct 1227 nil  gc_unused "set_early_dwarf"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1228 nil  gc_used "pubname_struct"
  (!srcfileloc  "dwarf2out.c" 3135)
  (!fields 2 
   (!pair  "die"
    (!type already_seen 496)
    (!srcfileloc  "dwarf2out.c" 3133)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3134)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1229 nil  gc_used "dw_ranges"
  (!srcfileloc  "dwarf2out.c" 3586)
  (!fields 4 
   (!pair  "label"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3140)
    nil )
   (!pair  "num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3143)
    nil )
   (!pair  "idx"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3145)
    nil )
   (!pair  "maybe_new_sec"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3148)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1230 nil  gc_used "macinfo_struct"
  (!srcfileloc  "dwarf2out.c" 3157)
  (!fields 3 
   (!pair  "code"
    (!type already_seen 8)
    (!srcfileloc  "dwarf2out.c" 3154)
    nil )
   (!pair  "lineno"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3155)
    nil )
   (!pair  "info"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3156)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1231 nil  gc_used "dw_ranges_by_label"
  (!srcfileloc  "dwarf2out.c" 3589)
  (!fields 2 
   (!pair  "begin"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3162)
    nil )
   (!pair  "end"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3163)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1232 
  (!type pointer 1233 nil  gc_used
   (!type already_seen 1232)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 3185)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 496)
    (!srcfileloc  "dwarf2out.c" 3180)
    nil )
   (!pair  "created_for"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3183)
    nil )
   (!pair  "next"
    (!type already_seen 1233)
    (!srcfileloc  "dwarf2out.c" 3184)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1234 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1235 nil  gc_used "dwarf_file_hasher"
  (!srcfileloc  "dwarf2out.c" 3400)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1236 
  (!type pointer 1237 nil  gc_used
   (!type already_seen 1236)
  )
  gc_pointed_to "hash_table<dwarf_file_hasher>"
  (!srcfileloc  "dwarf2out.c" 3400)
  (!fields 1 
   (!pair  "dwarf_file_hasher"
    (!type already_seen 1235)
    (!srcfileloc  "dwarf2out.c" 3400)
    nil )
  )
 )
 
 (!type struct 1238 nil  gc_used "decl_die_hasher"
  (!srcfileloc  "dwarf2out.c" 3411)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1239 
  (!type pointer 1240 nil  gc_used
   (!type already_seen 1239)
  )
  gc_pointed_to "hash_table<decl_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 3411)
  (!fields 1 
   (!pair  "decl_die_hasher"
    (!type already_seen 1238)
    (!srcfileloc  "dwarf2out.c" 3411)
    nil )
  )
 )
 
 (!type user_struct 1241 
  (!type pointer 1242 nil  gc_used
   (!type already_seen 1241)
  )
  gc_pointed_to "vec<dw_die_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3415)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
   (!pair  "dw_die_ref"
    (!type already_seen 496)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
  )
 )
 
 (!type struct 1243 nil  gc_pointed_to "variable_value_struct"
  (!srcfileloc  "dwarf2out.c" 3416)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3414)
    nil )
   (!pair  "dies"
    (!type already_seen 1242)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1244 nil  gc_used "variable_value_hasher"
  (!srcfileloc  "dwarf2out.c" 3428)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1245 
  (!type pointer 1246 nil  gc_used
   (!type already_seen 1245)
  )
  gc_pointed_to "hash_table<variable_value_hasher>"
  (!srcfileloc  "dwarf2out.c" 3428)
  (!fields 1 
   (!pair  "variable_value_hasher"
    (!type already_seen 1244)
    (!srcfileloc  "dwarf2out.c" 3428)
    nil )
  )
 )
 
 (!type struct 1247 nil  gc_used "block_die_hasher"
  (!srcfileloc  "dwarf2out.c" 3438)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1248 
  (!type pointer 1249 nil  gc_used
   (!type already_seen 1248)
  )
  gc_pointed_to "hash_table<block_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 3438)
  (!fields 1 
   (!pair  "block_die_hasher"
    (!type already_seen 1247)
    (!srcfileloc  "dwarf2out.c" 3438)
    nil )
  )
 )
 
 (!type struct 1250 nil  gc_used "die_arg_entry_struct"
  (!srcfileloc  "dwarf2out.c" 3443)
  (!fields 2 
   (!pair  "die"
    (!type already_seen 496)
    (!srcfileloc  "dwarf2out.c" 3441)
    nil )
   (!pair  "arg"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3442)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1251 
  (!type pointer 1252 nil  gc_used
   (!type already_seen 1251)
  )
  gc_pointed_to "var_loc_node"
  (!srcfileloc  "dwarf2out.c" 3460)
  (!fields 4 
   (!pair  "loc"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2out.c" 3456)
    nil )
   (!pair  "label"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3457)
    nil )
   (!pair  "next"
    (!type already_seen 1252)
    (!srcfileloc  "dwarf2out.c" 3458)
    nil )
   (!pair  "view"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3459)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  2047 nil nil )
 
 (!type struct 1253 nil  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 3481)
  (!fields 4 
   (!pair  "first"
    (!type already_seen 1252)
    (!srcfileloc  "dwarf2out.c" 3464)
    nil )
   (!pair  "last"
    (!type already_seen 1252)
    (!srcfileloc  "dwarf2out.c" 3472)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1252)
    (!srcfileloc  "dwarf2out.c" 3477)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "decl_id"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3480)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1254 
  (!type pointer 1255 nil  gc_used
   (!type already_seen 1254)
  )
  gc_pointed_to "call_arg_loc_node"
  (!srcfileloc  "dwarf2out.c" 3492)
  (!fields 6 
   (!pair  "call_arg_loc_note"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2out.c" 3486)
    nil )
   (!pair  "label"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3487)
    nil )
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3488)
    nil )
   (!pair  "tail_call_p"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3489)
    nil )
   (!pair  "symbol_ref"
    (!type already_seen 100)
    (!srcfileloc  "dwarf2out.c" 3490)
    nil )
   (!pair  "next"
    (!type already_seen 1255)
    (!srcfileloc  "dwarf2out.c" 3491)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  2047 nil nil )
 
 (!type struct 1256 nil  gc_used "decl_loc_hasher"
  (!srcfileloc  "dwarf2out.c" 3504)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1257 
  (!type pointer 1258 nil  gc_used
   (!type already_seen 1257)
  )
  gc_pointed_to "hash_table<decl_loc_hasher>"
  (!srcfileloc  "dwarf2out.c" 3504)
  (!fields 1 
   (!pair  "decl_loc_hasher"
    (!type already_seen 1256)
    (!srcfileloc  "dwarf2out.c" 3504)
    nil )
  )
 )
 
 (!type struct 1259 nil  gc_pointed_to "cached_dw_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 3522)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 3518)
    nil )
   (!pair  "loc_list"
    (!type already_seen 494)
    (!srcfileloc  "dwarf2out.c" 3521)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1260 nil  gc_used "dw_loc_list_hasher"
  (!srcfileloc  "dwarf2out.c" 3535)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1261 
  (!type pointer 1262 nil  gc_used
   (!type already_seen 1261)
  )
  gc_pointed_to "hash_table<dw_loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 3535)
  (!fields 1 
   (!pair  "dw_loc_list_hasher"
    (!type already_seen 1260)
    (!srcfileloc  "dwarf2out.c" 3535)
    nil )
  )
 )
 
 (!type user_struct 1263 
  (!type pointer 1264 nil  gc_used
   (!type already_seen 1263)
  )
  gc_pointed_to "vec<dw_line_info_table*,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3560)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3560)
    nil )
   (!pair  "dw_line_info_table"
    (!type already_seen 1226)
    (!srcfileloc  "dwarf2out.c" 3560)
    nil )
  )
 )
 
 (!type user_struct 1265 
  (!type pointer 1266 nil  gc_used
   (!type already_seen 1265)
  )
  gc_pointed_to "vec<pubname_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3568)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3568)
    nil )
   (!pair  "pubname_entry"
    (!type already_seen 1228)
    (!srcfileloc  "dwarf2out.c" 3568)
    nil )
  )
 )
 
 (!type user_struct 1267 
  (!type pointer 1268 nil  gc_used
   (!type already_seen 1267)
  )
  gc_pointed_to "vec<macinfo_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3576)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3576)
    nil )
   (!pair  "macinfo_entry"
    (!type already_seen 1230)
    (!srcfileloc  "dwarf2out.c" 3576)
    nil )
  )
 )
 
 (!type user_struct 1269 
  (!type pointer 1270 nil  gc_used
   (!type already_seen 1269)
  )
  gc_pointed_to "vec<dw_ranges,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3586)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3586)
    nil )
   (!pair  "dw_ranges"
    (!type already_seen 1229)
    (!srcfileloc  "dwarf2out.c" 3586)
    nil )
  )
 )
 
 (!type user_struct 1271 
  (!type pointer 1272 nil  gc_used
   (!type already_seen 1271)
  )
  gc_pointed_to "vec<dw_ranges_by_label,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3589)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3589)
    nil )
   (!pair  "dw_ranges_by_label"
    (!type already_seen 1231)
    (!srcfileloc  "dwarf2out.c" 3589)
    nil )
  )
 )
 
 (!type user_struct 1273 
  (!type pointer 1274 nil  gc_used
   (!type already_seen 1273)
  )
  gc_pointed_to "vec<die_arg_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 3606)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "dwarf2out.c" 3606)
    nil )
   (!pair  "die_arg_entry"
    (!type already_seen 1250)
    (!srcfileloc  "dwarf2out.c" 3606)
    nil )
  )
 )
 
 (!type struct 1275 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1276 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1277 nil  gc_unused "loc_descr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1278 nil  gc_unused "vlr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1279 nil  gc_used "addr_hasher"
  (!srcfileloc  "dwarf2out.c" 4954)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1280 
  (!type pointer 1281 nil  gc_used
   (!type already_seen 1280)
  )
  gc_pointed_to "hash_table<addr_hasher>"
  (!srcfileloc  "dwarf2out.c" 4954)
  (!fields 1 
   (!pair  "addr_hasher"
    (!type already_seen 1279)
    (!srcfileloc  "dwarf2out.c" 4954)
    nil )
  )
 )
 
 (!type struct 1282 nil  gc_used "sym_off_pair"
  (!srcfileloc  "dwarf2out.c" 5794)
  (!fields 2 
   (!pair  "sym"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 5791)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "off"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 5792)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1283 
  (!type pointer 1284 nil  gc_used
   (!type already_seen 1283)
  )
  gc_pointed_to "hash_map<tree,sym_off_pair>"
  (!srcfileloc  "dwarf2out.c" 5794)
  (!fields 2 
   (!pair  "sym_off_pair"
    (!type already_seen 1282)
    (!srcfileloc  "dwarf2out.c" 5794)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 5794)
    nil )
  )
 )
 
 (!type struct 1285 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1286 nil  gc_unused "decl_table_entry_hasher"
  (!srcfileloc  "dwarf2out.c" 8181)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1287 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 8181)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type already_seen 1286)
    (!srcfileloc  "dwarf2out.c" 8181)
    nil )
  )
 )
 
 (!type struct 1288 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1289 nil  gc_unused "external_ref_hasher"
  (!srcfileloc  "dwarf2out.c" 8939)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1290 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 8939)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type already_seen 1289)
    (!srcfileloc  "dwarf2out.c" 8939)
    nil )
  )
 )
 
 (!type struct 1291 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1292 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1293 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1294 nil  gc_unused "dwarf_qual_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1295 nil  gc_unused "dwarf_procedure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1296 nil  gc_pointed_to "inline_entry_data"
  (!srcfileloc  "dwarf2out.c" 23536)
  (!fields 4 
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 23528)
    nil )
   (!pair  "label_pfx"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 23531)
    nil )
   (!pair  "label_num"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 23532)
    nil )
   (!pair  "view"
    (!type already_seen 2)
    (!srcfileloc  "dwarf2out.c" 23535)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1297 nil  gc_used "inline_entry_data_hasher"
  (!srcfileloc  "dwarf2out.c" 23562)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1298 
  (!type pointer 1299 nil  gc_used
   (!type already_seen 1298)
  )
  gc_pointed_to "hash_table<inline_entry_data_hasher>"
  (!srcfileloc  "dwarf2out.c" 23562)
  (!fields 1 
   (!pair  "inline_entry_data_hasher"
    (!type already_seen 1297)
    (!srcfileloc  "dwarf2out.c" 23562)
    nil )
  )
 )
 
 (!type struct 1300 nil  gc_unused "macinfo_entry_hasher"
  (!srcfileloc  "dwarf2out.c" 28164)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1301 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 28164)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type already_seen 1300)
    (!srcfileloc  "dwarf2out.c" 28164)
    nil )
  )
 )
 
 (!type struct 1302 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1303 nil  gc_unused "loc_list_hasher"
  (!srcfileloc  "dwarf2out.c" 31114)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1304 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 31114)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type already_seen 1303)
    (!srcfileloc  "dwarf2out.c" 31114)
    nil )
  )
 )
 
 (!type struct 1305 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1306 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1307 
  (!type pointer 1308 nil  gc_used
   (!type already_seen 1307)
  )
  gc_pointed_to "temp_slot"
  (!srcfileloc  "function.c" 587)
  (!fields 10 
   (!pair  "next"
    (!type already_seen 1308)
    (!srcfileloc  "function.c" 563)
    nil )
   (!pair  "prev"
    (!type already_seen 1308)
    (!srcfileloc  "function.c" 565)
    nil )
   (!pair  "slot"
    (!type already_seen 100)
    (!srcfileloc  "function.c" 567)
    nil )
   (!pair  "size"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 569)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "function.c" 574)
    nil )
   (!pair  "align"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 576)
    nil )
   (!pair  "in_use"
    (!type already_seen 8)
    (!srcfileloc  "function.c" 578)
    nil )
   (!pair  "level"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 580)
    nil )
   (!pair  "base_offset"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 583)
    nil )
   (!pair  "full_size"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 586)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1309 nil  gc_used "incoming_args"
  (!srcfileloc  "emit-rtl.h" 54)
  (!fields 6 
   (!pair  "pops_args"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 32)
    nil )
   (!pair  "size"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 37)
    nil )
   (!pair  "pretend_args_size"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 42)
    nil )
   (!pair  "arg_offset_rtx"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 46)
    nil )
   (!pair  "info"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 50)
    nil )
   (!pair  "internal_arg_pointer"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 53)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1310 
  (!type pointer 1311 nil  gc_used
   (!type already_seen 1310)
  )
  gc_pointed_to "initial_value_struct"
  (!srcfileloc  "function.c" 1262)
  (!fields 3 
   (!pair  "num_entries"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 1259)
    nil )
   (!pair  "max_entries"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 1260)
    nil )
   (!pair  "entries"
    (!type pointer 1312 nil  gc_unused
     (!type struct 1313 
      (!type already_seen 1312)
      gc_used "initial_value_pair"
      (!srcfileloc  "function.c" 1261)
      (!fields 2 
       (!pair  "hard_reg"
        (!type already_seen 100)
        (!srcfileloc  "function.c" 1252)
        nil )
       (!pair  "pseudo"
        (!type already_seen 100)
        (!srcfileloc  "function.c" 1253)
        nil )
      )
      nil 2047 nil nil )
    )
    (!srcfileloc  "function.c" 1261)
    (!options 
     (!option length string  "%h.num_entries")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1314 
  (!type pointer 1315 nil  gc_used
   (!type already_seen 1314)
  )
  gc_pointed_to "vec<temp_slot_p,va_gc>"
  (!srcfileloc  "emit-rtl.h" 145)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
   (!pair  "temp_slot_p"
    (!type already_seen 1308)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
  )
 )
 
 (!type struct 1316 nil  gc_used "rtl_data"
  (!srcfileloc  "emit-rtl.h" 306)
  (!fields 61 
   (!pair  "expr"
    (!type already_seen 1002)
    (!srcfileloc  "emit-rtl.h" 61)
    nil )
   (!pair  "emit"
    (!type already_seen 999)
    (!srcfileloc  "emit-rtl.h" 62)
    nil )
   (!pair  "varasm"
    (!type already_seen 1014)
    (!srcfileloc  "emit-rtl.h" 63)
    nil )
   (!pair  "args"
    (!type already_seen 1309)
    (!srcfileloc  "emit-rtl.h" 64)
    nil )
   (!pair  "subsections"
    (!type already_seen 1015)
    (!srcfileloc  "emit-rtl.h" 65)
    nil )
   (!pair  "eh"
    (!type already_seen 1007)
    (!srcfileloc  "emit-rtl.h" 66)
    nil )
   (!pair  "abi"
    (!type already_seen 915)
    (!srcfileloc  "emit-rtl.h" 74)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "outgoing_args_size"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 80)
    nil )
   (!pair  "return_rtx"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 86)
    nil )
   (!pair  "hard_reg_initial_vals"
    (!type already_seen 1311)
    (!srcfileloc  "emit-rtl.h" 93)
    nil )
   (!pair  "stack_protect_guard"
    (!type already_seen 23)
    (!srcfileloc  "emit-rtl.h" 97)
    nil )
   (!pair  "stack_protect_guard_decl"
    (!type already_seen 23)
    (!srcfileloc  "emit-rtl.h" 101)
    nil )
   (!pair  "x_nonlocal_goto_handler_labels"
    (!type already_seen 747)
    (!srcfileloc  "emit-rtl.h" 105)
    nil )
   (!pair  "x_return_label"
    (!type already_seen 370)
    (!srcfileloc  "emit-rtl.h" 110)
    nil )
   (!pair  "x_naked_return_label"
    (!type already_seen 370)
    (!srcfileloc  "emit-rtl.h" 115)
    nil )
   (!pair  "x_stack_slot_list"
    (!type already_seen 219)
    (!srcfileloc  "emit-rtl.h" 119)
    nil )
   (!pair  "frame_space_list"
    (!type already_seen 1017)
    (!srcfileloc  "emit-rtl.h" 122)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type already_seen 756)
    (!srcfileloc  "emit-rtl.h" 125)
    nil )
   (!pair  "x_arg_pointer_save_area"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 131)
    nil )
   (!pair  "drap_reg"
    (!type already_seen 100)
    (!srcfileloc  "emit-rtl.h" 134)
    nil )
   (!pair  "x_frame_offset"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 139)
    nil )
   (!pair  "x_parm_birth_insn"
    (!type already_seen 295)
    (!srcfileloc  "emit-rtl.h" 142)
    nil )
   (!pair  "x_used_temp_slots"
    (!type already_seen 1315)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1308)
    (!srcfileloc  "emit-rtl.h" 148)
    nil )
   (!pair  "x_temp_slot_level"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 151)
    nil )
   (!pair  "stack_alignment_needed"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 155)
    nil )
   (!pair  "preferred_stack_boundary"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 159)
    nil )
   (!pair  "parm_stack_boundary"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 162)
    nil )
   (!pair  "max_used_stack_slot_alignment"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 165)
    nil )
   (!pair  "stack_alignment_estimated"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 174)
    nil )
   (!pair  "accesses_prior_frames"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 180)
    nil )
   (!pair  "calls_eh_return"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 183)
    nil )
   (!pair  "saves_all_registers"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 187)
    nil )
   (!pair  "has_nonlocal_goto"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 191)
    nil )
   (!pair  "has_asm_statement"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 194)
    nil )
   (!pair  "all_throwers_are_sibcalls"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 201)
    nil )
   (!pair  "limit_stack"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 205)
    nil )
   (!pair  "profile"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 208)
    nil )
   (!pair  "uses_const_pool"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 211)
    nil )
   (!pair  "uses_pic_offset_table"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 214)
    nil )
   (!pair  "uses_eh_lsda"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 217)
    nil )
   (!pair  "tail_call_emit"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 220)
    nil )
   (!pair  "arg_pointer_save_area_init"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 223)
    nil )
   (!pair  "frame_pointer_needed"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 228)
    nil )
   (!pair  "maybe_hot_insn_p"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 231)
    nil )
   (!pair  "stack_realign_needed"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 238)
    nil )
   (!pair  "stack_realign_tried"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 243)
    nil )
   (!pair  "need_drap"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 247)
    nil )
   (!pair  "stack_realign_processed"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 252)
    nil )
   (!pair  "stack_realign_finalized"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 256)
    nil )
   (!pair  "dbr_scheduled_p"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 259)
    nil )
   (!pair  "nothrow"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 264)
    nil )
   (!pair  "shrink_wrapped"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 267)
    nil )
   (!pair  "shrink_wrapped_separate"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 271)
    nil )
   (!pair  "sp_is_unchanging"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 276)
    nil )
   (!pair  "is_leaf"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 282)
    nil )
   (!pair  "uses_only_leaf_regs"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 287)
    nil )
   (!pair  "has_bb_partition"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 292)
    nil )
   (!pair  "bb_reorder_complete"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 296)
    nil )
   (!pair  "asm_clobbers"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 302)
    nil )
   (!pair  "max_insn_address"
    (!type already_seen 2)
    (!srcfileloc  "emit-rtl.h" 305)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1317 nil  gc_used "const_int_hasher"
  (!srcfileloc  "emit-rtl.c" 144)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1318 
  (!type pointer 1319 nil  gc_used
   (!type already_seen 1318)
  )
  gc_pointed_to "hash_table<const_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 144)
  (!fields 1 
   (!pair  "const_int_hasher"
    (!type already_seen 1317)
    (!srcfileloc  "emit-rtl.c" 144)
    nil )
  )
 )
 
 (!type struct 1320 nil  gc_used "const_wide_int_hasher"
  (!srcfileloc  "emit-rtl.c" 152)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1321 
  (!type pointer 1322 nil  gc_used
   (!type already_seen 1321)
  )
  gc_pointed_to "hash_table<const_wide_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 152)
  (!fields 1 
   (!pair  "const_wide_int_hasher"
    (!type already_seen 1320)
    (!srcfileloc  "emit-rtl.c" 152)
    nil )
  )
 )
 
 (!type struct 1323 nil  gc_used "const_poly_int_hasher"
  (!srcfileloc  "emit-rtl.c" 162)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1324 
  (!type pointer 1325 nil  gc_used
   (!type already_seen 1324)
  )
  gc_pointed_to "hash_table<const_poly_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 162)
  (!fields 1 
   (!pair  "const_poly_int_hasher"
    (!type already_seen 1323)
    (!srcfileloc  "emit-rtl.c" 162)
    nil )
  )
 )
 
 (!type struct 1326 nil  gc_used "reg_attr_hasher"
  (!srcfileloc  "emit-rtl.c" 171)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1327 
  (!type pointer 1328 nil  gc_used
   (!type already_seen 1327)
  )
  gc_pointed_to "hash_table<reg_attr_hasher>"
  (!srcfileloc  "emit-rtl.c" 171)
  (!fields 1 
   (!pair  "reg_attr_hasher"
    (!type already_seen 1326)
    (!srcfileloc  "emit-rtl.c" 171)
    nil )
  )
 )
 
 (!type struct 1329 nil  gc_used "const_double_hasher"
  (!srcfileloc  "emit-rtl.c" 180)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1330 
  (!type pointer 1331 nil  gc_used
   (!type already_seen 1330)
  )
  gc_pointed_to "hash_table<const_double_hasher>"
  (!srcfileloc  "emit-rtl.c" 180)
  (!fields 1 
   (!pair  "const_double_hasher"
    (!type already_seen 1329)
    (!srcfileloc  "emit-rtl.c" 180)
    nil )
  )
 )
 
 (!type struct 1332 nil  gc_used "const_fixed_hasher"
  (!srcfileloc  "emit-rtl.c" 189)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1333 
  (!type pointer 1334 nil  gc_used
   (!type already_seen 1333)
  )
  gc_pointed_to "hash_table<const_fixed_hasher>"
  (!srcfileloc  "emit-rtl.c" 189)
  (!fields 1 
   (!pair  "const_fixed_hasher"
    (!type already_seen 1332)
    (!srcfileloc  "emit-rtl.c" 189)
    nil )
  )
 )
 
 (!type already_seen 361)
 
 (!type already_seen 369)
 
 (!type already_seen 365)
 
 (!type already_seen 363)
 
 (!type already_seen 366)
 
 (!type already_seen 367)
 
 (!type already_seen 362)
 
 (!type already_seen 373)
 
 (!type already_seen 375)
 
 (!type already_seen 377)
 
 (!type already_seen 379)
 
 (!type struct 1335 nil  gc_unused "throw_stmt_node"
  (!srcfileloc  "except.h" 289)
  (!fields 2 
   (!pair  "stmt"
    (!type already_seen 280)
    (!srcfileloc  "except.h" 287)
    nil )
   (!pair  "lp_nr"
    (!type already_seen 2)
    (!srcfileloc  "except.h" 288)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1336 nil  gc_unused "pieces_addr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1337 nil  gc_unused "op_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1338 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1339 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1340 nil  gc_unused "compare_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1341 
  (!type pointer 1342 nil  gc_unused
   (!type already_seen 1341)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1343 nil  gc_used "insn_cache_hasher"
  (!srcfileloc  "function.c" 127)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1344 
  (!type pointer 1345 nil  gc_used
   (!type already_seen 1344)
  )
  gc_pointed_to "hash_table<insn_cache_hasher>"
  (!srcfileloc  "function.c" 127)
  (!fields 1 
   (!pair  "insn_cache_hasher"
    (!type already_seen 1343)
    (!srcfileloc  "function.c" 127)
    nil )
  )
 )
 
 (!type struct 1346 nil  gc_pointed_to "temp_slot_address_entry"
  (!srcfileloc  "function.c" 594)
  (!fields 3 
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "function.c" 591)
    nil )
   (!pair  "address"
    (!type already_seen 100)
    (!srcfileloc  "function.c" 592)
    nil )
   (!pair  "temp_slot"
    (!type already_seen 1308)
    (!srcfileloc  "function.c" 593)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1347 nil  gc_used "temp_address_hasher"
  (!srcfileloc  "function.c" 604)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1348 
  (!type pointer 1349 nil  gc_used
   (!type already_seen 1348)
  )
  gc_pointed_to "hash_table<temp_address_hasher>"
  (!srcfileloc  "function.c" 604)
  (!fields 1 
   (!pair  "temp_address_hasher"
    (!type already_seen 1347)
    (!srcfileloc  "function.c" 604)
    nil )
  )
 )
 
 (!type already_seen 1313)
 
 (!type struct 1350 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1351 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1352 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1353 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1356 
  (!type pointer 1357 nil  gc_used
   (!type already_seen 1356)
  )
  gc_pointed_to "hash_map<tree_hash,tree>"
  (!srcfileloc  "except.c" 150)
  (!fields 2 
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "except.c" 150)
    nil )
   (!pair  "tree_hash"
    (!type already_seen 942)
    (!srcfileloc  "except.c" 150)
    nil )
  )
 )
 
 (!type struct 1358 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1359 nil  gc_unused "action_record_hasher"
  (!srcfileloc  "except.c" 209)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1360 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 209)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type already_seen 1359)
    (!srcfileloc  "except.c" 209)
    nil )
  )
 )
 
 (!type struct 1361 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1362 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1363 nil  gc_unused "ttypes_filter_hasher"
  (!srcfileloc  "except.c" 728)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1364 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 728)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type already_seen 1363)
    (!srcfileloc  "except.c" 728)
    nil )
  )
 )
 
 (!type struct 1365 nil  gc_unused "ehspec_hasher"
  (!srcfileloc  "except.c" 763)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1366 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 763)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type already_seen 1365)
    (!srcfileloc  "except.c" 763)
    nil )
  )
 )
 
 (!type struct 1367 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1368 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 924)
 
 (!type struct 1369 
  (!type pointer 1370 nil  gc_used
   (!type already_seen 1369)
  )
  gc_pointed_to "test_of_length"
  (!srcfileloc  "ggc-tests.c" 79)
  (!fields 2 
   (!pair  "num_elem"
    (!type already_seen 2)
    (!srcfileloc  "ggc-tests.c" 75)
    nil )
   (!pair  "elem"
    (!type array 1371 nil  gc_used "1" 
     (!type already_seen 1370)
    )
    (!srcfileloc  "ggc-tests.c" 76)
    (!options 
     (!option length string  "%h.num_elem")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 926)
 
 (!type struct 1372 
  (!type pointer 1373 nil  gc_used
   (!type already_seen 1372)
  )
  gc_pointed_to "test_of_union"
  (!srcfileloc  "ggc-tests.c" 145)
  (!fields 2 
   (!pair  "m_kind"
    (!type already_seen 2)
    (!srcfileloc  "ggc-tests.c" 136)
    nil )
   (!pair  "m_u"
    (!type already_seen 922)
    (!srcfileloc  "ggc-tests.c" 140)
    (!options 
     (!option desc string  "calc_desc (%0.m_kind)")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 1374 nil  gc_unused "test_struct_with_dtor"
  (!srcfileloc  "ggc-tests.c" 187)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1375 
  (!type pointer 1376 nil  gc_used
   (!type already_seen 1375)
  )
  gc_pointed_to "example_base"
  (!srcfileloc  "ggc-tests.c" 256)
  (!fields 2 
   (!pair  "m_kind"
    (!type already_seen 2)
    (!srcfileloc  "ggc-tests.c" 254)
    nil )
   (!pair  "m_a"
    (!type already_seen 923)
    (!srcfileloc  "ggc-tests.c" 255)
    nil )
  )
  (!options 
   (!option tag string  "0")
   (!option desc string  "%h.m_kind")
  )
  2047 nil nil )
 
 (!type struct 1377 
  (!type pointer 1378 nil  gc_used
   (!type already_seen 1377)
  )
  gc_pointed_to "some_subclass"
  (!srcfileloc  "ggc-tests.c" 267)
  (!fields 1 
   (!pair  "m_b"
    (!type already_seen 923)
    (!srcfileloc  "ggc-tests.c" 266)
    nil )
  )
  (!options 
   (!option tag string  "1")
  )
  2047 nil 
  (!type already_seen 1375)
 )
 
 (!type struct 1379 
  (!type pointer 1380 nil  gc_used
   (!type already_seen 1379)
  )
  gc_pointed_to "some_other_subclass"
  (!srcfileloc  "ggc-tests.c" 278)
  (!fields 1 
   (!pair  "m_c"
    (!type already_seen 923)
    (!srcfileloc  "ggc-tests.c" 277)
    nil )
  )
  (!options 
   (!option tag string  "2")
  )
  2047 nil 
  (!type already_seen 1375)
 )
 
 (!type struct 1381 
  (!type pointer 1382 nil  gc_used
   (!type already_seen 1381)
  )
  gc_pointed_to "test_node"
  (!srcfileloc  "ggc-tests.c" 337)
  (!fields 3 
   (!pair  "m_prev"
    (!type already_seen 1382)
    (!srcfileloc  "ggc-tests.c" 334)
    nil )
   (!pair  "m_next"
    (!type already_seen 1382)
    (!srcfileloc  "ggc-tests.c" 335)
    nil )
   (!pair  "m_idx"
    (!type already_seen 2)
    (!srcfileloc  "ggc-tests.c" 336)
    nil )
  )
  (!options 
   (!option chain_prev string  "%h.m_prev")
   (!option chain_next string  "%h.m_next")
  )
  2047 nil nil )
 
 (!type user_struct 1383 
  (!type pointer 1384 nil  gc_used
   (!type already_seen 1383)
  )
  gc_pointed_to "user_struct"
  (!srcfileloc  "ggc-tests.c" 399)
  (!fields 0 )
 )
 
 (!type already_seen 628)
 
 (!type struct 1385 nil  gc_unused "gcse_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1386 
  (!type pointer 1387 nil  gc_unused
   (!type already_seen 1386)
  )
  gc_unused "gcse_occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1388 nil  gc_unused "gcse_hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1389 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1390 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1391 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1392 nil  gc_unused "vec<rtx_insn*>"
  (!srcfileloc  "gcse.c" 620)
  (!fields 1 
   (!pair  "rtx_insn"
    (!type already_seen 295)
    (!srcfileloc  "gcse.c" 620)
    nil )
  )
 )
 
 (!type user_struct 1393 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 621)
  (!fields 1 
   (!pair  "modify_pair"
    (!type undefined 1394 nil  gc_unused "modify_pair"
     (!srcfileloc  "gcse.c" 621)
    )
    (!srcfileloc  "gcse.c" 621)
    nil )
  )
 )
 
 (!type already_seen 1394)
 
 (!type struct 1395 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1396 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1397 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1398 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1399 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1400 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1401 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1402 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1403 nil  gc_used "libfunc_decl_hasher"
  (!srcfileloc  "optabs-libfuncs.c" 720)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1404 
  (!type pointer 1405 nil  gc_used
   (!type already_seen 1404)
  )
  gc_pointed_to "hash_table<libfunc_decl_hasher>"
  (!srcfileloc  "optabs-libfuncs.c" 720)
  (!fields 1 
   (!pair  "libfunc_decl_hasher"
    (!type already_seen 1403)
    (!srcfileloc  "optabs-libfuncs.c" 720)
    nil )
  )
 )
 
 (!type struct 1406 nil  gc_unused "bb_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1407 nil  gc_unused "edge_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1408 nil  gc_unused "location_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1409 nil  gc_unused "location_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1410 
  (!type pointer 1411 nil  gc_unused
   (!type already_seen 1410)
  )
  gc_unused "fixup_edge_type"
  (!srcfileloc  "mcf.c" 94)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1412 
  (!type pointer 1413 nil  gc_unused
   (!type already_seen 1412)
  )
  gc_unused "fixup_vertex_type"
  (!srcfileloc  "mcf.c" 103)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1414 nil  gc_unused "fixup_graph_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1415 nil  gc_unused "queue_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1416 nil  gc_unused "augmenting_path_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1417 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/mcf.c:343"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1418 
  (!type pointer 1419 nil  gc_unused
   (!type already_seen 1418)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1420 
  (!type pointer 1421 nil  gc_unused
   (!type already_seen 1420)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1422 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1423 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1424 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1425 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1426 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1427 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1428 
  (!type pointer 1429 nil  gc_used
   (!type already_seen 1428)
  )
  gc_pointed_to "string_pool_data"
  (!srcfileloc  "stringpool.c" 238)
  (!fields 3 
   (!pair  "entries"
    (!type already_seen 17)
    (!srcfileloc  "stringpool.c" 235)
    (!options 
     (!option nested_ptr nested 
      (!type already_seen 22)
      "%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 2)
    (!srcfileloc  "stringpool.c" 236)
    nil )
   (!pair  "nelements"
    (!type already_seen 2)
    (!srcfileloc  "stringpool.c" 237)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1430 nil  gc_pointed_to "type_hash"
  (!srcfileloc  "tree.c" 171)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "tree.c" 169)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "tree.c" 170)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1431 nil  gc_used "type_cache_hasher"
  (!srcfileloc  "tree.c" 195)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1432 
  (!type pointer 1433 nil  gc_used
   (!type already_seen 1432)
  )
  gc_pointed_to "hash_table<type_cache_hasher>"
  (!srcfileloc  "tree.c" 195)
  (!fields 1 
   (!pair  "type_cache_hasher"
    (!type already_seen 1431)
    (!srcfileloc  "tree.c" 195)
    nil )
  )
 )
 
 (!type struct 1434 nil  gc_used "int_cst_hasher"
  (!srcfileloc  "tree.c" 206)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1435 
  (!type pointer 1436 nil  gc_used
   (!type already_seen 1435)
  )
  gc_pointed_to "hash_table<int_cst_hasher>"
  (!srcfileloc  "tree.c" 206)
  (!fields 1 
   (!pair  "int_cst_hasher"
    (!type already_seen 1434)
    (!srcfileloc  "tree.c" 206)
    nil )
  )
 )
 
 (!type struct 1437 nil  gc_used "poly_int_cst_hasher"
  (!srcfileloc  "tree.c" 217)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1438 
  (!type pointer 1439 nil  gc_used
   (!type already_seen 1438)
  )
  gc_pointed_to "hash_table<poly_int_cst_hasher>"
  (!srcfileloc  "tree.c" 217)
  (!fields 1 
   (!pair  "poly_int_cst_hasher"
    (!type already_seen 1437)
    (!srcfileloc  "tree.c" 217)
    nil )
  )
 )
 
 (!type struct 1440 nil  gc_used "cl_option_hasher"
  (!srcfileloc  "tree.c" 233)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1441 
  (!type pointer 1442 nil  gc_used
   (!type already_seen 1441)
  )
  gc_pointed_to "hash_table<cl_option_hasher>"
  (!srcfileloc  "tree.c" 233)
  (!fields 1 
   (!pair  "cl_option_hasher"
    (!type already_seen 1440)
    (!srcfileloc  "tree.c" 233)
    nil )
  )
 )
 
 (!type user_struct 1443 
  (!type pointer 1444 nil  gc_used
   (!type already_seen 1443)
  )
  gc_pointed_to "hash_table<tree_decl_map_cache_hasher>"
  (!srcfileloc  "tree.c" 239)
  (!fields 1 
   (!pair  "tree_decl_map_cache_hasher"
    (!type already_seen 938)
    (!srcfileloc  "tree.c" 239)
    nil )
  )
 )
 
 (!type struct 1445 nil  gc_used "tree_vec_map_cache_hasher"
  (!srcfileloc  "tree.c" 262)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1446 
  (!type pointer 1447 nil  gc_used
   (!type already_seen 1446)
  )
  gc_pointed_to "hash_table<tree_vec_map_cache_hasher>"
  (!srcfileloc  "tree.c" 262)
  (!fields 1 
   (!pair  "tree_vec_map_cache_hasher"
    (!type already_seen 1445)
    (!srcfileloc  "tree.c" 262)
    nil )
  )
 )
 
 (!type struct 1448 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1449 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1450 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1451 nil  gc_used "section_hasher"
  (!srcfileloc  "varasm.c" 189)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1452 
  (!type pointer 1453 nil  gc_used
   (!type already_seen 1452)
  )
  gc_pointed_to "hash_table<section_hasher>"
  (!srcfileloc  "varasm.c" 189)
  (!fields 1 
   (!pair  "section_hasher"
    (!type already_seen 1451)
    (!srcfileloc  "varasm.c" 189)
    nil )
  )
 )
 
 (!type struct 1454 nil  gc_used "object_block_hasher"
  (!srcfileloc  "varasm.c" 200)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1455 
  (!type pointer 1456 nil  gc_used
   (!type already_seen 1455)
  )
  gc_pointed_to "hash_table<object_block_hasher>"
  (!srcfileloc  "varasm.c" 200)
  (!fields 1 
   (!pair  "object_block_hasher"
    (!type already_seen 1454)
    (!srcfileloc  "varasm.c" 200)
    nil )
  )
 )
 
 (!type struct 1457 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1458 
  (!type pointer 1459 nil  gc_used
   (!type already_seen 1458)
  )
  gc_pointed_to "hash_table<tree_descriptor_hasher>"
  (!srcfileloc  "varasm.c" 3006)
  (!fields 1 
   (!pair  "tree_descriptor_hasher"
    (!type already_seen 1079)
    (!srcfileloc  "varasm.c" 3006)
    nil )
  )
 )
 
 (!type already_seen 1013)
 
 (!type already_seen 1012)
 
 (!type struct 1460 nil  gc_unused "oc_outer_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1461 nil  gc_unused "oc_local_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1462 nil  gc_used "tm_clone_hasher"
  (!srcfileloc  "varasm.c" 6091)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1463 
  (!type pointer 1464 nil  gc_used
   (!type already_seen 1463)
  )
  gc_pointed_to "hash_table<tm_clone_hasher>"
  (!srcfileloc  "varasm.c" 6091)
  (!fields 1 
   (!pair  "tm_clone_hasher"
    (!type already_seen 1462)
    (!srcfileloc  "varasm.c" 6091)
    nil )
  )
 )
 
 (!type struct 1465 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 408)
 
 (!type already_seen 764)
 
 (!type already_seen 762)
 
 (!type already_seen 772)
 
 (!type already_seen 770)
 
 (!type already_seen 390)
 
 (!type already_seen 777)
 
 (!type already_seen 798)
 
 (!type already_seen 787)
 
 (!type struct 1466 nil  gc_pointed_to "gimple_statement_wce"
  (!srcfileloc  "gimple.h" 558)
  (!fields 1 
   (!pair  "cleanup"
    (!type already_seen 280)
    (!srcfileloc  "gimple.h" 557)
    nil )
  )
  (!options 
   (!option tag string  "GSS_WCE")
  )
  2047 nil 
  (!type already_seen 281)
 )
 
 (!type already_seen 803)
 
 (!type already_seen 806)
 
 (!type already_seen 805)
 
 (!type already_seen 800)
 
 (!type struct 1467 nil  gc_pointed_to "gomp_scan"
  (!srcfileloc  "gimple.h" 781)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  2047 nil 
  (!type already_seen 800)
 )
 
 (!type already_seen 795)
 
 (!type struct 1468 nil  gc_pointed_to "gimple_statement_omp_return"
  (!srcfileloc  "gimple.h" 823)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  2047 nil 
  (!type already_seen 795)
 )
 
 (!type struct 1469 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1470 nil  gc_pointed_to "tm_restart_node"
  (!srcfileloc  "gimple-ssa.h" 32)
  (!fields 2 
   (!pair  "stmt"
    (!type already_seen 280)
    (!srcfileloc  "gimple-ssa.h" 30)
    nil )
   (!pair  "label_or_list"
    (!type already_seen 23)
    (!srcfileloc  "gimple-ssa.h" 31)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type already_seen 411)
 
 (!type already_seen 402)
 
 (!type already_seen 399)
 
 (!type already_seen 401)
 
 (!type already_seen 403)
 
 (!type already_seen 410)
 
 (!type struct 1471 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1472 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-eh.c:53"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1473 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1475 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1476 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1477 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1478 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1479 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1480 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1481 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1482 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1483 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1484 nil  gc_used "mem_addr_template"
  (!srcfileloc  "tree-ssa-address.c" 94)
  (!fields 3 
   (!pair  "ref"
    (!type already_seen 100)
    (!srcfileloc  "tree-ssa-address.c" 82)
    nil )
   (!pair  "step_p"
    (!type already_seen 101)
    (!srcfileloc  "tree-ssa-address.c" 83)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "off_p"
    (!type already_seen 101)
    (!srcfileloc  "tree-ssa-address.c" 85)
    (!options 
     (!option skip string  "")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1485 
  (!type pointer 1486 nil  gc_used
   (!type already_seen 1485)
  )
  gc_pointed_to "vec<mem_addr_template,va_gc>"
  (!srcfileloc  "tree-ssa-address.c" 94)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "tree-ssa-address.c" 94)
    nil )
   (!pair  "mem_addr_template"
    (!type already_seen 1484)
    (!srcfileloc  "tree-ssa-address.c" 94)
    nil )
  )
 )
 
 (!type struct 1487 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1489 nil  gc_unused "replace_decls_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1490 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1491 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1492 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1493 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1494 nil  gc_unused "label_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1495 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1496 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1497 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1498 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1499 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1500 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1501 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1502 nil  gc_unused "iv_use"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1503 nil  gc_unused "iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1504 nil  gc_unused "version_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1505 nil  gc_unused "comp_cost"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1506 nil  gc_unused "iv_inv_expr_ent"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1507 nil  gc_unused "cost_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1508 nil  gc_unused "iv_group"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1509 nil  gc_unused "iv_cand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1510 nil  gc_unused "iv_common_cand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1511 nil  gc_unused "iv_common_cand_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1512 nil  gc_unused "iv_inv_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1513 nil  gc_unused "ivopts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1514 nil  gc_unused "iv_ca"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1515 nil  gc_unused "iv_ca_delta"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1516 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1517 nil  gc_unused "ifs_ivopts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1518 nil  gc_unused "walk_tree_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1519 nil  gc_unused "aff_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1520 nil  gc_unused "ainc_cost_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1521 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1522 nil  gc_unused "numbered_tree"
  (!srcfileloc  "tree-dfa.c" 950)
  (!fields 2 
   (!pair  "t"
    (!type already_seen 23)
    (!srcfileloc  "tree-dfa.c" 948)
    nil )
   (!pair  "num"
    (!type already_seen 2)
    (!srcfileloc  "tree-dfa.c" 949)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1523 nil  gc_pointed_to "scev_info_str"
  (!srcfileloc  "tree-scalar-evolution.c" 300)
  (!fields 3 
   (!pair  "name_version"
    (!type already_seen 2)
    (!srcfileloc  "tree-scalar-evolution.c" 297)
    nil )
   (!pair  "instantiated_below"
    (!type already_seen 2)
    (!srcfileloc  "tree-scalar-evolution.c" 298)
    nil )
   (!pair  "chrec"
    (!type already_seen 23)
    (!srcfileloc  "tree-scalar-evolution.c" 299)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1524 nil  gc_used "scev_info_hasher"
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1525 
  (!type pointer 1526 nil  gc_used
   (!type already_seen 1525)
  )
  gc_pointed_to "hash_table<scev_info_hasher>"
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  (!fields 1 
   (!pair  "scev_info_hasher"
    (!type already_seen 1524)
    (!srcfileloc  "tree-scalar-evolution.c" 312)
    nil )
  )
 )
 
 (!type struct 1527 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1528 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 405)
 
 (!type struct 1529 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1530 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1531 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1532 nil  gc_unused "oacc_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1533 nil  gc_unused "pass_oacc_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1534 nil  gc_unused "pass_omp_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1535 nil  gc_unused "pass_omp_target_link"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1536 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1537 nil  gc_unused "oacc_collapse"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1538 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1539 
  (!type pointer 1540 nil  gc_used
   (!type already_seen 1539)
  )
  gc_pointed_to "grid_launch_attributes_trees"
  (!srcfileloc  "omp-expand.c" 7671)
  (!fields 5 
   (!pair  "kernel_dim_array_type"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7666)
    nil )
   (!pair  "kernel_lattrs_dimnum_decl"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7667)
    nil )
   (!pair  "kernel_lattrs_grid_decl"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7668)
    nil )
   (!pair  "kernel_lattrs_group_decl"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7669)
    nil )
   (!pair  "kernel_launch_attributes_type"
    (!type already_seen 23)
    (!srcfileloc  "omp-expand.c" 7670)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1541 nil  gc_unused "grid_arg_decl_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1542 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1543 nil  gc_unused "pass_expand_omp_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1544 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1545 nil  gc_unused "omplow_simd_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1546 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1547 nil  gc_unused "lower_omp_regimplify_operands_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1548 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1549 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1550 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1551 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1552 nil  gc_unused "scratch_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1553 nil  gc_unused "ix86_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1554 nil  gc_used "dllimport_hasher"
  (!srcfileloc  "config/i386/i386.c" 11331)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1555 
  (!type pointer 1556 nil  gc_used
   (!type already_seen 1555)
  )
  gc_pointed_to "hash_table<dllimport_hasher>"
  (!srcfileloc  "config/i386/i386.c" 11331)
  (!fields 1 
   (!pair  "dllimport_hasher"
    (!type already_seen 1554)
    (!srcfileloc  "config/i386/i386.c" 11331)
    nil )
  )
 )
 
 (!type struct 1557 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1558 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1559 nil  gc_unused "pass_build_ssa_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1560 nil  gc_unused "pass_local_optimization_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1561 nil  gc_unused "pass_ipa_remove_symbols"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1562 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1563 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1564 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1565 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1566 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1567 nil  gc_unused "pass_late_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1568 
  (!type pointer 1569 nil  gc_unused
   (!type already_seen 1568)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1570 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1571 
  (!type pointer 1572 nil  gc_unused
   (!type already_seen 1571)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1573 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1574 
  (!type pointer 1575 nil  gc_used
   (!type already_seen 1574)
  )
  gc_pointed_to "hash_map<char*,unsigned>"
  (!srcfileloc  "cgraphclones.c" 465)
  (!fields 1 
   (!pair  "unsigned"
    (!type undefined 1576 nil  gc_unused "unsigned"
     (!srcfileloc  "cgraphclones.c" 465)
    )
    (!srcfileloc  "cgraphclones.c" 465)
    nil )
  )
 )
 
 (!type already_seen 1576)
 
 (!type user_struct 1577 
  (!type pointer 1578 nil  gc_used
   (!type already_seen 1577)
  )
  gc_pointed_to "vec<gimple*,va_gc>"
  (!srcfileloc  "tree-phinodes.c" 70)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "tree-phinodes.c" 70)
    nil )
   (!pair  "gimple"
    (!type already_seen 280)
    (!srcfileloc  "tree-phinodes.c" 70)
    nil )
  )
 )
 
 (!type struct 1579 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1580 nil  gc_unused "TRAILING_WIDE_INT_ACCESSOR"
  (!srcfileloc  "tree-ssanames.h" 52)
 )
 
 (!type user_struct 1581 nil  gc_unused "value_range_equiv"
  (!srcfileloc  "tree-vrp.h" 78)
  (!fields 0 )
 )
 
 (!type struct 1582 nil  gc_unused "assert_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1129)
 
 (!type already_seen 1122)
 
 (!type already_seen 1130)
 
 (!type already_seen 1121)
 
 (!type already_seen 1119)
 
 (!type already_seen 1125)
 
 (!type struct 1583 nil  gc_used "ipa_vr"
  (!srcfileloc  "ipa-prop.h" 756)
  (!fields 4 
   (!pair  "known"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 297)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "ipa-prop.h" 298)
    nil )
   (!pair  "min"
    (!type already_seen 506)
    (!srcfileloc  "ipa-prop.h" 299)
    nil )
   (!pair  "max"
    (!type already_seen 506)
    (!srcfileloc  "ipa-prop.h" 300)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1127)
 
 (!type already_seen 1128)
 
 (!type already_seen 1111)
 
 (!type already_seen 1110)
 
 (!type already_seen 1114)
 
 (!type already_seen 1115)
 
 (!type user_struct 1584 
  (!type pointer 1585 nil  gc_used
   (!type already_seen 1584)
  )
  gc_pointed_to "vec<ipa_bits*,va_gc>"
  (!srcfileloc  "ipa-prop.h" 754)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
   (!pair  "ipa_bits"
    (!type already_seen 1124)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
  )
 )
 
 (!type user_struct 1586 
  (!type pointer 1587 nil  gc_used
   (!type already_seen 1586)
  )
  gc_pointed_to "vec<ipa_vr,va_gc>"
  (!srcfileloc  "ipa-prop.h" 756)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
   (!pair  "ipa_vr"
    (!type already_seen 1583)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
  )
 )
 
 (!type struct 1588 
  (!type pointer 1589 nil  gc_used
   (!type already_seen 1588)
  )
  gc_pointed_to "ipcp_transformation"
  (!srcfileloc  "ipa-prop.h" 776)
  (!fields 3 
   (!pair  "agg_values"
    (!type already_seen 1144)
    (!srcfileloc  "ipa-prop.h" 752)
    nil )
   (!pair  "bits"
    (!type already_seen 1585)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
   (!pair  "m_vr"
    (!type already_seen 1587)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1137)
 
 (!type already_seen 1139)
 
 (!type user_struct 1590 
  (!type pointer 1591 nil  gc_used
   (!type already_seen 1590)
  )
  gc_pointed_to "ipa_node_params_t"
  (!srcfileloc  "ipa-prop.h" 850)
  (!fields 0 )
 )
 
 (!type user_struct 1592 
  (!type pointer 1593 nil  gc_used
   (!type already_seen 1592)
  )
  gc_pointed_to "ipa_edge_args_sum_t"
  (!srcfileloc  "ipa-prop.h" 872)
  (!fields 0 )
 )
 
 (!type struct 1594 nil  gc_unused "ipcp_transformation_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1595 
  (!type pointer 1596 nil  gc_used
   (!type already_seen 1595)
  )
  gc_pointed_to "function_summary<ipcp_transformation*>"
  (!srcfileloc  "ipa-prop.h" 904)
  (!fields 1 
   (!pair  "ipcp_transformation"
    (!type already_seen 1589)
    (!srcfileloc  "ipa-prop.h" 904)
    nil )
  )
 )
 
 (!type struct 1597 nil  gc_used "tm_wrapper_hasher"
  (!srcfileloc  "trans-mem.c" 465)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1598 
  (!type pointer 1599 nil  gc_used
   (!type already_seen 1598)
  )
  gc_pointed_to "hash_table<tm_wrapper_hasher>"
  (!srcfileloc  "trans-mem.c" 465)
  (!fields 1 
   (!pair  "tm_wrapper_hasher"
    (!type already_seen 1597)
    (!srcfileloc  "trans-mem.c" 465)
    nil )
  )
 )
 
 (!type struct 1600 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1601 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1602 nil  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1603 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1604 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1605 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1606 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1607 nil  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1608 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1609 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1610 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1611 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1612 nil  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1613 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1614 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1615 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1616 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1617 nil  gc_unused "vec<cgraph_node*>"
  (!srcfileloc  "trans-mem.c" 4180)
  (!fields 1 
   (!pair  "cgraph_node"
    (!type already_seen 813)
    (!srcfileloc  "trans-mem.c" 4180)
    nil )
  )
 )
 
 (!type struct 1618 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1619 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1620 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1621 nil  gc_unused "lto_location_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1622 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 345)
 
 (!type struct 1623 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1624 nil  gc_unused "lto_simple_header_with_strings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1625 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1626 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1627 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1628 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 333)
 
 (!type struct 1629 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1630 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 336)
 
 (!type already_seen 340)
 
 (!type already_seen 335)
 
 (!type already_seen 339)
 
 (!type already_seen 341)
 
 (!type already_seen 343)
 
 (!type already_seen 344)
 
 (!type struct 1631 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1632 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1633 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1634 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1635 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1636 nil  gc_unused "dref_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 593)
 
 (!type already_seen 595)
 
 (!type already_seen 604)
 
 (!type already_seen 606)
 
 (!type already_seen 612)
 
 (!type already_seen 622)
 
 (!type already_seen 624)
 
 (!type already_seen 626)
 
 (!type already_seen 630)
 
 (!type already_seen 632)
 
 (!type already_seen 1167)
 
 (!type already_seen 1166)
 
 (!type already_seen 1164)
 
 (!type struct 1637 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1163)
 
 (!type already_seen 1172)
 
 (!type struct 1638 nil  gc_unused "agg_position_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1171)
 
 (!type struct 1639 nil  gc_unused "ipa_size_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1170)
 
 (!type user_struct 1640 nil  gc_unused "ipa_fn_summary_t"
  (!srcfileloc  "ipa-fnsummary.h" 218)
  (!fields 0 )
 )
 
 (!type user_struct 1641 
  (!type pointer 1642 nil  gc_used
   (!type already_seen 1641)
  )
  gc_pointed_to "fast_function_summary<ipa_fn_summary*,va_gc>"
  (!srcfileloc  "ipa-fnsummary.h" 220)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-fnsummary.h" 220)
    nil )
   (!pair  "ipa_fn_summary"
    (!type already_seen 1161)
    (!srcfileloc  "ipa-fnsummary.h" 220)
    nil )
  )
 )
 
 (!type struct 1643 nil  gc_unused "ipa_size_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1644 nil  gc_unused "ipa_call_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1645 nil  gc_unused "ipa_call_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1646 nil  gc_unused "ipa_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1647 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1648 nil  gc_unused "vtbl_map_hasher"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1649 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type already_seen 1648)
    (!srcfileloc  "vtable-verify.c" 298)
    nil )
  )
 )
 
 (!type undefined 1650 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 299)
 )
 
 (!type struct 1651 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1652 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1653 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1654 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1655 nil  gc_unused "asan_redzone_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1656 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1657 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1658 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1659 nil  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 58)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 980)
    (!srcfileloc  "ubsan.c" 56)
    nil )
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "ubsan.c" 57)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1660 nil  gc_used "tree_type_map_cache_hasher"
  (!srcfileloc  "ubsan.c" 82)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1661 
  (!type pointer 1662 nil  gc_used
   (!type already_seen 1661)
  )
  gc_pointed_to "hash_table<tree_type_map_cache_hasher>"
  (!srcfileloc  "ubsan.c" 82)
  (!fields 1 
   (!pair  "tree_type_map_cache_hasher"
    (!type already_seen 1660)
    (!srcfileloc  "ubsan.c" 82)
    nil )
  )
 )
 
 (!type struct 1663 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1664 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1665 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1666 nil  gc_unused "sanopt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1667 nil  gc_unused "sanopt_tree_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1668 nil  gc_unused "sanopt_tree_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1669 nil  gc_unused "sanopt_tree_couple"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1670 nil  gc_unused "sanopt_tree_couple_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1671 nil  gc_unused "sanopt_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1672 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1673 nil  gc_unused "type_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1674 nil  gc_unused "default_hash_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1180)
 
 (!type struct 1675 nil  gc_unused "odr_name_hasher"
  (!srcfileloc  "ipa-devirt.c" 488)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1676 nil  gc_unused "hash_table<odr_name_hasher>"
  (!srcfileloc  "ipa-devirt.c" 488)
  (!fields 1 
   (!pair  "odr_name_hasher"
    (!type already_seen 1675)
    (!srcfileloc  "ipa-devirt.c" 488)
    nil )
  )
 )
 
 (!type user_struct 1677 
  (!type pointer 1678 nil  gc_used
   (!type already_seen 1677)
  )
  gc_pointed_to "vec<odr_type,va_gc>"
  (!srcfileloc  "ipa-devirt.c" 495)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ipa-devirt.c" 495)
    nil )
   (!pair  "odr_type"
    (!type already_seen 1179)
    (!srcfileloc  "ipa-devirt.c" 495)
    nil )
  )
 )
 
 (!type struct 1679 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1680 nil  gc_unused "polymorphic_call_target_hasher"
  (!srcfileloc  "ipa-devirt.c" 2742)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1681 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 2742)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type already_seen 1680)
    (!srcfileloc  "ipa-devirt.c" 2742)
    nil )
  )
 )
 
 (!type struct 1682 nil  gc_unused "odr_type_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1683 nil  gc_unused "decl_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1684 nil  gc_unused "final_warning_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1685 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1686 nil  gc_unused "direct_internal_fn_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1687 nil  gc_unused "hsa_function_representation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1688 nil  gc_used "hsa_decl_kernel_map_element"
  (!srcfileloc  "hsa-common.c" 67)
  (!fields 4 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "hsa-common.c" 55)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "hsa-common.c" 57)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "omp_data_size"
    (!type already_seen 2)
    (!srcfileloc  "hsa-common.c" 59)
    nil )
   (!pair  "gridified_kernel_p"
    (!type already_seen 2)
    (!srcfileloc  "hsa-common.c" 61)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1689 
  (!type pointer 1690 nil  gc_used
   (!type already_seen 1689)
  )
  gc_pointed_to "vec<hsa_decl_kernel_map_element,va_gc>"
  (!srcfileloc  "hsa-common.c" 67)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "hsa-common.c" 67)
    nil )
   (!pair  "hsa_decl_kernel_map_element"
    (!type already_seen 1688)
    (!srcfileloc  "hsa-common.c" 67)
    nil )
  )
 )
 
 (!type struct 1691 nil  gc_unused "arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1692 nil  gc_unused "rdwr_access_hash"
  (!srcfileloc  "calls.c" 1873)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1693 nil  gc_unused "hash_map<rdwr_access_hash,attr_access>"
  (!srcfileloc  "calls.c" 1873)
  (!fields 2 
   (!pair  "attr_access"
    (!type undefined 1694 nil  gc_unused "attr_access"
     (!srcfileloc  "calls.c" 1873)
    )
    (!srcfileloc  "calls.c" 1873)
    nil )
   (!pair  "rdwr_access_hash"
    (!type already_seen 1692)
    (!srcfileloc  "calls.c" 1873)
    nil )
  )
 )
 
 (!type already_seen 1694)
 
 (!type struct 1695 nil  gc_unused "arg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1696 nil  gc_unused "builtin_isa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1697 nil  gc_unused "_arch_names_table"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1698 nil  gc_unused "_isa_names_table"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1699 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1700 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/i386/i386-expand.c:8203"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1701 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/i386/i386-expand.c:8892"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1702 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/i386/i386-expand.c:10157"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1703 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/i386/i386-expand.c:10383"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1704 nil  gc_unused "ix86_target_opts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1705 nil  gc_unused "stringop_size_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1706 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1707 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1708 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1709 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1710 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1711 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1712 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1713 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1714 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1715 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1716 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1717 nil  gc_used "value_annotation_hasher"
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1718 
  (!type pointer 1719 nil  gc_used
   (!type already_seen 1718)
  )
  gc_pointed_to "hash_table<value_annotation_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!fields 1 
   (!pair  "value_annotation_hasher"
    (!type already_seen 1717)
    (!srcfileloc  "ada/gcc-interface/decl.c" 156)
    nil )
  )
 )
 
 (!type user_struct 1720 
  (!type pointer 1721 nil  gc_used
   (!type already_seen 1720)
  )
  gc_pointed_to "vec<Entity_Id,va_gc_atomic>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  (!fields 2 
   (!pair  "va_gc_atomic"
    (!type undefined 1722 nil  gc_unused "va_gc_atomic"
     (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    )
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
   (!pair  "Entity_Id"
    (!type undefined 1723 nil  gc_unused "Entity_Id"
     (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    )
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
  )
 )
 
 (!type already_seen 1723)
 
 (!type already_seen 1722)
 
 (!type struct 1724 nil  gc_pointed_to "tree_entity_vec_map"
  (!srcfileloc  "ada/gcc-interface/decl.c" 163)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 980)
    (!srcfileloc  "ada/gcc-interface/decl.c" 161)
    nil )
   (!pair  "to"
    (!type already_seen 1721)
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1 nil nil )
 
 (!type struct 1725 nil  gc_used "dummy_type_hasher"
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1726 
  (!type pointer 1727 nil  gc_used
   (!type already_seen 1726)
  )
  gc_pointed_to "hash_table<dummy_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!fields 1 
   (!pair  "dummy_type_hasher"
    (!type already_seen 1725)
    (!srcfileloc  "ada/gcc-interface/decl.c" 197)
    nil )
  )
 )
 
 (!type struct 1728 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/ada/gcc-interface/decl.c:257"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1729 nil  gc_unused "er_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1730 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 476)
 
 (!type already_seen 474)
 
 (!type struct 1731 
  (!type pointer 1732 nil  gc_used
   (!type already_seen 1731)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 144)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 1732)
    (!srcfileloc  "ada/gcc-interface/trans.c" 140)
    nil )
   (!pair  "stmt_list"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 141)
    nil )
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 142)
    nil )
   (!pair  "cleanups"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 143)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.previous")
  )
  1 nil nil )
 
 (!type struct 1733 
  (!type pointer 1734 nil  gc_used
   (!type already_seen 1733)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 160)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1734)
    (!srcfileloc  "ada/gcc-interface/trans.c" 157)
    nil )
   (!pair  "elab_proc"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 158)
    nil )
   (!pair  "gnat_node"
    (!type already_seen 2)
    (!srcfileloc  "ada/gcc-interface/trans.c" 159)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1 nil nil )
 
 (!type struct 1735 
  (!type pointer 1736 nil  gc_used
   (!type already_seen 1735)
  )
  gc_pointed_to "range_check_info_d"
  (!srcfileloc  "ada/gcc-interface/trans.c" 192)
  (!fields 7 
   (!pair  "low_bound"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 185)
    nil )
   (!pair  "high_bound"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 186)
    nil )
   (!pair  "disp"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 187)
    nil )
   (!pair  "neg_p"
    (!type already_seen 2)
    (!srcfileloc  "ada/gcc-interface/trans.c" 188)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 189)
    nil )
   (!pair  "invariant_cond"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 190)
    nil )
   (!pair  "inserted_cond"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 191)
    nil )
  )
  nil 1 nil nil )
 
 (!type user_struct 1737 
  (!type pointer 1738 nil  gc_used
   (!type already_seen 1737)
  )
  gc_pointed_to "vec<range_check_info,va_gc>"
  (!srcfileloc  "ada/gcc-interface/trans.c" 206)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
   (!pair  "range_check_info"
    (!type already_seen 1736)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
  )
 )
 
 (!type struct 1739 
  (!type pointer 1740 nil  gc_used
   (!type already_seen 1739)
  )
  gc_pointed_to "loop_info_d"
  (!srcfileloc  "ada/gcc-interface/trans.c" 207)
  (!fields 8 
   (!pair  "stmt"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 199)
    nil )
   (!pair  "loop_var"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 200)
    nil )
   (!pair  "low_bound"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 201)
    nil )
   (!pair  "high_bound"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 202)
    nil )
   (!pair  "omp_loop_clauses"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 203)
    nil )
   (!pair  "omp_construct_clauses"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/trans.c" 204)
    nil )
   (!pair  "omp_code"
    (!type already_seen 2)
    (!srcfileloc  "ada/gcc-interface/trans.c" 205)
    nil )
   (!pair  "checks"
    (!type already_seen 1738)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
  )
  nil 1 nil nil )
 
 (!type user_struct 1741 
  (!type pointer 1742 nil  gc_used
   (!type already_seen 1741)
  )
  gc_pointed_to "vec<loop_info,va_gc>"
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "ada/gcc-interface/trans.c" 213)
    nil )
   (!pair  "loop_info"
    (!type already_seen 1740)
    (!srcfileloc  "ada/gcc-interface/trans.c" 213)
    nil )
  )
 )
 
 (!type struct 1743 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1744 
  (!type pointer 1745 nil  gc_used
   (!type already_seen 1744)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 241)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 1745)
    (!srcfileloc  "ada/gcc-interface/utils.c" 235)
    nil )
   (!pair  "block"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/utils.c" 237)
    nil )
   (!pair  "jmpbuf_decl"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/utils.c" 240)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.chain")
  )
  1 nil nil )
 
 (!type struct 1746 nil  gc_pointed_to "pad_type_hash"
  (!srcfileloc  "ada/gcc-interface/utils.c" 268)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "ada/gcc-interface/utils.c" 266)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "ada/gcc-interface/utils.c" 267)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1 nil nil )
 
 (!type struct 1747 nil  gc_used "pad_type_hasher"
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1748 
  (!type pointer 1749 nil  gc_used
   (!type already_seen 1748)
  )
  gc_pointed_to "hash_table<pad_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!fields 1 
   (!pair  "pad_type_hasher"
    (!type already_seen 1747)
    (!srcfileloc  "ada/gcc-interface/utils.c" 282)
    nil )
  )
 )
 
 (!type struct 1750 nil  gc_unused "deferred_decl_context_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1751 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 638)
 
 (!type struct 1752 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1753 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1754 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1755 nil  gc_unused "c_arg_tag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 470)
 
 (!type struct 1756 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1757 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1758 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1759 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 654)
 
 (!type struct 1760 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 458)
 
 (!type already_seen 653)
 
 (!type already_seen 651)
 
 (!type already_seen 650)
 
 (!type already_seen 647)
 
 (!type already_seen 656)
 
 (!type already_seen 660)
 
 (!type already_seen 658)
 
 (!type struct 1761 
  (!type pointer 1762 nil  gc_used
   (!type already_seen 1761)
  )
  gc_pointed_to "c_inline_static"
  (!srcfileloc  "c/c-decl.c" 554)
  (!fields 5 
   (!pair  "location"
    (!type already_seen 2)
    (!srcfileloc  "c/c-decl.c" 541)
    nil )
   (!pair  "function"
    (!type already_seen 23)
    (!srcfileloc  "c/c-decl.c" 544)
    nil )
   (!pair  "static_decl"
    (!type already_seen 23)
    (!srcfileloc  "c/c-decl.c" 547)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "c/c-decl.c" 550)
    nil )
   (!pair  "next"
    (!type already_seen 1762)
    (!srcfileloc  "c/c-decl.c" 553)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type already_seen 552)
 
 (!type struct 1763 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1764 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1765 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1766 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1767 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1768 nil  gc_unused "nonnull_arg_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1769 
  (!type pointer 1770 nil  gc_used
   (!type already_seen 1769)
  )
  gc_pointed_to "vec<const_char_p,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 5524)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "c-family/c-common.c" 5524)
    nil )
   (!pair  "const_char_p"
    (!type already_seen 11)
    (!srcfileloc  "c-family/c-common.c" 5524)
    nil )
  )
 )
 
 (!type user_struct 1771 
  (!type pointer 1772 nil  gc_used
   (!type already_seen 1771)
  )
  gc_pointed_to "vec<tree_gc_vec,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 7804)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "c-family/c-common.c" 7804)
    nil )
   (!pair  "tree_gc_vec"
    (!type already_seen 84)
    (!srcfileloc  "c-family/c-common.c" 7804)
    nil )
  )
 )
 
 (!type user_struct 1773 nil  gc_unused "hash_set<char*,false,nofree_string_hash>"
  (!srcfileloc  "c-family/c-common.c" 8753)
  (!fields 2 
   (!pair  "nofree_string_hash"
    (!type undefined 1774 nil  gc_unused "nofree_string_hash"
     (!srcfileloc  "c-family/c-common.c" 8753)
    )
    (!srcfileloc  "c-family/c-common.c" 8753)
    nil )
   (!pair  "false"
    (!type already_seen 884)
    (!srcfileloc  "c-family/c-common.c" 8753)
    nil )
  )
 )
 
 (!type already_seen 1774)
 
 (!type user_struct 1775 nil  gc_unused "hash_map<char*,per_file_includes_t*>"
  (!srcfileloc  "c-family/c-common.c" 8758)
  (!fields 1 
   (!pair  "per_file_includes_t"
    (!type pointer 1776 nil  gc_unused
     (!type struct 1777 
      (!type already_seen 1776)
      gc_unused "per_file_includes_t"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "c-family/c-common.c" 8758)
    nil )
  )
 )
 
 (!type already_seen 1777)
 
 (!type struct 1778 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 457)
 
 (!type struct 1779 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1780 nil  gc_unused "substring_loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1781 nil  gc_unused "wide_int_bitmask"
  (!srcfileloc  "c-family/c-common.h" 1156)
 )
 
 (!type already_seen 684)
 
 (!type struct 1782 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1626)
  (!fields 4 
   (!pair  "hex_str"
    (!type already_seen 11)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1622)
    nil )
   (!pair  "mode"
    (!type already_seen 2)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1623)
    nil )
   (!pair  "digits"
    (!type already_seen 2)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1624)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 11)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1625)
    nil )
  )
  nil 1548 nil nil )
 
 (!type union 1783 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1784 nil  gc_unused "internal_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1785 
  (!type pointer 1786 nil  gc_used
   (!type already_seen 1785)
  )
  gc_pointed_to "align_stack"
  (!srcfileloc  "c-family/c-pragma.c" 47)
  (!fields 3 
   (!pair  "alignment"
    (!type already_seen 2)
    (!srcfileloc  "c-family/c-pragma.c" 44)
    nil )
   (!pair  "id"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 45)
    nil )
   (!pair  "prev"
    (!type already_seen 1786)
    (!srcfileloc  "c-family/c-pragma.c" 46)
    nil )
  )
  nil 1548 nil nil )
 
 (!type struct 1787 nil  gc_used "pending_weak"
  (!srcfileloc  "c-family/c-pragma.c" 241)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 236)
    nil )
   (!pair  "value"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 237)
    nil )
  )
  nil 1548 nil nil )
 
 (!type user_struct 1788 
  (!type pointer 1789 nil  gc_used
   (!type already_seen 1788)
  )
  gc_pointed_to "vec<pending_weak,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 241)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "c-family/c-pragma.c" 241)
    nil )
   (!pair  "pending_weak"
    (!type already_seen 1787)
    (!srcfileloc  "c-family/c-pragma.c" 241)
    nil )
  )
 )
 
 (!type struct 1790 nil  gc_used "pending_redefinition"
  (!srcfileloc  "c-family/c-pragma.c" 487)
  (!fields 2 
   (!pair  "oldname"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 482)
    nil )
   (!pair  "newname"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 483)
    nil )
  )
  nil 1548 nil nil )
 
 (!type user_struct 1791 
  (!type pointer 1792 nil  gc_used
   (!type already_seen 1791)
  )
  gc_pointed_to "vec<pending_redefinition,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 487)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "c-family/c-pragma.c" 487)
    nil )
   (!pair  "pending_redefinition"
    (!type already_seen 1790)
    (!srcfileloc  "c-family/c-pragma.c" 487)
    nil )
  )
 )
 
 (!type struct 1793 
  (!type pointer 1794 nil  gc_used
   (!type already_seen 1793)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 1006)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 1794)
    (!srcfileloc  "c-family/c-pragma.c" 1001)
    nil )
   (!pair  "target_binary"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 1002)
    nil )
   (!pair  "target_strings"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 1003)
    nil )
   (!pair  "optimize_binary"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 1004)
    nil )
   (!pair  "optimize_strings"
    (!type already_seen 23)
    (!srcfileloc  "c-family/c-pragma.c" 1005)
    nil )
  )
  nil 1548 nil nil )
 
 (!type struct 1795 nil  gc_unused "pragma_ns_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1796 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1797 nil  gc_unused "function_format_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1798 nil  gc_unused "format_wanted_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1799 nil  gc_unused "format_check_results"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1800 nil  gc_unused "format_check_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1801 nil  gc_unused "flag_chars_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1802 nil  gc_unused "length_modifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1803 nil  gc_unused "argument_parser"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1804 nil  gc_unused "baltoks_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1805 nil  gc_unused "token_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1806 nil  gc_unused "indirection_suffix"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1807 nil  gc_unused "range_label_for_format_type_mismatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1808 
  (!type pointer 1809 nil  gc_unused
   (!type already_seen 1808)
  )
  gc_used "c_token"
  (!srcfileloc  "c/c-parser.c" 173)
  (!fields 7 
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 55)
    nil )
   (!pair  "id_kind"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 58)
    nil )
   (!pair  "keyword"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 61)
    nil )
   (!pair  "pragma_kind"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 64)
    nil )
   (!pair  "location"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.h" 66)
    nil )
   (!pair  "value"
    (!type already_seen 23)
    (!srcfileloc  "c/c-parser.h" 68)
    nil )
   (!pair  "flags"
    (!type already_seen 8)
    (!srcfileloc  "c/c-parser.h" 70)
    nil )
  )
  nil 516 nil nil )
 
 (!type struct 1810 
  (!type pointer 1811 nil  gc_used
   (!type already_seen 1810)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 258)
  (!fields 16 
   (!pair  "tokens"
    (!type already_seen 1809)
    (!srcfileloc  "c/c-parser.c" 173)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "tokens_buf"
    (!type array 1812 nil  gc_used "4" 
     (!type already_seen 1808)
    )
    (!srcfileloc  "c/c-parser.c" 175)
    nil )
   (!pair  "tokens_avail"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 178)
    nil )
   (!pair  "raw_tokens"
    (!type pointer 1813 nil  gc_used
     (!type user_struct 1814 
      (!type already_seen 1813)
      gc_pointed_to "vec<c_token,va_gc>"
      (!srcfileloc  "c/c-parser.c" 181)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 79)
        (!srcfileloc  "c/c-parser.c" 181)
        nil )
       (!pair  "c_token"
        (!type already_seen 1808)
        (!srcfileloc  "c/c-parser.c" 181)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 181)
    nil )
   (!pair  "raw_tokens_used"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 184)
    nil )
   (!pair  "error"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 188)
    nil )
   (!pair  "in_pragma"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 191)
    nil )
   (!pair  "in_if_block"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 193)
    nil )
   (!pair  "lex_joined_string"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 198)
    nil )
   (!pair  "translate_strings_p"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 202)
    nil )
   (!pair  "objc_pq_context"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 208)
    nil )
   (!pair  "objc_could_be_foreach_context"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 213)
    nil )
   (!pair  "objc_need_raw_identifier"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 218)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 221)
    nil )
   (!pair  "objc_property_attr_context"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 224)
    nil )
   (!pair  "last_token_location"
    (!type already_seen 2)
    (!srcfileloc  "c/c-parser.c" 227)
    nil )
  )
  nil 516 nil nil )
 
 (!type already_seen 1814)
 
 (!type struct 1815 nil  gc_unused "token_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1816 nil  gc_unused "matching_paren_traits"
  (!srcfileloc  "c/c-parser.c" 1076)
  (!fields 0 )
  nil 516 nil nil )
 
 (!type user_struct 1817 nil  gc_unused "token_pair<matching_paren_traits>"
  (!srcfileloc  "c/c-parser.c" 1076)
  (!fields 1 
   (!pair  "matching_paren_traits"
    (!type already_seen 1816)
    (!srcfileloc  "c/c-parser.c" 1076)
    nil )
  )
 )
 
 (!type struct 1818 nil  gc_unused "matching_brace_traits"
  (!srcfileloc  "c/c-parser.c" 1094)
  (!fields 0 )
  nil 516 nil nil )
 
 (!type user_struct 1819 nil  gc_unused "token_pair<matching_brace_traits>"
  (!srcfileloc  "c/c-parser.c" 1094)
  (!fields 1 
   (!pair  "matching_brace_traits"
    (!type already_seen 1818)
    (!srcfileloc  "c/c-parser.c" 1094)
    nil )
  )
 )
 
 (!type struct 1820 nil  gc_unused "oacc_routine_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1821 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/c/c-parser.c:7830"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1822 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 468)
 
 (!type already_seen 546)
 
 (!type already_seen 549)
 
 (!type already_seen 90)
 
 (!type already_seen 83)
 
 (!type struct 1823 nil  gc_used "cxx_saved_binding"
  (!srcfileloc  "cp/cp-tree.h" 1687)
  (!fields 3 
   (!pair  "identifier"
    (!type already_seen 23)
    (!srcfileloc  "cp/name-lookup.h" 82)
    nil )
   (!pair  "binding"
    (!type already_seen 89)
    (!srcfileloc  "cp/name-lookup.h" 84)
    nil )
   (!pair  "real_type_value"
    (!type already_seen 23)
    (!srcfileloc  "cp/name-lookup.h" 85)
    nil )
  )
  nil 1032 nil nil )
 
 (!type already_seen 88)
 
 (!type already_seen 87)
 
 (!type struct 1824 nil  gc_unused "cp_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 667)
 
 (!type already_seen 668)
 
 (!type already_seen 670)
 
 (!type struct 1825 nil  gc_unused "ovl_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1826 nil  gc_unused "lkp_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 93)
 
 (!type struct 1827 nil  gc_unused "releasing_vec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 672)
 
 (!type already_seen 671)
 
 (!type already_seen 71)
 
 (!type already_seen 673)
 
 (!type already_seen 674)
 
 (!type already_seen 675)
 
 (!type already_seen 676)
 
 (!type already_seen 677)
 
 (!type already_seen 678)
 
 (!type already_seen 682)
 
 (!type already_seen 681)
 
 (!type already_seen 679)
 
 (!type already_seen 683)
 
 (!type user_struct 1828 
  (!type pointer 1829 nil  gc_used
   (!type already_seen 1828)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1687)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/cp-tree.h" 1687)
    nil )
   (!pair  "cxx_saved_binding"
    (!type already_seen 1823)
    (!srcfileloc  "cp/cp-tree.h" 1687)
    nil )
  )
 )
 
 (!type struct 1830 
  (!type pointer 1831 nil  gc_used
   (!type already_seen 1830)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1731)
  (!fields 31 
   (!pair  "old_bindings"
    (!type already_seen 1829)
    (!srcfileloc  "cp/cp-tree.h" 1687)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1688)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 84)
    (!srcfileloc  "cp/cp-tree.h" 1689)
    nil )
   (!pair  "class_name"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1690)
    nil )
   (!pair  "class_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1691)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1692)
    nil )
   (!pair  "function_decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1693)
    nil )
   (!pair  "lang_base"
    (!type already_seen 84)
    (!srcfileloc  "cp/cp-tree.h" 1694)
    nil )
   (!pair  "lang_name"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1695)
    nil )
   (!pair  "template_parms"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1696)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 82)
    (!srcfileloc  "cp/cp-tree.h" 1697)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1698)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1701)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1702)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1704)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1705)
    nil )
   (!pair  "x_processing_constraint"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1706)
    nil )
   (!pair  "suppress_location_wrappers"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1707)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1708)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1709)
    nil )
   (!pair  "discarded_stmt"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1713)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1715)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1716)
    nil )
   (!pair  "noexcept_operand"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1717)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1720)
    nil )
   (!pair  "ref_temp_count"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1721)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 458)
    (!srcfileloc  "cp/cp-tree.h" 1723)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 82)
    (!srcfileloc  "cp/cp-tree.h" 1725)
    nil )
   (!pair  "bindings"
    (!type already_seen 82)
    (!srcfileloc  "cp/cp-tree.h" 1726)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 398)
    (!srcfileloc  "cp/cp-tree.h" 1728)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "prev"
    (!type already_seen 1831)
    (!srcfileloc  "cp/cp-tree.h" 1730)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1832 nil  gc_unused "processing_template_decl_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1833 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1834 nil  gc_unused "iloc_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1835 nil  gc_unused "temp_override"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1836 nil  gc_pointed_to "cxx_int_tree_map"
  (!srcfileloc  "cp/cp-tree.h" 1869)
  (!fields 2 
   (!pair  "uid"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 1867)
    nil )
   (!pair  "to"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 1868)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type already_seen 465)
 
 (!type struct 1837 
  (!type pointer 1838 nil  gc_used
   (!type already_seen 1837)
  )
  gc_pointed_to "named_label_entry"
  (!srcfileloc  "cp/decl.c" 219)
  (!fields 12 
   (!pair  "name"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 188)
    nil )
   (!pair  "label_decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 190)
    nil )
   (!pair  "outer"
    (!type already_seen 1838)
    (!srcfileloc  "cp/decl.c" 192)
    nil )
   (!pair  "binding_level"
    (!type already_seen 82)
    (!srcfileloc  "cp/decl.c" 197)
    nil )
   (!pair  "names_in_scope"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 202)
    nil )
   (!pair  "bad_decls"
    (!type already_seen 84)
    (!srcfileloc  "cp/decl.c" 206)
    nil )
   (!pair  "uses"
    (!type pointer 1839 nil  gc_used
     (!type struct 1840 
      (!type already_seen 1839)
      gc_pointed_to "named_label_use_entry"
      (!srcfileloc  "cp/decl.c" 209)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 1839)
        (!srcfileloc  "cp/decl.c" 165)
        nil )
       (!pair  "binding_level"
        (!type already_seen 82)
        (!srcfileloc  "cp/decl.c" 169)
        nil )
       (!pair  "names_in_scope"
        (!type already_seen 23)
        (!srcfileloc  "cp/decl.c" 173)
        nil )
       (!pair  "o_goto_locus"
        (!type already_seen 2)
        (!srcfileloc  "cp/decl.c" 175)
        nil )
       (!pair  "in_omp_scope"
        (!type already_seen 2)
        (!srcfileloc  "cp/decl.c" 179)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      1032 nil nil )
    )
    (!srcfileloc  "cp/decl.c" 209)
    nil )
   (!pair  "in_try_scope"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 214)
    nil )
   (!pair  "in_catch_scope"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 215)
    nil )
   (!pair  "in_omp_scope"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 216)
    nil )
   (!pair  "in_transaction_scope"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 217)
    nil )
   (!pair  "in_constexpr_if"
    (!type already_seen 2)
    (!srcfileloc  "cp/decl.c" 218)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type already_seen 462)
 
 (!type already_seen 461)
 
 (!type already_seen 464)
 
 (!type already_seen 543)
 
 (!type already_seen 542)
 
 (!type already_seen 65)
 
 (!type already_seen 66)
 
 (!type already_seen 68)
 
 (!type already_seen 69)
 
 (!type already_seen 67)
 
 (!type already_seen 92)
 
 (!type already_seen 81)
 
 (!type already_seen 94)
 
 (!type already_seen 95)
 
 (!type already_seen 64)
 
 (!type struct 1841 nil  gc_unused "aggr_init_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1842 nil  gc_unused "cp_unevaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1843 nil  gc_unused "cp_evaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1844 nil  gc_unused "local_specialization_stack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1845 nil  gc_used "ovl_op_info_t"
  (!srcfileloc  "cp/cp-tree.h" 5866)
  (!fields 6 
   (!pair  "identifier"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 5852)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "cp/cp-tree.h" 5854)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 11)
    (!srcfileloc  "cp/cp-tree.h" 5856)
    nil )
   (!pair  "tree_code"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 5858)
    nil )
   (!pair  "ovl_op_code"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 5860)
    nil )
   (!pair  "flags"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 5862)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1846 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1847 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1848 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1849 
  (!type pointer 1850 nil  gc_used
   (!type already_seen 1849)
  )
  gc_pointed_to "tinst_level"
  (!srcfileloc  "cp/pt.c" 9369)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1850)
    (!srcfileloc  "cp/cp-tree.h" 6145)
    nil )
   (!pair  "tldcl"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 6157)
    nil )
   (!pair  "targs"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-tree.h" 6157)
    nil )
   (!pair  "locus"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 6202)
    nil )
   (!pair  "errors"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 6205)
    nil )
   (!pair  "refcount"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-tree.h" 6213)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 1851 nil  gc_unused "access_failure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1852 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 80)
 
 (!type struct 1853 nil  gc_unused "deferring_access_check_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1854 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1855 nil  gc_unused "diagnosing_failed_constraint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1856 nil  gc_unused "processing_constraint_expression_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 78)
 
 (!type already_seen 76)
 
 (!type already_seen 74)
 
 (!type already_seen 73)
 
 (!type user_struct 1857 
  (!type pointer 1858 nil  gc_used
   (!type already_seen 1857)
  )
  gc_pointed_to "vec<cp_token,va_gc>"
  (!srcfileloc  "cp/parser.h" 86)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/parser.h" 86)
    nil )
   (!pair  "cp_token"
    (!type already_seen 73)
    (!srcfileloc  "cp/parser.h" 86)
    nil )
  )
 )
 
 (!type user_struct 1859 nil  gc_unused "vec<cp_token_position>"
  (!srcfileloc  "cp/parser.h" 100)
  (!fields 1 
   (!pair  "cp_token_position"
    (!type already_seen 72)
    (!srcfileloc  "cp/parser.h" 100)
    nil )
  )
 )
 
 (!type struct 1860 
  (!type pointer 1861 nil  gc_used
   (!type already_seen 1860)
  )
  gc_pointed_to "cp_lexer"
  (!srcfileloc  "cp/parser.h" 223)
  (!fields 9 
   (!pair  "buffer"
    (!type already_seen 1858)
    (!srcfileloc  "cp/parser.h" 86)
    nil )
   (!pair  "last_token"
    (!type already_seen 72)
    (!srcfileloc  "cp/parser.h" 90)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "next_token"
    (!type already_seen 72)
    (!srcfileloc  "cp/parser.h" 94)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "saved_tokens"
    (!type already_seen 1859)
    (!srcfileloc  "cp/parser.h" 100)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "saved_type"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 103)
    nil )
   (!pair  "saved_keyword"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 104)
    nil )
   (!pair  "next"
    (!type already_seen 1861)
    (!srcfileloc  "cp/parser.h" 107)
    nil )
   (!pair  "debugging_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 110)
    nil )
   (!pair  "in_pragma"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 114)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1862 nil  gc_unused "cp_token_ident"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1863 nil  gc_used "cp_default_arg_entry"
  (!srcfileloc  "cp/parser.h" 160)
  (!fields 2 
   (!pair  "class_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 148)
    nil )
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 151)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1864 
  (!type pointer 1865 nil  gc_used
   (!type already_seen 1864)
  )
  gc_pointed_to "vec<cp_default_arg_entry,va_gc>"
  (!srcfileloc  "cp/parser.h" 160)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/parser.h" 160)
    nil )
   (!pair  "cp_default_arg_entry"
    (!type already_seen 1863)
    (!srcfileloc  "cp/parser.h" 160)
    nil )
  )
 )
 
 (!type struct 1866 nil  gc_used "cp_unparsed_functions_entry"
  (!srcfileloc  "cp/parser.h" 363)
  (!fields 4 
   (!pair  "funs_with_default_args"
    (!type already_seen 1865)
    (!srcfileloc  "cp/parser.h" 160)
    nil )
   (!pair  "funs_with_definitions"
    (!type already_seen 84)
    (!srcfileloc  "cp/parser.h" 164)
    nil )
   (!pair  "nsdmis"
    (!type already_seen 84)
    (!srcfileloc  "cp/parser.h" 168)
    nil )
   (!pair  "noexcepts"
    (!type already_seen 84)
    (!srcfileloc  "cp/parser.h" 171)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1867 
  (!type pointer 1868 nil  gc_used
   (!type already_seen 1867)
  )
  gc_pointed_to "cp_parser_context"
  (!srcfileloc  "cp/parser.h" 257)
  (!fields 3 
   (!pair  "status"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 193)
    nil )
   (!pair  "object_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 198)
    nil )
   (!pair  "next"
    (!type already_seen 1868)
    (!srcfileloc  "cp/parser.h" 201)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1869 
  (!type pointer 1870 nil  gc_unused
   (!type already_seen 1869)
  )
  gc_unused "cp_omp_declare_simd_data"
  (!srcfileloc  "cp/parser.h" 375)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type struct 1871 
  (!type pointer 1872 nil  gc_unused
   (!type already_seen 1871)
  )
  gc_unused "cp_oacc_routine_data"
  (!srcfileloc  "cp/parser.h" 379)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1873 
  (!type pointer 1874 nil  gc_used
   (!type already_seen 1873)
  )
  gc_pointed_to "vec<cp_unparsed_functions_entry,va_gc>"
  (!srcfileloc  "cp/parser.h" 363)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
   (!pair  "cp_unparsed_functions_entry"
    (!type already_seen 1866)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
  )
 )
 
 (!type struct 1875 
  (!type pointer 1876 nil  gc_used
   (!type already_seen 1875)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.c" 43522)
  (!fields 37 
   (!pair  "lexer"
    (!type already_seen 1861)
    (!srcfileloc  "cp/parser.h" 223)
    nil )
   (!pair  "scope"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 238)
    nil )
   (!pair  "object_scope"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 245)
    nil )
   (!pair  "qualifying_scope"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 246)
    nil )
   (!pair  "context"
    (!type already_seen 1868)
    (!srcfileloc  "cp/parser.h" 257)
    nil )
   (!pair  "allow_gnu_extensions_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 261)
    nil )
   (!pair  "greater_than_is_operator_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 268)
    nil )
   (!pair  "default_arg_ok_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 273)
    nil )
   (!pair  "integral_constant_expression_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 277)
    nil )
   (!pair  "allow_non_integral_constant_expression_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 283)
    nil )
   (!pair  "non_integral_constant_expression_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 287)
    nil )
   (!pair  "local_variables_forbidden_p"
    (!type already_seen 8)
    (!srcfileloc  "cp/parser.h" 294)
    nil )
   (!pair  "in_unbraced_linkage_specification_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 299)
    nil )
   (!pair  "in_declarator_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 303)
    nil )
   (!pair  "in_template_argument_list_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 306)
    nil )
   (!pair  "in_statement"
    (!type already_seen 8)
    (!srcfileloc  "cp/parser.h" 318)
    nil )
   (!pair  "in_switch_statement_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 324)
    nil )
   (!pair  "in_type_id_in_expr_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 329)
    nil )
   (!pair  "translate_strings_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 333)
    nil )
   (!pair  "in_function_body"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 337)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 8)
    (!srcfileloc  "cp/parser.h" 341)
    nil )
   (!pair  "colon_corrects_to_scope_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 344)
    nil )
   (!pair  "colon_doesnt_start_class_def_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 350)
    nil )
   (!pair  "type_definition_forbidden_message"
    (!type already_seen 11)
    (!srcfileloc  "cp/parser.h" 355)
    nil )
   (!pair  "type_definition_forbidden_message_arg"
    (!type already_seen 11)
    (!srcfileloc  "cp/parser.h" 358)
    nil )
   (!pair  "unparsed_queues"
    (!type already_seen 1874)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
   (!pair  "num_classes_being_defined"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 367)
    nil )
   (!pair  "num_template_parameter_lists"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 371)
    nil )
   (!pair  "omp_declare_simd"
    (!type already_seen 1870)
    (!srcfileloc  "cp/parser.h" 375)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "oacc_routine"
    (!type already_seen 1872)
    (!srcfileloc  "cp/parser.h" 379)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "auto_is_implicit_function_template_parm_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 383)
    nil )
   (!pair  "fully_implicit_function_template_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 388)
    nil )
   (!pair  "implicit_template_parms"
    (!type already_seen 23)
    (!srcfileloc  "cp/parser.h" 396)
    nil )
   (!pair  "implicit_template_scope"
    (!type already_seen 82)
    (!srcfileloc  "cp/parser.h" 403)
    nil )
   (!pair  "in_result_type_constraint_p"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 408)
    nil )
   (!pair  "prevent_constrained_type_specifiers"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 412)
    nil )
   (!pair  "innermost_linkage_specification_location"
    (!type already_seen 2)
    (!srcfileloc  "cp/parser.h" 416)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1877 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1878 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1879 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1880 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1881 nil  gc_unused "dealloc_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1882 nil  gc_unused "NonPublicField"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1883 nil  gc_unused "NonTrivialField"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1884 
  (!type pointer 1885 nil  gc_unused
   (!type already_seen 1884)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1886 nil  gc_unused "vtbl_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1887 nil  gc_unused "flexmems_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1888 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1889 nil  gc_unused "find_final_overrider_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1890 
  (!type pointer 1891 nil  gc_used
   (!type already_seen 1890)
  )
  gc_pointed_to "hash_map<tree,int>"
  (!srcfileloc  "cp/class.c" 3302)
  (!fields 2 
   (!pair  "int"
    (!type already_seen 378)
    (!srcfileloc  "cp/class.c" 3302)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "cp/class.c" 3302)
    nil )
  )
 )
 
 (!type struct 1892 nil  gc_unused "secondary_vptr_vtt_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1893 
  (!type pointer 1894 nil  gc_used
   (!type already_seen 1893)
  )
  gc_pointed_to "constexpr_fundef"
  (!srcfileloc  "cp/constexpr.c" 1002)
  (!fields 4 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 141)
    nil )
   (!pair  "body"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 142)
    nil )
   (!pair  "parms"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 143)
    nil )
   (!pair  "result"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 144)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1895 nil  gc_used "constexpr_fundef_hasher"
  (!srcfileloc  "cp/constexpr.c" 156)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1896 
  (!type pointer 1897 nil  gc_used
   (!type already_seen 1896)
  )
  gc_pointed_to "hash_table<constexpr_fundef_hasher>"
  (!srcfileloc  "cp/constexpr.c" 156)
  (!fields 1 
   (!pair  "constexpr_fundef_hasher"
    (!type already_seen 1895)
    (!srcfileloc  "cp/constexpr.c" 156)
    nil )
  )
 )
 
 (!type struct 1898 nil  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/constexpr.c" 1015)
  (!fields 5 
   (!pair  "fundef"
    (!type already_seen 1894)
    (!srcfileloc  "cp/constexpr.c" 1002)
    nil )
   (!pair  "bindings"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 1004)
    nil )
   (!pair  "result"
    (!type already_seen 23)
    (!srcfileloc  "cp/constexpr.c" 1009)
    nil )
   (!pair  "hash"
    (!type already_seen 2)
    (!srcfileloc  "cp/constexpr.c" 1012)
    nil )
   (!pair  "manifestly_const_eval"
    (!type already_seen 2)
    (!srcfileloc  "cp/constexpr.c" 1014)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1899 nil  gc_used "constexpr_call_hasher"
  (!srcfileloc  "cp/constexpr.c" 1100)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type struct 1900 nil  gc_unused "constexpr_global_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1901 nil  gc_unused "constexpr_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1902 
  (!type pointer 1903 nil  gc_used
   (!type already_seen 1902)
  )
  gc_pointed_to "hash_table<constexpr_call_hasher>"
  (!srcfileloc  "cp/constexpr.c" 1100)
  (!fields 1 
   (!pair  "constexpr_call_hasher"
    (!type already_seen 1899)
    (!srcfileloc  "cp/constexpr.c" 1100)
    nil )
  )
 )
 
 (!type struct 1904 nil  gc_unused "replace_result_decl_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1905 nil  gc_unused "free_bindings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1906 nil  gc_unused "check_for_return_continue_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1907 nil  gc_unused "subst_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1908 nil  gc_unused "norm_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1909 nil  gc_pointed_to "sat_entry"
  (!srcfileloc  "cp/constraint.cc" 2289)
  (!fields 3 
   (!pair  "constr"
    (!type already_seen 23)
    (!srcfileloc  "cp/constraint.cc" 2286)
    nil )
   (!pair  "args"
    (!type already_seen 23)
    (!srcfileloc  "cp/constraint.cc" 2287)
    nil )
   (!pair  "result"
    (!type already_seen 23)
    (!srcfileloc  "cp/constraint.cc" 2288)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1910 nil  gc_used "sat_hasher"
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1911 
  (!type pointer 1912 nil  gc_used
   (!type already_seen 1911)
  )
  gc_pointed_to "hash_table<sat_hasher>"
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!fields 1 
   (!pair  "sat_hasher"
    (!type already_seen 1910)
    (!srcfileloc  "cp/constraint.cc" 2308)
    nil )
  )
 )
 
 (!type struct 1913 nil  gc_unused "satisfaction_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1914 nil  gc_pointed_to "coroutine_info"
  (!srcfileloc  "cp/coroutines.cc" 97)
  (!fields 9 
   (!pair  "function_decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 84)
    nil )
   (!pair  "promise_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 85)
    nil )
   (!pair  "handle_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 86)
    nil )
   (!pair  "self_h_proxy"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 87)
    nil )
   (!pair  "promise_proxy"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 90)
    nil )
   (!pair  "return_void"
    (!type already_seen 23)
    (!srcfileloc  "cp/coroutines.cc" 91)
    nil )
   (!pair  "first_coro_keyword"
    (!type already_seen 2)
    (!srcfileloc  "cp/coroutines.cc" 92)
    nil )
   (!pair  "coro_ret_type_error_emitted"
    (!type already_seen 2)
    (!srcfileloc  "cp/coroutines.cc" 95)
    nil )
   (!pair  "coro_promise_error_emitted"
    (!type already_seen 2)
    (!srcfileloc  "cp/coroutines.cc" 96)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1915 nil  gc_used "coroutine_info_hasher"
  (!srcfileloc  "cp/coroutines.cc" 111)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1916 
  (!type pointer 1917 nil  gc_used
   (!type already_seen 1916)
  )
  gc_pointed_to "hash_table<coroutine_info_hasher>"
  (!srcfileloc  "cp/coroutines.cc" 111)
  (!fields 1 
   (!pair  "coroutine_info_hasher"
    (!type already_seen 1915)
    (!srcfileloc  "cp/coroutines.cc" 111)
    nil )
  )
 )
 
 (!type struct 1918 nil  gc_unused "proxy_replace"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1919 nil  gc_unused "coro_ret_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1920 nil  gc_unused "coro_aw_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1921 nil  gc_unused "suspend_point_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1922 nil  gc_unused "await_xform_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1923 nil  gc_unused "param_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1924 nil  gc_unused "local_var_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1925 nil  gc_unused "local_vars_transform"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1926 nil  gc_unused "susp_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1927 nil  gc_unused "truth_if_transform"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1928 nil  gc_unused "param_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1929 nil  gc_unused "local_vars_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1930 nil  gc_unused "cp_genericize_omp_taskreg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1931 nil  gc_unused "cp_genericize_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1932 nil  gc_pointed_to "source_location_table_entry"
  (!srcfileloc  "cp/cp-gimplify.c" 3149)
  (!fields 3 
   (!pair  "loc"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-gimplify.c" 3146)
    nil )
   (!pair  "uid"
    (!type already_seen 2)
    (!srcfileloc  "cp/cp-gimplify.c" 3147)
    nil )
   (!pair  "var"
    (!type already_seen 23)
    (!srcfileloc  "cp/cp-gimplify.c" 3148)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1933 nil  gc_used "source_location_table_entry_hash"
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1934 
  (!type pointer 1935 nil  gc_used
   (!type already_seen 1934)
  )
  gc_pointed_to "hash_table<source_location_table_entry_hash>"
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  (!fields 1 
   (!pair  "source_location_table_entry_hash"
    (!type already_seen 1933)
    (!srcfileloc  "cp/cp-gimplify.c" 3210)
    nil )
  )
 )
 
 (!type already_seen 1840)
 
 (!type struct 1936 nil  gc_used "incomplete_var"
  (!srcfileloc  "cp/decl.c" 247)
  (!fields 2 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 242)
    nil )
   (!pair  "incomplete_type"
    (!type already_seen 23)
    (!srcfileloc  "cp/decl.c" 243)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1937 
  (!type pointer 1938 nil  gc_used
   (!type already_seen 1937)
  )
  gc_pointed_to "vec<incomplete_var,va_gc>"
  (!srcfileloc  "cp/decl.c" 247)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/decl.c" 247)
    nil )
   (!pair  "incomplete_var"
    (!type already_seen 1936)
    (!srcfileloc  "cp/decl.c" 247)
    nil )
  )
 )
 
 (!type struct 1939 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1940 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1941 nil  gc_used "typename_hasher"
  (!srcfileloc  "cp/decl.c" 3825)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1942 
  (!type pointer 1943 nil  gc_used
   (!type already_seen 1942)
  )
  gc_pointed_to "hash_table<typename_hasher>"
  (!srcfileloc  "cp/decl.c" 3825)
  (!fields 1 
   (!pair  "typename_hasher"
    (!type already_seen 1941)
    (!srcfileloc  "cp/decl.c" 3825)
    nil )
  )
 )
 
 (!type struct 1944 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1945 nil  gc_unused "reshape_iter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1946 
  (!type pointer 1947 nil  gc_unused
   (!type already_seen 1946)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1948 nil  gc_used "mangled_decl_hash"
  (!srcfileloc  "cp/decl2.c" 139)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1949 
  (!type pointer 1950 nil  gc_used
   (!type already_seen 1949)
  )
  gc_pointed_to "hash_table<mangled_decl_hash>"
  (!srcfileloc  "cp/decl2.c" 139)
  (!fields 1 
   (!pair  "mangled_decl_hash"
    (!type already_seen 1948)
    (!srcfileloc  "cp/decl2.c" 139)
    nil )
  )
 )
 
 (!type struct 1951 nil  gc_used "pending_noexcept"
  (!srcfileloc  "cp/except.c" 1160)
  (!fields 2 
   (!pair  "fn"
    (!type already_seen 23)
    (!srcfileloc  "cp/except.c" 1157)
    nil )
   (!pair  "loc"
    (!type already_seen 2)
    (!srcfileloc  "cp/except.c" 1158)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1952 
  (!type pointer 1953 nil  gc_used
   (!type already_seen 1952)
  )
  gc_pointed_to "vec<pending_noexcept,va_gc>"
  (!srcfileloc  "cp/except.c" 1160)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/except.c" 1160)
    nil )
   (!pair  "pending_noexcept"
    (!type already_seen 1951)
    (!srcfileloc  "cp/except.c" 1160)
    nil )
  )
 )
 
 (!type struct 1954 nil  gc_used "tree_int"
  (!srcfileloc  "cp/lambda.c" 1361)
  (!fields 2 
   (!pair  "t"
    (!type already_seen 23)
    (!srcfileloc  "cp/lambda.c" 1358)
    nil )
   (!pair  "i"
    (!type already_seen 2)
    (!srcfileloc  "cp/lambda.c" 1359)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 1955 
  (!type pointer 1956 nil  gc_used
   (!type already_seen 1955)
  )
  gc_pointed_to "vec<tree_int,va_gc>"
  (!srcfileloc  "cp/lambda.c" 1361)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/lambda.c" 1361)
    nil )
   (!pair  "tree_int"
    (!type already_seen 1954)
    (!srcfileloc  "cp/lambda.c" 1361)
    nil )
  )
 )
 
 (!type struct 1957 nil  gc_unused "impl_files"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1958 nil  gc_used "conv_type_hasher"
  (!srcfileloc  "cp/lex.c" 613)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1959 
  (!type pointer 1960 nil  gc_used
   (!type already_seen 1959)
  )
  gc_pointed_to "hash_table<conv_type_hasher>"
  (!srcfileloc  "cp/lex.c" 613)
  (!fields 1 
   (!pair  "conv_type_hasher"
    (!type already_seen 1958)
    (!srcfileloc  "cp/lex.c" 613)
    nil )
  )
 )
 
 (!type struct 1961 nil  gc_unused "constraint_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1962 nil  gc_unused "clause"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1963 nil  gc_unused "formula"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1964 nil  gc_pointed_to "subsumption_entry"
  (!srcfileloc  "cp/logic.cc" 791)
  (!fields 3 
   (!pair  "lhs"
    (!type already_seen 23)
    (!srcfileloc  "cp/logic.cc" 788)
    nil )
   (!pair  "rhs"
    (!type already_seen 23)
    (!srcfileloc  "cp/logic.cc" 789)
    nil )
   (!pair  "result"
    (!type already_seen 2)
    (!srcfileloc  "cp/logic.cc" 790)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1965 nil  gc_used "subsumption_hasher"
  (!srcfileloc  "cp/logic.cc" 817)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1966 
  (!type pointer 1967 nil  gc_used
   (!type already_seen 1966)
  )
  gc_pointed_to "hash_table<subsumption_hasher>"
  (!srcfileloc  "cp/logic.cc" 817)
  (!fields 1 
   (!pair  "subsumption_hasher"
    (!type already_seen 1965)
    (!srcfileloc  "cp/logic.cc" 817)
    nil )
  )
 )
 
 (!type struct 1968 nil  gc_used "globals"
  (!srcfileloc  "cp/mangle.c" 122)
  (!fields 5 
   (!pair  "substitutions"
    (!type already_seen 84)
    (!srcfileloc  "cp/mangle.c" 106)
    nil )
   (!pair  "entity"
    (!type already_seen 23)
    (!srcfileloc  "cp/mangle.c" 109)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "parm_depth"
    (!type already_seen 2)
    (!srcfileloc  "cp/mangle.c" 112)
    nil )
   (!pair  "need_abi_warning"
    (!type already_seen 2)
    (!srcfileloc  "cp/mangle.c" 116)
    nil )
   (!pair  "need_cxx17_warning"
    (!type already_seen 2)
    (!srcfileloc  "cp/mangle.c" 119)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1969 nil  gc_unused "comp_cat_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1970 nil  gc_unused "comp_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1971 nil  gc_unused "name_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1972 nil  gc_unused "namespace_limit_reached"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1973 nil  gc_unused "show_candidate_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1974 nil  gc_unused "suggest_alternatives"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1975 nil  gc_unused "namespace_hints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1976 nil  gc_unused "std_name_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1977 nil  gc_unused "missing_std_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1978 nil  gc_unused "macro_use_before_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1979 nil  gc_unused "type_id_in_expr_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1980 nil  gc_unused "saved_token_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1981 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1982 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1983 nil  gc_unused "tentative_firewall"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1984 nil  gc_unused "scope_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1985 nil  gc_unused "class_decl_loc_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1986 nil  gc_unused "class_to_loc_map_t::iterator"
  (!srcfileloc  "cp/parser.c" 31477)
 )
 
 (!type struct 1987 
  (!type pointer 1988 nil  gc_used
   (!type already_seen 1987)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 9378)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 1988)
    (!srcfileloc  "cp/pt.c" 56)
    nil )
   (!pair  "tinst"
    (!type already_seen 1850)
    (!srcfileloc  "cp/pt.c" 57)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 1989 nil  gc_pointed_to "spec_entry"
  (!srcfileloc  "cp/pt.c" 111)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 108)
    nil )
   (!pair  "args"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 109)
    nil )
   (!pair  "spec"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 110)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1032 nil nil )
 
 (!type struct 1990 nil  gc_used "spec_hasher"
  (!srcfileloc  "cp/pt.c" 119)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1991 
  (!type pointer 1992 nil  gc_used
   (!type already_seen 1991)
  )
  gc_pointed_to "hash_table<spec_hasher>"
  (!srcfileloc  "cp/pt.c" 119)
  (!fields 1 
   (!pair  "spec_hasher"
    (!type already_seen 1990)
    (!srcfileloc  "cp/pt.c" 119)
    nil )
  )
 )
 
 (!type struct 1993 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1994 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1995 nil  gc_unused "uses_all_template_parms_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1996 nil  gc_unused "freelist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1997 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1998 nil  gc_unused "find_template_parameter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1999 nil  gc_unused "el_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2000 nil  gc_unused "auto_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2001 
  (!type pointer 2002 nil  gc_used
   (!type already_seen 2001)
  )
  gc_pointed_to "hash_map<tree,tree_pair_p>"
  (!srcfileloc  "cp/pt.c" 28697)
  (!fields 2 
   (!pair  "tree_pair_p"
    (!type already_seen 544)
    (!srcfileloc  "cp/pt.c" 28697)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 28697)
    nil )
  )
 )
 
 (!type struct 2003 nil  gc_used "tinfo_s"
  (!srcfileloc  "cp/rtti.c" 122)
  (!fields 3 
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "cp/rtti.c" 65)
    nil )
   (!pair  "vtable"
    (!type already_seen 23)
    (!srcfileloc  "cp/rtti.c" 67)
    nil )
   (!pair  "name"
    (!type already_seen 23)
    (!srcfileloc  "cp/rtti.c" 70)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 2004 
  (!type pointer 2005 nil  gc_used
   (!type already_seen 2004)
  )
  gc_pointed_to "vec<tinfo_s,va_gc>"
  (!srcfileloc  "cp/rtti.c" 122)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/rtti.c" 122)
    nil )
   (!pair  "tinfo_s"
    (!type already_seen 2003)
    (!srcfileloc  "cp/rtti.c" 122)
    nil )
  )
 )
 
 (!type struct 2006 nil  gc_used "deferred_access"
  (!srcfileloc  "cp/semantics.c" 138)
  (!fields 2 
   (!pair  "deferred_access_checks"
    (!type already_seen 77)
    (!srcfileloc  "cp/semantics.c" 130)
    nil )
   (!pair  "deferring_access_checks_kind"
    (!type already_seen 2)
    (!srcfileloc  "cp/semantics.c" 133)
    nil )
  )
  nil 1032 nil nil )
 
 (!type user_struct 2007 
  (!type pointer 2008 nil  gc_used
   (!type already_seen 2007)
  )
  gc_pointed_to "vec<deferred_access,va_gc>"
  (!srcfileloc  "cp/semantics.c" 138)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "cp/semantics.c" 138)
    nil )
   (!pair  "deferred_access"
    (!type already_seen 2006)
    (!srcfileloc  "cp/semantics.c" 138)
    nil )
  )
 )
 
 (!type struct 2009 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2010 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2011 nil  gc_used "cplus_array_hasher"
  (!srcfileloc  "cp/tree.c" 979)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2012 
  (!type pointer 2013 nil  gc_used
   (!type already_seen 2012)
  )
  gc_pointed_to "hash_table<cplus_array_hasher>"
  (!srcfileloc  "cp/tree.c" 979)
  (!fields 1 
   (!pair  "cplus_array_hasher"
    (!type already_seen 2011)
    (!srcfileloc  "cp/tree.c" 979)
    nil )
  )
 )
 
 (!type struct 2014 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2015 nil  gc_used "list_hasher"
  (!srcfileloc  "cp/tree.c" 2060)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2016 
  (!type pointer 2017 nil  gc_used
   (!type already_seen 2016)
  )
  gc_pointed_to "hash_table<list_hasher>"
  (!srcfileloc  "cp/tree.c" 2060)
  (!fields 1 
   (!pair  "list_hasher"
    (!type already_seen 2015)
    (!srcfileloc  "cp/tree.c" 2060)
    nil )
  )
 )
 
 (!type struct 2018 nil  gc_unused "bot_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2019 nil  gc_unused "replace_placeholders_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2020 
  (!type pointer 2021 nil  gc_used
   (!type already_seen 2020)
  )
  gc_pointed_to "pending_abstract_type"
  (!srcfileloc  "cp/typeck2.c" 147)
  (!fields 5 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "cp/typeck2.c" 133)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "cp/typeck2.c" 136)
    nil )
   (!pair  "use"
    (!type already_seen 2)
    (!srcfileloc  "cp/typeck2.c" 139)
    nil )
   (!pair  "locus"
    (!type already_seen 2)
    (!srcfileloc  "cp/typeck2.c" 143)
    nil )
   (!pair  "next"
    (!type already_seen 2021)
    (!srcfileloc  "cp/typeck2.c" 146)
    nil )
  )
  (!options 
   (!option for_user string  "")
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 2022 nil  gc_used "abstract_type_hasher"
  (!srcfileloc  "cp/typeck2.c" 178)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2023 
  (!type pointer 2024 nil  gc_used
   (!type already_seen 2023)
  )
  gc_pointed_to "hash_table<abstract_type_hasher>"
  (!srcfileloc  "cp/typeck2.c" 178)
  (!fields 1 
   (!pair  "abstract_type_hasher"
    (!type already_seen 2022)
    (!srcfileloc  "cp/typeck2.c" 178)
    nil )
  )
 )
 
 (!type struct 2025 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2026 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2027 nil  gc_unused "Dsymbol"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 62)
 
 (!type already_seen 645)
 
 (!type struct 2028 nil  gc_unused "ClassDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2029 nil  gc_unused "EnumDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 446)
 
 (!type struct 2030 nil  gc_unused "StructDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2031 nil  gc_unused "TypeInfoDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2032 nil  gc_unused "VarDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2033 
  (!type pointer 2034 nil  gc_unused
   (!type already_seen 2033)
  )
  gc_unused "Expression"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2035 nil  gc_unused "ClassReferenceExp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 448)
 
 (!type already_seen 453)
 
 (!type already_seen 539)
 
 (!type struct 2036 nil  gc_unused "TypeFunction"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2037 nil  gc_unused "Parameter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2038 nil  gc_unused "BaseClass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2039 nil  gc_unused "Scope"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2040 nil  gc_unused "Loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2041 nil  gc_unused "Array<Expression*>"
  (!srcfileloc  "d/d-tree.h" 44)
  (!fields 1 
   (!pair  "Expression"
    (!type already_seen 2034)
    (!srcfileloc  "d/d-tree.h" 44)
    nil )
  )
 )
 
 (!type already_seen 441)
 
 (!type already_seen 455)
 
 (!type already_seen 451)
 
 (!type already_seen 665)
 
 (!type already_seen 450)
 
 (!type struct 2042 nil  gc_unused "builtin_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2043 nil  gc_unused "d_option_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2044 nil  gc_unused "module_info"
  (!srcfileloc  "d/modules.cc" 88)
  (!fields 7 
   (!pair  "ctors"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 79)
    nil )
   (!pair  "dtors"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 80)
    nil )
   (!pair  "ctorgates"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 81)
    nil )
   (!pair  "sharedctors"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 83)
    nil )
   (!pair  "shareddtors"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 84)
    nil )
   (!pair  "sharedctorgates"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 85)
    nil )
   (!pair  "unitTests"
    (!type already_seen 84)
    (!srcfileloc  "d/modules.cc" 87)
    nil )
  )
  nil 16 nil nil )
 
 (!type struct 2045 nil  gc_unused "TypeInfoVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2046 nil  gc_unused "TypeInfoDeclVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2047 nil  gc_unused "SpeculativeTypeVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2048 nil  gc_used "module_hasher"
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  (!fields 0 )
  nil 32 nil nil )
 
 (!type user_struct 2049 
  (!type pointer 2050 nil  gc_used
   (!type already_seen 2049)
  )
  gc_pointed_to "hash_table<module_hasher>"
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  (!fields 1 
   (!pair  "module_hasher"
    (!type already_seen 2048)
    (!srcfileloc  "fortran/trans-decl.c" 5124)
    nil )
  )
 )
 
 (!type struct 2051 nil  gc_pointed_to "module_htab_entry"
  (!srcfileloc  "fortran/trans.h" 699)
  (!fields 3 
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "fortran/trans.h" 696)
    nil )
   (!pair  "namespace_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans.h" 697)
    nil )
   (!pair  "decls"
    (!type pointer 2052 nil  gc_used
     (!type user_struct 2053 
      (!type already_seen 2052)
      gc_pointed_to "hash_table<module_decl_hasher>"
      (!srcfileloc  "fortran/trans.h" 698)
      (!fields 1 
       (!pair  "module_decl_hasher"
        (!type struct 2054 nil  gc_used "module_decl_hasher"
         (!srcfileloc  "fortran/trans.h" 698)
         (!fields 0 )
         nil 32 nil nil )
        (!srcfileloc  "fortran/trans.h" 698)
        nil )
      )
     )
    )
    (!srcfileloc  "fortran/trans.h" 698)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  32 nil nil )
 
 (!type struct 2055 nil  gc_used "gfc_intrinsic_map_t"
  (!srcfileloc  "fortran/trans-intrinsic.c" 84)
  (!fields 19 
   (!pair  "id"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 50)
    nil )
   (!pair  "float_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 54)
    nil )
   (!pair  "double_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 55)
    nil )
   (!pair  "long_double_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 56)
    nil )
   (!pair  "complex_float_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 57)
    nil )
   (!pair  "complex_double_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 58)
    nil )
   (!pair  "complex_long_double_built_in"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 59)
    nil )
   (!pair  "libm_name"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 64)
    nil )
   (!pair  "complex_available"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 67)
    nil )
   (!pair  "is_constant"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-intrinsic.c" 70)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "fortran/trans-intrinsic.c" 73)
    nil )
   (!pair  "real4_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 76)
    nil )
   (!pair  "real8_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 77)
    nil )
   (!pair  "real10_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 78)
    nil )
   (!pair  "real16_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 79)
    nil )
   (!pair  "complex4_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 80)
    nil )
   (!pair  "complex8_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 81)
    nil )
   (!pair  "complex10_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 82)
    nil )
   (!pair  "complex16_decl"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-intrinsic.c" 83)
    nil )
  )
  nil 32 nil nil )
 
 (!type struct 2056 nil  gc_used "gfc_st_parameter_field"
  (!srcfileloc  "fortran/trans-io.c" 73)
  (!fields 6 
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "fortran/trans-io.c" 67)
    nil )
   (!pair  "mask"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-io.c" 68)
    nil )
   (!pair  "param_type"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-io.c" 69)
    nil )
   (!pair  "type"
    (!type already_seen 2)
    (!srcfileloc  "fortran/trans-io.c" 70)
    nil )
   (!pair  "field"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-io.c" 71)
    nil )
   (!pair  "field_len"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-io.c" 72)
    nil )
  )
  nil 32 nil nil )
 
 (!type struct 2057 nil  gc_used "gfc_st_parameter"
  (!srcfileloc  "fortran/trans-io.c" 79)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "fortran/trans-io.c" 77)
    nil )
   (!pair  "type"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans-io.c" 78)
    nil )
  )
  nil 32 nil nil )
 
 (!type struct 2058 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2059 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2060 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2061 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2062 nil  gc_unused "gfc_co_subroutines_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2063 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2064 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2065 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2066 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2067 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:401"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2068 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:413"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 2054)
 
 (!type already_seen 2053)
 
 (!type struct 2069 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2070 nil  gc_used "gfc_powdecl_list"
  (!srcfileloc  "fortran/trans.h" 899)
  (!fields 3 
   (!pair  "integer"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans.h" 896)
    nil )
   (!pair  "real"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans.h" 897)
    nil )
   (!pair  "cmplx"
    (!type already_seen 23)
    (!srcfileloc  "fortran/trans.h" 898)
    nil )
  )
  nil 32 nil nil )
 
 (!type struct 2071 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2072 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2073 nil  gc_unused "go_create_gogo_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2074 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2075 nil  gc_unused "Linemap"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2076 nil  gc_unused "Backend"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2077 nil  gc_unused "ggc_root_tab"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2078 nil  gc_unused "lto_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2079 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2080 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2081 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2082 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2083 nil  gc_unused "streamer_tree_cache_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2084 nil  gc_unused "int_hash<unsigned,,UINT_MAX>"
  (!srcfileloc  "lto/lto-common.c" 1816)
  (!fields 2 
   (!pair  "UINT_MAX"
    (!type undefined 2085 nil  gc_unused "UINT_MAX"
     (!srcfileloc  "lto/lto-common.c" 1816)
    )
    (!srcfileloc  "lto/lto-common.c" 1816)
    nil )
   (!pair  "unsigned"
    (!type already_seen 1576)
    (!srcfileloc  "lto/lto-common.c" 1816)
    nil )
  )
 )
 
 (!type already_seen 2085)
 
 (!type struct 2086 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2087 nil  gc_unused "symbol_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2088 nil  gc_unused "variable_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2089 nil  gc_unused "function_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2090 
  (!type pointer 2091 nil  gc_used
   (!type already_seen 2090)
  )
  gc_pointed_to "objc_map_private"
  (!srcfileloc  "objc/objc-map.h" 79)
  (!fields 7 
   (!pair  "number_of_slots"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 54)
    nil )
   (!pair  "mask"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 57)
    nil )
   (!pair  "number_of_non_empty_slots"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 62)
    nil )
   (!pair  "max_number_of_non_empty_slots"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 68)
    nil )
   (!pair  "maximum_load_factor"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-map.h" 71)
    nil )
   (!pair  "slots"
    (!type already_seen 24)
    (!srcfileloc  "objc/objc-map.h" 74)
    (!options 
     (!option length string  "%h.number_of_slots")
    )
   )
   (!pair  "values"
    (!type already_seen 24)
    (!srcfileloc  "objc/objc-map.h" 78)
    (!options 
     (!option length string  "%h.number_of_slots")
    )
   )
  )
  nil 1536 nil nil )
 
 (!type struct 2092 
  (!type pointer 2093 
   (!type pointer 2094 nil  gc_used
    (!type already_seen 2093)
   )
   gc_pointed_to
   (!type already_seen 2092)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 271)
  (!fields 3 
   (!pair  "list"
    (!type pointer 2095 nil  gc_used
     (!type struct 2096 
      (!type already_seen 2095)
      gc_pointed_to "hashed_attribute"
      (!srcfileloc  "objc/objc-act.h" 265)
      (!fields 2 
       (!pair  "next"
        (!type already_seen 2095)
        (!srcfileloc  "objc/objc-act.h" 263)
        nil )
       (!pair  "value"
        (!type already_seen 23)
        (!srcfileloc  "objc/objc-act.h" 264)
        nil )
      )
      nil 1536 nil nil )
    )
    (!srcfileloc  "objc/objc-act.h" 268)
    nil )
   (!pair  "next"
    (!type already_seen 2093)
    (!srcfileloc  "objc/objc-act.h" 269)
    nil )
   (!pair  "key"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 270)
    nil )
  )
  nil 1536 nil nil )
 
 (!type already_seen 2096)
 
 (!type struct 2097 
  (!type pointer 2098 nil  gc_used
   (!type already_seen 2097)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 288)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 2098)
    (!srcfileloc  "objc/objc-act.h" 282)
    nil )
   (!pair  "imp_context"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 283)
    nil )
   (!pair  "imp_template"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 284)
    nil )
   (!pair  "class_decl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 285)
    nil )
   (!pair  "meta_decl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.h" 286)
    nil )
   (!pair  "has_cxx_cdtors"
    (!type already_seen 2)
    (!srcfileloc  "objc/objc-act.h" 287)
    nil )
  )
  nil 1536 nil nil )
 
 (!type struct 2099 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2100 nil  gc_pointed_to "string_descriptor"
  (!srcfileloc  "objc/objc-act.c" 252)
  (!fields 2 
   (!pair  "literal"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.c" 248)
    nil )
   (!pair  "constructor"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-act.c" 251)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1536 nil nil )
 
 (!type struct 2101 nil  gc_used "objc_string_hasher"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 0 )
  nil 1536 nil nil )
 
 (!type user_struct 2102 
  (!type pointer 2103 nil  gc_used
   (!type already_seen 2102)
  )
  gc_pointed_to "hash_table<objc_string_hasher>"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 1 
   (!pair  "objc_string_hasher"
    (!type already_seen 2101)
    (!srcfileloc  "objc/objc-act.c" 260)
    nil )
  )
 )
 
 (!type struct 2104 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2105 nil  gc_used "ident_data_tuple"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  (!fields 2 
   (!pair  "ident"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1019)
    nil )
   (!pair  "data"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1020)
    nil )
  )
  nil 1536 nil nil )
 
 (!type user_struct 2106 
  (!type pointer 2107 nil  gc_used
   (!type already_seen 2106)
  )
  gc_pointed_to "vec<ident_data_tuple,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
    nil )
   (!pair  "ident_data_tuple"
    (!type already_seen 2105)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
    nil )
  )
 )
 
 (!type struct 2108 nil  gc_used "msgref_entry"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  (!fields 3 
   (!pair  "func"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1203)
    nil )
   (!pair  "selname"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1204)
    nil )
   (!pair  "refdecl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
    nil )
  )
  nil 1536 nil nil )
 
 (!type user_struct 2109 
  (!type pointer 2110 nil  gc_used
   (!type already_seen 2109)
  )
  gc_pointed_to "vec<msgref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
    nil )
   (!pair  "msgref_entry"
    (!type already_seen 2108)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
    nil )
  )
 )
 
 (!type struct 2111 nil  gc_used "prot_list_entry"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  (!fields 2 
   (!pair  "id"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
    nil )
   (!pair  "refdecl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1260)
    nil )
  )
  nil 1536 nil nil )
 
 (!type user_struct 2112 
  (!type pointer 2113 nil  gc_used
   (!type already_seen 2112)
  )
  gc_pointed_to "vec<prot_list_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
    nil )
   (!pair  "prot_list_entry"
    (!type already_seen 2111)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
    nil )
  )
 )
 
 (!type struct 2114 nil  gc_used "ivarref_entry"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  (!fields 2 
   (!pair  "decl"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2764)
    nil )
   (!pair  "offset"
    (!type already_seen 23)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
    nil )
  )
  nil 1536 nil nil )
 
 (!type user_struct 2115 
  (!type pointer 2116 nil  gc_used
   (!type already_seen 2115)
  )
  gc_pointed_to "vec<ivarref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 79)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
    nil )
   (!pair  "ivarref_entry"
    (!type already_seen 2114)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
    nil )
  )
 )
)
(!typedefs 803
 (!pair  "ivarref_entry"
  (!type already_seen 2114)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "vec<ivarref_entry,va_gc>"
  (!type already_seen 2115)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 2111)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "vec<prot_list_entry,va_gc>"
  (!type already_seen 2112)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 2108)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 2109)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 2105)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 2106)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "objc_string_hasher"
  (!type already_seen 2101)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "hash_table<objc_string_hasher>"
  (!type already_seen 2102)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "attr"
  (!type already_seen 2095)
  (!srcfileloc  "objc/objc-act.h" 260)
  nil )
 (!pair  "hash"
  (!type already_seen 2093)
  (!srcfileloc  "objc/objc-act.h" 259)
  nil )
 (!pair  "objc_map_iterator_t"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-map.h" 241)
  nil )
 (!pair  "objc_map_t"
  (!type already_seen 2091)
  (!srcfileloc  "objc/objc-map.h" 90)
  nil )
 (!pair  "objc_map_private_hash_t"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-map.h" 40)
  nil )
 (!pair  "code_id_hash"
  (!type already_seen 2084)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "UINT_MAX"
  (!type already_seen 2085)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "int_hash<unsigned,,UINT_MAX>"
  (!type already_seen 2084)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "go_char_p"
  (!type already_seen 9)
  (!srcfileloc  "go/go-lang.c" 185)
  nil )
 (!pair  "gfc_interface_mapping"
  (!type already_seen 2072)
  (!srcfileloc  "fortran/trans.h" 1145)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 2071)
  (!srcfileloc  "fortran/trans.h" 1130)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 2070)
  (!srcfileloc  "fortran/trans.h" 900)
  nil )
 (!pair  "module_decl_hasher"
  (!type already_seen 2054)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "hash_table<module_decl_hasher>"
  (!type already_seen 2053)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 2068)
  (!srcfileloc  "fortran/trans.h" 418)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 2067)
  (!srcfileloc  "fortran/trans.h" 405)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 2066)
  (!srcfileloc  "fortran/trans.h" 395)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 2065)
  (!srcfileloc  "fortran/trans.h" 346)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 2064)
  (!srcfileloc  "fortran/trans.h" 305)
  nil )
 (!pair  "gfc_array_info"
  (!type already_seen 2063)
  (!srcfileloc  "fortran/trans.h" 206)
  nil )
 (!pair  "gfc_co_subroutines_args"
  (!type already_seen 2062)
  (!srcfileloc  "fortran/trans.h" 117)
  nil )
 (!pair  "gfc_se"
  (!type already_seen 2061)
  (!srcfileloc  "fortran/trans.h" 108)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 2060)
  (!srcfileloc  "fortran/trans.h" 37)
  nil )
 (!pair  "forall_info"
  (!type already_seen 2059)
  (!srcfileloc  "fortran/trans-stmt.c" 58)
  nil )
 (!pair  "iter_info"
  (!type already_seen 2058)
  (!srcfileloc  "fortran/trans-stmt.c" 46)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 2057)
  (!srcfileloc  "fortran/trans-io.c" 80)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 2056)
  (!srcfileloc  "fortran/trans-io.c" 74)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 2055)
  (!srcfileloc  "fortran/trans-intrinsic.c" 85)
  nil )
 (!pair  "module_hasher"
  (!type already_seen 2048)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "hash_table<module_hasher>"
  (!type already_seen 2049)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "tree_frame_info"
  (!type already_seen 665)
  (!srcfileloc  "d/d-tree.h" 338)
  nil )
 (!pair  "lang_identifier"
  (!type already_seen 638)
  (!srcfileloc  "d/d-tree.h" 337)
  nil )
 (!pair  "Type"
  (!type already_seen 539)
  (!srcfileloc  "d/d-tree.h" 311)
  nil )
 (!pair  "d_label_entry"
  (!type already_seen 451)
  (!srcfileloc  "d/d-tree.h" 243)
  nil )
 (!pair  "hash_map<Statement*,d_label_entry>"
  (!type already_seen 450)
  (!srcfileloc  "d/d-tree.h" 243)
  nil )
 (!pair  "Module"
  (!type already_seen 448)
  (!srcfileloc  "d/d-tree.h" 230)
  nil )
 (!pair  "FuncDeclaration"
  (!type already_seen 446)
  (!srcfileloc  "d/d-tree.h" 229)
  nil )
 (!pair  "AggregateDeclaration"
  (!type already_seen 645)
  (!srcfileloc  "d/d-tree.h" 206)
  nil )
 (!pair  "Declaration"
  (!type already_seen 62)
  (!srcfileloc  "d/d-tree.h" 205)
  nil )
 (!pair  "Statement"
  (!type already_seen 453)
  (!srcfileloc  "d/d-tree.h" 131)
  nil )
 (!pair  "d_label_use_entry"
  (!type already_seen 455)
  (!srcfileloc  "d/d-tree.h" 128)
  nil )
 (!pair  "binding_level"
  (!type already_seen 441)
  (!srcfileloc  "d/d-tree.h" 113)
  nil )
 (!pair  "Expressions"
  (!type already_seen 2041)
  (!srcfileloc  "d/d-tree.h" 44)
  nil )
 (!pair  "Array<Expression*>"
  (!type already_seen 2041)
  (!srcfileloc  "d/d-tree.h" 44)
  nil )
 (!pair  "abstract_type_hasher"
  (!type already_seen 2022)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "hash_table<abstract_type_hasher>"
  (!type already_seen 2023)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "list_hasher"
  (!type already_seen 2015)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "hash_table<list_hasher>"
  (!type already_seen 2016)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "cplus_array_hasher"
  (!type already_seen 2011)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "hash_table<cplus_array_hasher>"
  (!type already_seen 2012)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 2006)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 2007)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "tinfo_s"
  (!type already_seen 2003)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 2004)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "hash_map<tree,tree_pair_p>"
  (!type already_seen 2001)
  (!srcfileloc  "cp/pt.c" 28697)
  nil )
 (!pair  "pending_template"
  (!type already_seen 1987)
  (!srcfileloc  "cp/pt.c" 9378)
  nil )
 (!pair  "tinst_level"
  (!type already_seen 1849)
  (!srcfileloc  "cp/pt.c" 9369)
  nil )
 (!pair  "spec_hasher"
  (!type already_seen 1990)
  (!srcfileloc  "cp/pt.c" 119)
  nil )
 (!pair  "hash_table<spec_hasher>"
  (!type already_seen 1991)
  (!srcfileloc  "cp/pt.c" 119)
  nil )
 (!pair  "tree_fn_t"
  (!type already_seen 2)
  (!srcfileloc  "cp/pt.c" 49)
  nil )
 (!pair  "cp_parser"
  (!type already_seen 1875)
  (!srcfileloc  "cp/parser.c" 43522)
  nil )
 (!pair  "iter_t"
  (!type already_seen 1986)
  (!srcfileloc  "cp/parser.c" 31477)
  nil )
 (!pair  "class_to_loc_map_t::iterator"
  (!type already_seen 1986)
  (!srcfileloc  "cp/parser.c" 31477)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 2117 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 1982)
  )
  (!srcfileloc  "cp/parser.c" 1896)
  nil )
 (!pair  "cp_parser_flags"
  (!type already_seen 2)
  (!srcfileloc  "cp/parser.c" 1827)
  nil )
 (!pair  "substitution_identifier_index_t"
  (!type already_seen 2)
  (!srcfileloc  "cp/mangle.c" 147)
  nil )
 (!pair  "globals"
  (!type already_seen 1968)
  (!srcfileloc  "cp/mangle.c" 122)
  nil )
 (!pair  "subsumption_hasher"
  (!type already_seen 1965)
  (!srcfileloc  "cp/logic.cc" 817)
  nil )
 (!pair  "hash_table<subsumption_hasher>"
  (!type already_seen 1966)
  (!srcfileloc  "cp/logic.cc" 817)
  nil )
 (!pair  "conv_type_hasher"
  (!type already_seen 1958)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "hash_table<conv_type_hasher>"
  (!type already_seen 1959)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "tree_int"
  (!type already_seen 1954)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "vec<tree_int,va_gc>"
  (!type already_seen 1955)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 1951)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 1952)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "mangled_decl_hash"
  (!type already_seen 1948)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "hash_table<mangled_decl_hash>"
  (!type already_seen 1949)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "priority_info"
  (!type already_seen 1947)
  (!srcfileloc  "cp/decl2.c" 66)
  nil )
 (!pair  "typename_hasher"
  (!type already_seen 1941)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "hash_table<typename_hasher>"
  (!type already_seen 1942)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 1936)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 1937)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "named_label_use_entry"
  (!type already_seen 1840)
  (!srcfileloc  "cp/decl.c" 209)
  nil )
 (!pair  "named_label_entry"
  (!type already_seen 1837)
  (!srcfileloc  "cp/decl.c" 192)
  nil )
 (!pair  "source_location_table_entry_hash"
  (!type already_seen 1933)
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  nil )
 (!pair  "hash_table<source_location_table_entry_hash>"
  (!type already_seen 1934)
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  nil )
 (!pair  "coroutine_info_hasher"
  (!type already_seen 1915)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "hash_table<coroutine_info_hasher>"
  (!type already_seen 1916)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "sat_hasher"
  (!type already_seen 1910)
  (!srcfileloc  "cp/constraint.cc" 2308)
  nil )
 (!pair  "hash_table<sat_hasher>"
  (!type already_seen 1911)
  (!srcfileloc  "cp/constraint.cc" 2308)
  nil )
 (!pair  "constexpr_call_hasher"
  (!type already_seen 1899)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "hash_table<constexpr_call_hasher>"
  (!type already_seen 1902)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 1893)
  (!srcfileloc  "cp/constexpr.c" 1002)
  nil )
 (!pair  "constexpr_fundef_hasher"
  (!type already_seen 1895)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "hash_table<constexpr_fundef_hasher>"
  (!type already_seen 1896)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "hash_map<tree,int>"
  (!type already_seen 1890)
  (!srcfileloc  "cp/class.c" 3302)
  nil )
 (!pair  "subobject_offset_fn"
  (!type already_seen 2)
  (!srcfileloc  "cp/class.c" 104)
  nil )
 (!pair  "class_stack_node_t"
  (!type already_seen 1885)
  (!srcfileloc  "cp/class.c" 70)
  nil )
 (!pair  "cp_oacc_routine_data"
  (!type already_seen 1871)
  (!srcfileloc  "cp/parser.h" 379)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 1869)
  (!srcfileloc  "cp/parser.h" 375)
  nil )
 (!pair  "cp_unparsed_functions_entry"
  (!type already_seen 1866)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 1873)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 1867)
  (!srcfileloc  "cp/parser.h" 257)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 1860)
  (!srcfileloc  "cp/parser.h" 223)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 1863)
  (!srcfileloc  "cp/parser.h" 160)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 1864)
  (!srcfileloc  "cp/parser.h" 160)
  nil )
 (!pair  "cp_token_cache_ptr"
  (!type already_seen 70)
  (!srcfileloc  "cp/parser.h" 132)
  nil )
 (!pair  "cp_token_cache"
  (!type already_seen 71)
  (!srcfileloc  "cp/parser.h" 132)
  nil )
 (!pair  "vec<cp_token_position>"
  (!type already_seen 1859)
  (!srcfileloc  "cp/parser.h" 100)
  nil )
 (!pair  "cp_token"
  (!type already_seen 73)
  (!srcfileloc  "cp/parser.h" 86)
  nil )
 (!pair  "vec<cp_token,va_gc>"
  (!type already_seen 1857)
  (!srcfileloc  "cp/parser.h" 86)
  nil )
 (!pair  "cp_token_position"
  (!type already_seen 72)
  (!srcfileloc  "cp/parser.h" 76)
  nil )
 (!pair  "deferred_access_check"
  (!type already_seen 80)
  (!srcfileloc  "cp/parser.h" 34)
  nil )
 (!pair  "vec<deferred_access_check,va_gc>"
  (!type already_seen 78)
  (!srcfileloc  "cp/parser.h" 34)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 1848)
  (!srcfileloc  "cp/cp-tree.h" 6045)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 1847)
  (!srcfileloc  "cp/cp-tree.h" 6043)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5909)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5893)
  nil )
 (!pair  "ovl_op_info_t"
  (!type already_seen 1845)
  (!srcfileloc  "cp/cp-tree.h" 5866)
  nil )
 (!pair  "base_access"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5336)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5322)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-tree.h" 5202)
  nil )
 (!pair  "named_decl_hash"
  (!type already_seen 93)
  (!srcfileloc  "cp/cp-tree.h" 2777)
  nil )
 (!pair  "hash_table<named_decl_hash>"
  (!type already_seen 92)
  (!srcfileloc  "cp/cp-tree.h" 2777)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 542)
  (!srcfileloc  "cp/cp-tree.h" 2217)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 544)
  (!srcfileloc  "cp/cp-tree.h" 2132)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 543)
  (!srcfileloc  "cp/cp-tree.h" 2132)
  nil )
 (!pair  "cxx_int_tree_map_hasher"
  (!type already_seen 465)
  (!srcfileloc  "cp/cp-tree.h" 1929)
  nil )
 (!pair  "hash_table<cxx_int_tree_map_hasher>"
  (!type already_seen 464)
  (!srcfileloc  "cp/cp-tree.h" 1929)
  nil )
 (!pair  "named_label_hash"
  (!type already_seen 462)
  (!srcfileloc  "cp/cp-tree.h" 1922)
  nil )
 (!pair  "hash_table<named_label_hash>"
  (!type already_seen 461)
  (!srcfileloc  "cp/cp-tree.h" 1922)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 1823)
  (!srcfileloc  "cp/cp-tree.h" 1687)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 1828)
  (!srcfileloc  "cp/cp-tree.h" 1687)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 681)
  (!srcfileloc  "cp/cp-tree.h" 1496)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 682)
  (!srcfileloc  "cp/cp-tree.h" 1471)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 669)
  (!srcfileloc  "cp/cp-tree.h" 683)
  nil )
 (!pair  "cp_class_binding"
  (!type already_seen 88)
  (!srcfileloc  "cp/name-lookup.h" 184)
  nil )
 (!pair  "vec<cp_class_binding,va_gc>"
  (!type already_seen 87)
  (!srcfileloc  "cp/name-lookup.h" 184)
  nil )
 (!pair  "cp_binding_level"
  (!type already_seen 83)
  (!srcfileloc  "cp/name-lookup.h" 55)
  nil )
 (!pair  "cxx_binding"
  (!type already_seen 90)
  (!srcfileloc  "cp/name-lookup.h" 52)
  nil )
 (!pair  "bt_foreach_proc"
  (!type already_seen 2)
  (!srcfileloc  "cp/name-lookup.h" 32)
  nil )
 (!pair  "binding_entry"
  (!type already_seen 548)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 545)
  (!srcfileloc  "cp/name-lookup.h" 28)
  nil )
 (!pair  "matching_braces"
  (!type already_seen 1819)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "matching_brace_traits"
  (!type already_seen 1818)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "token_pair<matching_brace_traits>"
  (!type already_seen 1819)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "matching_parens"
  (!type already_seen 1817)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "matching_paren_traits"
  (!type already_seen 1816)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "token_pair<matching_paren_traits>"
  (!type already_seen 1817)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "c_parser"
  (!type already_seen 1810)
  (!srcfileloc  "c/c-parser.c" 258)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 1814)
  (!srcfileloc  "c/c-parser.c" 181)
  nil )
 (!pair  "c_token"
  (!type already_seen 1808)
  (!srcfileloc  "c/c-parser.c" 173)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 1790)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 1791)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 1787)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 1788)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "pragma_handler_2arg"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-pragma.h" 197)
  nil )
 (!pair  "pragma_handler_1arg"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-pragma.h" 194)
  nil )
 (!pair  "omp_clause_mask"
  (!type already_seen 1781)
  (!srcfileloc  "c-family/c-common.h" 1156)
  nil )
 (!pair  "wide_int_bitmask"
  (!type already_seen 1781)
  (!srcfileloc  "c-family/c-common.h" 1156)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 459)
  (!srcfileloc  "c-family/c-common.h" 569)
  nil )
 (!pair  "added_includes_t"
  (!type already_seen 1775)
  (!srcfileloc  "c-family/c-common.c" 8758)
  nil )
 (!pair  "hash_map<char*,per_file_includes_t*>"
  (!type already_seen 1775)
  (!srcfileloc  "c-family/c-common.c" 8758)
  nil )
 (!pair  "per_file_includes_t"
  (!type already_seen 1773)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "nofree_string_hash"
  (!type already_seen 1774)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "hash_set<char*,false,nofree_string_hash>"
  (!type already_seen 1773)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 1771)
  (!srcfileloc  "c-family/c-common.c" 7804)
  nil )
 (!pair  "tree_gc_vec"
  (!type already_seen 84)
  (!srcfileloc  "c-family/c-common.c" 7803)
  nil )
 (!pair  "vec<const_char_p,va_gc>"
  (!type already_seen 1769)
  (!srcfileloc  "c-family/c-common.c" 5524)
  nil )
 (!pair  "const_char_p"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.c" 5523)
  nil )
 (!pair  "c_binding_ptr"
  (!type already_seen 649)
  (!srcfileloc  "c/c-decl.c" 572)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 658)
  (!srcfileloc  "c/c-decl.c" 380)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 659)
  (!srcfileloc  "c/c-decl.c" 361)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 1752)
  (!srcfileloc  "c/c-tree.h" 175)
  nil )
 (!pair  "builtin_type"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/utils.c" 6000)
  nil )
 (!pair  "pad_type_hasher"
  (!type already_seen 1747)
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  nil )
 (!pair  "hash_table<pad_type_hasher>"
  (!type already_seen 1748)
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  nil )
 (!pair  "atomic_acces_t"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/trans.c" 4811)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 1741)
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  nil )
 (!pair  "loop_info"
  (!type already_seen 1740)
  (!srcfileloc  "ada/gcc-interface/trans.c" 209)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 1737)
  (!srcfileloc  "ada/gcc-interface/trans.c" 206)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 1736)
  (!srcfileloc  "ada/gcc-interface/trans.c" 194)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 474)
  (!srcfileloc  "ada/gcc-interface/trans.c" 116)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 475)
  (!srcfileloc  "ada/gcc-interface/trans.c" 112)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 1730)
  (!srcfileloc  "ada/gcc-interface/decl.c" 7584)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 1728)
  (!srcfileloc  "ada/gcc-interface/decl.c" 261)
  nil )
 (!pair  "dummy_type_hasher"
  (!type already_seen 1725)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  nil )
 (!pair  "hash_table<dummy_type_hasher>"
  (!type already_seen 1726)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  nil )
 (!pair  "va_gc_atomic"
  (!type already_seen 1722)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "Entity_Id"
  (!type already_seen 1723)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "vec<Entity_Id,va_gc_atomic>"
  (!type already_seen 1720)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "value_annotation_hasher"
  (!type already_seen 1717)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  nil )
 (!pair  "hash_table<value_annotation_hasher>"
  (!type already_seen 1718)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 1716)
  (!srcfileloc  "ada/gcc-interface/decl.c" 131)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 1715)
  (!srcfileloc  "ada/gcc-interface/decl.c" 113)
  nil )
 (!pair  "rewrite_fn"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/gigi.h" 962)
  nil )
 (!pair  "rdwr_map"
  (!type already_seen 1693)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "attr_access"
  (!type already_seen 1694)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "rdwr_access_hash"
  (!type already_seen 1692)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "hash_map<rdwr_access_hash,attr_access>"
  (!type already_seen 1693)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "hsa_decl_kernel_map_element"
  (!type already_seen 1688)
  (!srcfileloc  "hsa-common.c" 67)
  nil )
 (!pair  "vec<hsa_decl_kernel_map_element,va_gc>"
  (!type already_seen 1689)
  (!srcfileloc  "hsa-common.c" 67)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 1681)
  (!srcfileloc  "ipa-devirt.c" 2743)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 1680)
  (!srcfileloc  "ipa-devirt.c" 2742)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 1681)
  (!srcfileloc  "ipa-devirt.c" 2742)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 1677)
  (!srcfileloc  "ipa-devirt.c" 495)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 1676)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "odr_name_hasher"
  (!type already_seen 1675)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "hash_table<odr_name_hasher>"
  (!type already_seen 1676)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 1180)
  (!srcfileloc  "ipa-devirt.c" 202)
  nil )
 (!pair  "tree_type_map_cache_hasher"
  (!type already_seen 1660)
  (!srcfileloc  "ubsan.c" 82)
  nil )
 (!pair  "hash_table<tree_type_map_cache_hasher>"
  (!type already_seen 1661)
  (!srcfileloc  "ubsan.c" 82)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 1650)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 1650)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 1649)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 1648)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 1649)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "value_range"
  (!type already_seen 1127)
  (!srcfileloc  "value-range.h" 43)
  nil )
 (!pair  "fast_function_summary<ipa_fn_summary*,va_gc>"
  (!type already_seen 1641)
  (!srcfileloc  "ipa-fnsummary.h" 220)
  nil )
 (!pair  "ipa_fn_summary_t"
  (!type already_seen 1640)
  (!srcfileloc  "ipa-fnsummary.h" 218)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 1171)
  (!srcfileloc  "ipa-fnsummary.h" 164)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 1170)
  (!srcfileloc  "ipa-fnsummary.h" 164)
  nil )
 (!pair  "ipa_fn_summary"
  (!type already_seen 1160)
  (!srcfileloc  "ipa-fnsummary.h" 110)
  nil )
 (!pair  "predicate"
  (!type already_seen 1172)
  (!srcfileloc  "ipa-fnsummary.h" 76)
  nil )
 (!pair  "ipa_hints"
  (!type already_seen 2)
  (!srcfileloc  "ipa-fnsummary.h" 55)
  nil )
 (!pair  "clause_t"
  (!type already_seen 1034)
  (!srcfileloc  "ipa-predicate.h" 109)
  nil )
 (!pair  "conditions"
  (!type already_seen 1162)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "condition"
  (!type already_seen 1164)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 1163)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "expr_eval_ops"
  (!type already_seen 1165)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "expr_eval_op"
  (!type already_seen 1167)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "vec<expr_eval_op,va_gc>"
  (!type already_seen 1166)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "lto_file_decl_data_ptr"
  (!type already_seen 326)
  (!srcfileloc  "lto-streamer.h" 634)
  nil )
 (!pair  "lto_section"
  (!type already_seen 345)
  (!srcfileloc  "lto-streamer.h" 627)
  nil )
 (!pair  "ld_plugin_symbol_resolution"
  (!type already_seen 344)
  (!srcfileloc  "lto-streamer.h" 621)
  nil )
 (!pair  "hash_map<tree,ld_plugin_symbol_resolution>"
  (!type already_seen 343)
  (!srcfileloc  "lto-streamer.h" 621)
  nil )
 (!pair  "gcov_summary"
  (!type already_seen 341)
  (!srcfileloc  "lto-streamer.h" 618)
  nil )
 (!pair  "res_pair"
  (!type already_seen 340)
  (!srcfileloc  "lto-streamer.h" 615)
  nil )
 (!pair  "vec<res_pair>"
  (!type already_seen 339)
  (!srcfileloc  "lto-streamer.h" 615)
  nil )
 (!pair  "decl_state_hasher"
  (!type already_seen 336)
  (!srcfileloc  "lto-streamer.h" 594)
  nil )
 (!pair  "hash_table<decl_state_hasher>"
  (!type already_seen 335)
  (!srcfileloc  "lto-streamer.h" 594)
  nil )
 (!pair  "lto_out_decl_state_ptr"
  (!type already_seen 1572)
  (!srcfileloc  "lto-streamer.h" 565)
  nil )
 (!pair  "lto_in_decl_state_ptr"
  (!type already_seen 329)
  (!srcfileloc  "lto-streamer.h" 529)
  nil )
 (!pair  "lto_symtab_encoder_t"
  (!type already_seen 332)
  (!srcfileloc  "lto-streamer.h" 495)
  nil )
 (!pair  "lto_free_section_data_f"
  (!type already_seen 2)
  (!srcfileloc  "lto-streamer.h" 297)
  nil )
 (!pair  "lto_get_section_data_f"
  (!type already_seen 2)
  (!srcfileloc  "lto-streamer.h" 288)
  nil )
 (!pair  "ld_plugin_symbol_resolution_t"
  (!type already_seen 2)
  (!srcfileloc  "lto-streamer.h" 256)
  nil )
 (!pair  "lto_decl_flags_t"
  (!type already_seen 8)
  (!srcfileloc  "lto-streamer.h" 126)
  nil )
 (!pair  "cgraph_node_queue"
  (!type already_seen 1617)
  (!srcfileloc  "trans-mem.c" 4180)
  nil )
 (!pair  "vec<cgraph_node*>"
  (!type already_seen 1617)
  (!srcfileloc  "trans-mem.c" 4180)
  nil )
 (!pair  "tm_wrapper_hasher"
  (!type already_seen 1597)
  (!srcfileloc  "trans-mem.c" 465)
  nil )
 (!pair  "hash_table<tm_wrapper_hasher>"
  (!type already_seen 1598)
  (!srcfileloc  "trans-mem.c" 465)
  nil )
 (!pair  "function_summary<ipcp_transformation*>"
  (!type already_seen 1595)
  (!srcfileloc  "ipa-prop.h" 904)
  nil )
 (!pair  "ipa_edge_args_sum_t"
  (!type already_seen 1592)
  (!srcfileloc  "ipa-prop.h" 872)
  nil )
 (!pair  "ipa_node_params_t"
  (!type already_seen 1590)
  (!srcfileloc  "ipa-prop.h" 850)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context,va_gc>"
  (!type already_seen 1139)
  (!srcfileloc  "ipa-prop.h" 804)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 1116)
  (!srcfileloc  "ipa-prop.h" 803)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 1137)
  (!srcfileloc  "ipa-prop.h" 803)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 1135)
  (!srcfileloc  "ipa-prop.h" 791)
  nil )
 (!pair  "ipcp_transformation"
  (!type already_seen 1588)
  (!srcfileloc  "ipa-prop.h" 759)
  nil )
 (!pair  "ipa_vr"
  (!type already_seen 1583)
  (!srcfileloc  "ipa-prop.h" 756)
  nil )
 (!pair  "vec<ipa_vr,va_gc>"
  (!type already_seen 1586)
  (!srcfileloc  "ipa-prop.h" 756)
  nil )
 (!pair  "vec<ipa_bits*,va_gc>"
  (!type already_seen 1584)
  (!srcfileloc  "ipa-prop.h" 754)
  nil )
 (!pair  "ipa_agg_replacement_value"
  (!type already_seen 1143)
  (!srcfileloc  "ipa-prop.h" 752)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context>"
  (!type already_seen 1115)
  (!srcfileloc  "ipa-prop.h" 484)
  nil )
 (!pair  "vec<tree>"
  (!type already_seen 1114)
  (!srcfileloc  "ipa-prop.h" 481)
  nil )
 (!pair  "ipa_param_descriptor"
  (!type already_seen 1111)
  (!srcfileloc  "ipa-prop.h" 472)
  nil )
 (!pair  "vec<ipa_param_descriptor,va_gc>"
  (!type already_seen 1110)
  (!srcfileloc  "ipa-prop.h" 472)
  nil )
 (!pair  "ipa_node_params"
  (!type already_seen 1108)
  (!srcfileloc  "ipa-prop.h" 465)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 1120)
  (!srcfileloc  "ipa-prop.h" 175)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 1119)
  (!srcfileloc  "ipa-prop.h" 175)
  nil )
 (!pair  "value_range_equiv"
  (!type already_seen 1581)
  (!srcfileloc  "tree-vrp.h" 78)
  nil )
 (!pair  "TRAILING_WIDE_INT_ACCESSOR"
  (!type already_seen 1580)
  (!srcfileloc  "tree-ssanames.h" 52)
  nil )
 (!pair  "vec<gimple*,va_gc>"
  (!type already_seen 1577)
  (!srcfileloc  "tree-phinodes.c" 70)
  nil )
 (!pair  "unsigned"
  (!type already_seen 1576)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "hash_map<char*,unsigned>"
  (!type already_seen 1574)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1569)
  (!srcfileloc  "passes.c" 990)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 9)
  (!srcfileloc  "passes.c" 870)
  nil )
 (!pair  "dllimport_hasher"
  (!type already_seen 1554)
  (!srcfileloc  "config/i386/i386.c" 11331)
  nil )
 (!pair  "hash_table<dllimport_hasher>"
  (!type already_seen 1555)
  (!srcfileloc  "config/i386/i386.c" 11331)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 407)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 570)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 569)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "def_operand_p"
  (!type already_seen 24)
  (!srcfileloc  "tree-ssa-operands.h" 27)
  nil )
 (!pair  "scev_info_hasher"
  (!type already_seen 1524)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "hash_table<scev_info_hasher>"
  (!type already_seen 1525)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1484)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1485)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "treemple"
  (!type already_seen 1472)
  (!srcfileloc  "tree-eh.c" 53)
  nil )
 (!pair  "tm_restart_hasher"
  (!type already_seen 411)
  (!srcfileloc  "gimple-ssa.h" 114)
  nil )
 (!pair  "hash_table<tm_restart_hasher>"
  (!type already_seen 410)
  (!srcfileloc  "gimple-ssa.h" 114)
  nil )
 (!pair  "ssa_name_hasher"
  (!type already_seen 402)
  (!srcfileloc  "gimple-ssa.h" 96)
  nil )
 (!pair  "hash_table<ssa_name_hasher>"
  (!type already_seen 401)
  (!srcfileloc  "gimple-ssa.h" 96)
  nil )
 (!pair  "hash_map<tree,tree>"
  (!type already_seen 399)
  (!srcfileloc  "gimple-ssa.h" 84)
  nil )
 (!pair  "elt_t"
  (!type already_seen 1469)
  (!srcfileloc  "gimple.h" 1646)
  nil )
 (!pair  "gimple_seq_node"
  (!type already_seen 280)
  (!srcfileloc  "gimple.h" 28)
  nil )
 (!pair  "tm_clone_hasher"
  (!type already_seen 1462)
  (!srcfileloc  "varasm.c" 6091)
  nil )
 (!pair  "hash_table<tm_clone_hasher>"
  (!type already_seen 1463)
  (!srcfileloc  "varasm.c" 6091)
  nil )
 (!pair  "const_rtx_desc_hasher"
  (!type already_seen 1013)
  (!srcfileloc  "varasm.c" 3679)
  nil )
 (!pair  "hash_table<const_rtx_desc_hasher>"
  (!type already_seen 1012)
  (!srcfileloc  "varasm.c" 3679)
  nil )
 (!pair  "tree_descriptor_hasher"
  (!type already_seen 1079)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "hash_table<tree_descriptor_hasher>"
  (!type already_seen 1458)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "object_block_hasher"
  (!type already_seen 1454)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "hash_table<object_block_hasher>"
  (!type already_seen 1455)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "section_hasher"
  (!type already_seen 1451)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "hash_table<section_hasher>"
  (!type already_seen 1452)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "tree_vec_map_cache_hasher"
  (!type already_seen 1445)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "hash_table<tree_vec_map_cache_hasher>"
  (!type already_seen 1446)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "tree_decl_map_cache_hasher"
  (!type already_seen 938)
  (!srcfileloc  "tree.c" 239)
  nil )
 (!pair  "hash_table<tree_decl_map_cache_hasher>"
  (!type already_seen 1443)
  (!srcfileloc  "tree.c" 239)
  nil )
 (!pair  "cl_option_hasher"
  (!type already_seen 1440)
  (!srcfileloc  "tree.c" 233)
  nil )
 (!pair  "hash_table<cl_option_hasher>"
  (!type already_seen 1441)
  (!srcfileloc  "tree.c" 233)
  nil )
 (!pair  "poly_int_cst_hasher"
  (!type already_seen 1437)
  (!srcfileloc  "tree.c" 217)
  nil )
 (!pair  "hash_table<poly_int_cst_hasher>"
  (!type already_seen 1438)
  (!srcfileloc  "tree.c" 217)
  nil )
 (!pair  "int_cst_hasher"
  (!type already_seen 1434)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "hash_table<int_cst_hasher>"
  (!type already_seen 1435)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "type_cache_hasher"
  (!type already_seen 1431)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "hash_table<type_cache_hasher>"
  (!type already_seen 1432)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "block_info"
  (!type already_seen 1421)
  (!srcfileloc  "reg-stack.c" 219)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1419)
  (!srcfileloc  "reg-stack.c" 206)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1413)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1412)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1411)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1410)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "libfunc_decl_hasher"
  (!type already_seen 1403)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "hash_table<libfunc_decl_hasher>"
  (!type already_seen 1404)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1393)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1394)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1393)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1392)
  (!srcfileloc  "gcse.c" 620)
  nil )
 (!pair  "vec<rtx_insn*>"
  (!type already_seen 1392)
  (!srcfileloc  "gcse.c" 620)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1387)
  (!srcfileloc  "gcse.c" 306)
  nil )
 (!pair  "user_struct"
  (!type already_seen 1383)
  (!srcfileloc  "ggc-tests.c" 399)
  nil )
 (!pair  "test_node"
  (!type already_seen 1381)
  (!srcfileloc  "ggc-tests.c" 334)
  nil )
 (!pair  "some_other_subclass"
  (!type already_seen 1379)
  (!srcfileloc  "ggc-tests.c" 272)
  nil )
 (!pair  "some_subclass"
  (!type already_seen 1377)
  (!srcfileloc  "ggc-tests.c" 261)
  nil )
 (!pair  "example_base"
  (!type already_seen 1375)
  (!srcfileloc  "ggc-tests.c" 236)
  nil )
 (!pair  "test_of_union"
  (!type already_seen 1372)
  (!srcfileloc  "ggc-tests.c" 145)
  nil )
 (!pair  "test_other"
  (!type already_seen 926)
  (!srcfileloc  "ggc-tests.c" 139)
  nil )
 (!pair  "test_of_length"
  (!type already_seen 1369)
  (!srcfileloc  "ggc-tests.c" 79)
  nil )
 (!pair  "test_struct"
  (!type already_seen 924)
  (!srcfileloc  "ggc-tests.c" 53)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1366)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1365)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1366)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1364)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1363)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1364)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1360)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1359)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1360)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "tree_hash"
  (!type already_seen 942)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "hash_map<tree_hash,tree>"
  (!type already_seen 1356)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1313)
  (!srcfileloc  "function.c" 1261)
  nil )
 (!pair  "temp_address_hasher"
  (!type already_seen 1347)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "hash_table<temp_address_hasher>"
  (!type already_seen 1348)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "insn_cache_hasher"
  (!type already_seen 1343)
  (!srcfileloc  "function.c" 127)
  nil )
 (!pair  "hash_table<insn_cache_hasher>"
  (!type already_seen 1344)
  (!srcfileloc  "function.c" 127)
  nil )
 (!pair  "by_pieces_constfn"
  (!type already_seen 2)
  (!srcfileloc  "expr.h" 110)
  nil )
 (!pair  "sepops"
  (!type already_seen 1342)
  (!srcfileloc  "expr.h" 55)
  nil )
 (!pair  "duplicate_eh_regions_map"
  (!type already_seen 2)
  (!srcfileloc  "except.h" 247)
  nil )
 (!pair  "hash_map<gimple*,int>"
  (!type already_seen 377)
  (!srcfileloc  "except.h" 204)
  nil )
 (!pair  "vec<eh_landing_pad,va_gc>"
  (!type already_seen 375)
  (!srcfileloc  "except.h" 200)
  nil )
 (!pair  "vec<eh_region,va_gc>"
  (!type already_seen 373)
  (!srcfileloc  "except.h" 197)
  nil )
 (!pair  "eh_region"
  (!type already_seen 360)
  (!srcfileloc  "except.h" 184)
  nil )
 (!pair  "eh_catch"
  (!type already_seen 364)
  (!srcfileloc  "except.h" 183)
  nil )
 (!pair  "eh_landing_pad"
  (!type already_seen 368)
  (!srcfileloc  "except.h" 182)
  nil )
 (!pair  "twi"
  (!type already_seen 919)
  (!srcfileloc  "emit-rtl.c" 773)
  nil )
 (!pair  "const_fixed_hasher"
  (!type already_seen 1332)
  (!srcfileloc  "emit-rtl.c" 189)
  nil )
 (!pair  "hash_table<const_fixed_hasher>"
  (!type already_seen 1333)
  (!srcfileloc  "emit-rtl.c" 189)
  nil )
 (!pair  "const_double_hasher"
  (!type already_seen 1329)
  (!srcfileloc  "emit-rtl.c" 180)
  nil )
 (!pair  "hash_table<const_double_hasher>"
  (!type already_seen 1330)
  (!srcfileloc  "emit-rtl.c" 180)
  nil )
 (!pair  "reg_attr_hasher"
  (!type already_seen 1326)
  (!srcfileloc  "emit-rtl.c" 171)
  nil )
 (!pair  "hash_table<reg_attr_hasher>"
  (!type already_seen 1327)
  (!srcfileloc  "emit-rtl.c" 171)
  nil )
 (!pair  "const_poly_int_hasher"
  (!type already_seen 1323)
  (!srcfileloc  "emit-rtl.c" 162)
  nil )
 (!pair  "hash_table<const_poly_int_hasher>"
  (!type already_seen 1324)
  (!srcfileloc  "emit-rtl.c" 162)
  nil )
 (!pair  "const_wide_int_hasher"
  (!type already_seen 1320)
  (!srcfileloc  "emit-rtl.c" 152)
  nil )
 (!pair  "hash_table<const_wide_int_hasher>"
  (!type already_seen 1321)
  (!srcfileloc  "emit-rtl.c" 152)
  nil )
 (!pair  "const_int_hasher"
  (!type already_seen 1317)
  (!srcfileloc  "emit-rtl.c" 144)
  nil )
 (!pair  "hash_table<const_int_hasher>"
  (!type already_seen 1318)
  (!srcfileloc  "emit-rtl.c" 144)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1314)
  (!srcfileloc  "emit-rtl.h" 145)
  nil )
 (!pair  "rtx_note"
  (!type already_seen 755)
  (!srcfileloc  "emit-rtl.h" 125)
  nil )
 (!pair  "predefined_function_abi"
  (!type already_seen 914)
  (!srcfileloc  "emit-rtl.h" 74)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1308)
  (!srcfileloc  "emit-rtl.h" 24)
  nil )
 (!pair  "elem_op_func"
  (!type already_seen 2)
  (!srcfileloc  "tree-vect-generic.c" 123)
  nil )
 (!pair  "loc_list_hash_type"
  (!type already_seen 1304)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1303)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1304)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1301)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1300)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1301)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "inline_entry_data_hasher"
  (!type already_seen 1297)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "hash_table<inline_entry_data_hasher>"
  (!type already_seen 1298)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1289)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1287)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1286)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1287)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "sym_off_pair"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "hash_map<tree,sym_off_pair>"
  (!type already_seen 1283)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "addr_hasher"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "hash_table<addr_hasher>"
  (!type already_seen 1280)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1273)
  (!srcfileloc  "dwarf2out.c" 3606)
  nil )
 (!pair  "dw_ranges_by_label"
  (!type already_seen 1231)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "vec<dw_ranges_by_label,va_gc>"
  (!type already_seen 1271)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "dw_ranges"
  (!type already_seen 1229)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "vec<dw_ranges,va_gc>"
  (!type already_seen 1269)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1267)
  (!srcfileloc  "dwarf2out.c" 3576)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1265)
  (!srcfileloc  "dwarf2out.c" 3568)
  nil )
 (!pair  "vec<dw_line_info_table*,va_gc>"
  (!type already_seen 1263)
  (!srcfileloc  "dwarf2out.c" 3560)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1225)
  (!srcfileloc  "dwarf2out.c" 3553)
  nil )
 (!pair  "dw_loc_list_hasher"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "hash_table<dw_loc_list_hasher>"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1259)
  (!srcfileloc  "dwarf2out.c" 3523)
  nil )
 (!pair  "decl_loc_hasher"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "hash_table<decl_loc_hasher>"
  (!type already_seen 1257)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 3482)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 3443)
  nil )
 (!pair  "block_die_hasher"
  (!type already_seen 1247)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "hash_table<block_die_hasher>"
  (!type already_seen 1248)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "variable_value_hasher"
  (!type already_seen 1244)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "hash_table<variable_value_hasher>"
  (!type already_seen 1245)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "vec<dw_die_ref,va_gc>"
  (!type already_seen 1241)
  (!srcfileloc  "dwarf2out.c" 3415)
  nil )
 (!pair  "decl_die_hasher"
  (!type already_seen 1238)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "hash_table<decl_die_hasher>"
  (!type already_seen 1239)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "dwarf_file_hasher"
  (!type already_seen 1235)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "hash_table<dwarf_file_hasher>"
  (!type already_seen 1236)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1234)
  (!srcfileloc  "dwarf2out.c" 3194)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1232)
  (!srcfileloc  "dwarf2out.c" 3186)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1230)
  (!srcfileloc  "dwarf2out.c" 3158)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1228)
  (!srcfileloc  "dwarf2out.c" 3136)
  nil )
 (!pair  "die_node"
  (!type already_seen 497)
  (!srcfileloc  "dwarf2out.c" 3105)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 503)
  (!srcfileloc  "dwarf2out.c" 3083)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 500)
  (!srcfileloc  "dwarf2out.c" 3080)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 504)
  (!srcfileloc  "dwarf2out.c" 3069)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1223)
  (!srcfileloc  "dwarf2out.c" 3019)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1222)
  (!srcfileloc  "dwarf2out.c" 2977)
  nil )
 (!pair  "dw_offset"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 2931)
  nil )
 (!pair  "dw_loc_list_node"
  (!type already_seen 495)
  (!srcfileloc  "dwarf2out.c" 1334)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 491)
  (!srcfileloc  "dwarf2out.c" 1308)
  nil )
 (!pair  "var_loc_view"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 1300)
  nil )
 (!pair  "indirect_string_hasher"
  (!type already_seen 1219)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "hash_table<indirect_string_hasher>"
  (!type already_seen 1220)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1217)
  (!srcfileloc  "dwarf2out.c" 213)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1210)
  (!srcfileloc  "dwarf2cfi.c" 195)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1208)
  (!srcfileloc  "dwarf2cfi.c" 193)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 522)
  (!srcfileloc  "dwarf2cfi.c" 66)
  nil )
 (!pair  "hash_map<char*,tree>"
  (!type already_seen 1206)
  (!srcfileloc  "dwarf2asm.c" 865)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 488)
  (!srcfileloc  "dwarf2out.h" 256)
  nil )
 (!pair  "dw_discr_value"
  (!type already_seen 517)
  (!srcfileloc  "dwarf2out.h" 235)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 509)
  (!srcfileloc  "dwarf2out.h" 215)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 479)
  (!srcfileloc  "dwarf2out.h" 70)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 481)
  (!srcfileloc  "dwarf2out.h" 68)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 482)
  (!srcfileloc  "dwarf2out.h" 68)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 485)
  (!srcfileloc  "dwarf2out.h" 57)
  nil )
 (!pair  "wide_int_ptr"
  (!type already_seen 505)
  (!srcfileloc  "dwarf2out.h" 33)
  nil )
 (!pair  "dw_discr_list_ref"
  (!type already_seen 519)
  (!srcfileloc  "dwarf2out.h" 32)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 494)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 486)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 483)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 489)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 496)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 496)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "ipa_sra_function_summaries"
  (!type already_seen 1195)
  (!srcfileloc  "ipa-sra.c" 376)
  nil )
 (!pair  "isra_param_desc"
  (!type already_seen 1188)
  (!srcfileloc  "ipa-sra.c" 254)
  nil )
 (!pair  "vec<isra_param_desc,va_gc>"
  (!type already_seen 1192)
  (!srcfileloc  "ipa-sra.c" 254)
  nil )
 (!pair  "isra_func_summary"
  (!type already_seen 1190)
  (!srcfileloc  "ipa-sra.c" 238)
  nil )
 (!pair  "vec<param_access*,va_gc>"
  (!type already_seen 1186)
  (!srcfileloc  "ipa-sra.c" 165)
  nil )
 (!pair  "ipa_adjusted_param"
  (!type already_seen 840)
  (!srcfileloc  "ipa-param-manipulation.h" 269)
  nil )
 (!pair  "vec<ipa_adjusted_param,va_gc>"
  (!type already_seen 839)
  (!srcfileloc  "ipa-param-manipulation.h" 269)
  nil )
 (!pair  "odr_type"
  (!type already_seen 1179)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 1178)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "ipa_vr_ggc_hash_traits"
  (!type already_seen 1103)
  (!srcfileloc  "ipa-prop.c" 151)
  nil )
 (!pair  "hash_table<ipa_vr_ggc_hash_traits>"
  (!type already_seen 1104)
  (!srcfileloc  "ipa-prop.c" 151)
  nil )
 (!pair  "ipa_bit_ggc_hash_traits"
  (!type already_seen 1100)
  (!srcfileloc  "ipa-prop.c" 105)
  nil )
 (!pair  "hash_table<ipa_bit_ggc_hash_traits>"
  (!type already_seen 1101)
  (!srcfileloc  "ipa-prop.c" 105)
  nil )
 (!pair  "function_version_hasher"
  (!type already_seen 1096)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "hash_table<function_version_hasher>"
  (!type already_seen 1097)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "vec<alias_set_entry*,va_gc>"
  (!type already_seen 1090)
  (!srcfileloc  "alias.c" 279)
  nil )
 (!pair  "alias_set_hash"
  (!type already_seen 1085)
  (!srcfileloc  "alias.c" 148)
  nil )
 (!pair  "hash_map<alias_set_hash,int>"
  (!type already_seen 1086)
  (!srcfileloc  "alias.c" 148)
  nil )
 (!pair  "hash_set<cgraph_node*>"
  (!type already_seen 1077)
  (!srcfileloc  "cgraph.h" 2547)
  nil )
 (!pair  "FILE"
  (!type already_seen 1076)
  (!srcfileloc  "cgraph.h" 2543)
  nil )
 (!pair  "symbol_priority_map"
  (!type already_seen 1041)
  (!srcfileloc  "cgraph.h" 2541)
  nil )
 (!pair  "hash_map<symtab_node*,symbol_priority_map>"
  (!type already_seen 1074)
  (!srcfileloc  "cgraph.h" 2541)
  nil )
 (!pair  "asmname_hasher"
  (!type already_seen 1065)
  (!srcfileloc  "cgraph.h" 2538)
  nil )
 (!pair  "hash_table<asmname_hasher>"
  (!type already_seen 1072)
  (!srcfileloc  "cgraph.h" 2538)
  nil )
 (!pair  "section_name_hasher"
  (!type already_seen 1039)
  (!srcfileloc  "cgraph.h" 2535)
  nil )
 (!pair  "hash_table<section_name_hasher>"
  (!type already_seen 1070)
  (!srcfileloc  "cgraph.h" 2535)
  nil )
 (!pair  "vec<int>"
  (!type already_seen 1068)
  (!srcfileloc  "cgraph.h" 2505)
  nil )
 (!pair  "cgraph_2node_hook_list"
  (!type already_seen 1063)
  (!srcfileloc  "cgraph.h" 2425)
  nil )
 (!pair  "cgraph_2edge_hook_list"
  (!type already_seen 1061)
  (!srcfileloc  "cgraph.h" 2419)
  nil )
 (!pair  "varpool_node_hook_list"
  (!type already_seen 1059)
  (!srcfileloc  "cgraph.h" 2398)
  nil )
 (!pair  "cgraph_node_hook_list"
  (!type already_seen 1057)
  (!srcfileloc  "cgraph.h" 2391)
  nil )
 (!pair  "cgraph_edge_hook_list"
  (!type already_seen 1055)
  (!srcfileloc  "cgraph.h" 2384)
  nil )
 (!pair  "symbol_table"
  (!type already_seen 1066)
  (!srcfileloc  "cgraph.h" 2252)
  nil )
 (!pair  "cgraph_2node_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2202)
  nil )
 (!pair  "cgraph_2edge_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2201)
  nil )
 (!pair  "varpool_node_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2200)
  nil )
 (!pair  "cgraph_node_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2199)
  nil )
 (!pair  "cgraph_edge_hook"
  (!type already_seen 2)
  (!srcfileloc  "cgraph.h" 2198)
  nil )
 (!pair  "asm_node"
  (!type already_seen 1053)
  (!srcfileloc  "cgraph.h" 2171)
  nil )
 (!pair  "availability"
  (!type already_seen 1052)
  (!srcfileloc  "cgraph.h" 2053)
  nil )
 (!pair  "cgraph_indirect_call_info"
  (!type already_seen 817)
  (!srcfileloc  "cgraph.h" 1946)
  nil )
 (!pair  "gcall"
  (!type already_seen 775)
  (!srcfileloc  "cgraph.h" 1943)
  nil )
 (!pair  "ipa_polymorphic_call_context"
  (!type already_seen 818)
  (!srcfileloc  "cgraph.h" 1618)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1049)
  (!srcfileloc  "cgraph.h" 1565)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1047)
  (!srcfileloc  "cgraph.h" 1564)
  nil )
 (!pair  "cgraph_node_set_def"
  (!type already_seen 1046)
  (!srcfileloc  "cgraph.h" 1564)
  nil )
 (!pair  "cgraph_thunk_info"
  (!type already_seen 844)
  (!srcfileloc  "cgraph.h" 1472)
  nil )
 (!pair  "cgraph_clone_info"
  (!type already_seen 831)
  (!srcfileloc  "cgraph.h" 1471)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 826)
  (!srcfileloc  "cgraph.h" 1464)
  nil )
 (!pair  "cgraph_simd_clone"
  (!type already_seen 823)
  (!srcfileloc  "cgraph.h" 1457)
  nil )
 (!pair  "cgraph_edge_hasher"
  (!type already_seen 821)
  (!srcfileloc  "cgraph.h" 1451)
  nil )
 (!pair  "hash_table<cgraph_edge_hasher>"
  (!type already_seen 820)
  (!srcfileloc  "cgraph.h" 1451)
  nil )
 (!pair  "vec<cgraph_edge*>"
  (!type already_seen 1045)
  (!srcfileloc  "cgraph.h" 1204)
  nil )
 (!pair  "cgraph_edge"
  (!type already_seen 815)
  (!srcfileloc  "cgraph.h" 1179)
  nil )
 (!pair  "cgraph_function_version_info"
  (!type already_seen 1043)
  (!srcfileloc  "cgraph.h" 872)
  nil )
 (!pair  "cgraph_simd_clone_arg"
  (!type already_seen 825)
  (!srcfileloc  "cgraph.h" 862)
  nil )
 (!pair  "cgraph_node"
  (!type already_seen 812)
  (!srcfileloc  "cgraph.h" 856)
  nil )
 (!pair  "ipa_param_performed_split"
  (!type already_seen 843)
  (!srcfileloc  "cgraph.h" 758)
  nil )
 (!pair  "vec<ipa_param_performed_split,va_gc>"
  (!type already_seen 842)
  (!srcfileloc  "cgraph.h" 758)
  nil )
 (!pair  "ipa_param_adjustments"
  (!type already_seen 837)
  (!srcfileloc  "cgraph.h" 746)
  nil )
 (!pair  "vec<ipa_replace_map*,va_gc>"
  (!type already_seen 833)
  (!srcfileloc  "cgraph.h" 744)
  nil )
 (!pair  "section_hash_entry"
  (!type already_seen 347)
  (!srcfileloc  "cgraph.h" 623)
  nil )
 (!pair  "ipa_ref_list"
  (!type already_seen 319)
  (!srcfileloc  "cgraph.h" 607)
  nil )
 (!pair  "ipa_ref"
  (!type already_seen 323)
  (!srcfileloc  "cgraph.h" 169)
  nil )
 (!pair  "explicit"
  (!type already_seen 1040)
  (!srcfileloc  "cgraph.h" 113)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 827)
  (!srcfileloc  "cgraph.h" 38)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 828)
  (!srcfileloc  "cgraph.h" 38)
  nil )
 (!pair  "vec<ipa_ref_ptr>"
  (!type already_seen 325)
  (!srcfileloc  "ipa-ref.h" 137)
  nil )
 (!pair  "vec<ipa_ref_t,va_gc>"
  (!type already_seen 322)
  (!srcfileloc  "ipa-ref.h" 134)
  nil )
 (!pair  "ipa_ref_ptr"
  (!type already_seen 324)
  (!srcfileloc  "ipa-ref.h" 71)
  nil )
 (!pair  "ipa_ref_t"
  (!type already_seen 323)
  (!srcfileloc  "ipa-ref.h" 70)
  nil )
 (!pair  "symtab_node"
  (!type already_seen 318)
  (!srcfileloc  "ipa-ref.h" 58)
  nil )
 (!pair  "__assert_gimple_bb_smaller_rtl_bb"
  (!type array 2118 nil  gc_unused "(int) sizeof (struct rtl_bb_info)\n               - (int) sizeof (struct gimple_bb_info)" 
   (!type already_seen 2)
  )
  (!srcfileloc  "basic-block.h" 162)
  nil )
 (!pair  "vec<edge,va_gc>"
  (!type already_seen 270)
  (!srcfileloc  "basic-block.h" 119)
  nil )
 (!pair  "edge_def"
  (!type already_seen 272)
  (!srcfileloc  "basic-block.h" 53)
  nil )
 (!pair  "cselib_expand_callback"
  (!type already_seen 2)
  (!srcfileloc  "cselib.h" 88)
  nil )
 (!pair  "sreal"
  (!type already_seen 1032)
  (!srcfileloc  "profile-count.h" 1206)
  nil )
 (!pair  "uint32_t"
  (!type already_seen 1034)
  (!srcfileloc  "profile-count.h" 807)
  nil )
 (!pair  "profile_probability"
  (!type already_seen 1033)
  (!srcfileloc  "profile-count.h" 634)
  nil )
 (!pair  "profile_count"
  (!type already_seen 299)
  (!srcfileloc  "cfg.h" 76)
  nil )
 (!pair  "vec<basic_block,va_gc>"
  (!type already_seen 385)
  (!srcfileloc  "cfg.h" 45)
  nil )
 (!pair  "loop_exit_hasher"
  (!type already_seen 416)
  (!srcfileloc  "cfgloop.h" 331)
  nil )
 (!pair  "hash_table<loop_exit_hasher>"
  (!type already_seen 415)
  (!srcfileloc  "cfgloop.h" 331)
  nil )
 (!pair  "vec<loop_p,va_gc>"
  (!type already_seen 277)
  (!srcfileloc  "cfgloop.h" 142)
  nil )
 (!pair  "loop_p"
  (!type already_seen 273)
  (!srcfileloc  "cfgloop.h" 95)
  nil )
 (!pair  "noswitch_section_callback"
  (!type already_seen 2)
  (!srcfileloc  "output.h" 482)
  nil )
 (!pair  "unnamed_section_callback"
  (!type already_seen 2)
  (!srcfileloc  "output.h" 456)
  nil )
 (!pair  "__gcc_host_wide_int__"
  (!type already_seen 2)
  (!srcfileloc  "hwint.h" 77)
  nil )
 (!pair  "used_type_hasher"
  (!type already_seen 1019)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "hash_table<used_type_hasher>"
  (!type already_seen 1020)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "hash_set<tree>"
  (!type already_seen 478)
  (!srcfileloc  "function.h" 298)
  nil )
 (!pair  "callinfo_dalloc"
  (!type already_seen 424)
  (!srcfileloc  "function.h" 233)
  nil )
 (!pair  "vec<callinfo_dalloc,va_gc>"
  (!type already_seen 423)
  (!srcfileloc  "function.h" 233)
  nil )
 (!pair  "callinfo_callee"
  (!type already_seen 421)
  (!srcfileloc  "function.h" 229)
  nil )
 (!pair  "vec<callinfo_callee,va_gc>"
  (!type already_seen 420)
  (!srcfileloc  "function.h" 229)
  nil )
 (!pair  "vec<call_site_record,va_gc>"
  (!type already_seen 1005)
  (!srcfileloc  "function.h" 147)
  nil )
 (!pair  "vec<uchar,va_gc>"
  (!type already_seen 381)
  (!srcfileloc  "function.h" 145)
  nil )
 (!pair  "rtx_code_label"
  (!type already_seen 371)
  (!srcfileloc  "function.h" 140)
  nil )
 (!pair  "call_site_record"
  (!type already_seen 1004)
  (!srcfileloc  "function.h" 134)
  nil )
 (!pair  "vec<rtx_insn*,va_gc>"
  (!type already_seen 1000)
  (!srcfileloc  "function.h" 131)
  nil )
 (!pair  "ht_cb"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/symtab.h" 89)
  nil )
 (!pair  "hashnode"
  (!type already_seen 16)
  (!srcfileloc  "../libcpp/include/symtab.h" 41)
  nil )
 (!pair  "cpp_hash_table"
  (!type already_seen 992)
  (!srcfileloc  "../libcpp/include/symtab.h" 40)
  nil )
 (!pair  "ht_identifier_ptr"
  (!type already_seen 16)
  (!srcfileloc  "../libcpp/include/symtab.h" 30)
  nil )
 (!pair  "ht_identifier"
  (!type already_seen 15)
  (!srcfileloc  "../libcpp/include/symtab.h" 29)
  nil )
 (!pair  "libfunc_hasher"
  (!type already_seen 618)
  (!srcfileloc  "libfuncs.h" 61)
  nil )
 (!pair  "hash_table<libfunc_hasher>"
  (!type already_seen 617)
  (!srcfileloc  "libfuncs.h" 61)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 987)
  (!srcfileloc  "tree-core.h" 2236)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 975)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 989)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 978)
  (!srcfileloc  "tree-core.h" 2107)
  nil )
 (!pair  "vec<tree,va_gc>"
  (!type already_seen 85)
  (!srcfileloc  "tree-core.h" 1583)
  nil )
 (!pair  "constructor_elt"
  (!type already_seen 580)
  (!srcfileloc  "tree-core.h" 1449)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 579)
  (!srcfileloc  "tree-core.h" 1449)
  nil )
 (!pair  "walk_tree_lh"
  (!type already_seen 2)
  (!srcfileloc  "tree-core.h" 938)
  nil )
 (!pair  "walk_tree_fn"
  (!type already_seen 2)
  (!srcfileloc  "tree-core.h" 934)
  nil )
 (!pair  "priority_type"
  (!type already_seen 2)
  (!srcfileloc  "tree-core.h" 931)
  nil )
 (!pair  "poly_int_traits"
  (!type already_seen 971)
  (!srcfileloc  "tree.h" 6057)
  nil )
 (!pair  "typename"
  (!type already_seen 971)
  (!srcfileloc  "tree.h" 6057)
  nil )
 (!pair  "widest2_int_cst"
  (!type already_seen 968)
  (!srcfileloc  "tree.h" 5807)
  nil )
 (!pair  "generic_wide_int<wi::extended_tree<WIDE_INT_MAX_PRECISION*>>"
  (!type already_seen 968)
  (!srcfileloc  "tree.h" 5806)
  nil )
 (!pair  "unextended"
  (!type already_seen 967)
  (!srcfileloc  "tree.h" 5799)
  nil )
 (!pair  "generic_wide_int<unextended_tree>"
  (!type already_seen 967)
  (!srcfileloc  "tree.h" 5799)
  nil )
 (!pair  "extended"
  (!type already_seen 964)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "N"
  (!type already_seen 966)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "extended_tree<N"
  (!type already_seen 965)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "generic_wide_int<extended_tree<N>>"
  (!type already_seen 964)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "tree_to_poly_wide_ref"
  (!type already_seen 962)
  (!srcfileloc  "tree.h" 5783)
  nil )
 (!pair  "unextended_tree"
  (!type already_seen 951)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "generic_wide_int<unextended_tree"
  (!type already_seen 963)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<unextended_tree>>"
  (!type already_seen 962)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "tree_to_poly_offset_ref"
  (!type already_seen 960)
  (!srcfileloc  "tree.h" 5780)
  nil )
 (!pair  "generic_wide_int<offset_extended_tree"
  (!type already_seen 961)
  (!srcfileloc  "tree.h" 5779)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<offset_extended_tree>>"
  (!type already_seen 960)
  (!srcfileloc  "tree.h" 5779)
  nil )
 (!pair  "tree_to_poly_widest_ref"
  (!type already_seen 958)
  (!srcfileloc  "tree.h" 5777)
  nil )
 (!pair  "generic_wide_int<widest_extended_tree"
  (!type already_seen 959)
  (!srcfileloc  "tree.h" 5776)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<widest_extended_tree>>"
  (!type already_seen 958)
  (!srcfileloc  "tree.h" 5776)
  nil )
 (!pair  "tree_to_wide_ref"
  (!type already_seen 957)
  (!srcfileloc  "tree.h" 5768)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false,false>>"
  (!type already_seen 957)
  (!srcfileloc  "tree.h" 5767)
  nil )
 (!pair  "tree_to_offset_ref"
  (!type already_seen 956)
  (!srcfileloc  "tree.h" 5766)
  nil )
 (!pair  "generic_wide_int<offset_extended_tree>"
  (!type already_seen 956)
  (!srcfileloc  "tree.h" 5766)
  nil )
 (!pair  "tree_to_widest_ref"
  (!type already_seen 955)
  (!srcfileloc  "tree.h" 5765)
  nil )
 (!pair  "generic_wide_int<widest_extended_tree>"
  (!type already_seen 955)
  (!srcfileloc  "tree.h" 5765)
  nil )
 (!pair  "offset_extended_tree"
  (!type already_seen 954)
  (!srcfileloc  "tree.h" 5763)
  nil )
 (!pair  "extended_tree<ADDR_MAX_PRECISION>"
  (!type already_seen 954)
  (!srcfileloc  "tree.h" 5763)
  nil )
 (!pair  "widest_extended_tree"
  (!type already_seen 953)
  (!srcfileloc  "tree.h" 5762)
  nil )
 (!pair  "extended_tree<WIDE_INT_MAX_PRECISION>"
  (!type already_seen 953)
  (!srcfileloc  "tree.h" 5762)
  nil )
 (!pair  "type_tree_cache_map"
  (!type already_seen 949)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "type_tree_cache_traits"
  (!type already_seen 948)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "hash_map<tree,tree,type_tree_cache_traits>"
  (!type already_seen 949)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "decl_tree_cache_map"
  (!type already_seen 946)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "decl_tree_cache_traits"
  (!type already_seen 945)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "hash_map<tree,tree,decl_tree_cache_traits>"
  (!type already_seen 946)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "tree_cache_map"
  (!type already_seen 944)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "tree_cache_traits"
  (!type already_seen 943)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "hash_map<tree,tree,tree_cache_traits>"
  (!type already_seen 944)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "hash_rtx_callback_function"
  (!type already_seen 2)
  (!srcfileloc  "rtl.h" 3551)
  nil )
 (!pair  "rtx_equal_p_callback_function"
  (!type already_seen 2)
  (!srcfileloc  "rtl.h" 3546)
  nil )
 (!pair  "for_each_inc_dec_fn"
  (!type already_seen 2)
  (!srcfileloc  "rtl.h" 3542)
  nil )
 (!pair  "rtx_to_poly_wide_ref"
  (!type already_seen 932)
  (!srcfileloc  "rtl.h" 2333)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false"
  (!type already_seen 933)
  (!srcfileloc  "rtl.h" 2332)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<wide_int_ref_storage<false,false>>>"
  (!type already_seen 932)
  (!srcfileloc  "rtl.h" 2332)
  nil )
 (!pair  "rtx_mode_t"
  (!type already_seen 931)
  (!srcfileloc  "rtl.h" 2244)
  nil )
 (!pair  "std::pair<rtx,machine_mode>"
  (!type already_seen 931)
  (!srcfileloc  "rtl.h" 2244)
  nil )
 (!pair  "rtx_insn"
  (!type already_seen 296)
  (!srcfileloc  "rtl.h" 496)
  nil )
 (!pair  "rtx_insn_list"
  (!type already_seen 746)
  (!srcfileloc  "rtl.h" 493)
  nil )
 (!pair  "rtx_expr_list"
  (!type already_seen 744)
  (!srcfileloc  "rtl.h" 464)
  nil )
 (!pair  "NUM_POLY_INT_COEFFS"
  (!type already_seen 920)
  (!srcfileloc  "rtl.h" 291)
  nil )
 (!pair  "trailing_wide_ints<NUM_POLY_INT_COEFFS>"
  (!type already_seen 919)
  (!srcfileloc  "rtl.h" 291)
  nil )
 (!pair  "va_gc"
  (!type already_seen 79)
  (!srcfileloc  "rtl.h" 267)
  nil )
 (!pair  "vec<rtx,va_gc>"
  (!type already_seen 220)
  (!srcfileloc  "rtl.h" 267)
  nil )
 (!pair  "rtunion"
  (!type already_seen 210)
  (!srcfileloc  "rtl.h" 237)
  nil )
 (!pair  "reg_attrs"
  (!type already_seen 238)
  (!srcfileloc  "rtl.h" 229)
  nil )
 (!pair  "mem_attrs"
  (!type already_seen 227)
  (!srcfileloc  "rtl.h" 153)
  nil )
 (!pair  "trailing_wide_ints"
  (!type already_seen 904)
  (!srcfileloc  "wide-int.h" 1406)
  nil )
 (!pair  "trailing_wide_int"
  (!type already_seen 903)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "trailing_wide_int_storage"
  (!type already_seen 902)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "generic_wide_int<trailing_wide_int_storage>"
  (!type already_seen 903)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "fixed_wide_int_storage"
  (!type already_seen 900)
  (!srcfileloc  "wide-int.h" 1221)
  nil )
 (!pair  "ASSIGNMENT_OPERATOR"
  (!type already_seen 898)
  (!srcfileloc  "wide-int.h" 754)
  nil )
 (!pair  "generic_wide_int"
  (!type already_seen 897)
  (!srcfileloc  "wide-int.h" 715)
  nil )
 (!pair  "T1"
  (!type already_seen 894)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "int_traits<T1"
  (!type already_seen 893)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T1"
  (!type already_seen 892)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!type already_seen 891)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "signed_predicate_result"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 442)
  nil )
 (!pair  "signed_shift_result_type"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 441)
  nil )
 (!pair  "precision"
  (!type already_seen 887)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "T2"
  (!type already_seen 890)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "int_traits<T2"
  (!type already_seen 889)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T2"
  (!type already_seen 888)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!type already_seen 886)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "predicate_result"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 429)
  nil )
 (!pair  "operator_result"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 428)
  nil )
 (!pair  "result_type"
  (!type already_seen 2)
  (!srcfileloc  "wide-int.h" 420)
  nil )
 (!pair  "wide_int_ref"
  (!type already_seen 882)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "false"
  (!type already_seen 884)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "wide_int_ref_storage<false"
  (!type already_seen 883)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false>>"
  (!type already_seen 882)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "widest2_int"
  (!type already_seen 878)
  (!srcfileloc  "wide-int.h" 327)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<WIDE_INT_MAX_PRECISION*>>"
  (!type already_seen 878)
  (!srcfileloc  "wide-int.h" 327)
  nil )
 (!pair  "WIDE_INT_MAX_PRECISION"
  (!type already_seen 877)
  (!srcfileloc  "wide-int.h" 324)
  nil )
 (!pair  "ADDR_MAX_PRECISION"
  (!type already_seen 877)
  (!srcfileloc  "wide-int.h" 323)
  nil )
 (!pair  "FIXED_WIDE_INT"
  (!type already_seen 877)
  (!srcfileloc  "wide-int.h" 323)
  nil )
 (!pair  "wide_int"
  (!type already_seen 506)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "wide_int_storage"
  (!type already_seen 507)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "generic_wide_int<wide_int_storage>"
  (!type already_seen 506)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "bitmap_obstack"
  (!type already_seen 397)
  (!srcfileloc  "bitmap.h" 349)
  nil )
 (!pair  "bitmap_element"
  (!type already_seen 394)
  (!srcfileloc  "bitmap.h" 345)
  nil )
 (!pair  "BITMAP_WORD"
  (!type already_seen 2)
  (!srcfileloc  "bitmap.h" 276)
  nil )
 (!pair  "splay_tree"
  (!type already_seen 872)
  (!srcfileloc  "../include/splay-tree.h" 127)
  nil )
 (!pair  "splay_tree_deallocate_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 88)
  nil )
 (!pair  "splay_tree_allocate_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 82)
  nil )
 (!pair  "splay_tree_foreach_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 76)
  nil )
 (!pair  "splay_tree_delete_value_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 73)
  nil )
 (!pair  "splay_tree_delete_key_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 67)
  nil )
 (!pair  "splay_tree_compare_fn"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 58)
  nil )
 (!pair  "splay_tree_node"
  (!type already_seen 870)
  (!srcfileloc  "../include/splay-tree.h" 54)
  nil )
 (!pair  "splay_tree_value"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 51)
  nil )
 (!pair  "splay_tree_key"
  (!type already_seen 2)
  (!srcfileloc  "../include/splay-tree.h" 50)
  nil )
 (!pair  "htab_t"
  (!type already_seen 337)
  (!srcfileloc  "../include/hashtab.h" 139)
  nil )
 (!pair  "htab_free_with_arg"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 78)
  nil )
 (!pair  "htab_alloc_with_arg"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 77)
  nil )
 (!pair  "htab_free"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 73)
  nil )
 (!pair  "htab_alloc"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 70)
  nil )
 (!pair  "htab_trav"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 64)
  nil )
 (!pair  "htab_del"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 58)
  nil )
 (!pair  "htab_eq"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 54)
  nil )
 (!pair  "htab_hash"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 47)
  nil )
 (!pair  "hashval_t"
  (!type already_seen 2)
  (!srcfileloc  "../include/hashtab.h" 42)
  nil )
 (!pair  "target_unit"
  (!type already_seen 868)
  (!srcfileloc  "defaults.h" 1482)
  nil )
 (!pair  "TARGET_UNIT"
  (!type already_seen 868)
  (!srcfileloc  "defaults.h" 1482)
  nil )
 (!pair  "uchar"
  (!type already_seen 8)
  (!srcfileloc  "coretypes.h" 427)
  nil )
 (!pair  "gt_pointer_operator"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 424)
  nil )
 (!pair  "complex_mode"
  (!type already_seen 737)
  (!srcfileloc  "coretypes.h" 379)
  nil )
 (!pair  "string_int_pair"
  (!type already_seen 857)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "int"
  (!type already_seen 378)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "std::pair<char*,int>"
  (!type already_seen 857)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "tree_pair"
  (!type already_seen 856)
  (!srcfileloc  "coretypes.h" 351)
  nil )
 (!pair  "std::pair<tree,tree>"
  (!type already_seen 856)
  (!srcfileloc  "coretypes.h" 351)
  nil )
 (!pair  "reg_class_t"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 343)
  nil )
 (!pair  "const_basic_block"
  (!type already_seen 267)
  (!srcfileloc  "coretypes.h" 323)
  nil )
 (!pair  "basic_block"
  (!type already_seen 267)
  (!srcfileloc  "coretypes.h" 322)
  nil )
 (!pair  "const_edge"
  (!type already_seen 271)
  (!srcfileloc  "coretypes.h" 320)
  nil )
 (!pair  "edge"
  (!type already_seen 271)
  (!srcfileloc  "coretypes.h" 319)
  nil )
 (!pair  "alias_set_type"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 316)
  nil )
 (!pair  "addr_space_t"
  (!type already_seen 8)
  (!srcfileloc  "coretypes.h" 167)
  nil )
 (!pair  "section"
  (!type already_seen 214)
  (!srcfileloc  "coretypes.h" 147)
  nil )
 (!pair  "gimple_seq"
  (!type already_seen 280)
  (!srcfileloc  "coretypes.h" 100)
  nil )
 (!pair  "gimple"
  (!type already_seen 281)
  (!srcfileloc  "coretypes.h" 100)
  nil )
 (!pair  "const_tree"
  (!type already_seen 23)
  (!srcfileloc  "coretypes.h" 98)
  nil )
 (!pair  "tree"
  (!type already_seen 23)
  (!srcfileloc  "coretypes.h" 97)
  nil )
 (!pair  "const_hwivec"
  (!type already_seen 758)
  (!srcfileloc  "coretypes.h" 95)
  nil )
 (!pair  "hwivec"
  (!type already_seen 758)
  (!srcfileloc  "coretypes.h" 94)
  nil )
 (!pair  "const_rtvec"
  (!type already_seen 229)
  (!srcfileloc  "coretypes.h" 92)
  nil )
 (!pair  "rtvec"
  (!type already_seen 229)
  (!srcfileloc  "coretypes.h" 91)
  nil )
 (!pair  "fixed_size_mode_pod"
  (!type already_seen 743)
  (!srcfileloc  "coretypes.h" 71)
  nil )
 (!pair  "pod_mode<fixed_size_mode>"
  (!type already_seen 743)
  (!srcfileloc  "coretypes.h" 71)
  nil )
 (!pair  "scalar_int_mode_pod"
  (!type already_seen 742)
  (!srcfileloc  "coretypes.h" 70)
  nil )
 (!pair  "pod_mode<scalar_int_mode>"
  (!type already_seen 742)
  (!srcfileloc  "coretypes.h" 70)
  nil )
 (!pair  "scalar_mode_pod"
  (!type already_seen 44)
  (!srcfileloc  "coretypes.h" 69)
  nil )
 (!pair  "pod_mode<scalar_mode>"
  (!type already_seen 44)
  (!srcfileloc  "coretypes.h" 69)
  nil )
 (!pair  "opt_scalar_float_mode"
  (!type already_seen 741)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "scalar_float_mode"
  (!type already_seen 736)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "opt_mode<scalar_float_mode>"
  (!type already_seen 741)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "opt_scalar_int_mode"
  (!type already_seen 740)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "scalar_int_mode"
  (!type already_seen 288)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "opt_mode<scalar_int_mode>"
  (!type already_seen 740)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "opt_scalar_mode"
  (!type already_seen 739)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "scalar_mode"
  (!type already_seen 45)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "opt_mode<scalar_mode>"
  (!type already_seen 739)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "const_rtx"
  (!type already_seen 100)
  (!srcfileloc  "coretypes.h" 58)
  nil )
 (!pair  "rtx"
  (!type already_seen 100)
  (!srcfileloc  "coretypes.h" 57)
  nil )
 (!pair  "const_sbitmap"
  (!type already_seen 735)
  (!srcfileloc  "coretypes.h" 55)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 735)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "const_bitmap"
  (!type already_seen 391)
  (!srcfileloc  "coretypes.h" 52)
  nil )
 (!pair  "bitmap"
  (!type already_seen 391)
  (!srcfileloc  "coretypes.h" 51)
  nil )
 (!pair  "gcov_type_unsigned"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 47)
  nil )
 (!pair  "gcov_type"
  (!type already_seen 2)
  (!srcfileloc  "coretypes.h" 46)
  nil )
 (!pair  "location_hash"
  (!type already_seen 729)
  (!srcfileloc  "input.h" 212)
  nil )
 (!pair  "hash_map<location_hash,string_concat*>"
  (!type already_seen 733)
  (!srcfileloc  "input.h" 212)
  nil )
 (!pair  "string_concat_db"
  (!type already_seen 730)
  (!srcfileloc  "input.h" 193)
  nil )
 (!pair  "string_concat"
  (!type already_seen 727)
  (!srcfileloc  "input.h" 182)
  nil )
 (!pair  "cpp_cb"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1271)
  nil )
 (!pair  "cpp_comment_table"
  (!type already_seen 724)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1258)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 723)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1244)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 722)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1093)
  nil )
 (!pair  "cpp_num_part"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1092)
  nil )
 (!pair  "missing_header_cb"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 628)
  nil )
 (!pair  "cppchar_signed_t"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 293)
  nil )
 (!pair  "cppchar_t"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/cpplib.h" 292)
  nil )
 (!pair  "cpp_dir"
  (!type already_seen 718)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 717)
  (!srcfileloc  "../libcpp/include/cpplib.h" 36)
  nil )
 (!pair  "cpp_macro"
  (!type already_seen 20)
  (!srcfileloc  "../libcpp/include/cpplib.h" 35)
  nil )
 (!pair  "cpp_hashnode"
  (!type already_seen 12)
  (!srcfileloc  "../libcpp/include/cpplib.h" 34)
  nil )
 (!pair  "cpp_string"
  (!type already_seen 694)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 690)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 716)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 715)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 714)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 705)
  (!srcfileloc  "../libcpp/include/line-map.h" 1264)
  nil )
 (!pair  "maps_info_macro"
  (!type already_seen 699)
  (!srcfileloc  "../libcpp/include/line-map.h" 780)
  nil )
 (!pair  "maps_info_ordinary"
  (!type already_seen 698)
  (!srcfileloc  "../libcpp/include/line-map.h" 778)
  nil )
 (!pair  "source_range"
  (!type already_seen 1)
  (!srcfileloc  "../libcpp/include/line-map.h" 749)
  nil )
 (!pair  "line_map_macro"
  (!type already_seen 696)
  (!srcfileloc  "../libcpp/include/line-map.h" 733)
  nil )
 (!pair  "line_map_ordinary"
  (!type already_seen 6)
  (!srcfileloc  "../libcpp/include/line-map.h" 718)
  nil )
 (!pair  "line_map_round_alloc_size_func"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 353)
  nil )
 (!pair  "line_map_realloc"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 349)
  nil )
 (!pair  "location_t"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 291)
  nil )
 (!pair  "linenum_arith_t"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 53)
  nil )
 (!pair  "linenum_type"
  (!type already_seen 2)
  (!srcfileloc  "../libcpp/include/line-map.h" 50)
  nil )
 (!pair  "PTR"
  (!type already_seen 3)
  (!srcfileloc  "gengtype.c" 5210)
  nil )
 (!pair  "CONSTEXPR"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5209)
  nil )
 (!pair  "fixed_size_mode"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5208)
  nil )
 (!pair  "machine_mode"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5207)
  nil )
 (!pair  "void"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5206)
  nil )
 (!pair  "JCF_u2"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5205)
  nil )
 (!pair  "jword"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5204)
  nil )
 (!pair  "uintptr_t"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5203)
  nil )
 (!pair  "uint8"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5202)
  nil )
 (!pair  "uint64_t"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5201)
  nil )
 (!pair  "poly_int64"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5200)
  nil )
 (!pair  "int64_t"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5199)
  nil )
 (!pair  "widest_int"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5198)
  nil )
 (!pair  "offset_int"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5197)
  nil )
 (!pair  "poly_int64_pod"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5196)
  nil )
 (!pair  "double_int"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5195)
  nil )
 (!pair  "FIXED_VALUE_TYPE"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5194)
  nil )
 (!pair  "REAL_VALUE_TYPE"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5193)
  nil )
 (!pair  "CUMULATIVE_ARGS"
  (!type already_seen 2)
  (!srcfileloc  "gengtype.c" 5192)
  nil )
)
(!variables 727
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3611)
  nil )
 (!pair  "next_v2_EHTYPE_id_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3401)
  nil )
 (!pair  "next_v2_ehvtable_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3400)
  nil )
 (!pair  "objc_v2_ehtype_template"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3399)
  nil )
 (!pair  "ehtype_list"
  (!type already_seen 2107)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3058)
  nil )
 (!pair  "ivar_offset_refs"
  (!type already_seen 2116)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "protlist"
  (!type already_seen 2113)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2113)
  nil )
 (!pair  "nonlazy_category_list"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2025)
  nil )
 (!pair  "category_list"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2014)
  nil )
 (!pair  "nonlazy_class_list"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2003)
  nil )
 (!pair  "class_list"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1995)
  nil )
 (!pair  "metaclass_super_refs"
  (!type already_seen 2107)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1439)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 2107)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1438)
  nil )
 (!pair  "protrefs"
  (!type already_seen 2113)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 2110)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "classrefs"
  (!type already_seen 2107)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "extern_names"
  (!type already_seen 2094)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 235)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 2119 nil  gc_used "OCTI_V2_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 185)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 2120 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 182)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 2787)
  nil )
 (!pair  "V1_Property_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1517)
  nil )
 (!pair  "V1_ProtocolExt_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1516)
  nil )
 (!pair  "V1_Protocol_OPT_CLS_METHODS_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1515)
  nil )
 (!pair  "V1_Protocol_OPT_NST_METHODS_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1514)
  nil )
 (!pair  "objc_class_ext_template"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1109)
  nil )
 (!pair  "objc_protocol_extension_template"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1075)
  nil )
 (!pair  "objc_v1_property_template"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1045)
  nil )
 (!pair  "class_reference_idx"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 677)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 2121 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 107)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 2141)
  nil )
 (!pair  "num_static_inst"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 862)
  nil )
 (!pair  "meta_base"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 193)
  nil )
 (!pair  "objc_meta"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 192)
  nil )
 (!pair  "property_name_attr_idx"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 292)
  nil )
 (!pair  "meth_var_types_idx"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 291)
  nil )
 (!pair  "meth_var_names_idx"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 290)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 2122 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 54)
  nil )
 (!pair  "objc_parmlist"
  (!type already_seen 23)
  (!srcfileloc  "objc/objc-act.c" 8244)
  nil )
 (!pair  "interface_map"
  (!type already_seen 2091)
  (!srcfileloc  "objc/objc-act.c" 3790)
  nil )
 (!pair  "string_layout_checked"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-act.c" 3076)
  nil )
 (!pair  "string_htab"
  (!type already_seen 2103)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "alias_name_map"
  (!type already_seen 2091)
  (!srcfileloc  "objc/objc-act.c" 164)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 2091)
  (!srcfileloc  "objc/objc-act.c" 163)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 2091)
  (!srcfileloc  "objc/objc-act.c" 159)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 2091)
  (!srcfileloc  "objc/objc-act.c" 158)
  nil )
 (!pair  "objc_global_trees"
  (!type array 2123 nil  gc_used "OCTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "objc/objc-act.h" 422)
  nil )
 (!pair  "objc_ivar_visibility"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-act.h" 294)
  nil )
 (!pair  "cat_count"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-act.h" 292)
  nil )
 (!pair  "imp_count"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-act.h" 291)
  nil )
 (!pair  "imp_list"
  (!type already_seen 2098)
  (!srcfileloc  "objc/objc-act.h" 290)
  nil )
 (!pair  "local_variables_to_volatilize"
  (!type already_seen 84)
  (!srcfileloc  "objc/objc-act.h" 277)
  nil )
 (!pair  "real_file_decl_data"
  (!type already_seen 327)
  (!srcfileloc  "lto/lto-common.c" 2657)
  (!options 
   (!option length string  "real_file_count + 1")
  )
 )
 (!pair  "all_file_decl_data"
  (!type already_seen 327)
  (!srcfileloc  "lto/lto-common.c" 2624)
  (!options 
   (!option length string  "lto_stats.num_input_files + 1")
  )
 )
 (!pair  "types_to_register"
  (!type already_seen 84)
  (!srcfileloc  "lto/lto-common.c" 227)
  nil )
 (!pair  "tree_with_vars"
  (!type already_seen 84)
  (!srcfileloc  "lto/lto-common.h" 28)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 790)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 244)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 243)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 242)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 241)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 240)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "lto/lto-lang.c" 239)
  nil )
 (!pair  "builtin_types"
  (!type array 2124 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "lto/lto-lang.c" 237)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2125 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "lto/lto-lang.c" 172)
  nil )
 (!pair  "go_non_zero_struct"
  (!type already_seen 23)
  (!srcfileloc  "go/go-c.h" 79)
  nil )
 (!pair  "go_gc_root"
  (!type already_seen 23)
  (!srcfileloc  "go/go-lang.c" 563)
  nil )
 (!pair  "gfc_rank_cst"
  (!type array 2126 nil  gc_used "GFC_MAX_DIMENSIONS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-const.h" 65)
  nil )
 (!pair  "gfor_fndecl_random_init"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 959)
  nil )
 (!pair  "gfor_fndecl_ieee_procedure_exit"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 956)
  nil )
 (!pair  "gfor_fndecl_ieee_procedure_entry"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 955)
  nil )
 (!pair  "gfor_fndecl_sr_kind"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 952)
  nil )
 (!pair  "gfor_fndecl_si_kind"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 951)
  nil )
 (!pair  "gfor_fndecl_sc_kind"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 950)
  nil )
 (!pair  "gfor_fndecl_is_contiguous0"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 947)
  nil )
 (!pair  "gfor_fndecl_kill_sub"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 946)
  nil )
 (!pair  "gfor_fndecl_kill"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 945)
  nil )
 (!pair  "gfor_fndecl_iargc"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 944)
  nil )
 (!pair  "gfor_fndecl_size1"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 943)
  nil )
 (!pair  "gfor_fndecl_size0"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 942)
  nil )
 (!pair  "gfor_fndecl_convert_char4_to_char1"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 939)
  nil )
 (!pair  "gfor_fndecl_convert_char1_to_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 938)
  nil )
 (!pair  "gfor_fndecl_select_string_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 935)
  nil )
 (!pair  "gfor_fndecl_adjustr_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 934)
  nil )
 (!pair  "gfor_fndecl_adjustl_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 933)
  nil )
 (!pair  "gfor_fndecl_string_minmax_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 932)
  nil )
 (!pair  "gfor_fndecl_string_trim_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 931)
  nil )
 (!pair  "gfor_fndecl_string_verify_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 930)
  nil )
 (!pair  "gfor_fndecl_string_scan_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 929)
  nil )
 (!pair  "gfor_fndecl_string_index_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 928)
  nil )
 (!pair  "gfor_fndecl_string_len_trim_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 927)
  nil )
 (!pair  "gfor_fndecl_concat_string_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 926)
  nil )
 (!pair  "gfor_fndecl_compare_string_char4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 925)
  nil )
 (!pair  "gfor_fndecl_select_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 924)
  nil )
 (!pair  "gfor_fndecl_adjustr"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 923)
  nil )
 (!pair  "gfor_fndecl_adjustl"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 922)
  nil )
 (!pair  "gfor_fndecl_string_minmax"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 921)
  nil )
 (!pair  "gfor_fndecl_string_trim"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 920)
  nil )
 (!pair  "gfor_fndecl_string_verify"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 919)
  nil )
 (!pair  "gfor_fndecl_string_scan"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 918)
  nil )
 (!pair  "gfor_fndecl_string_index"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 917)
  nil )
 (!pair  "gfor_fndecl_string_len_trim"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 916)
  nil )
 (!pair  "gfor_fndecl_concat_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 915)
  nil )
 (!pair  "gfor_fndecl_compare_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 914)
  nil )
 (!pair  "gfor_fndecl_zgemm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 911)
  nil )
 (!pair  "gfor_fndecl_cgemm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 910)
  nil )
 (!pair  "gfor_fndecl_dgemm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 909)
  nil )
 (!pair  "gfor_fndecl_sgemm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 908)
  nil )
 (!pair  "gfor_fndecl_math_ishftc16"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 905)
  nil )
 (!pair  "gfor_fndecl_math_ishftc8"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 904)
  nil )
 (!pair  "gfor_fndecl_math_ishftc4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 903)
  nil )
 (!pair  "gfor_fndecl_math_powi"
  (!type array 2127 nil  gc_used "4" 
   (!type array 2128 nil  gc_used "3" 
    (!type already_seen 2070)
   )
  )
  (!srcfileloc  "fortran/trans.h" 902)
  nil )
 (!pair  "gfor_fndecl_caf_is_present"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 890)
  nil )
 (!pair  "gfor_fndecl_co_sum"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 889)
  nil )
 (!pair  "gfor_fndecl_co_reduce"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 888)
  nil )
 (!pair  "gfor_fndecl_co_min"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 887)
  nil )
 (!pair  "gfor_fndecl_co_max"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 886)
  nil )
 (!pair  "gfor_fndecl_co_broadcast"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 885)
  nil )
 (!pair  "gfor_fndecl_caf_team_number"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 884)
  nil )
 (!pair  "gfor_fndecl_caf_sync_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 883)
  nil )
 (!pair  "gfor_fndecl_caf_get_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 882)
  nil )
 (!pair  "gfor_fndecl_caf_end_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 881)
  nil )
 (!pair  "gfor_fndecl_caf_change_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 880)
  nil )
 (!pair  "gfor_fndecl_caf_form_team"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 879)
  nil )
 (!pair  "gfor_fndecl_caf_stopped_images"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 878)
  nil )
 (!pair  "gfor_fndecl_caf_image_status"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 877)
  nil )
 (!pair  "gfor_fndecl_caf_failed_images"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 876)
  nil )
 (!pair  "gfor_fndecl_caf_fail_image"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 875)
  nil )
 (!pair  "gfor_fndecl_caf_event_query"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 874)
  nil )
 (!pair  "gfor_fndecl_caf_event_wait"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 873)
  nil )
 (!pair  "gfor_fndecl_caf_event_post"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 872)
  nil )
 (!pair  "gfor_fndecl_caf_unlock"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 871)
  nil )
 (!pair  "gfor_fndecl_caf_lock"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 870)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_op"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 869)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_cas"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 868)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_ref"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 867)
  nil )
 (!pair  "gfor_fndecl_caf_atomic_def"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 866)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop_str"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 865)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 864)
  nil )
 (!pair  "gfor_fndecl_caf_stop_str"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 863)
  nil )
 (!pair  "gfor_fndecl_caf_stop_numeric"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 862)
  nil )
 (!pair  "gfor_fndecl_caf_sync_images"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 861)
  nil )
 (!pair  "gfor_fndecl_caf_sync_memory"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 860)
  nil )
 (!pair  "gfor_fndecl_caf_sync_all"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 859)
  nil )
 (!pair  "gfor_fndecl_caf_sendget_by_ref"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 858)
  nil )
 (!pair  "gfor_fndecl_caf_send_by_ref"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 857)
  nil )
 (!pair  "gfor_fndecl_caf_get_by_ref"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 856)
  nil )
 (!pair  "gfor_fndecl_caf_sendget"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 855)
  nil )
 (!pair  "gfor_fndecl_caf_send"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 854)
  nil )
 (!pair  "gfor_fndecl_caf_get"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 853)
  nil )
 (!pair  "gfor_fndecl_caf_deregister"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 852)
  nil )
 (!pair  "gfor_fndecl_caf_register"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 851)
  nil )
 (!pair  "gfor_fndecl_caf_num_images"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 850)
  nil )
 (!pair  "gfor_fndecl_caf_this_image"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 849)
  nil )
 (!pair  "gfor_fndecl_caf_finalize"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 848)
  nil )
 (!pair  "gfor_fndecl_caf_init"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 847)
  nil )
 (!pair  "gfor_fndecl_system_clock8"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 843)
  nil )
 (!pair  "gfor_fndecl_system_clock4"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 842)
  nil )
 (!pair  "gfor_fndecl_associated"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 841)
  nil )
 (!pair  "gfor_fndecl_gfc_to_cfi"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 840)
  nil )
 (!pair  "gfor_fndecl_cfi_to_gfc"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 839)
  nil )
 (!pair  "gfor_fndecl_in_unpack"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 838)
  nil )
 (!pair  "gfor_fndecl_in_pack"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 837)
  nil )
 (!pair  "gfor_fndecl_fdate"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 836)
  nil )
 (!pair  "gfor_fndecl_ctime"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 835)
  nil )
 (!pair  "gfor_fndecl_ttynam"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 834)
  nil )
 (!pair  "gfor_fndecl_set_options"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 833)
  nil )
 (!pair  "gfor_fndecl_set_fpe"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 832)
  nil )
 (!pair  "gfor_fndecl_generate_error"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 831)
  nil )
 (!pair  "gfor_fndecl_os_error_at"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 830)
  nil )
 (!pair  "gfor_fndecl_runtime_warning_at"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 829)
  nil )
 (!pair  "gfor_fndecl_runtime_error_at"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 828)
  nil )
 (!pair  "gfor_fndecl_runtime_error"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 827)
  nil )
 (!pair  "gfor_fndecl_error_stop_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 826)
  nil )
 (!pair  "gfor_fndecl_error_stop_numeric"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 825)
  nil )
 (!pair  "gfor_fndecl_stop_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 824)
  nil )
 (!pair  "gfor_fndecl_stop_numeric"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 823)
  nil )
 (!pair  "gfor_fndecl_pause_string"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 822)
  nil )
 (!pair  "gfor_fndecl_pause_numeric"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 821)
  nil )
 (!pair  "gfc_static_ctors"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans.h" 710)
  nil )
 (!pair  "gfc_charlen_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 53)
  nil )
 (!pair  "logical_false_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 49)
  nil )
 (!pair  "logical_true_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 48)
  nil )
 (!pair  "logical_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 47)
  nil )
 (!pair  "gfc_complex_float128_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 35)
  nil )
 (!pair  "gfc_float128_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 34)
  nil )
 (!pair  "pchar_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 33)
  nil )
 (!pair  "prvoid_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 32)
  nil )
 (!pair  "pvoid_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 31)
  nil )
 (!pair  "ppvoid_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 30)
  nil )
 (!pair  "gfc_character1_type_node"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 29)
  nil )
 (!pair  "gfc_array_range_type"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 28)
  nil )
 (!pair  "gfc_array_index_type"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.h" 27)
  nil )
 (!pair  "gfc_pcharacter_types"
  (!type array 2129 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_character_types"
  (!type array 2130 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 96)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 2131 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 92)
  nil )
 (!pair  "gfc_real_types"
  (!type array 2132 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 91)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 2133 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 87)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 2134 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 86)
  nil )
 (!pair  "gfc_array_descriptor_base_caf"
  (!type array 2135 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 78)
  nil )
 (!pair  "gfc_array_descriptor_base"
  (!type array 2136 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 77)
  nil )
 (!pair  "gfc_max_array_element_size"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.c" 76)
  nil )
 (!pair  "gfc_desc_dim_type"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-types.c" 75)
  nil )
 (!pair  "select_struct"
  (!type array 2137 nil  gc_used "2" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-stmt.c" 3213)
  nil )
 (!pair  "dt_parm"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-io.c" 162)
  nil )
 (!pair  "iocall"
  (!type array 2138 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-io.c" 153)
  nil )
 (!pair  "st_parameter_field"
  (!type array 2139 nil  gc_used "" 
   (!type already_seen 2056)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 2140 nil  gc_used "" 
   (!type already_seen 2057)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 2141 nil  gc_used "" 
   (!type already_seen 2055)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 114)
  nil )
 (!pair  "module_htab"
  (!type already_seen 2050)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "saved_local_decls"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 68)
  nil )
 (!pair  "saved_parent_function_decls"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 64)
  nil )
 (!pair  "saved_function_decls"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 63)
  nil )
 (!pair  "parent_fake_result_decl"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 58)
  nil )
 (!pair  "current_fake_result_decl"
  (!type already_seen 23)
  (!srcfileloc  "fortran/trans-decl.c" 57)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 440)
  (!srcfileloc  "fortran/f95-lang.c" 311)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 440)
  (!srcfileloc  "fortran/f95-lang.c" 307)
  nil )
 (!pair  "current_translation_unit"
  (!type already_seen 23)
  (!srcfileloc  "fortran/f95-lang.c" 185)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 440)
  (!srcfileloc  "fortran/f95-lang.c" 179)
  nil )
 (!pair  "tinfo_types"
  (!type array 2142 nil  gc_used "TK_END" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/typeinfo.cc" 93)
  nil )
 (!pair  "static_dtor_list"
  (!type already_seen 84)
  (!srcfileloc  "d/modules.cc" 126)
  nil )
 (!pair  "static_ctor_list"
  (!type already_seen 84)
  (!srcfileloc  "d/modules.cc" 125)
  nil )
 (!pair  "d_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "d/d-lang.cc" 1768)
  nil )
 (!pair  "d_keep_list"
  (!type already_seen 23)
  (!srcfileloc  "d/d-lang.cc" 1757)
  nil )
 (!pair  "global_declarations"
  (!type already_seen 84)
  (!srcfileloc  "d/d-lang.cc" 98)
  nil )
 (!pair  "global_context"
  (!type already_seen 23)
  (!srcfileloc  "d/d-lang.cc" 95)
  nil )
 (!pair  "builtin_types"
  (!type array 2143 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-builtins.cc" 1001)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2144 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-builtins.cc" 905)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 764)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 763)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 762)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 761)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 760)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "d/d-builtins.cc" 759)
  nil )
 (!pair  "gcc_builtins_types"
  (!type already_seen 84)
  (!srcfileloc  "d/d-builtins.cc" 46)
  nil )
 (!pair  "gcc_builtins_libfuncs"
  (!type already_seen 84)
  (!srcfileloc  "d/d-builtins.cc" 45)
  nil )
 (!pair  "gcc_builtins_functions"
  (!type already_seen 84)
  (!srcfileloc  "d/d-builtins.cc" 44)
  nil )
 (!pair  "d_global_trees"
  (!type array 2145 nil  gc_used "DTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-tree.h" 425)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 440)
  (!srcfileloc  "d/d-tree.h" 121)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 440)
  (!srcfileloc  "d/d-tree.h" 120)
  nil )
 (!pair  "vlt_register_set_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 133)
  nil )
 (!pair  "vlt_register_pairs_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 132)
  nil )
 (!pair  "vlt_saved_class_info"
  (!type already_seen 84)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 131)
  nil )
 (!pair  "abstract_pending_vars"
  (!type already_seen 2024)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "deleted_copy_types"
  (!type already_seen 477)
  (!srcfileloc  "cp/tree.c" 4087)
  nil )
 (!pair  "list_hash_table"
  (!type already_seen 2017)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "cplus_array_htab"
  (!type already_seen 2013)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "deferred_access_no_check"
  (!type already_seen 2)
  (!srcfileloc  "cp/semantics.c" 139)
  nil )
 (!pair  "deferred_access_stack"
  (!type already_seen 2008)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 2005)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "dguide_cache"
  (!type already_seen 2002)
  (!srcfileloc  "cp/pt.c" 28697)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "explicit_specifier_map"
  (!type already_seen 947)
  (!srcfileloc  "cp/pt.c" 13527)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "defarg_inst"
  (!type already_seen 947)
  (!srcfileloc  "cp/pt.c" 13416)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "last_error_tinst_level"
  (!type already_seen 1850)
  (!srcfileloc  "cp/pt.c" 10726)
  nil )
 (!pair  "pending_template_freelist_head"
  (!type already_seen 1988)
  (!srcfileloc  "cp/pt.c" 9378)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "tinst_level_freelist_head"
  (!type already_seen 1850)
  (!srcfileloc  "cp/pt.c" 9369)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "tree_list_freelist_head"
  (!type already_seen 23)
  (!srcfileloc  "cp/pt.c" 9360)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "defaulted_ttp_cache"
  (!type already_seen 398)
  (!srcfileloc  "cp/pt.c" 7673)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "tparm_obj_values"
  (!type already_seen 398)
  (!srcfileloc  "cp/pt.c" 7026)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 84)
  (!srcfileloc  "cp/pt.c" 127)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 1992)
  (!srcfileloc  "cp/pt.c" 121)
  nil )
 (!pair  "decl_specializations"
  (!type already_seen 1992)
  (!srcfileloc  "cp/pt.c" 119)
  nil )
 (!pair  "saved_access_scope"
  (!type already_seen 84)
  (!srcfileloc  "cp/pt.c" 71)
  nil )
 (!pair  "current_tinst_level"
  (!type already_seen 1850)
  (!srcfileloc  "cp/pt.c" 69)
  nil )
 (!pair  "saved_trees"
  (!type already_seen 23)
  (!srcfileloc  "cp/pt.c" 66)
  nil )
 (!pair  "last_pending_template"
  (!type already_seen 1988)
  (!srcfileloc  "cp/pt.c" 61)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 1988)
  (!srcfileloc  "cp/pt.c" 60)
  nil )
 (!pair  "generic_parm_count"
  (!type already_seen 2)
  (!srcfileloc  "cp/parser.c" 44012)
  nil )
 (!pair  "the_parser"
  (!type already_seen 1876)
  (!srcfileloc  "cp/parser.c" 43522)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 1868)
  (!srcfileloc  "cp/parser.c" 1907)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_saved_scope"
  (!type already_seen 1831)
  (!srcfileloc  "cp/name-lookup.c" 7094)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_level"
  (!type already_seen 82)
  (!srcfileloc  "cp/name-lookup.c" 3303)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "extern_c_decls"
  (!type already_seen 91)
  (!srcfileloc  "cp/name-lookup.c" 2517)
  nil )
 (!pair  "free_bindings"
  (!type already_seen 89)
  (!srcfileloc  "cp/name-lookup.c" 1938)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_entry"
  (!type already_seen 548)
  (!srcfileloc  "cp/name-lookup.c" 1732)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "comp_cat_cache"
  (!type array 2146 nil  gc_used "cc_last" 
   (!type already_seen 23)
  )
  (!srcfileloc  "cp/method.c" 910)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "thunk_labelno"
  (!type already_seen 2)
  (!srcfileloc  "cp/method.c" 183)
  nil )
 (!pair  "subst_identifiers"
  (!type array 2147 nil  gc_used "SUBID_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "cp/mangle.c" 151)
  nil )
 (!pair  "G"
  (!type already_seen 1968)
  (!srcfileloc  "cp/mangle.c" 122)
  nil )
 (!pair  "subsumption_cache"
  (!type already_seen 1967)
  (!srcfileloc  "cp/logic.cc" 817)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "conv_type_names"
  (!type already_seen 1960)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 1956)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "lambda_count"
  (!type already_seen 2)
  (!srcfileloc  "cp/lambda.c" 1355)
  nil )
 (!pair  "lambda_scope"
  (!type already_seen 23)
  (!srcfileloc  "cp/lambda.c" 1354)
  nil )
 (!pair  "max_id"
  (!type already_seen 23)
  (!srcfileloc  "cp/lambda.c" 471)
  nil )
 (!pair  "ptr_id"
  (!type already_seen 23)
  (!srcfileloc  "cp/lambda.c" 470)
  nil )
 (!pair  "nsdmi_inst"
  (!type already_seen 947)
  (!srcfileloc  "cp/init.c" 552)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "fn"
  (!type already_seen 23)
  (!srcfileloc  "cp/init.c" 53)
  nil )
 (!pair  "global_friend"
  (!type already_seen 23)
  (!srcfileloc  "cp/friend.c" 35)
  nil )
 (!pair  "pending_noexcept_checks"
  (!type already_seen 1953)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "ssdf_decls"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 3723)
  nil )
 (!pair  "ssdf_decl"
  (!type already_seen 23)
  (!srcfileloc  "cp/decl2.c" 3719)
  nil )
 (!pair  "priority_decl"
  (!type already_seen 23)
  (!srcfileloc  "cp/decl2.c" 3716)
  nil )
 (!pair  "initialize_p_decl"
  (!type already_seen 23)
  (!srcfileloc  "cp/decl2.c" 3713)
  nil )
 (!pair  "mangled_decls"
  (!type already_seen 1950)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "mangling_aliases"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 103)
  nil )
 (!pair  "no_linkage_decls"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 99)
  nil )
 (!pair  "deferred_fns"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 95)
  nil )
 (!pair  "pending_statics"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl2.c" 91)
  nil )
 (!pair  "start_cleanup_cnt"
  (!type already_seen 2)
  (!srcfileloc  "cp/decl.c" 8639)
  nil )
 (!pair  "decomp_type_table"
  (!type already_seen 947)
  (!srcfileloc  "cp/decl.c" 8121)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "typename_htab"
  (!type already_seen 1943)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "local_entities"
  (!type already_seen 84)
  (!srcfileloc  "cp/decl.c" 875)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "incomplete_vars"
  (!type already_seen 1938)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "debug_type_map"
  (!type already_seen 950)
  (!srcfileloc  "cp/cp-objcp-common.c" 126)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cp_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "cp/cp-lang.c" 132)
  nil )
 (!pair  "source_location_id"
  (!type already_seen 2)
  (!srcfileloc  "cp/cp-gimplify.c" 3212)
  nil )
 (!pair  "source_location_table"
  (!type already_seen 1935)
  (!srcfileloc  "cp/cp-gimplify.c" 3211)
  nil )
 (!pair  "fold_cache"
  (!type already_seen 398)
  (!srcfileloc  "cp/cp-gimplify.c" 2465)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "void_coro_handle_type"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 247)
  nil )
 (!pair  "coro_handle_templ"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 246)
  nil )
 (!pair  "coro_traits_templ"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 245)
  nil )
 (!pair  "coro_await_resume_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 213)
  nil )
 (!pair  "coro_await_suspend_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 212)
  nil )
 (!pair  "coro_await_ready_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 211)
  nil )
 (!pair  "coro_unhandled_exception_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 207)
  nil )
 (!pair  "coro_gro_on_allocation_fail_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 206)
  nil )
 (!pair  "coro_get_return_object_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 205)
  nil )
 (!pair  "coro_from_address_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 204)
  nil )
 (!pair  "coro_address_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 203)
  nil )
 (!pair  "coro_resume_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 202)
  nil )
 (!pair  "coro_yield_value_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 201)
  nil )
 (!pair  "coro_return_value_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 200)
  nil )
 (!pair  "coro_return_void_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 199)
  nil )
 (!pair  "coro_final_suspend_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 198)
  nil )
 (!pair  "coro_initial_suspend_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 197)
  nil )
 (!pair  "coro_await_transform_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 196)
  nil )
 (!pair  "coro_promise_type_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 192)
  nil )
 (!pair  "coro_handle_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 191)
  nil )
 (!pair  "coro_traits_identifier"
  (!type already_seen 23)
  (!srcfileloc  "cp/coroutines.cc" 190)
  nil )
 (!pair  "coroutine_info_table"
  (!type already_seen 1917)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "decl_satisfied_cache"
  (!type already_seen 398)
  (!srcfileloc  "cp/constraint.cc" 2311)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "sat_cache"
  (!type already_seen 1912)
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "decl_constraints"
  (!type already_seen 947)
  (!srcfileloc  "cp/constraint.cc" 1157)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "normalized_map"
  (!type already_seen 398)
  (!srcfileloc  "cp/constraint.cc" 758)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "cv_cache"
  (!type already_seen 398)
  (!srcfileloc  "cp/constexpr.c" 6893)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "fundef_copies_table"
  (!type already_seen 398)
  (!srcfileloc  "cp/constexpr.c" 1152)
  nil )
 (!pair  "constexpr_call_table"
  (!type already_seen 1903)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1897)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "dvirt_fn"
  (!type already_seen 23)
  (!srcfileloc  "cp/class.c" 9719)
  nil )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 23)
  (!srcfileloc  "cp/class.c" 9718)
  nil )
 (!pair  "enum_to_min_precision"
  (!type already_seen 1891)
  (!srcfileloc  "cp/class.c" 3302)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "sizeof_biggest_empty_class"
  (!type already_seen 23)
  (!srcfileloc  "cp/class.c" 112)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 84)
  (!srcfileloc  "cp/call.c" 8075)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 84)
  (!srcfileloc  "cp/cp-tree.h" 7043)
  nil )
 (!pair  "ovl_op_alternate"
  (!type array 2148 nil  gc_used "OVL_OP_MAX" 
   (!type already_seen 8)
  )
  (!srcfileloc  "cp/cp-tree.h" 5870)
  nil )
 (!pair  "ovl_op_mapping"
  (!type array 2149 nil  gc_used "MAX_TREE_CODES" 
   (!type already_seen 8)
  )
  (!srcfileloc  "cp/cp-tree.h" 5868)
  nil )
 (!pair  "ovl_op_info"
  (!type array 2150 nil  gc_used "2" 
   (!type array 2151 nil  gc_used "OVL_OP_MAX" 
    (!type already_seen 1845)
   )
  )
  (!srcfileloc  "cp/cp-tree.h" 5866)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 23)
  (!srcfileloc  "cp/cp-tree.h" 5538)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 23)
  (!srcfileloc  "cp/cp-tree.h" 5536)
  nil )
 (!pair  "keyed_classes"
  (!type already_seen 84)
  (!srcfileloc  "cp/cp-tree.h" 5445)
  nil )
 (!pair  "static_decls"
  (!type already_seen 84)
  (!srcfileloc  "cp/cp-tree.h" 5441)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 23)
  (!srcfileloc  "cp/cp-tree.h" 5364)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 1831)
  (!srcfileloc  "cp/cp-tree.h" 1733)
  nil )
 (!pair  "cp_global_trees"
  (!type array 2152 nil  gc_used "CPTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "cp/cp-tree.h" 219)
  nil )
 (!pair  "current_omp_declare_target_attribute"
  (!type already_seen 2)
  (!srcfileloc  "c/c-lang.h" 66)
  nil )
 (!pair  "the_parser"
  (!type already_seen 1811)
  (!srcfileloc  "c/c-parser.c" 258)
  nil )
 (!pair  "locus"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 71)
  nil )
 (!pair  "local_cgraph_node_ptr_node"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 70)
  nil )
 (!pair  "local_gimple_ptr_node"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 69)
  nil )
 (!pair  "local_event_ptr_node"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 68)
  nil )
 (!pair  "local_tree_type_node"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-format.c" 67)
  nil )
 (!pair  "options_stack"
  (!type already_seen 1794)
  (!srcfileloc  "c-family/c-pragma.c" 1008)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 1792)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 1789)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 1786)
  (!srcfileloc  "c-family/c-pragma.c" 49)
  nil )
 (!pair  "pragma_extern_prefix"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-pragma.h" 253)
  nil )
 (!pair  "lazy_hex_fp_value_count"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1635)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 2153 nil  gc_used "LAZY_HEX_FP_VALUES_CNT" 
   (!type already_seen 1782)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1634)
  nil )
 (!pair  "g_string_concat_db"
  (!type already_seen 731)
  (!srcfileloc  "c-family/c-common.h" 1110)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 23)
  (!srcfileloc  "c-family/c-common.h" 1093)
  nil )
 (!pair  "pending_lang_change"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-common.h" 1046)
  nil )
 (!pair  "c_global_trees"
  (!type array 2154 nil  gc_used "CTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "c-family/c-common.h" 514)
  nil )
 (!pair  "ridpointers"
  (!type already_seen 24)
  (!srcfileloc  "c-family/c-common.h" 295)
  (!options 
   (!option length string  "(int) RID_MAX")
  )
 )
 (!pair  "tree_vector_cache"
  (!type already_seen 1772)
  (!srcfileloc  "c-family/c-common.c" 7804)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 1770)
  (!srcfileloc  "c-family/c-common.c" 5524)
  nil )
 (!pair  "compound_literal_number"
  (!type already_seen 2)
  (!srcfileloc  "c-family/c-common.c" 4474)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2155 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "c-family/c-common.c" 3763)
  nil )
 (!pair  "ext_block"
  (!type already_seen 23)
  (!srcfileloc  "c/c-decl.c" 11841)
  nil )
 (!pair  "last_structptr_types"
  (!type array 2156 nil  gc_used "builtin_structptr_type_count" 
   (!type already_seen 23)
  )
  (!srcfileloc  "c/c-decl.c" 1654)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 1762)
  (!srcfileloc  "c/c-decl.c" 558)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 649)
  (!srcfileloc  "c/c-decl.c" 510)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 655)
  (!srcfileloc  "c/c-decl.c" 506)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 655)
  (!srcfileloc  "c/c-decl.c" 502)
  nil )
 (!pair  "file_scope"
  (!type already_seen 655)
  (!srcfileloc  "c/c-decl.c" 497)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 655)
  (!srcfileloc  "c/c-decl.c" 493)
  nil )
 (!pair  "current_scope"
  (!type already_seen 655)
  (!srcfileloc  "c/c-decl.c" 487)
  nil )
 (!pair  "visible_builtins"
  (!type already_seen 23)
  (!srcfileloc  "c/c-decl.c" 120)
  nil )
 (!pair  "c_stmt_tree"
  (!type already_seen 458)
  (!srcfileloc  "c/c-decl.c" 113)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 584)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 583)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 582)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 581)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 580)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 579)
  nil )
 (!pair  "builtin_types"
  (!type array 2157 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "brig/brig-lang.c" 577)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2158 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "brig/brig-lang.c" 574)
  nil )
 (!pair  "brig_gc_root"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 434)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 23)
  (!srcfileloc  "brig/brig-lang.c" 327)
  nil )
 (!pair  "gnat_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/misc.c" 1332)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2159 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 6170)
  nil )
 (!pair  "builtin_types"
  (!type array 2160 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 6003)
  nil )
 (!pair  "dummy_global"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5764)
  nil )
 (!pair  "pad_type_hash_table"
  (!type already_seen 1749)
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "free_block_chain"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/utils.c" 259)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "builtin_decls"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/utils.c" 256)
  nil )
 (!pair  "global_decls"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/utils.c" 253)
  nil )
 (!pair  "global_context"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/utils.c" 250)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 1745)
  (!srcfileloc  "ada/gcc-interface/utils.c" 247)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 1745)
  (!srcfileloc  "ada/gcc-interface/utils.c" 244)
  nil )
 (!pair  "float_types"
  (!type array 2161 nil  gc_used "NUM_MACHINE_MODES" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 228)
  nil )
 (!pair  "signed_and_unsigned_types"
  (!type array 2162 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 2163 nil  gc_used "2" 
    (!type already_seen 23)
   )
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 225)
  nil )
 (!pair  "dummy_node_table"
  (!type already_seen 24)
  (!srcfileloc  "ada/gcc-interface/utils.c" 208)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "associate_gnat_to_gnu"
  (!type already_seen 24)
  (!srcfileloc  "ada/gcc-interface/utils.c" 196)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "thunk_labelno"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/trans.c" 11189)
  nil )
 (!pair  "gnu_loop_stack"
  (!type already_seen 1742)
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  nil )
 (!pair  "gnu_return_var_stack"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/trans.c" 181)
  nil )
 (!pair  "gnu_return_label_stack"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/trans.c" 177)
  nil )
 (!pair  "gnu_elab_proc_stack"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/trans.c" 173)
  nil )
 (!pair  "gnu_incoming_exc_ptr"
  (!type already_seen 23)
  (!srcfileloc  "ada/gcc-interface/trans.c" 170)
  nil )
 (!pair  "gnu_except_ptr_stack"
  (!type already_seen 84)
  (!srcfileloc  "ada/gcc-interface/trans.c" 167)
  nil )
 (!pair  "elab_info_list"
  (!type already_seen 1734)
  (!srcfileloc  "ada/gcc-interface/trans.c" 162)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 1732)
  (!srcfileloc  "ada/gcc-interface/trans.c" 149)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 1732)
  (!srcfileloc  "ada/gcc-interface/trans.c" 146)
  nil )
 (!pair  "dummy_to_subprog_map"
  (!type already_seen 1727)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "annotate_value_cache"
  (!type already_seen 1719)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 2164 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 453)
  nil )
 (!pair  "gnat_raise_decls"
  (!type array 2165 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 452)
  nil )
 (!pair  "gnat_std_decls"
  (!type array 2166 nil  gc_used "(int) ADT_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 451)
  nil )
 (!pair  "ix86_previous_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "config/i386/i386-options.c" 2917)
  nil )
 (!pair  "vselect_insn"
  (!type already_seen 295)
  (!srcfileloc  "config/i386/i386-expand.c" 16230)
  nil )
 (!pair  "ix86_builtins"
  (!type array 2167 nil  gc_used "(int) IX86_BUILTIN_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "config/i386/i386-builtins.c" 221)
  nil )
 (!pair  "ix86_builtin_func_type_tab"
  (!type array 2168 nil  gc_used "(int) IX86_BT_LAST_ALIAS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "config/i386/i386-builtins.c" 175)
  nil )
 (!pair  "ix86_builtin_type_tab"
  (!type array 2169 nil  gc_used "(int) IX86_BT_LAST_CPTR + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "config/i386/i386-builtins.c" 125)
  nil )
 (!pair  "omp_requires_mask"
  (!type already_seen 2)
  (!srcfileloc  "omp-general.h" 115)
  nil )
 (!pair  "alloc_object_size_limit"
  (!type already_seen 23)
  (!srcfileloc  "calls.c" 1219)
  nil )
 (!pair  "hsa_tree_gt_roots"
  (!type array 2170 nil  gc_used "3" 
   (!type already_seen 23)
  )
  (!srcfileloc  "hsa-common.c" 745)
  nil )
 (!pair  "hsa_decl_kernel_mapping"
  (!type already_seen 1690)
  (!srcfileloc  "hsa-common.c" 68)
  nil )
 (!pair  "internal_fn_fnspec_array"
  (!type array 2171 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "internal-fn.h" 124)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 1678)
  (!srcfileloc  "ipa-devirt.c" 495)
  nil )
 (!pair  "ubsan_vptr_type_cache_decl"
  (!type already_seen 23)
  (!srcfileloc  "ubsan.c" 1200)
  nil )
 (!pair  "ubsan_ids"
  (!type array 2172 nil  gc_used "2" 
   (!type already_seen 2)
  )
  (!srcfileloc  "ubsan.c" 344)
  nil )
 (!pair  "ubsan_source_location_type"
  (!type already_seen 23)
  (!srcfileloc  "ubsan.c" 239)
  nil )
 (!pair  "ubsan_type_descriptor_type"
  (!type already_seen 23)
  (!srcfileloc  "ubsan.c" 189)
  nil )
 (!pair  "decl_tree_for_type"
  (!type already_seen 1662)
  (!srcfileloc  "ubsan.c" 82)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "asan_ctor_statements"
  (!type already_seen 23)
  (!srcfileloc  "asan.c" 3052)
  nil )
 (!pair  "asan_detect_stack_use_after_return"
  (!type already_seen 23)
  (!srcfileloc  "asan.c" 354)
  nil )
 (!pair  "shadow_ptr_types"
  (!type array 2173 nil  gc_used "3" 
   (!type already_seen 23)
  )
  (!srcfileloc  "asan.c" 351)
  nil )
 (!pair  "vtbl_mangled_name_ids"
  (!type already_seen 84)
  (!srcfileloc  "vtable-verify.c" 309)
  nil )
 (!pair  "vtbl_mangled_name_types"
  (!type already_seen 84)
  (!srcfileloc  "vtable-verify.c" 308)
  nil )
 (!pair  "verify_vtbl_ptr_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "vtable-verify.c" 151)
  nil )
 (!pair  "ipa_fn_summaries"
  (!type already_seen 1642)
  (!srcfileloc  "ipa-fnsummary.h" 221)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1599)
  (!srcfileloc  "trans-mem.c" 465)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipcp_transformation_sum"
  (!type already_seen 1596)
  (!srcfileloc  "ipa-prop.h" 904)
  nil )
 (!pair  "ipa_edge_args_sum"
  (!type already_seen 1593)
  (!srcfileloc  "ipa-prop.h" 877)
  nil )
 (!pair  "ipa_node_params_sum"
  (!type already_seen 1591)
  (!srcfileloc  "ipa-prop.h" 875)
  nil )
 (!pair  "ipa_escaped_pt"
  (!type already_seen 390)
  (!srcfileloc  "tree-ssa-alias.h" 176)
  nil )
 (!pair  "free_phinodes"
  (!type array 2174 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 1578)
  )
  (!srcfileloc  "tree-phinodes.c" 70)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "clone_fn_ids"
  (!type already_seen 1575)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "vtable_entry_type"
  (!type already_seen 23)
  (!srcfileloc  "cgraphunit.c" 220)
  nil )
 (!pair  "ix86_tls_stack_chk_guard_decl"
  (!type already_seen 23)
  (!srcfileloc  "config/i386/i386.c" 21319)
  nil )
 (!pair  "dllimport_map"
  (!type already_seen 1556)
  (!srcfileloc  "config/i386/i386.c" 11331)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ix86_tls_module_base_symbol"
  (!type already_seen 100)
  (!srcfileloc  "config/i386/i386.c" 10964)
  nil )
 (!pair  "ix86_tls_symbol"
  (!type already_seen 100)
  (!srcfileloc  "config/i386/i386.c" 10937)
  nil )
 (!pair  "split_stack_fn_large"
  (!type already_seen 100)
  (!srcfileloc  "config/i386/i386.c" 9446)
  nil )
 (!pair  "split_stack_fn"
  (!type already_seen 100)
  (!srcfileloc  "config/i386/i386.c" 9441)
  nil )
 (!pair  "queued_cfa_restores"
  (!type already_seen 100)
  (!srcfileloc  "config/i386/i386.c" 6705)
  nil )
 (!pair  "stack_chk_fail_decl"
  (!type already_seen 23)
  (!srcfileloc  "targhooks.c" 880)
  nil )
 (!pair  "stack_chk_guard_decl"
  (!type already_seen 23)
  (!srcfileloc  "targhooks.c" 847)
  nil )
 (!pair  "critical_name_mutexes"
  (!type already_seen 398)
  (!srcfileloc  "omp-low.c" 9392)
  nil )
 (!pair  "grid_attr_trees"
  (!type already_seen 1540)
  (!srcfileloc  "omp-expand.c" 7673)
  nil )
 (!pair  "offload_vars"
  (!type already_seen 84)
  (!srcfileloc  "omp-offload.h" 30)
  nil )
 (!pair  "offload_funcs"
  (!type already_seen 84)
  (!srcfileloc  "omp-offload.h" 29)
  nil )
 (!pair  "descriptor_type"
  (!type already_seen 23)
  (!srcfileloc  "tree-nested.c" 545)
  nil )
 (!pair  "trampoline_type"
  (!type already_seen 23)
  (!srcfileloc  "tree-nested.c" 505)
  nil )
 (!pair  "ic_tuple_callee_field"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 71)
  nil )
 (!pair  "ic_tuple_counters_field"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 70)
  nil )
 (!pair  "ic_tuple_var"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 69)
  nil )
 (!pair  "tree_time_profiler_counter"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 66)
  nil )
 (!pair  "tree_ior_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 65)
  nil )
 (!pair  "tree_average_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 64)
  nil )
 (!pair  "tree_indirect_call_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 63)
  nil )
 (!pair  "tree_topn_values_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 62)
  nil )
 (!pair  "tree_pow2_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 61)
  nil )
 (!pair  "tree_interval_profiler_fn"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 60)
  nil )
 (!pair  "gcov_type_node"
  (!type already_seen 23)
  (!srcfileloc  "tree-profile.c" 59)
  nil )
 (!pair  "scalar_evolution_info"
  (!type already_seen 1526)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "tmp_var_id_num"
  (!type already_seen 2)
  (!srcfileloc  "gimple-expr.c" 415)
  nil )
 (!pair  "stmt_list_cache"
  (!type already_seen 84)
  (!srcfileloc  "tree-iterator.c" 31)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "addr_list"
  (!type already_seen 219)
  (!srcfileloc  "tree-ssa-loop-ivopts.c" 2590)
  nil )
 (!pair  "mem_addr_template_list"
  (!type already_seen 1486)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "elf_fini_array_section"
  (!type already_seen 213)
  (!srcfileloc  "varasm.c" 8069)
  nil )
 (!pair  "elf_init_array_section"
  (!type already_seen 213)
  (!srcfileloc  "varasm.c" 8068)
  nil )
 (!pair  "tm_clone_hash"
  (!type already_seen 1464)
  (!srcfileloc  "varasm.c" 6091)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "weakref_targets"
  (!type already_seen 23)
  (!srcfileloc  "varasm.c" 5746)
  nil )
 (!pair  "const_desc_htab"
  (!type already_seen 1459)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "initial_trampoline"
  (!type already_seen 100)
  (!srcfileloc  "varasm.c" 2670)
  nil )
 (!pair  "weak_decls"
  (!type already_seen 23)
  (!srcfileloc  "varasm.c" 2465)
  nil )
 (!pair  "pending_assemble_externals"
  (!type already_seen 23)
  (!srcfileloc  "varasm.c" 2396)
  nil )
 (!pair  "shared_constant_pool"
  (!type already_seen 1010)
  (!srcfileloc  "varasm.c" 206)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 2)
  (!srcfileloc  "varasm.c" 203)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1456)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "section_htab"
  (!type already_seen 1453)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "unnamed_sections"
  (!type already_seen 213)
  (!srcfileloc  "varasm.c" 174)
  nil )
 (!pair  "const_labelno"
  (!type already_seen 2)
  (!srcfileloc  "varasm.c" 81)
  nil )
 (!pair  "weak_global_object_name"
  (!type already_seen 11)
  (!srcfileloc  "varasm.c" 67)
  nil )
 (!pair  "first_global_object_name"
  (!type already_seen 11)
  (!srcfileloc  "varasm.c" 66)
  nil )
 (!pair  "gcc_eh_personality_decl"
  (!type already_seen 23)
  (!srcfileloc  "tree.c" 12834)
  nil )
 (!pair  "anon_cnt"
  (!type already_seen 2)
  (!srcfileloc  "tree.c" 9587)
  nil )
 (!pair  "nonstandard_boolean_type_cache"
  (!type array 2175 nil  gc_used "MAX_BOOL_CACHED_PREC + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree.c" 8034)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 2176 nil  gc_used "2 * MAX_INT_CACHED_PREC + 2" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree.c" 7994)
  nil )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1447)
  (!srcfileloc  "tree.c" 262)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1444)
  (!srcfileloc  "tree.c" 242)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1444)
  (!srcfileloc  "tree.c" 239)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 1442)
  (!srcfileloc  "tree.c" 233)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_target_option_node"
  (!type already_seen 23)
  (!srcfileloc  "tree.c" 225)
  nil )
 (!pair  "cl_optimization_node"
  (!type already_seen 23)
  (!srcfileloc  "tree.c" 224)
  nil )
 (!pair  "poly_int_cst_hash_table"
  (!type already_seen 1439)
  (!srcfileloc  "tree.c" 217)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "int_cst_hash_table"
  (!type already_seen 1436)
  (!srcfileloc  "tree.c" 206)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "int_cst_node"
  (!type already_seen 23)
  (!srcfileloc  "tree.c" 198)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 1433)
  (!srcfileloc  "tree.c" 195)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "next_debug_decl_uid"
  (!type already_seen 2)
  (!srcfileloc  "tree.c" 163)
  nil )
 (!pair  "next_type_uid"
  (!type already_seen 2)
  (!srcfileloc  "tree.c" 160)
  nil )
 (!pair  "next_decl_uid"
  (!type already_seen 2)
  (!srcfileloc  "tree.c" 158)
  nil )
 (!pair  "spd"
  (!type already_seen 1429)
  (!srcfileloc  "stringpool.c" 240)
  nil )
 (!pair  "size_functions"
  (!type already_seen 84)
  (!srcfileloc  "stor-layout.c" 88)
  nil )
 (!pair  "cfg_layout_function_header"
  (!type already_seen 295)
  (!srcfileloc  "cfgrtl.c" 74)
  nil )
 (!pair  "cfg_layout_function_footer"
  (!type already_seen 295)
  (!srcfileloc  "cfgrtl.c" 73)
  nil )
 (!pair  "libfunc_decls"
  (!type already_seen 1405)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "unused_expr_list"
  (!type already_seen 100)
  (!srcfileloc  "lists.c" 34)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "unused_insn_list"
  (!type already_seen 100)
  (!srcfileloc  "lists.c" 31)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "queue"
  (!type already_seen 84)
  (!srcfileloc  "godump.c" 57)
  nil )
 (!pair  "test_insn"
  (!type already_seen 295)
  (!srcfileloc  "gcse.c" 823)
  nil )
 (!pair  "dummy_unittesting_tree"
  (!type already_seen 23)
  (!srcfileloc  "ggc-tests.c" 454)
  nil )
 (!pair  "root_user_struct_ptr"
  (!type already_seen 1384)
  (!srcfileloc  "ggc-tests.c" 401)
  nil )
 (!pair  "root_test_node"
  (!type already_seen 1382)
  (!srcfileloc  "ggc-tests.c" 339)
  nil )
 (!pair  "test_some_other_subclass_as_base_ptr"
  (!type already_seen 1376)
  (!srcfileloc  "ggc-tests.c" 286)
  nil )
 (!pair  "test_some_subclass_as_base_ptr"
  (!type already_seen 1376)
  (!srcfileloc  "ggc-tests.c" 285)
  nil )
 (!pair  "test_some_other_subclass"
  (!type already_seen 1380)
  (!srcfileloc  "ggc-tests.c" 284)
  nil )
 (!pair  "test_some_subclass"
  (!type already_seen 1378)
  (!srcfileloc  "ggc-tests.c" 283)
  nil )
 (!pair  "test_example_base"
  (!type already_seen 1376)
  (!srcfileloc  "ggc-tests.c" 282)
  nil )
 (!pair  "test_of_deletable"
  (!type already_seen 923)
  (!srcfileloc  "ggc-tests.c" 216)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "root_test_of_union_2"
  (!type already_seen 1373)
  (!srcfileloc  "ggc-tests.c" 146)
  nil )
 (!pair  "root_test_of_union_1"
  (!type already_seen 1373)
  (!srcfileloc  "ggc-tests.c" 145)
  nil )
 (!pair  "root_test_of_length"
  (!type already_seen 1370)
  (!srcfileloc  "ggc-tests.c" 79)
  nil )
 (!pair  "root_test_struct"
  (!type already_seen 923)
  (!srcfileloc  "ggc-tests.c" 53)
  nil )
 (!pair  "sjlj_fc_type_node"
  (!type already_seen 23)
  (!srcfileloc  "except.c" 155)
  nil )
 (!pair  "setjmp_fn"
  (!type already_seen 23)
  (!srcfileloc  "except.c" 152)
  nil )
 (!pair  "type_to_runtime_map"
  (!type already_seen 1357)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "call_site_base"
  (!type already_seen 2)
  (!srcfileloc  "except.c" 148)
  nil )
 (!pair  "next_block_index"
  (!type already_seen 2)
  (!srcfileloc  "function.c" 4590)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1349)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1345)
  (!srcfileloc  "function.c" 129)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1345)
  (!srcfileloc  "function.c" 127)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "funcdef_no"
  (!type already_seen 2)
  (!srcfileloc  "function.c" 109)
  nil )
 (!pair  "stack_check_libfunc"
  (!type already_seen 100)
  (!srcfileloc  "explow.c" 1610)
  nil )
 (!pair  "hard_reg_clobbers"
  (!type array 2177 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 2178 nil  gc_used "FIRST_PSEUDO_REGISTER" 
    (!type already_seen 100)
   )
  )
  (!srcfileloc  "emit-rtl.c" 6481)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_sequence_stack"
  (!type already_seen 998)
  (!srcfileloc  "emit-rtl.c" 5487)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "spill_slot_decl"
  (!type already_seen 23)
  (!srcfileloc  "emit-rtl.c" 2638)
  nil )
 (!pair  "const_fixed_htab"
  (!type already_seen 1334)
  (!srcfileloc  "emit-rtl.c" 189)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1331)
  (!srcfileloc  "emit-rtl.c" 180)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1328)
  (!srcfileloc  "emit-rtl.c" 171)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_poly_int_htab"
  (!type already_seen 1325)
  (!srcfileloc  "emit-rtl.c" 162)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_wide_int_htab"
  (!type already_seen 1322)
  (!srcfileloc  "emit-rtl.c" 152)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1319)
  (!srcfileloc  "emit-rtl.c" 144)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "label_num"
  (!type already_seen 2)
  (!srcfileloc  "emit-rtl.c" 94)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1316)
  (!srcfileloc  "emit-rtl.h" 323)
  nil )
 (!pair  "shift_test"
  (!type already_seen 100)
  (!srcfileloc  "dojump.c" 127)
  nil )
 (!pair  "and_test"
  (!type already_seen 100)
  (!srcfileloc  "dojump.c" 126)
  nil )
 (!pair  "and_reg"
  (!type already_seen 100)
  (!srcfileloc  "dojump.c" 125)
  nil )
 (!pair  "vector_last_nunits"
  (!type already_seen 2)
  (!srcfileloc  "tree-vect-generic.c" 101)
  nil )
 (!pair  "vector_last_type"
  (!type already_seen 23)
  (!srcfileloc  "tree-vect-generic.c" 100)
  nil )
 (!pair  "vector_inner_type"
  (!type already_seen 23)
  (!srcfileloc  "tree-vect-generic.c" 99)
  nil )
 (!pair  "inline_entry_data_table"
  (!type already_seen 1299)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "external_die_map"
  (!type already_seen 1284)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "generic_type_instances"
  (!type already_seen 84)
  (!srcfileloc  "dwarf2out.c" 3612)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1274)
  (!srcfileloc  "dwarf2out.c" 3606)
  nil )
 (!pair  "label_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3604)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 513)
  (!srcfileloc  "dwarf2out.c" 3601)
  nil )
 (!pair  "poc_label_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3598)
  nil )
 (!pair  "loclabel_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3595)
  nil )
 (!pair  "have_location_lists"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3592)
  nil )
 (!pair  "ranges_by_label"
  (!type already_seen 1272)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1270)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "macinfo_table"
  (!type already_seen 1268)
  (!srcfileloc  "dwarf2out.c" 3576)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 3572)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 3568)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1264)
  (!srcfileloc  "dwarf2out.c" 3560)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1226)
  (!srcfileloc  "dwarf2out.c" 3557)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1226)
  (!srcfileloc  "dwarf2out.c" 3556)
  nil )
 (!pair  "cur_line_info_table"
  (!type already_seen 1226)
  (!srcfileloc  "dwarf2out.c" 3553)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 1242)
  (!srcfileloc  "dwarf2out.c" 3539)
  nil )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1262)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "call_arg_locations"
  (!type already_seen 1255)
  (!srcfileloc  "dwarf2out.c" 3507)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "common_block_die_table"
  (!type already_seen 1249)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "variable_value_hash"
  (!type already_seen 1246)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "decl_die_table"
  (!type already_seen 1240)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "file_table"
  (!type already_seen 1237)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "deferred_asm_name"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 3389)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 3385)
  nil )
 (!pair  "cu_die_list"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 3382)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 499)
  (!srcfileloc  "dwarf2out.c" 3379)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 496)
  (!srcfileloc  "dwarf2out.c" 3376)
  nil )
 (!pair  "zero_view_p"
  (!type already_seen 391)
  (!srcfileloc  "dwarf2out.c" 3301)
  nil )
 (!pair  "do_eh_frame"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 284)
  nil )
 (!pair  "current_unit_personality"
  (!type already_seen 100)
  (!srcfileloc  "dwarf2out.c" 281)
  nil )
 (!pair  "decltype_auto_die"
  (!type already_seen 496)
  (!srcfileloc  "dwarf2out.c" 272)
  nil )
 (!pair  "auto_die"
  (!type already_seen 496)
  (!srcfileloc  "dwarf2out.c" 269)
  nil )
 (!pair  "cold_text_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 266)
  nil )
 (!pair  "cold_text_section_used"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 263)
  nil )
 (!pair  "text_section_used"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 262)
  nil )
 (!pair  "have_multiple_function_sections"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 259)
  nil )
 (!pair  "dw2_string_counter"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 256)
  nil )
 (!pair  "skeleton_debug_str_hash"
  (!type already_seen 1221)
  (!srcfileloc  "dwarf2out.c" 254)
  nil )
 (!pair  "debug_line_str_hash"
  (!type already_seen 1221)
  (!srcfileloc  "dwarf2out.c" 233)
  nil )
 (!pair  "debug_str_hash"
  (!type already_seen 1221)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "fde_vec"
  (!type already_seen 1218)
  (!srcfileloc  "dwarf2out.c" 213)
  nil )
 (!pair  "debug_frame_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 174)
  nil )
 (!pair  "debug_ranges_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 173)
  nil )
 (!pair  "debug_str_offsets_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 172)
  nil )
 (!pair  "debug_str_dwo_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 171)
  nil )
 (!pair  "debug_line_str_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 170)
  nil )
 (!pair  "debug_str_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 169)
  nil )
 (!pair  "debug_pubtypes_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 168)
  nil )
 (!pair  "debug_pubnames_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 167)
  nil )
 (!pair  "debug_loc_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 166)
  nil )
 (!pair  "debug_skeleton_line_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 165)
  nil )
 (!pair  "debug_line_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 164)
  nil )
 (!pair  "debug_macinfo_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 161)
  nil )
 (!pair  "debug_addr_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 160)
  nil )
 (!pair  "debug_aranges_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 159)
  nil )
 (!pair  "debug_skeleton_abbrev_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 158)
  nil )
 (!pair  "debug_abbrev_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 157)
  nil )
 (!pair  "debug_skeleton_info_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 156)
  nil )
 (!pair  "debug_info_section"
  (!type already_seen 213)
  (!srcfileloc  "dwarf2out.c" 155)
  nil )
 (!pair  "incomplete_types"
  (!type already_seen 84)
  (!srcfileloc  "dwarf2out.c" 152)
  nil )
 (!pair  "used_rtx_array"
  (!type already_seen 219)
  (!srcfileloc  "dwarf2out.c" 146)
  nil )
 (!pair  "saved_do_cfi_asm"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2cfi.c" 3512)
  nil )
 (!pair  "dwarf2out_cfi_label_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2cfi.c" 197)
  nil )
 (!pair  "cie_return_save"
  (!type already_seen 1211)
  (!srcfileloc  "dwarf2cfi.c" 195)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1209)
  (!srcfileloc  "dwarf2cfi.c" 193)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2asm.c" 867)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1207)
  (!srcfileloc  "dwarf2asm.c" 865)
  nil )
 (!pair  "cie_cfi_vec"
  (!type already_seen 481)
  (!srcfileloc  "dwarf2out.h" 297)
  nil )
 (!pair  "lastfile_is_base"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 254)
  nil )
 (!pair  "lastlineno"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 250)
  nil )
 (!pair  "lastfile"
  (!type already_seen 11)
  (!srcfileloc  "dbxout.c" 246)
  nil )
 (!pair  "source_label_number"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 242)
  nil )
 (!pair  "dbxout_source_line_counter"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 237)
  nil )
 (!pair  "scope_labelno"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 233)
  nil )
 (!pair  "next_file_number"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 229)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 23)
  (!srcfileloc  "dbxout.c" 196)
  nil )
 (!pair  "next_type_number"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 190)
  nil )
 (!pair  "typevec_len"
  (!type already_seen 2)
  (!srcfileloc  "dbxout.c" 184)
  nil )
 (!pair  "typevec"
  (!type already_seen 1202)
  (!srcfileloc  "dbxout.c" 180)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "func_sums"
  (!type already_seen 1196)
  (!srcfileloc  "ipa-sra.c" 427)
  nil )
 (!pair  "ipa_vr_hash_table"
  (!type already_seen 1105)
  (!srcfileloc  "ipa-prop.c" 151)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipa_bits_hash_table"
  (!type already_seen 1102)
  (!srcfileloc  "ipa-prop.c" 105)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1044)
  (!srcfileloc  "cgraph.c" 139)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1098)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "callmem"
  (!type already_seen 100)
  (!srcfileloc  "cselib.c" 237)
  nil )
 (!pair  "bitmap_ggc_free"
  (!type already_seen 393)
  (!srcfileloc  "bitmap.c" 70)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "frame_set"
  (!type already_seen 2)
  (!srcfileloc  "alias.c" 1358)
  nil )
 (!pair  "varargs_set"
  (!type already_seen 2)
  (!srcfileloc  "alias.c" 1336)
  nil )
 (!pair  "alias_sets"
  (!type already_seen 1091)
  (!srcfileloc  "alias.c" 279)
  nil )
 (!pair  "reg_known_value"
  (!type already_seen 219)
  (!srcfileloc  "alias.c" 257)
  nil )
 (!pair  "old_reg_base_value"
  (!type already_seen 219)
  (!srcfileloc  "alias.c" 238)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "arg_base_value"
  (!type already_seen 100)
  (!srcfileloc  "alias.c" 230)
  nil )
 (!pair  "reg_base_value"
  (!type already_seen 219)
  (!srcfileloc  "alias.c" 225)
  nil )
 (!pair  "restinsn"
  (!type already_seen 295)
  (!srcfileloc  "caller-save.c" 107)
  nil )
 (!pair  "saveinsn"
  (!type already_seen 295)
  (!srcfileloc  "caller-save.c" 106)
  nil )
 (!pair  "test_mem"
  (!type already_seen 100)
  (!srcfileloc  "caller-save.c" 105)
  nil )
 (!pair  "test_reg"
  (!type already_seen 100)
  (!srcfileloc  "caller-save.c" 104)
  nil )
 (!pair  "restpat"
  (!type already_seen 100)
  (!srcfileloc  "caller-save.c" 103)
  nil )
 (!pair  "savepat"
  (!type already_seen 100)
  (!srcfileloc  "caller-save.c" 102)
  nil )
 (!pair  "saved_symtab"
  (!type already_seen 1067)
  (!srcfileloc  "cgraph.h" 3585)
  nil )
 (!pair  "symtab"
  (!type already_seen 1067)
  (!srcfileloc  "cgraph.h" 2591)
  nil )
 (!pair  "in_cold_section_p"
  (!type already_seen 2)
  (!srcfileloc  "output.h" 522)
  nil )
 (!pair  "in_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 521)
  nil )
 (!pair  "bss_noswitch_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 519)
  nil )
 (!pair  "lcomm_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 518)
  nil )
 (!pair  "comm_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 517)
  nil )
 (!pair  "tls_comm_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 516)
  nil )
 (!pair  "eh_frame_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 515)
  nil )
 (!pair  "exception_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 514)
  nil )
 (!pair  "sbss_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 513)
  nil )
 (!pair  "bss_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 512)
  nil )
 (!pair  "dtors_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 511)
  nil )
 (!pair  "ctors_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 510)
  nil )
 (!pair  "sdata_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 509)
  nil )
 (!pair  "readonly_data_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 508)
  nil )
 (!pair  "data_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 507)
  nil )
 (!pair  "text_section"
  (!type already_seen 213)
  (!srcfileloc  "output.h" 506)
  nil )
 (!pair  "types_used_by_cur_var_decl"
  (!type already_seen 84)
  (!srcfileloc  "function.h" 480)
  nil )
 (!pair  "types_used_by_vars_hash"
  (!type already_seen 1021)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "cfun"
  (!type already_seen 356)
  (!srcfileloc  "function.h" 445)
  nil )
 (!pair  "regno_reg_rtx"
  (!type already_seen 101)
  (!srcfileloc  "function.h" 87)
  (!options 
   (!option length string  "crtl->emit.x_reg_rtx_no")
  )
 )
 (!pair  "default_target_libfuncs"
  (!type already_seen 614)
  (!srcfileloc  "libfuncs.h" 64)
  nil )
 (!pair  "current_function_func_begin_label"
  (!type already_seen 11)
  (!srcfileloc  "tree-core.h" 2245)
  nil )
 (!pair  "current_function_decl"
  (!type already_seen 23)
  (!srcfileloc  "tree-core.h" 2242)
  nil )
 (!pair  "builtin_info"
  (!type array 2179 nil  gc_used "(int)END_BUILTINS" 
   (!type already_seen 987)
  )
  (!srcfileloc  "tree-core.h" 2236)
  nil )
 (!pair  "sizetype_tab"
  (!type array 2180 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2224)
  nil )
 (!pair  "integer_types"
  (!type array 2181 nil  gc_used "itk_none" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2221)
  nil )
 (!pair  "global_trees"
  (!type array 2182 nil  gc_used "TI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2217)
  nil )
 (!pair  "all_translation_units"
  (!type already_seen 84)
  (!srcfileloc  "tree-core.h" 2214)
  nil )
 (!pair  "alias_pairs"
  (!type already_seen 990)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "int_n_trees"
  (!type array 2183 nil  gc_used "NUM_INT_N_ENTS" 
   (!type already_seen 972)
  )
  (!srcfileloc  "tree.h" 6146)
  nil )
 (!pair  "stack_limit_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 4332)
  nil )
 (!pair  "default_target_rtl"
  (!type already_seen 597)
  (!srcfileloc  "rtl.h" 3765)
  nil )
 (!pair  "invalid_insn_rtx"
  (!type already_seen 295)
  (!srcfileloc  "rtl.h" 3663)
  nil )
 (!pair  "simple_return_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3662)
  nil )
 (!pair  "ret_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3661)
  nil )
 (!pair  "cc0_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3660)
  nil )
 (!pair  "pc_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3659)
  nil )
 (!pair  "const_tiny_rtx"
  (!type array 2184 nil  gc_used "4" 
   (!type array 2185 nil  gc_used "(int) MAX_MACHINE_MODE" 
    (!type already_seen 100)
   )
  )
  (!srcfileloc  "rtl.h" 3646)
  nil )
 (!pair  "const_true_rtx"
  (!type already_seen 100)
  (!srcfileloc  "rtl.h" 3644)
  nil )
 (!pair  "const_int_rtx"
  (!type array 2186 nil  gc_used "MAX_SAVED_CONST_INT * 2 + 1" 
   (!type already_seen 100)
  )
  (!srcfileloc  "rtl.h" 3638)
  nil )
 (!pair  "gcov_fn_info_ptr_type"
  (!type already_seen 23)
  (!srcfileloc  "coverage.c" 101)
  nil )
 (!pair  "gcov_fn_info_type"
  (!type already_seen 23)
  (!srcfileloc  "coverage.c" 100)
  nil )
 (!pair  "gcov_info_var"
  (!type already_seen 23)
  (!srcfileloc  "coverage.c" 99)
  nil )
 (!pair  "fn_v_ctrs"
  (!type array 2187 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 23)
  )
  (!srcfileloc  "coverage.c" 94)
  nil )
 (!pair  "functions_head"
  (!type already_seen 911)
  (!srcfileloc  "coverage.c" 85)
  nil )
 (!pair  "ms_va_list_type_node"
  (!type already_seen 23)
  (!srcfileloc  "config/i386/i386.h" 2860)
  nil )
 (!pair  "sysv_va_list_type_node"
  (!type already_seen 23)
  (!srcfileloc  "config/i386/i386.h" 2859)
  nil )
 (!pair  "saved_line_table"
  (!type already_seen 704)
  (!srcfileloc  "input.h" 27)
  nil )
 (!pair  "line_table"
  (!type already_seen 704)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
