;;;;@@@@ 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-armv7a-cros-linux-gnueabihf/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 222
 (!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/dbxelf.h")
 (!srcfile 2047  "config/elfos.h")
 (!srcfile 2047  "config/gnu-user.h")
 (!srcfile 2047  "config/linux.h")
 (!srcfile 2047  "config/linux-android.h")
 (!srcfile 2047  "config/glibc-stdint.h")
 (!srcfile 2047  "config/arm/elf.h")
 (!srcfile 2047  "config/arm/linux-gas.h")
 (!srcfile 2047  "config/arm/linux-elf.h")
 (!srcfile 2047  "config/arm/bpabi.h")
 (!srcfile 2047  "config/arm/linux-eabi.h")
 (!srcfile 2047  "config/arm/aout.h")
 (!srcfile 2047  "config/arm/arm.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/arm/arm.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/arm/arm-builtins.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 1613
 
 (!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-armv7a-cros-linux-gnueabihf/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-armv7a-cros-linux-gnueabihf/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-armv7a-cros-linux-gnueabihf/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-armv7a-cros-linux-gnueabihf/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-armv7a-cros-linux-gnueabihf/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-armv7a-cros-linux-gnueabihf/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-armv7a-cros-linux-gnueabihf/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-armv7a-cros-linux-gnueabihf/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/arm/arm.h" 1521)
                            (!fields 17 
                             (!pair  "eh_epilogue_sp_ofs"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1484)
                              nil )
                             (!pair  "far_jump_used"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1486)
                              nil )
                             (!pair  "arg_pointer_live"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1488)
                              nil )
                             (!pair  "lr_save_eliminated"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1490)
                              nil )
                             (!pair  "stack_offsets"
                              (!type struct 427 nil  gc_used "arm_stack_offsets"
                               (!srcfileloc  "config/arm/arm.h" 1475)
                               (!fields 7 
                                (!pair  "saved_args"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1468)
                                 nil )
                                (!pair  "frame"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1469)
                                 nil )
                                (!pair  "saved_regs"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1470)
                                 nil )
                                (!pair  "soft_frame"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1471)
                                 nil )
                                (!pair  "locals_base"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1472)
                                 nil )
                                (!pair  "outgoing_args"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1473)
                                 nil )
                                (!pair  "saved_regs_mask"
                                 (!type already_seen 2)
                                 (!srcfileloc  "config/arm/arm.h" 1474)
                                 nil )
                               )
                               nil 2047 nil nil )
                              (!srcfileloc  "config/arm/arm.h" 1492)
                              nil )
                             (!pair  "func_type"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1494)
                              nil )
                             (!pair  "uses_anonymous_args"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1496)
                              nil )
                             (!pair  "sibcall_blocked"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1499)
                              nil )
                             (!pair  "pic_reg"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1501)
                              nil )
                             (!pair  "call_via"
                              (!type array 428 nil  gc_used "14" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "config/arm/arm.h" 1505)
                              nil )
                             (!pair  "return_used_this_function"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1508)
                              nil )
                             (!pair  "thumb1_cc_insn"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1511)
                              nil )
                             (!pair  "thumb1_cc_op0"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1512)
                              nil )
                             (!pair  "thumb1_cc_op1"
                              (!type already_seen 100)
                              (!srcfileloc  "config/arm/arm.h" 1513)
                              nil )
                             (!pair  "thumb1_cc_mode"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1515)
                              nil )
                             (!pair  "after_arm_reorg"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1517)
                              nil )
                             (!pair  "static_chain_stack_bytes"
                              (!type already_seen 2)
                              (!srcfileloc  "config/arm/arm.h" 1520)
                              nil )
                            )
                            nil 2047 nil nil )
                          )
                          (!srcfileloc  "function.h" 292)
                          (!options 
                           (!option maybe_undef string  "")
                          )
                         )
                         (!pair  "language"
                          (!type pointer 429 nil  gc_used
                           (!type lang_struct 430 
                            (!type already_seen 429)
                            gc_pointed_to "language_function"
                            (!srcfileloc  "ada/gcc-interface/trans.c" 120)
                            (!fields 0 )
                            nil 2047 
                            (!homotypes 9
                             (!type struct 431 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 430)
                              nil )
                             
                             (!type struct 432 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 430)
                              nil )
                             
                             (!type struct 433 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 430)
                              nil )
                             
                             (!type struct 434 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "fortran/f95-lang.c" 68)
                              (!fields 1 
                               (!pair  "binding_level"
                                (!type pointer 435 nil  gc_used
                                 (!type lang_struct 436 
                                  (!type already_seen 435)
                                  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 437 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 435)
                                      (!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 436)
                                    nil )
                                   
                                   (!type struct 438 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 435)
                                      (!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 436)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "fortran/f95-lang.c" 67)
                                nil )
                              )
                              nil 32 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 439 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "d/d-tree.h" 244)
                              (!fields 6 
                               (!pair  "function"
                                (!type pointer 440 nil  gc_unused
                                 (!type struct 441 
                                  (!type already_seen 440)
                                  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 442 nil  gc_unused
                                 (!type struct 443 
                                  (!type already_seen 442)
                                  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 444 nil  gc_used
                                 (!type user_struct 445 
                                  (!type already_seen 444)
                                  gc_pointed_to "hash_map<Statement*,d_label_entry>"
                                  (!srcfileloc  "d/d-tree.h" 243)
                                  (!fields 2 
                                   (!pair  "d_label_entry"
                                    (!type struct 446 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 447 nil  gc_used
                                        (!type struct 448 
                                         (!type already_seen 447)
                                         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 435)
                                       (!srcfileloc  "d/d-tree.h" 154)
                                       nil )
                                      (!pair  "fwdrefs"
                                       (!type pointer 449 nil  gc_used
                                        (!type struct 450 
                                         (!type already_seen 449)
                                         gc_pointed_to "d_label_use_entry"
                                         (!srcfileloc  "d/d-tree.h" 137)
                                         (!fields 3 
                                          (!pair  "next"
                                           (!type already_seen 449)
                                           (!srcfileloc  "d/d-tree.h" 128)
                                           nil )
                                          (!pair  "statement"
                                           (!type already_seen 447)
                                           (!srcfileloc  "d/d-tree.h" 131)
                                           (!options 
                                            (!option skip string  "")
                                           )
                                          )
                                          (!pair  "level"
                                           (!type already_seen 435)
                                           (!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 447)
                                    (!srcfileloc  "d/d-tree.h" 243)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "d/d-tree.h" 243)
                                nil )
                              )
                              nil 16 
                              (!type already_seen 430)
                              nil )
                             
                             (!type struct 451 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "cp/cp-tree.h" 1930)
                              (!fields 21 
                               (!pair  "base"
                                (!type struct 452 nil  gc_used "c_language_function"
                                 (!srcfileloc  "c-family/c-common.h" 582)
                                 (!fields 2 
                                  (!pair  "x_stmt_tree"
                                   (!type struct 453 
                                    (!type pointer 454 nil  gc_unused
                                     (!type already_seen 453)
                                    )
                                    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 455 nil  gc_used
                                 (!type user_struct 456 
                                  (!type already_seen 455)
                                  gc_pointed_to "hash_table<named_label_hash>"
                                  (!srcfileloc  "cp/cp-tree.h" 1922)
                                  (!fields 1 
                                   (!pair  "named_label_hash"
                                    (!type struct 457 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 458 nil  gc_used
                                 (!type user_struct 459 
                                  (!type already_seen 458)
                                  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 460 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 430)
                              nil )
                             
                             (!type struct 461 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "c/c-lang.h" 62)
                              (!fields 9 
                               (!pair  "base"
                                (!type already_seen 452)
                                (!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 462 nil  gc_unused
                                 (!type struct 463 
                                  (!type already_seen 462)
                                  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 464 nil  gc_unused
                                 (!type struct 465 
                                  (!type already_seen 464)
                                  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 430)
                              nil )
                             
                             (!type struct 466 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 430)
                              nil )
                             
                             (!type struct 467 nil  gc_pointed_to "language_function"
                              (!srcfileloc  "ada/gcc-interface/trans.c" 120)
                              (!fields 4 
                               (!pair  "parm_attr_cache"
                                (!type pointer 468 nil  gc_used
                                 (!type user_struct 469 
                                  (!type already_seen 468)
                                  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 470 nil  gc_used
                                     (!type struct 471 
                                      (!type already_seen 470)
                                      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 430)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "function.h" 295)
                          nil )
                         (!pair  "used_types_hash"
                          (!type pointer 472 nil  gc_used
                           (!type user_struct 473 
                            (!type already_seen 472)
                            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 474 nil  gc_used
                           (!type struct 475 
                            (!type already_seen 474)
                            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 476 nil  gc_used
                               (!type user_struct 477 
                                (!type already_seen 476)
                                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 478 nil  gc_used
                                   (!type struct 479 
                                    (!type already_seen 478)
                                    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 480 nil  gc_used "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 481 nil  gc_used
                                          (!type struct 482 
                                           (!type already_seen 481)
                                           gc_pointed_to "dw_loc_descr_node"
                                           (!srcfileloc  "dwarf2out.h" 258)
                                           (!fields 7 
                                            (!pair  "dw_loc_next"
                                             (!type already_seen 481)
                                             (!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 483 
                                              (!type pointer 484 nil  gc_unused
                                               (!type already_seen 483)
                                              )
                                              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 485 nil  gc_used
                                                 (!type struct 486 
                                                  (!type already_seen 485)
                                                  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 487 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 488 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 489 nil  gc_used
                                                    (!type struct 490 
                                                     (!type already_seen 489)
                                                     gc_pointed_to "dw_loc_list_struct"
                                                     (!srcfileloc  "dwarf2out.c" 1334)
                                                     (!fields 18 
                                                      (!pair  "dw_loc_next"
                                                       (!type already_seen 489)
                                                       (!srcfileloc  "dwarf2out.c" 1306)
                                                       nil )
                                                      (!pair  "begin"
                                                       (!type already_seen 11)
                                                       (!srcfileloc  "dwarf2out.c" 1307)
                                                       nil )
                                                      (!pair  "begin_entry"
                                                       (!type already_seen 485)
                                                       (!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 481)
                                                       (!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 491 nil  gc_used
                                                    (!type struct 492 
                                                     (!type already_seen 491)
                                                     gc_pointed_to "die_struct"
                                                     (!srcfileloc  "dwarf2out.c" 3104)
                                                     (!fields 15 
                                                      (!pair  "die_id"
                                                       (!type union 493 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 494 nil  gc_used
                                                           (!type struct 495 
                                                            (!type already_seen 494)
                                                            gc_pointed_to "comdat_type_node"
                                                            (!srcfileloc  "dwarf2out.c" 3174)
                                                            (!fields 5 
                                                             (!pair  "root_die"
                                                              (!type already_seen 491)
                                                              (!srcfileloc  "dwarf2out.c" 3169)
                                                              nil )
                                                             (!pair  "type_die"
                                                              (!type already_seen 491)
                                                              (!srcfileloc  "dwarf2out.c" 3170)
                                                              nil )
                                                             (!pair  "skeleton_die"
                                                              (!type already_seen 491)
                                                              (!srcfileloc  "dwarf2out.c" 3171)
                                                              nil )
                                                             (!pair  "signature"
                                                              (!type array 496 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                               (!type already_seen 8)
                                                              )
                                                              (!srcfileloc  "dwarf2out.c" 3172)
                                                              nil )
                                                             (!pair  "next"
                                                              (!type already_seen 494)
                                                              (!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 497 nil  gc_used
                                                        (!type user_struct 498 
                                                         (!type already_seen 497)
                                                         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 499 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 483)
                                                              (!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 491)
                                                       (!srcfileloc  "dwarf2out.c" 3084)
                                                       nil )
                                                      (!pair  "die_child"
                                                       (!type already_seen 491)
                                                       (!srcfileloc  "dwarf2out.c" 3085)
                                                       nil )
                                                      (!pair  "die_sib"
                                                       (!type already_seen 491)
                                                       (!srcfileloc  "dwarf2out.c" 3086)
                                                       nil )
                                                      (!pair  "die_definition"
                                                       (!type already_seen 491)
                                                       (!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 481)
                                                   (!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 500 nil  gc_used
                                                    (!type user_struct 501 
                                                     (!type already_seen 500)
                                                     gc_pointed_to "generic_wide_int<wide_int_storage>"
                                                     (!srcfileloc  "wide-int.h" 322)
                                                     (!fields 1 
                                                      (!pair  "wide_int_storage"
                                                       (!type struct 502 nil  gc_used "wide_int_storage"
                                                        (!srcfileloc  "wide-int.h" 1088)
                                                        (!fields 3 
                                                         (!pair  "val"
                                                          (!type array 503 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 504 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 505 nil  gc_used "dw_val_die_union"
                                                    (!srcfileloc  "dwarf2out.h" 220)
                                                    (!fields 2 
                                                     (!pair  "die"
                                                      (!type already_seen 491)
                                                      (!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 506 nil  gc_used
                                                    (!type struct 507 
                                                     (!type already_seen 506)
                                                     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 508 nil  gc_used
                                                    (!type struct 509 
                                                     (!type already_seen 508)
                                                     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 508)
                                                   (!srcfileloc  "dwarf2out.h" 227)
                                                   (!options 
                                                    (!option tag string  "dw_val_class_file_implicit")
                                                   )
                                                  )
                                                  (!pair  "val_data8"
                                                   (!type array 510 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 511 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 512 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 513 nil  gc_used "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 514 nil  gc_used
                                                    (!type struct 515 
                                                     (!type already_seen 514)
                                                     gc_pointed_to "dw_discr_list_node"
                                                     (!srcfileloc  "dwarf2out.h" 273)
                                                     (!fields 4 
                                                      (!pair  "dw_discr_next"
                                                       (!type already_seen 514)
                                                       (!srcfileloc  "dwarf2out.h" 265)
                                                       nil )
                                                      (!pair  "dw_discr_lower_bound"
                                                       (!type already_seen 512)
                                                       (!srcfileloc  "dwarf2out.h" 267)
                                                       nil )
                                                      (!pair  "dw_discr_upper_bound"
                                                       (!type already_seen 512)
                                                       (!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 483)
                                             (!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 516 nil  gc_used
                                          (!type struct 517 
                                           (!type already_seen 516)
                                           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 480)
                                      (!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 518 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 519 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 520 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 491)
                         (!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 521 nil  gc_used "tree_type_with_lang_specific"
                    (!srcfileloc  "tree-core.h" 1653)
                    (!fields 2 
                     (!pair  "common"
                      (!type already_seen 519)
                      (!srcfileloc  "tree-core.h" 1650)
                      nil )
                     (!pair  "lang_specific"
                      (!type pointer 522 nil  gc_used
                       (!type lang_struct 523 
                        (!type already_seen 522)
                        gc_pointed_to "lang_type"
                        (!srcfileloc  "ada/gcc-interface/ada-tree.h" 36)
                        (!fields 0 )
                        nil 2047 
                        (!homotypes 9
                         (!type struct 524 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 523)
                          nil )
                         
                         (!type struct 525 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 523)
                          nil )
                         
                         (!type struct 526 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 523)
                          nil )
                         
                         (!type struct 527 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 528 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 989)
                            nil )
                           (!pair  "ubound"
                            (!type array 529 nil  gc_used "GFC_MAX_DIMENSIONS" 
                             (!type already_seen 23)
                            )
                            (!srcfileloc  "fortran/trans.h" 990)
                            nil )
                           (!pair  "stride"
                            (!type array 530 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 531 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 523)
                          nil )
                         
                         (!type struct 532 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "d/d-tree.h" 312)
                          (!fields 1 
                           (!pair  "type"
                            (!type pointer 533 nil  gc_unused
                             (!type struct 534 
                              (!type already_seen 533)
                              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 523)
                          nil )
                         
                         (!type struct 535 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 536 nil  gc_used
                             (!type user_struct 537 
                              (!type already_seen 536)
                              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 538 
                                 (!type pointer 539 nil  gc_used
                                  (!type already_seen 538)
                                 )
                                 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 540 nil  gc_used
                             (!type struct 541 
                              (!type already_seen 540)
                              gc_pointed_to "binding_table_s"
                              (!srcfileloc  "cp/name-lookup.c" 1802)
                              (!fields 3 
                               (!pair  "chain"
                                (!type pointer 542 nil  gc_unused
                                 (!type pointer 543 
                                  (!type already_seen 542)
                                  gc_used
                                  (!type struct 544 
                                   (!type already_seen 543)
                                   gc_pointed_to "binding_entry_s"
                                   (!srcfileloc  "cp/name-lookup.h" 38)
                                   (!fields 3 
                                    (!pair  "chain"
                                     (!type already_seen 543)
                                     (!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 523)
                          nil )
                         
                         (!type struct 545 nil  gc_pointed_to "lang_type"
                          (!srcfileloc  "c/c-lang.h" 42)
                          (!fields 4 
                           (!pair  "s"
                            (!type pointer 546 nil  gc_used
                             (!type struct 547 
                              (!type already_seen 546)
                              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 548 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 523)
                          nil )
                         
                         (!type struct 549 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 523)
                          nil )
                         
                         (!type struct 550 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 523)
                          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 551 nil  gc_used "tree_type_non_common"
                    (!srcfileloc  "tree-core.h" 1661)
                    (!fields 5 
                     (!pair  "with_lang_specific"
                      (!type already_seen 521)
                      (!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 552 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 553 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 554 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 555 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 556 nil  gc_used "tree_exp_subunion"
                       (!srcfileloc  "tree-core.h" 1495)
                       (!fields 1 
                        (!pair  ""
                         (!type array 557 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 558 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 559 nil  gc_used "ssa_name_info_type"
                       (!srcfileloc  "tree-core.h" 1527)
                       (!fields 2 
                        (!pair  "ptr_info"
                         (!type pointer 560 nil  gc_used
                          (!type struct 561 
                           (!type already_seen 560)
                           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 562 nil  gc_used
                          (!type struct 563 
                           (!type already_seen 562)
                           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 564 
                       (!type pointer 565 nil  gc_unused
                        (!type already_seen 564)
                       )
                       gc_used "ssa_use_operand_t"
                       (!srcfileloc  "tree-ssa-operands.h" 30)
                       (!fields 4 
                        (!pair  "prev"
                         (!type already_seen 565)
                         (!srcfileloc  "tree-core.h" 1501)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "next"
                         (!type already_seen 565)
                         (!srcfileloc  "tree-core.h" 1502)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                        (!pair  "loc"
                         (!type union 566 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 567 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 491)
                      (!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 568 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 569 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 570 nil  gc_used
                       (!type struct 571 
                        (!type already_seen 570)
                        gc_pointed_to "tree_statement_list_node"
                        (!srcfileloc  "tree-core.h" 1923)
                        (!fields 3 
                         (!pair  "prev"
                          (!type already_seen 570)
                          (!srcfileloc  "tree-core.h" 1920)
                          nil )
                         (!pair  "next"
                          (!type already_seen 570)
                          (!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 570)
                      (!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 572 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 573 nil  gc_used
                       (!type user_struct 574 
                        (!type already_seen 573)
                        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 575 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 576 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 577 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 578 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 579 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 580 nil  gc_used
                       (!type struct 581 
                        (!type already_seen 580)
                        gc_pointed_to "cl_optimization"
                        (!fileloc  "options.h" 7697)
                        (!fields 451 
                         (!pair  "x_str_align_functions"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7246)
                          nil )
                         (!pair  "x_str_align_jumps"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7247)
                          nil )
                         (!pair  "x_str_align_labels"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7248)
                          nil )
                         (!pair  "x_str_align_loops"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7249)
                          nil )
                         (!pair  "x_param_align_loop_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7250)
                          nil )
                         (!pair  "x_param_align_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7251)
                          nil )
                         (!pair  "x_param_asan_protect_allocas"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7252)
                          nil )
                         (!pair  "x_param_asan_instrument_reads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7253)
                          nil )
                         (!pair  "x_param_asan_instrument_writes"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7254)
                          nil )
                         (!pair  "x_param_asan_instrumentation_with_call_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7255)
                          nil )
                         (!pair  "x_param_asan_memintrin"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7256)
                          nil )
                         (!pair  "x_param_asan_stack"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7257)
                          nil )
                         (!pair  "x_param_asan_use_after_return"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7258)
                          nil )
                         (!pair  "x_param_avg_loop_niter"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7259)
                          nil )
                         (!pair  "x_param_avoid_fma_max_bits"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7260)
                          nil )
                         (!pair  "x_param_builtin_expect_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7261)
                          nil )
                         (!pair  "x_param_builtin_string_cmp_inline_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7262)
                          nil )
                         (!pair  "x_param_case_values_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7263)
                          nil )
                         (!pair  "x_param_comdat_sharing_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7264)
                          nil )
                         (!pair  "x_param_dse_max_alias_queries_per_store"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7265)
                          nil )
                         (!pair  "x_param_dse_max_object_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7266)
                          nil )
                         (!pair  "x_param_early_inlining_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7267)
                          nil )
                         (!pair  "x_param_fsm_maximum_phi_arguments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7268)
                          nil )
                         (!pair  "x_param_fsm_scale_path_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7269)
                          nil )
                         (!pair  "x_param_fsm_scale_path_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7270)
                          nil )
                         (!pair  "x_param_gcse_after_reload_critical_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7271)
                          nil )
                         (!pair  "x_param_gcse_after_reload_partial_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7272)
                          nil )
                         (!pair  "x_param_gcse_cost_distance_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7273)
                          nil )
                         (!pair  "x_param_gcse_unrestricted_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7274)
                          nil )
                         (!pair  "x_param_graphite_max_arrays_per_scop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7275)
                          nil )
                         (!pair  "x_param_graphite_max_nb_scop_params"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7276)
                          nil )
                         (!pair  "x_param_inline_heuristics_hint_percent"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7277)
                          nil )
                         (!pair  "x_param_inline_min_speedup"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7278)
                          nil )
                         (!pair  "x_param_inline_unit_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7279)
                          nil )
                         (!pair  "x_param_ipa_cp_eval_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7280)
                          nil )
                         (!pair  "x_param_ipa_cp_loop_hint_bonus"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7281)
                          nil )
                         (!pair  "x_param_ipa_cp_max_recursive_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7282)
                          nil )
                         (!pair  "x_param_ipa_cp_min_recursive_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7283)
                          nil )
                         (!pair  "x_param_ipa_cp_recursion_penalty"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7284)
                          nil )
                         (!pair  "x_param_ipa_cp_single_call_penalty"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7285)
                          nil )
                         (!pair  "x_param_ipa_cp_unit_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7286)
                          nil )
                         (!pair  "x_param_ipa_cp_value_list_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7287)
                          nil )
                         (!pair  "x_param_ipa_max_aa_steps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7288)
                          nil )
                         (!pair  "x_param_ipa_max_agg_items"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7289)
                          nil )
                         (!pair  "x_param_ipa_max_param_expr_ops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7290)
                          nil )
                         (!pair  "x_param_ipa_max_switch_predicate_bounds"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7291)
                          nil )
                         (!pair  "x_param_ipa_sra_max_replacements"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7292)
                          nil )
                         (!pair  "x_param_ipa_sra_ptr_growth_factor"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7293)
                          nil )
                         (!pair  "x_param_ira_loop_reserved_regs"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7294)
                          nil )
                         (!pair  "x_param_ira_max_conflict_table_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7295)
                          nil )
                         (!pair  "x_param_ira_max_loops_num"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7296)
                          nil )
                         (!pair  "x_param_iv_always_prune_cand_set_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7297)
                          nil )
                         (!pair  "x_param_iv_consider_all_candidates_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7298)
                          nil )
                         (!pair  "x_param_iv_max_considered_uses"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7299)
                          nil )
                         (!pair  "x_param_jump_table_max_growth_ratio_for_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7300)
                          nil )
                         (!pair  "x_param_jump_table_max_growth_ratio_for_speed"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7301)
                          nil )
                         (!pair  "x_param_l1_cache_line_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7302)
                          nil )
                         (!pair  "x_param_l1_cache_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7303)
                          nil )
                         (!pair  "x_param_l2_cache_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7304)
                          nil )
                         (!pair  "x_param_large_function_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7305)
                          nil )
                         (!pair  "x_param_large_function_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7306)
                          nil )
                         (!pair  "x_param_stack_frame_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7307)
                          nil )
                         (!pair  "x_param_large_stack_frame"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7308)
                          nil )
                         (!pair  "x_param_large_unit_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7309)
                          nil )
                         (!pair  "x_param_lim_expensive"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7310)
                          nil )
                         (!pair  "x_param_loop_block_tile_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7311)
                          nil )
                         (!pair  "x_param_loop_interchange_max_num_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7312)
                          nil )
                         (!pair  "x_param_loop_interchange_stride_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7313)
                          nil )
                         (!pair  "x_param_loop_invariant_max_bbs_in_loop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7314)
                          nil )
                         (!pair  "x_param_loop_max_datarefs_for_datadeps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7315)
                          nil )
                         (!pair  "x_param_loop_versioning_max_inner_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7316)
                          nil )
                         (!pair  "x_param_loop_versioning_max_outer_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7317)
                          nil )
                         (!pair  "x_param_lra_inheritance_ebb_probability_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7318)
                          nil )
                         (!pair  "x_param_lra_max_considered_reload_pseudos"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7319)
                          nil )
                         (!pair  "x_param_max_average_unrolled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7320)
                          nil )
                         (!pair  "x_param_max_combine_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7321)
                          nil )
                         (!pair  "x_param_max_unroll_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7322)
                          nil )
                         (!pair  "x_param_max_completely_peel_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7323)
                          nil )
                         (!pair  "x_param_max_completely_peeled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7324)
                          nil )
                         (!pair  "x_param_max_crossjump_edges"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7325)
                          nil )
                         (!pair  "x_param_max_cse_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7326)
                          nil )
                         (!pair  "x_param_max_cse_path_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7327)
                          nil )
                         (!pair  "x_param_max_cselib_memory_locations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7328)
                          nil )
                         (!pair  "x_param_max_debug_marker_count"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7329)
                          nil )
                         (!pair  "x_param_max_delay_slot_insn_search"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7330)
                          nil )
                         (!pair  "x_param_max_delay_slot_live_search"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7331)
                          nil )
                         (!pair  "x_param_max_dse_active_local_stores"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7332)
                          nil )
                         (!pair  "x_param_early_inliner_max_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7333)
                          nil )
                         (!pair  "x_param_max_find_base_term_values"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7334)
                          nil )
                         (!pair  "x_param_max_fsm_thread_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7335)
                          nil )
                         (!pair  "x_param_max_fsm_thread_path_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7336)
                          nil )
                         (!pair  "x_param_max_fsm_thread_paths"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7337)
                          nil )
                         (!pair  "x_param_max_gcse_insertion_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7338)
                          nil )
                         (!pair  "x_param_max_gcse_memory"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7339)
                          nil )
                         (!pair  "x_param_max_goto_duplication_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7340)
                          nil )
                         (!pair  "x_param_max_grow_copy_bb_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7341)
                          nil )
                         (!pair  "x_param_max_hoist_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7342)
                          nil )
                         (!pair  "x_param_max_inline_insns_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7343)
                          nil )
                         (!pair  "x_param_max_inline_insns_recursive_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7344)
                          nil )
                         (!pair  "x_param_max_inline_insns_recursive"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7345)
                          nil )
                         (!pair  "x_param_max_inline_insns_single"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7346)
                          nil )
                         (!pair  "x_param_max_inline_insns_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7347)
                          nil )
                         (!pair  "x_param_max_inline_insns_small"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7348)
                          nil )
                         (!pair  "x_param_max_inline_recursive_depth_auto"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7349)
                          nil )
                         (!pair  "x_param_max_inline_recursive_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7350)
                          nil )
                         (!pair  "x_param_max_isl_operations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7351)
                          nil )
                         (!pair  "x_param_max_iterations_computation_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7352)
                          nil )
                         (!pair  "x_param_max_iterations_to_track"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7353)
                          nil )
                         (!pair  "x_param_max_jump_thread_duplication_stmts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7354)
                          nil )
                         (!pair  "x_param_max_last_value_rtl"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7355)
                          nil )
                         (!pair  "x_param_max_loop_header_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7356)
                          nil )
                         (!pair  "x_param_max_modulo_backtrack_attempts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7357)
                          nil )
                         (!pair  "x_param_max_partial_antic_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7358)
                          nil )
                         (!pair  "x_param_max_peel_branches"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7359)
                          nil )
                         (!pair  "x_param_max_peel_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7360)
                          nil )
                         (!pair  "x_param_max_peeled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7361)
                          nil )
                         (!pair  "x_param_max_pending_list_length"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7362)
                          nil )
                         (!pair  "x_param_max_pipeline_region_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7363)
                          nil )
                         (!pair  "x_param_max_pipeline_region_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7364)
                          nil )
                         (!pair  "x_param_max_pow_sqrt_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7365)
                          nil )
                         (!pair  "x_param_max_predicted_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7366)
                          nil )
                         (!pair  "x_param_max_reload_search_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7367)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7368)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_predictable_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7369)
                          nil )
                         (!pair  "x_param_max_rtl_if_conversion_unpredictable_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7370)
                          nil )
                         (!pair  "x_param_max_sched_extend_regions_iters"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7371)
                          nil )
                         (!pair  "x_param_max_sched_insn_conflict_delay"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7372)
                          nil )
                         (!pair  "x_param_max_sched_ready_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7373)
                          nil )
                         (!pair  "x_param_max_sched_region_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7374)
                          nil )
                         (!pair  "x_param_max_sched_region_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7375)
                          nil )
                         (!pair  "x_param_max_slsr_candidate_scan"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7376)
                          nil )
                         (!pair  "x_param_max_speculative_devirt_maydefs"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7377)
                          nil )
                         (!pair  "x_param_max_stores_to_merge"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7378)
                          nil )
                         (!pair  "x_param_max_stores_to_sink"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7379)
                          nil )
                         (!pair  "x_param_max_tail_merge_comparisons"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7380)
                          nil )
                         (!pair  "x_param_max_tail_merge_iterations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7381)
                          nil )
                         (!pair  "x_param_max_tracked_strlens"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7382)
                          nil )
                         (!pair  "x_param_max_tree_if_conversion_phi_args"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7383)
                          nil )
                         (!pair  "x_param_max_unroll_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7384)
                          nil )
                         (!pair  "x_param_max_unrolled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7385)
                          nil )
                         (!pair  "x_param_max_unswitch_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7386)
                          nil )
                         (!pair  "x_param_max_unswitch_level"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7387)
                          nil )
                         (!pair  "x_param_max_variable_expansions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7388)
                          nil )
                         (!pair  "x_param_max_vartrack_expr_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7389)
                          nil )
                         (!pair  "x_param_max_vartrack_reverse_op_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7390)
                          nil )
                         (!pair  "x_param_max_vartrack_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7391)
                          nil )
                         (!pair  "x_param_max_vrp_switch_assertions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7392)
                          nil )
                         (!pair  "x_param_min_crossjump_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7393)
                          nil )
                         (!pair  "x_param_min_inline_recursive_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7394)
                          nil )
                         (!pair  "x_param_min_insn_to_prefetch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7395)
                          nil )
                         (!pair  "x_param_min_loop_cond_split_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7396)
                          nil )
                         (!pair  "x_param_min_size_for_stack_sharing"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7397)
                          nil )
                         (!pair  "x_param_min_spec_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7398)
                          nil )
                         (!pair  "x_param_min_vect_loop_bound"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7399)
                          nil )
                         (!pair  "x_param_parloops_chunk_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7400)
                          nil )
                         (!pair  "x_param_parloops_min_per_thread"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7401)
                          nil )
                         (!pair  "x_param_parloops_schedule"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7402)
                          nil )
                         (!pair  "x_param_partial_inlining_entry_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7403)
                          nil )
                         (!pair  "x_param_predictable_branch_outcome"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7404)
                          nil )
                         (!pair  "x_param_prefetch_dynamic_strides"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7405)
                          nil )
                         (!pair  "x_param_prefetch_latency"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7406)
                          nil )
                         (!pair  "x_param_prefetch_min_insn_to_mem_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7407)
                          nil )
                         (!pair  "x_param_prefetch_minimum_stride"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7408)
                          nil )
                         (!pair  "x_param_rpo_vn_max_loop_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7409)
                          nil )
                         (!pair  "x_param_sccvn_max_alias_queries_per_access"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7410)
                          nil )
                         (!pair  "x_param_scev_max_expr_complexity"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7411)
                          nil )
                         (!pair  "x_param_scev_max_expr_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7412)
                          nil )
                         (!pair  "x_param_sched_autopref_queue_depth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7413)
                          nil )
                         (!pair  "x_param_sched_mem_true_dep_cost"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7414)
                          nil )
                         (!pair  "x_param_sched_pressure_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7415)
                          nil )
                         (!pair  "x_param_sched_spec_prob_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7416)
                          nil )
                         (!pair  "x_param_sched_state_edge_prob_cutoff"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7417)
                          nil )
                         (!pair  "x_param_selsched_insns_to_rename"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7418)
                          nil )
                         (!pair  "x_param_selsched_max_lookahead"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7419)
                          nil )
                         (!pair  "x_param_selsched_max_sched_times"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7420)
                          nil )
                         (!pair  "x_param_simultaneous_prefetches"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7421)
                          nil )
                         (!pair  "x_param_sink_frequency_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7422)
                          nil )
                         (!pair  "x_param_slp_max_insns_in_bb"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7423)
                          nil )
                         (!pair  "x_param_sms_dfa_history"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7424)
                          nil )
                         (!pair  "x_param_sms_loop_average_count_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7425)
                          nil )
                         (!pair  "x_param_sms_max_ii_factor"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7426)
                          nil )
                         (!pair  "x_param_sms_min_sc"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7427)
                          nil )
                         (!pair  "x_param_sra_max_propagations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7428)
                          nil )
                         (!pair  "x_param_sra_max_scalarization_size_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7429)
                          nil )
                         (!pair  "x_param_sra_max_scalarization_size_speed"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7430)
                          nil )
                         (!pair  "x_param_ssa_name_def_chain_limit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7431)
                          nil )
                         (!pair  "x_param_ssp_buffer_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7432)
                          nil )
                         (!pair  "x_param_stack_clash_protection_guard_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7433)
                          nil )
                         (!pair  "x_param_stack_clash_protection_probe_interval"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7434)
                          nil )
                         (!pair  "x_param_store_merging_allow_unaligned"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7435)
                          nil )
                         (!pair  "x_param_store_merging_max_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7436)
                          nil )
                         (!pair  "x_param_switch_conversion_branch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7437)
                          nil )
                         (!pair  "x_param_tm_max_aggregate_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7438)
                          nil )
                         (!pair  "x_param_tracer_dynamic_coverage_feedback"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7439)
                          nil )
                         (!pair  "x_param_tracer_dynamic_coverage"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7440)
                          nil )
                         (!pair  "x_param_tracer_max_code_growth"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7441)
                          nil )
                         (!pair  "x_param_tracer_min_branch_probability_feedback"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7442)
                          nil )
                         (!pair  "x_param_tracer_min_branch_probability"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7443)
                          nil )
                         (!pair  "x_param_tracer_min_branch_ratio"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7444)
                          nil )
                         (!pair  "x_param_tree_reassoc_width"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7445)
                          nil )
                         (!pair  "x_param_uninit_control_dep_attempts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7446)
                          nil )
                         (!pair  "x_param_uninlined_function_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7447)
                          nil )
                         (!pair  "x_param_uninlined_function_time"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7448)
                          nil )
                         (!pair  "x_param_uninlined_function_thunk_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7449)
                          nil )
                         (!pair  "x_param_uninlined_function_thunk_time"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7450)
                          nil )
                         (!pair  "x_param_unlikely_bb_count_fraction"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7451)
                          nil )
                         (!pair  "x_param_unroll_jam_max_unroll"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7452)
                          nil )
                         (!pair  "x_param_unroll_jam_min_percent"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7453)
                          nil )
                         (!pair  "x_param_use_after_scope_direct_emission_threshold"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7454)
                          nil )
                         (!pair  "x_param_vect_epilogues_nomask"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7455)
                          nil )
                         (!pair  "x_param_vect_max_peeling_for_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7456)
                          nil )
                         (!pair  "x_param_vect_max_version_for_alias_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7457)
                          nil )
                         (!pair  "x_param_vect_max_version_for_alignment_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7458)
                          nil )
                         (!pair  "x_flag_sched_stalled_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7459)
                          nil )
                         (!pair  "x_flag_sched_stalled_insns_dep"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7460)
                          nil )
                         (!pair  "x_flag_tree_parallelize_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7461)
                          nil )
                         (!pair  "x_flag_excess_precision"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7462)
                          nil )
                         (!pair  "x_flag_fp_contract_mode"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7463)
                          nil )
                         (!pair  "x_flag_ira_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7464)
                          nil )
                         (!pair  "x_flag_ira_region"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7465)
                          nil )
                         (!pair  "x_flag_live_patching"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7466)
                          nil )
                         (!pair  "x_flag_reorder_blocks_algorithm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7467)
                          nil )
                         (!pair  "x_flag_simd_cost_model"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7468)
                          nil )
                         (!pair  "x_flag_stack_reuse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7469)
                          nil )
                         (!pair  "x_flag_vect_cost_model"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7470)
                          nil )
                         (!pair  "x_optimize"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7471)
                          nil )
                         (!pair  "x_optimize_size"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7472)
                          nil )
                         (!pair  "x_optimize_debug"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7473)
                          nil )
                         (!pair  "x_optimize_fast"
                          (!type already_seen 8)
                          (!fileloc  "options.h" 7474)
                          nil )
                         (!pair  "x_warn_inline"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7475)
                          nil )
                         (!pair  "x_flag_aggressive_loop_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7476)
                          nil )
                         (!pair  "x_flag_align_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7477)
                          nil )
                         (!pair  "x_flag_align_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7478)
                          nil )
                         (!pair  "x_flag_align_labels"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7479)
                          nil )
                         (!pair  "x_flag_align_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7480)
                          nil )
                         (!pair  "x_flag_allocation_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7481)
                          nil )
                         (!pair  "x_flag_store_data_races"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7482)
                          nil )
                         (!pair  "x_flag_associative_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7483)
                          nil )
                         (!pair  "x_flag_assume_phsa"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7484)
                          nil )
                         (!pair  "x_flag_asynchronous_unwind_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7485)
                          nil )
                         (!pair  "x_flag_auto_inc_dec"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7486)
                          nil )
                         (!pair  "x_flag_branch_on_count_reg"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7487)
                          nil )
                         (!pair  "x_flag_branch_probabilities"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7488)
                          nil )
                         (!pair  "x_flag_caller_saves"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7489)
                          nil )
                         (!pair  "x_flag_code_hoisting"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7490)
                          nil )
                         (!pair  "x_flag_combine_stack_adjustments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7491)
                          nil )
                         (!pair  "x_flag_compare_elim_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7492)
                          nil )
                         (!pair  "x_flag_conserve_stack"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7493)
                          nil )
                         (!pair  "x_flag_cprop_registers"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7494)
                          nil )
                         (!pair  "x_flag_crossjumping"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7495)
                          nil )
                         (!pair  "x_flag_cse_follow_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7496)
                          nil )
                         (!pair  "x_flag_cx_fortran_rules"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7497)
                          nil )
                         (!pair  "x_flag_cx_limited_range"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7498)
                          nil )
                         (!pair  "x_flag_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7499)
                          nil )
                         (!pair  "x_flag_defer_pop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7500)
                          nil )
                         (!pair  "x_flag_delayed_branch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7501)
                          nil )
                         (!pair  "x_flag_delete_dead_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7502)
                          nil )
                         (!pair  "x_flag_delete_null_pointer_checks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7503)
                          nil )
                         (!pair  "x_flag_devirtualize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7504)
                          nil )
                         (!pair  "x_flag_devirtualize_speculatively"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7505)
                          nil )
                         (!pair  "x_flag_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7506)
                          nil )
                         (!pair  "x_flag_early_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7507)
                          nil )
                         (!pair  "x_flag_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7508)
                          nil )
                         (!pair  "x_flag_expensive_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7509)
                          nil )
                         (!pair  "x_flag_finite_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7510)
                          nil )
                         (!pair  "x_flag_finite_math_only"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7511)
                          nil )
                         (!pair  "x_flag_float_store"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7512)
                          nil )
                         (!pair  "x_flag_forward_propagate"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7513)
                          nil )
                         (!pair  "x_flag_fp_int_builtin_inexact"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7514)
                          nil )
                         (!pair  "x_flag_no_function_cse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7515)
                          nil )
                         (!pair  "x_flag_gcse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7516)
                          nil )
                         (!pair  "x_flag_gcse_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7517)
                          nil )
                         (!pair  "x_flag_gcse_las"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7518)
                          nil )
                         (!pair  "x_flag_gcse_lm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7519)
                          nil )
                         (!pair  "x_flag_gcse_sm"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7520)
                          nil )
                         (!pair  "x_flag_graphite"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7521)
                          nil )
                         (!pair  "x_flag_graphite_identity"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7522)
                          nil )
                         (!pair  "x_flag_guess_branch_prob"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7523)
                          nil )
                         (!pair  "x_flag_hoist_adjacent_loads"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7524)
                          nil )
                         (!pair  "x_flag_if_conversion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7525)
                          nil )
                         (!pair  "x_flag_if_conversion2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7526)
                          nil )
                         (!pair  "x_flag_indirect_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7527)
                          nil )
                         (!pair  "x_flag_no_inline"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7528)
                          nil )
                         (!pair  "x_flag_inline_atomics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7529)
                          nil )
                         (!pair  "x_flag_inline_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7530)
                          nil )
                         (!pair  "x_flag_inline_functions_called_once"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7531)
                          nil )
                         (!pair  "x_flag_inline_small_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7532)
                          nil )
                         (!pair  "x_flag_ipa_bit_cp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7533)
                          nil )
                         (!pair  "x_flag_ipa_cp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7534)
                          nil )
                         (!pair  "x_flag_ipa_cp_clone"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7535)
                          nil )
                         (!pair  "x_flag_ipa_icf"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7536)
                          nil )
                         (!pair  "x_flag_ipa_icf_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7537)
                          nil )
                         (!pair  "x_flag_ipa_icf_variables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7538)
                          nil )
                         (!pair  "x_flag_ipa_profile"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7539)
                          nil )
                         (!pair  "x_flag_ipa_pta"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7540)
                          nil )
                         (!pair  "x_flag_ipa_pure_const"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7541)
                          nil )
                         (!pair  "x_flag_ipa_ra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7542)
                          nil )
                         (!pair  "x_flag_ipa_reference"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7543)
                          nil )
                         (!pair  "x_flag_ipa_reference_addressable"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7544)
                          nil )
                         (!pair  "x_flag_ipa_sra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7545)
                          nil )
                         (!pair  "x_flag_ipa_stack_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7546)
                          nil )
                         (!pair  "x_flag_ipa_vrp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7547)
                          nil )
                         (!pair  "x_flag_ira_hoist_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7548)
                          nil )
                         (!pair  "x_flag_ira_loop_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7549)
                          nil )
                         (!pair  "x_flag_ira_share_save_slots"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7550)
                          nil )
                         (!pair  "x_flag_ira_share_spill_slots"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7551)
                          nil )
                         (!pair  "x_flag_isolate_erroneous_paths_attribute"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7552)
                          nil )
                         (!pair  "x_flag_isolate_erroneous_paths_dereference"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7553)
                          nil )
                         (!pair  "x_flag_ivopts"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7554)
                          nil )
                         (!pair  "x_flag_jump_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7555)
                          nil )
                         (!pair  "x_flag_keep_gc_roots_live"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7556)
                          nil )
                         (!pair  "x_flag_lifetime_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7557)
                          nil )
                         (!pair  "x_flag_limit_function_alignment"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7558)
                          nil )
                         (!pair  "x_flag_live_range_shrinkage"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7559)
                          nil )
                         (!pair  "x_flag_loop_interchange"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7560)
                          nil )
                         (!pair  "x_flag_loop_nest_optimize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7561)
                          nil )
                         (!pair  "x_flag_loop_parallelize_all"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7562)
                          nil )
                         (!pair  "x_flag_unroll_jam"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7563)
                          nil )
                         (!pair  "x_flag_lra_remat"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7564)
                          nil )
                         (!pair  "x_flag_errno_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7565)
                          nil )
                         (!pair  "x_flag_modulo_sched"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7566)
                          nil )
                         (!pair  "x_flag_modulo_sched_allow_regmoves"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7567)
                          nil )
                         (!pair  "x_flag_move_loop_invariants"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7568)
                          nil )
                         (!pair  "x_flag_non_call_exceptions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7569)
                          nil )
                         (!pair  "x_flag_nothrow_opt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7570)
                          nil )
                         (!pair  "x_flag_omit_frame_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7571)
                          nil )
                         (!pair  "x_flag_opt_info"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7572)
                          nil )
                         (!pair  "x_flag_optimize_sibling_calls"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7573)
                          nil )
                         (!pair  "x_flag_optimize_strlen"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7574)
                          nil )
                         (!pair  "x_flag_pack_struct"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7575)
                          nil )
                         (!pair  "x_flag_partial_inlining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7576)
                          nil )
                         (!pair  "x_flag_peel_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7577)
                          nil )
                         (!pair  "x_flag_no_peephole"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7578)
                          nil )
                         (!pair  "x_flag_peephole2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7579)
                          nil )
                         (!pair  "x_flag_plt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7580)
                          nil )
                         (!pair  "x_flag_predictive_commoning"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7581)
                          nil )
                         (!pair  "x_flag_prefetch_loop_arrays"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7582)
                          nil )
                         (!pair  "x_flag_printf_return_value"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7583)
                          nil )
                         (!pair  "x_flag_profile_partial_training"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7584)
                          nil )
                         (!pair  "x_flag_profile_reorder_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7585)
                          nil )
                         (!pair  "x_flag_reciprocal_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7586)
                          nil )
                         (!pair  "x_flag_ree"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7587)
                          nil )
                         (!pair  "x_flag_pcc_struct_return"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7588)
                          nil )
                         (!pair  "x_flag_rename_registers"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7589)
                          nil )
                         (!pair  "x_flag_reorder_blocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7590)
                          nil )
                         (!pair  "x_flag_reorder_blocks_and_partition"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7591)
                          nil )
                         (!pair  "x_flag_reorder_functions"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7592)
                          nil )
                         (!pair  "x_flag_rerun_cse_after_loop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7593)
                          nil )
                         (!pair  "x_flag_resched_modulo_sched"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7594)
                          nil )
                         (!pair  "x_flag_rounding_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7595)
                          nil )
                         (!pair  "x_flag_rtti"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7596)
                          nil )
                         (!pair  "x_flag_save_optimization_record"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7597)
                          nil )
                         (!pair  "x_flag_sched_critical_path_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7598)
                          nil )
                         (!pair  "x_flag_sched_dep_count_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7599)
                          nil )
                         (!pair  "x_flag_sched_group_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7600)
                          nil )
                         (!pair  "x_flag_schedule_interblock"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7601)
                          nil )
                         (!pair  "x_flag_sched_last_insn_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7602)
                          nil )
                         (!pair  "x_flag_sched_pressure"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7603)
                          nil )
                         (!pair  "x_flag_sched_rank_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7604)
                          nil )
                         (!pair  "x_flag_schedule_speculative"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7605)
                          nil )
                         (!pair  "x_flag_sched_spec_insn_heuristic"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7606)
                          nil )
                         (!pair  "x_flag_schedule_speculative_load"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7607)
                          nil )
                         (!pair  "x_flag_schedule_speculative_load_dangerous"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7608)
                          nil )
                         (!pair  "x_flag_sched2_use_superblocks"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7609)
                          nil )
                         (!pair  "x_flag_schedule_fusion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7610)
                          nil )
                         (!pair  "x_flag_schedule_insns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7611)
                          nil )
                         (!pair  "x_flag_schedule_insns_after_reload"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7612)
                          nil )
                         (!pair  "x_flag_section_anchors"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7613)
                          nil )
                         (!pair  "x_flag_sel_sched_pipelining"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7614)
                          nil )
                         (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7615)
                          nil )
                         (!pair  "x_flag_sel_sched_reschedule_pipelined"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7616)
                          nil )
                         (!pair  "x_flag_selective_scheduling"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7617)
                          nil )
                         (!pair  "x_flag_selective_scheduling2"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7618)
                          nil )
                         (!pair  "x_flag_short_enums"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7619)
                          nil )
                         (!pair  "x_flag_short_wchar"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7620)
                          nil )
                         (!pair  "x_flag_shrink_wrap"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7621)
                          nil )
                         (!pair  "x_flag_shrink_wrap_separate"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7622)
                          nil )
                         (!pair  "x_flag_signaling_nans"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7623)
                          nil )
                         (!pair  "x_flag_signed_zeros"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7624)
                          nil )
                         (!pair  "x_flag_single_precision_constant"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7625)
                          nil )
                         (!pair  "x_flag_split_ivs_in_unroller"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7626)
                          nil )
                         (!pair  "x_flag_split_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7627)
                          nil )
                         (!pair  "x_flag_split_paths"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7628)
                          nil )
                         (!pair  "x_flag_split_wide_types"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7629)
                          nil )
                         (!pair  "x_flag_split_wide_types_early"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7630)
                          nil )
                         (!pair  "x_flag_ssa_backprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7631)
                          nil )
                         (!pair  "x_flag_ssa_phiopt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7632)
                          nil )
                         (!pair  "x_flag_stack_clash_protection"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7633)
                          nil )
                         (!pair  "x_flag_stack_protect"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7634)
                          nil )
                         (!pair  "x_flag_stdarg_opt"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7635)
                          nil )
                         (!pair  "x_flag_store_merging"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7636)
                          nil )
                         (!pair  "x_flag_strict_aliasing"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7637)
                          nil )
                         (!pair  "x_flag_strict_enums"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7638)
                          nil )
                         (!pair  "x_flag_strict_volatile_bitfields"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7639)
                          nil )
                         (!pair  "x_flag_thread_jumps"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7640)
                          nil )
                         (!pair  "x_flag_threadsafe_statics"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7641)
                          nil )
                         (!pair  "x_flag_toplevel_reorder"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7642)
                          nil )
                         (!pair  "x_flag_tracer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7643)
                          nil )
                         (!pair  "x_flag_trapping_math"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7644)
                          nil )
                         (!pair  "x_flag_trapv"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7645)
                          nil )
                         (!pair  "x_flag_tree_bit_ccp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7646)
                          nil )
                         (!pair  "x_flag_tree_builtin_call_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7647)
                          nil )
                         (!pair  "x_flag_tree_ccp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7648)
                          nil )
                         (!pair  "x_flag_tree_ch"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7649)
                          nil )
                         (!pair  "x_flag_tree_coalesce_vars"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7650)
                          nil )
                         (!pair  "x_flag_tree_copy_prop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7651)
                          nil )
                         (!pair  "x_flag_tree_cselim"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7652)
                          nil )
                         (!pair  "x_flag_tree_dce"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7653)
                          nil )
                         (!pair  "x_flag_tree_dom"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7654)
                          nil )
                         (!pair  "x_flag_tree_dse"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7655)
                          nil )
                         (!pair  "x_flag_tree_forwprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7656)
                          nil )
                         (!pair  "x_flag_tree_fre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7657)
                          nil )
                         (!pair  "x_flag_tree_loop_distribute_patterns"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7658)
                          nil )
                         (!pair  "x_flag_tree_loop_distribution"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7659)
                          nil )
                         (!pair  "x_flag_tree_loop_if_convert"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7660)
                          nil )
                         (!pair  "x_flag_tree_loop_im"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7661)
                          nil )
                         (!pair  "x_flag_tree_loop_ivcanon"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7662)
                          nil )
                         (!pair  "x_flag_tree_loop_optimize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7663)
                          nil )
                         (!pair  "x_flag_tree_loop_vectorize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7664)
                          nil )
                         (!pair  "x_flag_tree_live_range_split"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7665)
                          nil )
                         (!pair  "x_flag_tree_partial_pre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7666)
                          nil )
                         (!pair  "x_flag_tree_phiprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7667)
                          nil )
                         (!pair  "x_flag_tree_pre"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7668)
                          nil )
                         (!pair  "x_flag_tree_pta"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7669)
                          nil )
                         (!pair  "x_flag_tree_reassoc"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7670)
                          nil )
                         (!pair  "x_flag_tree_scev_cprop"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7671)
                          nil )
                         (!pair  "x_flag_tree_sink"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7672)
                          nil )
                         (!pair  "x_flag_tree_slp_vectorize"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7673)
                          nil )
                         (!pair  "x_flag_tree_slsr"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7674)
                          nil )
                         (!pair  "x_flag_tree_sra"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7675)
                          nil )
                         (!pair  "x_flag_tree_switch_conversion"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7676)
                          nil )
                         (!pair  "x_flag_tree_tail_merge"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7677)
                          nil )
                         (!pair  "x_flag_tree_ter"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7678)
                          nil )
                         (!pair  "x_flag_tree_vrp"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7679)
                          nil )
                         (!pair  "x_flag_unconstrained_commons"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7680)
                          nil )
                         (!pair  "x_flag_unroll_all_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7681)
                          nil )
                         (!pair  "x_flag_cunroll_grow_size"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7682)
                          nil )
                         (!pair  "x_flag_unroll_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7683)
                          nil )
                         (!pair  "x_flag_unsafe_math_optimizations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7684)
                          nil )
                         (!pair  "x_flag_unswitch_loops"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7685)
                          nil )
                         (!pair  "x_flag_unwind_tables"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7686)
                          nil )
                         (!pair  "x_flag_var_tracking"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7687)
                          nil )
                         (!pair  "x_flag_var_tracking_assignments"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7688)
                          nil )
                         (!pair  "x_flag_var_tracking_assignments_toggle"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7689)
                          nil )
                         (!pair  "x_flag_var_tracking_uninit"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7690)
                          nil )
                         (!pair  "x_flag_variable_expansion_in_unroller"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7691)
                          nil )
                         (!pair  "x_flag_version_loops_for_strides"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7692)
                          nil )
                         (!pair  "x_flag_value_profile_transformations"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7693)
                          nil )
                         (!pair  "x_flag_web"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7694)
                          nil )
                         (!pair  "x_flag_wrapv"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7695)
                          nil )
                         (!pair  "x_flag_wrapv_pointer"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7696)
                          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 582 nil  gc_unused
                       (!type struct 583 
                        (!type already_seen 582)
                        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 584 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 585 nil  gc_used
                       (!type struct 586 
                        (!type already_seen 585)
                        gc_pointed_to "target_globals"
                        (!srcfileloc  "target-globals.h" 64)
                        (!fields 17 
                         (!pair  "flag_state"
                          (!type pointer 587 nil  gc_unused
                           (!type struct 588 
                            (!type already_seen 587)
                            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 589 nil  gc_unused
                           (!type struct 590 
                            (!type already_seen 589)
                            gc_unused "target_regs"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 48)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "rtl"
                          (!type pointer 591 nil  gc_used
                           (!type struct 592 
                            (!type already_seen 591)
                            gc_pointed_to "target_rtl"
                            (!srcfileloc  "rtl.h" 3763)
                            (!fields 8 
                             (!pair  "x_global_rtl"
                              (!type array 593 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 594 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3749)
                              nil )
                             (!pair  "x_top_of_stack"
                              (!type array 595 nil  gc_used "MAX_MACHINE_MODE" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3752)
                              nil )
                             (!pair  "x_static_reg_base_value"
                              (!type array 596 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "rtl.h" 3756)
                              nil )
                             (!pair  "x_mode_mem_attrs"
                              (!type array 597 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 598 nil  gc_unused
                           (!type struct 599 
                            (!type already_seen 598)
                            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 600 nil  gc_unused
                           (!type struct 601 
                            (!type already_seen 600)
                            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 602 nil  gc_unused
                           (!type struct 603 
                            (!type already_seen 602)
                            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 604 nil  gc_unused
                           (!type struct 605 
                            (!type already_seen 604)
                            gc_unused "target_reload"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 53)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "expmed"
                          (!type pointer 606 nil  gc_unused
                           (!type struct 607 
                            (!type already_seen 606)
                            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 582)
                          (!srcfileloc  "target-globals.h" 55)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "libfuncs"
                          (!type pointer 608 nil  gc_used
                           (!type struct 609 
                            (!type already_seen 608)
                            gc_pointed_to "target_libfuncs"
                            (!srcfileloc  "libfuncs.h" 62)
                            (!fields 2 
                             (!pair  "x_libfunc_table"
                              (!type array 610 nil  gc_used "LTI_MAX" 
                               (!type already_seen 100)
                              )
                              (!srcfileloc  "libfuncs.h" 58)
                              nil )
                             (!pair  "x_libfunc_hash"
                              (!type pointer 611 nil  gc_used
                               (!type user_struct 612 
                                (!type already_seen 611)
                                gc_pointed_to "hash_table<libfunc_hasher>"
                                (!srcfileloc  "libfuncs.h" 61)
                                (!fields 1 
                                 (!pair  "libfunc_hasher"
                                  (!type struct 613 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 614 nil  gc_unused
                           (!type struct 615 
                            (!type already_seen 614)
                            gc_unused "target_cfgloop"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 57)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "ira"
                          (!type pointer 616 nil  gc_unused
                           (!type struct 617 
                            (!type already_seen 616)
                            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 618 nil  gc_unused
                           (!type struct 619 
                            (!type already_seen 618)
                            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 620 nil  gc_unused
                           (!type struct 621 
                            (!type already_seen 620)
                            gc_unused "target_builtins"nil 
                            (!fields 0 )
                            nil 0 nil nil )
                          )
                          (!srcfileloc  "target-globals.h" 60)
                          (!options 
                           (!option skip string  "")
                          )
                         )
                         (!pair  "gcse"
                          (!type pointer 622 nil  gc_unused
                           (!type struct 623 
                            (!type already_seen 622)
                            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 624 nil  gc_unused
                           (!type struct 625 
                            (!type already_seen 624)
                            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 626 nil  gc_unused
                           (!type struct 627 
                            (!type already_seen 626)
                            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 628 nil  gc_used
                       (!type struct 629 
                        (!type already_seen 628)
                        gc_pointed_to "cl_target_option"
                        (!fileloc  "options.h" 7710)
                        (!fields 8 
                         (!pair  "x_arm_arch_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7702)
                          nil )
                         (!pair  "x_arm_cpu_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7703)
                          nil )
                         (!pair  "x_arm_tune_string"
                          (!type already_seen 11)
                          (!fileloc  "options.h" 7704)
                          nil )
                         (!pair  "x_arm_fpu_index"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7705)
                          nil )
                         (!pair  "x_target_flags"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7706)
                          nil )
                         (!pair  "x_inline_asm_unified"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7707)
                          nil )
                         (!pair  "x_arm_restrict_it"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7708)
                          nil )
                         (!pair  "x_unaligned_access"
                          (!type already_seen 2)
                          (!fileloc  "options.h" 7709)
                          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 630 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 631 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 630)
                     )
                     
                     (!type union 632 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 633 nil  gc_used "lang_identifier"
                         (!srcfileloc  "d/d-tree.h" 337)
                         (!fields 0 )
                         nil 496 
                         (!homotypes 8
                          (!type struct 634 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 633)
                           nil )
                          
                          (!type struct 635 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 633)
                           nil )
                          
                          (!type struct 636 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 633)
                           nil )
                          
                          (!type struct 637 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 633)
                           nil )
                          
                          (!type struct 638 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 639 nil  gc_unused
                              (!type struct 640 
                               (!type already_seen 639)
                               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 633)
                           nil )
                          
                          (!type struct 641 nil  gc_used "lang_identifier"
                           (!srcfileloc  "cp/cp-tree.h" 656)
                           (!fields 2 
                            (!pair  "c_common"
                             (!type struct 642 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 633)
                           nil )
                          
                          (!type struct 643 nil  gc_used "lang_identifier"
                           (!srcfileloc  "c/c-decl.c" 217)
                           (!fields 4 
                            (!pair  "common_id"
                             (!type already_seen 642)
                             (!srcfileloc  "c/c-decl.c" 213)
                             nil )
                            (!pair  "symbol_binding"
                             (!type pointer 644 nil  gc_used
                              (!type struct 645 
                               (!type already_seen 644)
                               gc_pointed_to "c_binding"
                               (!srcfileloc  "c/c-decl.c" 202)
                               (!fields 11 
                                (!pair  "u"
                                 (!type union 646 nil  gc_used "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 647 nil  gc_used
                                     (!type struct 648 
                                      (!type already_seen 647)
                                      gc_pointed_to "c_label_vars"
                                      (!srcfileloc  "c/c-decl.c" 381)
                                      (!fields 4 
                                       (!pair  "shadowed"
                                        (!type already_seen 647)
                                        (!srcfileloc  "c/c-decl.c" 369)
                                        nil )
                                       (!pair  "label_bindings"
                                        (!type struct 649 nil  gc_used "c_spot_bindings"
                                         (!srcfileloc  "c/c-decl.c" 348)
                                         (!fields 4 
                                          (!pair  "scope"
                                           (!type pointer 650 nil  gc_used
                                            (!type struct 651 
                                             (!type already_seen 650)
                                             gc_pointed_to "c_scope"
                                             (!srcfileloc  "c/c-decl.c" 483)
                                             (!fields 14 
                                              (!pair  "outer"
                                               (!type already_seen 650)
                                               (!srcfileloc  "c/c-decl.c" 430)
                                               nil )
                                              (!pair  "outer_function"
                                               (!type already_seen 650)
                                               (!srcfileloc  "c/c-decl.c" 433)
                                               nil )
                                              (!pair  "bindings"
                                               (!type already_seen 644)
                                               (!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 644)
                                           (!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 652 nil  gc_used
                                         (!type user_struct 653 
                                          (!type already_seen 652)
                                          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 654 nil  gc_used
                                             (!type struct 655 
                                              (!type already_seen 654)
                                              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 649)
                                                (!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 644)
                                 (!srcfileloc  "c/c-decl.c" 194)
                                 nil )
                                (!pair  "shadowed"
                                 (!type already_seen 644)
                                 (!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 644)
                             (!srcfileloc  "c/c-decl.c" 215)
                             nil )
                            (!pair  "label_binding"
                             (!type already_seen 644)
                             (!srcfileloc  "c/c-decl.c" 216)
                             nil )
                           )
                           nil 516 
                           (!type already_seen 633)
                           nil )
                          
                          (!type struct 656 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 633)
                           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 630)
                     )
                     
                     (!type union 657 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 633)
                        (!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 630)
                     )
                     
                     (!type union 658 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 633)
                        (!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 630)
                     )
                     
                     (!type union 659 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 633)
                        (!srcfileloc  "d/d-tree.h" 337)
                        (!options 
                         (!option tag string  "TS_D_IDENTIFIER")
                        )
                       )
                       (!pair  "frameinfo"
                        (!type struct 660 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 630)
                     )
                     
                     (!type union 661 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 662 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 663 
                         (!type pointer 664 nil  gc_unused
                          (!type already_seen 663)
                         )
                         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 665 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 666 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 667 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 668 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 669 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 633)
                        (!srcfileloc  "cp/cp-tree.h" 1666)
                        (!options 
                         (!option tag string  "TS_CP_IDENTIFIER")
                        )
                       )
                       (!pair  "static_assertion"
                        (!type struct 670 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 671 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 672 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 673 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 674 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 675 nil  gc_used
                            (!type user_struct 676 
                             (!type already_seen 675)
                             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 677 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 678 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 679 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 630)
                     )
                     
                     (!type union 680 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 633)
                        (!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 630)
                     )
                     
                     (!type union 681 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 633)
                        (!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 630)
                     )
                     
                     (!type union 682 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 630)
                     )
                    )
                   )
                  )
                 )
                 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 683 nil  gc_used "cpp_exp_u"
            (!srcfileloc  "../libcpp/include/cpplib.h" 818)
            (!fields 2 
             (!pair  "tokens"
              (!type array 684 nil  gc_used "1" 
               (!type struct 685 
                (!type pointer 686 nil  gc_used
                 (!type already_seen 685)
                )
                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 687 nil  gc_used "cpp_token_u"
                   (!srcfileloc  "../libcpp/include/cpplib.h" 271)
                   (!fields 6 
                    (!pair  "node"
                     (!type struct 688 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 686)
                     (!srcfileloc  "../libcpp/include/cpplib.h" 257)
                     (!options 
                      (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                     )
                    )
                    (!pair  "str"
                     (!type struct 689 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 690 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 691 
  (!type pointer 692 nil  gc_unused
   (!type already_seen 691)
  )
  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 693 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 694 nil  gc_used "maps_info_macro"
  (!srcfileloc  "../libcpp/include/line-map.h" 780)
  (!fields 3 
   (!pair  "maps"
    (!type already_seen 692)
    (!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 695 
  (!type pointer 696 nil  gc_unused
   (!type already_seen 695)
  )
  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 697 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 696)
    (!srcfileloc  "../libcpp/include/line-map.h" 769)
    (!options 
     (!option length string  "%h.allocated")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 698 
  (!type pointer 699 nil  gc_used
   (!type already_seen 698)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 819)
  (!fields 15 
   (!pair  "info_ordinary"
    (!type already_seen 693)
    (!srcfileloc  "../libcpp/include/line-map.h" 778)
    nil )
   (!pair  "info_macro"
    (!type already_seen 694)
    (!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 697)
    (!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 700 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 701 nil  gc_unused "range_label"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 702 nil  gc_unused "location_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 703 nil  gc_unused "semi_embedded_vec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 704 nil  gc_unused "fixit_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 705 nil  gc_unused "diagnostic_path"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 706 nil  gc_unused "rich_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 707 nil  gc_unused "label_text"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 708 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 709 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 710 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 711 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 685)
 
 (!type already_seen 689)
 
 (!type already_seen 20)
 
 (!type struct 712 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 713 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 714 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 690)
 
 (!type already_seen 688)
 
 (!type already_seen 687)
 
 (!type already_seen 21)
 
 (!type already_seen 683)
 
 (!type already_seen 18)
 
 (!type already_seen 15)
 
 (!type struct 715 nil  gc_unused "cpp_string_location_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 716 nil  gc_unused "cpp_substring_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 717 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 718 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 719 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 720 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 721 nil  gc_unused "char_span"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 722 
  (!type pointer 723 nil  gc_used
   (!type already_seen 722)
  )
  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 724 nil  gc_used "location_hash"
  (!srcfileloc  "input.h" 212)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 725 
  (!type pointer 726 nil  gc_used
   (!type already_seen 725)
  )
  gc_pointed_to "string_concat_db"
  (!srcfileloc  "input.h" 213)
  (!fields 1 
   (!pair  "m_table"
    (!type pointer 727 nil  gc_used
     (!type user_struct 728 
      (!type already_seen 727)
      gc_pointed_to "hash_map<location_hash,string_concat*>"
      (!srcfileloc  "input.h" 212)
      (!fields 2 
       (!pair  "string_concat"
        (!type already_seen 723)
        (!srcfileloc  "input.h" 212)
        nil )
       (!pair  "location_hash"
        (!type already_seen 724)
        (!srcfileloc  "input.h" 212)
        nil )
      )
     )
    )
    (!srcfileloc  "input.h" 212)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 728)
 
 (!type already_seen 397)
 
 (!type already_seen 392)
 
 (!type struct 729 
  (!type pointer 730 nil  gc_unused
   (!type already_seen 729)
  )
  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 731 nil  gc_unused "scalar_float_mode"
  (!srcfileloc  "coretypes.h" 67)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 732 nil  gc_unused "complex_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 733 nil  gc_unused "fixed_size_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 734 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 735 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 736 nil  gc_unused "opt_mode<scalar_float_mode>"
  (!srcfileloc  "coretypes.h" 67)
  (!fields 1 
   (!pair  "scalar_float_mode"
    (!type already_seen 731)
    (!srcfileloc  "coretypes.h" 67)
    nil )
  )
 )
 
 (!type already_seen 44)
 
 (!type user_struct 737 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 738 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 739 
  (!type pointer 740 nil  gc_unused
   (!type already_seen 739)
  )
  gc_pointed_to "rtx_expr_list"
  (!srcfileloc  "rtl.h" 468)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type struct 741 
  (!type pointer 742 nil  gc_used
   (!type already_seen 741)
  )
  gc_pointed_to "rtx_insn_list"
  (!srcfileloc  "rtl.h" 498)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 102)
 )
 
 (!type struct 743 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 744 nil  gc_pointed_to "rtx_debug_insn"
  (!srcfileloc  "rtl.h" 587)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 745 nil  gc_pointed_to "rtx_nonjump_insn"
  (!srcfileloc  "rtl.h" 598)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 746 nil  gc_pointed_to "rtx_jump_insn"
  (!srcfileloc  "rtl.h" 625)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 747 nil  gc_pointed_to "rtx_call_insn"
  (!srcfileloc  "rtl.h" 638)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 748 nil  gc_pointed_to "rtx_jump_table_data"
  (!srcfileloc  "rtl.h" 664)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 296)
 )
 
 (!type struct 749 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 750 
  (!type pointer 751 nil  gc_used
   (!type already_seen 750)
  )
  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 752 
  (!type pointer 753 nil  gc_unused
   (!type already_seen 752)
  )
  gc_unused "hwivec_def"
  (!srcfileloc  "rtl.h" 282)
  (!fields 1 
   (!pair  "elem"
    (!type array 754 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 755 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 756 nil  gc_pointed_to "gcond"
  (!srcfileloc  "gimple.h" 883)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type struct 757 nil  gc_pointed_to "gimple_statement_with_ops"
   (!srcfileloc  "gimple.h" 317)
   (!fields 1 
    (!pair  "op"
     (!type array 758 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 759 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 760 nil  gc_pointed_to "gdebug"
  (!srcfileloc  "gimple.h" 893)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 757)
 )
 
 (!type struct 761 nil  gc_pointed_to "ggoto"
  (!srcfileloc  "gimple.h" 903)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 757)
 )
 
 (!type struct 762 nil  gc_pointed_to "glabel"
  (!srcfileloc  "gimple.h" 913)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 757)
 )
 
 (!type struct 763 nil  gc_pointed_to "gswitch"
  (!srcfileloc  "gimple.h" 923)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  2047 nil 
  (!type already_seen 757)
 )
 
 (!type struct 764 nil  gc_pointed_to "gassign"
  (!srcfileloc  "gimple.h" 934)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  2047 nil 
  (!type struct 765 nil  gc_pointed_to "gimple_statement_with_memory_ops"
   (!srcfileloc  "gimple.h" 348)
   (!fields 1 
    (!pair  "op"
     (!type array 766 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 767 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 759)
   )
  )
 )
 
 (!type struct 768 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 769 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 767)
 )
 
 (!type struct 770 
  (!type pointer 771 nil  gc_used
   (!type already_seen 770)
  )
  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 772 nil  gc_used "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 773 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 767)
 )
 
 (!type struct 774 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 767)
 )
 
 (!type struct 775 nil  gc_pointed_to "greturn"
  (!srcfileloc  "gimple.h" 944)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  2047 nil 
  (!type already_seen 765)
 )
 
 (!type struct 776 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 777 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 778 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 779 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 780 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 781 nil  gc_pointed_to "gresx"
  (!srcfileloc  "gimple.h" 503)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  2047 nil 
  (!type struct 782 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 783 nil  gc_pointed_to "geh_dispatch"
  (!srcfileloc  "gimple.h" 510)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  2047 nil 
  (!type already_seen 782)
 )
 
 (!type struct 784 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 785 nil  gc_used "1" 
     (!type struct 786 nil  gc_used "phi_arg_d"
      (!srcfileloc  "tree-core.h" 1540)
      (!fields 3 
       (!pair  "imm_use"
        (!type already_seen 564)
        (!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 787 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 788 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 789 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 790 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 791 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 792 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 793 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 794 nil  gc_pointed_to "gomp_ordered"
  (!srcfileloc  "gimple.h" 774)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  2047 nil 
  (!type struct 795 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 793)
  )
 )
 
 (!type struct 796 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 797 nil  gc_unused
     (!type struct 798 
      (!type already_seen 797)
      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 793)
 )
 
 (!type struct 799 nil  gc_pointed_to "gomp_parallel"
  (!srcfileloc  "gimple.h" 678)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  2047 nil 
  (!type struct 800 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 801 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 793)
   )
  )
 )
 
 (!type struct 802 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 800)
 )
 
 (!type struct 803 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 793)
 )
 
 (!type struct 804 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 795)
 )
 
 (!type struct 805 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 801)
 )
 
 (!type struct 806 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 800)
 )
 
 (!type already_seen 318)
 
 (!type struct 807 
  (!type pointer 808 nil  gc_used
   (!type already_seen 807)
  )
  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 809 nil  gc_used
     (!type struct 810 
      (!type already_seen 809)
      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 808)
        (!srcfileloc  "cgraph.h" 1937)
        nil )
       (!pair  "callee"
        (!type already_seen 808)
        (!srcfileloc  "cgraph.h" 1938)
        nil )
       (!pair  "prev_caller"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1939)
        nil )
       (!pair  "next_caller"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1940)
        nil )
       (!pair  "prev_callee"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1941)
        nil )
       (!pair  "next_callee"
        (!type already_seen 809)
        (!srcfileloc  "cgraph.h" 1942)
        nil )
       (!pair  "call_stmt"
        (!type already_seen 771)
        (!srcfileloc  "cgraph.h" 1943)
        nil )
       (!pair  "indirect_info"
        (!type pointer 811 nil  gc_used
         (!type struct 812 
          (!type already_seen 811)
          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 813 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 809)
    (!srcfileloc  "cgraph.h" 1434)
    nil )
   (!pair  "indirect_calls"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1437)
    nil )
   (!pair  "origin"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1439)
    nil )
   (!pair  "nested"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1441)
    nil )
   (!pair  "next_nested"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1443)
    nil )
   (!pair  "next_sibling_clone"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1445)
    nil )
   (!pair  "prev_sibling_clone"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1446)
    nil )
   (!pair  "clones"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1447)
    nil )
   (!pair  "clone_of"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 1448)
    nil )
   (!pair  "call_site_hash"
    (!type pointer 814 nil  gc_used
     (!type user_struct 815 
      (!type already_seen 814)
      gc_pointed_to "hash_table<cgraph_edge_hasher>"
      (!srcfileloc  "cgraph.h" 1451)
      (!fields 1 
       (!pair  "cgraph_edge_hasher"
        (!type struct 816 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 817 nil  gc_used
     (!type struct 818 
      (!type already_seen 817)
      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 808)
        (!srcfileloc  "cgraph.h" 856)
        nil )
       (!pair  "next_clone"
        (!type already_seen 808)
        (!srcfileloc  "cgraph.h" 856)
        nil )
       (!pair  "origin"
        (!type already_seen 808)
        (!srcfileloc  "cgraph.h" 859)
        nil )
       (!pair  "args"
        (!type array 819 nil  gc_used "1" 
         (!type struct 820 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 808)
    (!srcfileloc  "cgraph.h" 1459)
    nil )
   (!pair  "ipa_transforms_to_apply"
    (!type user_struct 821 nil  gc_unused "vec<ipa_opt_pass>"
     (!srcfileloc  "cgraph.h" 1464)
     (!fields 1 
      (!pair  "ipa_opt_pass"
       (!type pointer 822 nil  gc_unused
        (!type struct 823 
         (!type already_seen 822)
         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 808)
    (!srcfileloc  "cgraph.h" 1468)
    nil )
   (!pair  "rtl"
    (!type pointer 824 nil  gc_used
     (!type struct 825 
      (!type already_seen 824)
      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 826 nil  gc_used "cgraph_clone_info"
     (!srcfileloc  "cgraph.h" 1471)
     (!fields 3 
      (!pair  "tree_map"
       (!type pointer 827 nil  gc_used
        (!type user_struct 828 
         (!type already_seen 827)
         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 829 nil  gc_used
            (!type struct 830 
             (!type already_seen 829)
             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 831 nil  gc_used
        (!type struct 832 
         (!type already_seen 831)
         gc_pointed_to "ipa_param_adjustments"
         (!srcfileloc  "ipa-param-manipulation.h" 285)
         (!fields 3 
          (!pair  "m_adj_params"
           (!type pointer 833 nil  gc_used
            (!type user_struct 834 
             (!type already_seen 833)
             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 835 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 836 nil  gc_used
        (!type user_struct 837 
         (!type already_seen 836)
         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 838 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 839 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 840 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 810)
 
 (!type already_seen 214)
 
 (!type struct 841 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 629)
 
 (!type already_seen 581)
 
 (!type struct 842 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 843 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 844 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 845 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 846 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 847 nil  gc_unused "diagnostic_event_id_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 848 nil  gc_unused "bitmap_view"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 272)
 
 (!type already_seen 268)
 
 (!type struct 849 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 850 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 851 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 852 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 853 nil  gc_unused "kv_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 854 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 855 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 856 nil  gc_unused "_dont_use_rtx_insn_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 857 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 858 nil  gc_unused "cpp_reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 427)
 
 (!type already_seen 426)
 
 (!type struct 859 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm.h:1556"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 860 nil  gc_unused "TARGET_UNIT"
  (!srcfileloc  "defaults.h" 1482)
 )
 
 (!type struct 861 
  (!type pointer 862 nil  gc_unused
   (!type already_seen 861)
  )
  gc_unused "splay_tree_node_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 863 
  (!type pointer 864 nil  gc_unused
   (!type already_seen 863)
  )
  gc_unused "splay_tree_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 865 nil  gc_unused "bitmap_usage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 394)
 
 (!type struct 866 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 867 nil  gc_unused "auto_bitmap"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 868 nil  gc_unused "base_bitmap_view"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 502)
 
 (!type already_seen 501)
 
 (!type undefined 869 nil  gc_unused "FIXED_WIDE_INT"
  (!srcfileloc  "wide-int.h" 323)
 )
 
 (!type user_struct 870 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 871 nil  gc_unused
     (!type struct 872 
      (!type already_seen 871)
      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 872)
 
 (!type struct 873 nil  gc_unused "wide_int_ref_storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 874 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 875 nil  gc_unused "wide_int_ref_storage<false"
     (!srcfileloc  "wide-int.h" 334)
     (!fields 1 
      (!pair  "false"
       (!type undefined 876 nil  gc_unused "false"
        (!srcfileloc  "wide-int.h" 334)
       )
       (!srcfileloc  "wide-int.h" 334)
       nil )
     )
    )
    (!srcfileloc  "wide-int.h" 334)
    nil )
  )
 )
 
 (!type already_seen 875)
 
 (!type already_seen 876)
 
 (!type struct 877 nil  gc_unused "binary_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 878 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 879 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 880 nil  gc_unused "fixed_wide_int_storage<int_traits<T2"
     (!srcfileloc  "wide-int.h" 438)
     (!fields 1 
      (!pair  "int_traits<T2"
       (!type user_struct 881 nil  gc_unused "int_traits<T2"
        (!srcfileloc  "wide-int.h" 438)
        (!fields 1 
         (!pair  "T2"
          (!type undefined 882 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 880)
 
 (!type already_seen 881)
 
 (!type already_seen 882)
 
 (!type already_seen 879)
 
 (!type user_struct 883 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 879)
    (!srcfileloc  "wide-int.h" 459)
    nil )
   (!pair  "fixed_wide_int_storage<int_traits<T1"
    (!type user_struct 884 nil  gc_unused "fixed_wide_int_storage<int_traits<T1"
     (!srcfileloc  "wide-int.h" 459)
     (!fields 1 
      (!pair  "int_traits<T1"
       (!type user_struct 885 nil  gc_unused "int_traits<T1"
        (!srcfileloc  "wide-int.h" 459)
        (!fields 1 
         (!pair  "T1"
          (!type undefined 886 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 884)
 
 (!type already_seen 885)
 
 (!type already_seen 886)
 
 (!type struct 887 nil  gc_unused "storage_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 888 nil  gc_unused "storage"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 889 nil  gc_unused "generic_wide_int"
  (!srcfileloc  "wide-int.h" 774)
  (!fields 0 )
  nil 2047 nil 
  (!type already_seen 888)
 )
 
 (!type undefined 890 nil  gc_unused "ASSIGNMENT_OPERATOR"
  (!srcfileloc  "wide-int.h" 754)
 )
 
 (!type struct 891 nil  gc_unused "int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 892 nil  gc_unused "fixed_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1235)
  (!fields 2 
   (!pair  "val"
    (!type array 893 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 894 nil  gc_unused "trailing_wide_int_storage"
  (!srcfileloc  "wide-int.h" 1366)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 895 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 894)
    (!srcfileloc  "wide-int.h" 1366)
    nil )
  )
 )
 
 (!type user_struct 896 nil  gc_unused "trailing_wide_ints"
  (!srcfileloc  "wide-int.h" 1406)
  (!fields 0 )
 )
 
 (!type struct 897 nil  gc_unused "primitive_int_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 898 nil  gc_unused "hwi_with_prec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 899 nil  gc_unused "ints_for"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 900 nil  gc_unused "never_used1"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 901 nil  gc_unused "never_used2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 902 
  (!type pointer 903 nil  gc_used
   (!type already_seen 902)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 64)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 903)
    (!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 904 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 905 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 906 
  (!type pointer 907 nil  gc_unused
   (!type already_seen 906)
  )
  gc_unused "predefined_function_abi"
  (!srcfileloc  "emit-rtl.h" 74)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 908 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 227)
 
 (!type already_seen 238)
 
 (!type union 909 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 910 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 911 nil  gc_unused "trailing_wide_ints<NUM_POLY_INT_COEFFS>"
  (!srcfileloc  "rtl.h" 291)
  (!fields 1 
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type undefined 912 nil  gc_unused "NUM_POLY_INT_COEFFS"
     (!srcfileloc  "rtl.h" 291)
    )
    (!srcfileloc  "rtl.h" 291)
    nil )
  )
 )
 
 (!type already_seen 912)
 
 (!type struct 913 nil  gc_unused "const_poly_int_def"
  (!srcfileloc  "rtl.h" 292)
  (!fields 1 
   (!pair  "coeffs"
    (!type already_seen 911)
    (!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 914 nil  gc_used "u"
  (!srcfileloc  "ggc-tests.c" 140)
  (!fields 2 
   (!pair  "u_test_struct"
    (!type pointer 915 nil  gc_used
     (!type struct 916 
      (!type already_seen 915)
      gc_pointed_to "test_struct"
      (!srcfileloc  "ggc-tests.c" 53)
      (!fields 1 
       (!pair  "other"
        (!type already_seen 915)
        (!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 917 nil  gc_used
     (!type struct 918 
      (!type already_seen 917)
      gc_pointed_to "test_other"
      (!srcfileloc  "ggc-tests.c" 139)
      (!fields 2 
       (!pair  "dummy"
        (!type array 919 nil  gc_used "256" 
         (!type already_seen 8)
        )
        (!srcfileloc  "ggc-tests.c" 107)
        nil )
       (!pair  "m_ptr"
        (!type already_seen 915)
        (!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 920 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 921 nil  gc_unused "subreg_shape"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 922 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 923 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 924 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 876)
    (!srcfileloc  "rtl.h" 2332)
    nil )
   (!pair  "generic_wide_int<wide_int_ref_storage<false"
    (!type user_struct 925 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 875)
       (!srcfileloc  "rtl.h" 2332)
       nil )
     )
    )
    (!srcfileloc  "rtl.h" 2332)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 912)
    (!srcfileloc  "rtl.h" 2332)
    nil )
  )
 )
 
 (!type already_seen 925)
 
 (!type already_seen 357)
 
 (!type struct 926 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 592)
 
 (!type struct 927 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 825)
 
 (!type struct 928 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 929 nil  gc_unused "auto_suppress_location_wrappers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 930 nil  gc_used "tree_decl_map_cache_hasher"
  (!srcfileloc  "tree.c" 239)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 931 nil  gc_unused "tree_decl_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 932 nil  gc_unused "tree_type_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 933 nil  gc_unused "tree_ssa_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 934 nil  gc_used "tree_hash"
  (!srcfileloc  "except.c" 150)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 935 nil  gc_unused "tree_cache_traits"
  (!srcfileloc  "tree.h" 5429)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 936 nil  gc_unused "hash_map<tree,tree,tree_cache_traits>"
  (!srcfileloc  "tree.h" 5429)
  (!fields 3 
   (!pair  "tree_cache_traits"
    (!type already_seen 935)
    (!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 937 nil  gc_used "decl_tree_cache_traits"
  (!srcfileloc  "tree.h" 5435)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 938 
  (!type pointer 939 nil  gc_used
   (!type already_seen 938)
  )
  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 937)
    (!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 940 nil  gc_used "type_tree_cache_traits"
  (!srcfileloc  "tree.h" 5441)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 941 
  (!type pointer 942 nil  gc_used
   (!type already_seen 941)
  )
  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 940)
    (!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 943 nil  gc_unused "unextended_tree"
  (!srcfileloc  "tree.h" 5782)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 944 nil  gc_unused "extended_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 945 nil  gc_unused "extended_tree<WIDE_INT_MAX_PRECISION>"
  (!srcfileloc  "tree.h" 5762)
  (!fields 1 
   (!pair  "WIDE_INT_MAX_PRECISION"
    (!type already_seen 869)
    (!srcfileloc  "tree.h" 5762)
    nil )
  )
 )
 
 (!type user_struct 946 nil  gc_unused "extended_tree<ADDR_MAX_PRECISION>"
  (!srcfileloc  "tree.h" 5763)
  (!fields 1 
   (!pair  "ADDR_MAX_PRECISION"
    (!type already_seen 869)
    (!srcfileloc  "tree.h" 5763)
    nil )
  )
 )
 
 (!type user_struct 947 nil  gc_unused "generic_wide_int<widest_extended_tree>"
  (!srcfileloc  "tree.h" 5765)
  (!fields 1 
   (!pair  "widest_extended_tree"
    (!type already_seen 945)
    (!srcfileloc  "tree.h" 5765)
    nil )
  )
 )
 
 (!type user_struct 948 nil  gc_unused "generic_wide_int<offset_extended_tree>"
  (!srcfileloc  "tree.h" 5766)
  (!fields 1 
   (!pair  "offset_extended_tree"
    (!type already_seen 946)
    (!srcfileloc  "tree.h" 5766)
    nil )
  )
 )
 
 (!type user_struct 949 nil  gc_unused "generic_wide_int<wide_int_ref_storage<false,false>>"
  (!srcfileloc  "tree.h" 5767)
  (!fields 2 
   (!pair  "false"
    (!type already_seen 876)
    (!srcfileloc  "tree.h" 5767)
    nil )
   (!pair  "wide_int_ref_storage<false"
    (!type already_seen 875)
    (!srcfileloc  "tree.h" 5767)
    nil )
  )
 )
 
 (!type user_struct 950 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 951 nil  gc_unused "generic_wide_int<widest_extended_tree"
     (!srcfileloc  "tree.h" 5776)
     (!fields 1 
      (!pair  "widest_extended_tree"
       (!type already_seen 945)
       (!srcfileloc  "tree.h" 5776)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5776)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 912)
    (!srcfileloc  "tree.h" 5776)
    nil )
  )
 )
 
 (!type already_seen 951)
 
 (!type user_struct 952 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 953 nil  gc_unused "generic_wide_int<offset_extended_tree"
     (!srcfileloc  "tree.h" 5779)
     (!fields 1 
      (!pair  "offset_extended_tree"
       (!type already_seen 946)
       (!srcfileloc  "tree.h" 5779)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5779)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 912)
    (!srcfileloc  "tree.h" 5779)
    nil )
  )
 )
 
 (!type already_seen 953)
 
 (!type user_struct 954 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 955 nil  gc_unused "generic_wide_int<unextended_tree"
     (!srcfileloc  "tree.h" 5782)
     (!fields 1 
      (!pair  "unextended_tree"
       (!type already_seen 943)
       (!srcfileloc  "tree.h" 5782)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5782)
    nil )
   (!pair  "NUM_POLY_INT_COEFFS"
    (!type already_seen 912)
    (!srcfileloc  "tree.h" 5782)
    nil )
  )
 )
 
 (!type already_seen 955)
 
 (!type user_struct 956 nil  gc_unused "generic_wide_int<extended_tree<N>>"
  (!srcfileloc  "tree.h" 5792)
  (!fields 1 
   (!pair  "extended_tree<N"
    (!type user_struct 957 nil  gc_unused "extended_tree<N"
     (!srcfileloc  "tree.h" 5792)
     (!fields 1 
      (!pair  "N"
       (!type undefined 958 nil  gc_unused "N"
        (!srcfileloc  "tree.h" 5792)
       )
       (!srcfileloc  "tree.h" 5792)
       nil )
     )
    )
    (!srcfileloc  "tree.h" 5792)
    nil )
  )
 )
 
 (!type already_seen 957)
 
 (!type already_seen 958)
 
 (!type user_struct 959 nil  gc_unused "generic_wide_int<unextended_tree>"
  (!srcfileloc  "tree.h" 5799)
  (!fields 1 
   (!pair  "unextended_tree"
    (!type already_seen 943)
    (!srcfileloc  "tree.h" 5799)
    nil )
  )
 )
 
 (!type user_struct 960 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 961 nil  gc_unused
     (!type struct 962 
      (!type already_seen 961)
      gc_unused "wi::extended_tree<WIDE_INT_MAX_PRECISION"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "tree.h" 5806)
    nil )
  )
 )
 
 (!type already_seen 962)
 
 (!type undefined 963 nil  gc_unused "typename"
  (!srcfileloc  "tree.h" 6057)
 )
 
 (!type struct 964 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 965 nil  gc_unused "builtin_structptr_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 966 nil  gc_unused "op_location_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 561)
 
 (!type already_seen 563)
 
 (!type already_seen 492)
 
 (!type struct 967 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 552)
 
 (!type already_seen 553)
 
 (!type already_seen 575)
 
 (!type already_seen 574)
 
 (!type already_seen 572)
 
 (!type already_seen 556)
 
 (!type already_seen 555)
 
 (!type already_seen 564)
 
 (!type already_seen 566)
 
 (!type already_seen 559)
 
 (!type already_seen 558)
 
 (!type already_seen 786)
 
 (!type already_seen 577)
 
 (!type already_seen 576)
 
 (!type already_seen 85)
 
 (!type already_seen 567)
 
 (!type already_seen 520)
 
 (!type already_seen 519)
 
 (!type already_seen 523)
 
 (!type already_seen 521)
 
 (!type already_seen 551)
 
 (!type already_seen 568)
 
 (!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 518)
 
 (!type already_seen 354)
 
 (!type already_seen 571)
 
 (!type already_seen 569)
 
 (!type already_seen 583)
 
 (!type already_seen 579)
 
 (!type already_seen 586)
 
 (!type already_seen 584)
 
 (!type already_seen 630)
 
 (!type struct 968 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 969 
  (!type pointer 970 nil  gc_unused
   (!type already_seen 969)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 971 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 972 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 973 nil  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 2125)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 972)
    (!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 974 nil  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 2131)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 972)
    (!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 975 nil  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 2137)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 972)
    (!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 976 nil  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 2143)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 972)
    (!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 977 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 978 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 979 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 980 nil  gc_unused "floatn_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 981 
  (!type pointer 982 nil  gc_used
   (!type already_seen 981)
  )
  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 967)
    (!srcfileloc  "tree-core.h" 2201)
    nil )
  )
 )
 
 (!type struct 983 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 613)
 
 (!type already_seen 612)
 
 (!type already_seen 609)
 
 (!type struct 984 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 985 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 986 nil  gc_unused "obstack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 987 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 988 nil  gc_unused "format_helper"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 989 
  (!type pointer 990 nil  gc_used
   (!type already_seen 989)
  )
  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 990)
    (!srcfileloc  "function.h" 33)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 991 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 989)
    (!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 992 
  (!type pointer 993 nil  gc_used
   (!type already_seen 992)
  )
  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 994 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 993)
    (!srcfileloc  "function.h" 131)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 995 
  (!type pointer 996 nil  gc_used
   (!type already_seen 995)
  )
  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 997 
  (!type pointer 998 nil  gc_used
   (!type already_seen 997)
  )
  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 996)
    (!srcfileloc  "function.h" 147)
    nil )
  )
 )
 
 (!type struct 999 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 1000 nil  gc_used "2" 
     (!type already_seen 998)
    )
    (!srcfileloc  "function.h" 147)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 389)
 
 (!type already_seen 475)
 
 (!type struct 1001 
  (!type pointer 1002 nil  gc_used
   (!type already_seen 1001)
  )
  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 1003 nil  gc_used
     (!type user_struct 1004 
      (!type already_seen 1003)
      gc_pointed_to "hash_table<const_rtx_desc_hasher>"
      (!srcfileloc  "varasm.c" 3679)
      (!fields 1 
       (!pair  "const_rtx_desc_hasher"
        (!type struct 1005 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 1006 nil  gc_used "varasm_status"
  (!srcfileloc  "function.h" 168)
  (!fields 2 
   (!pair  "pool"
    (!type already_seen 1002)
    (!srcfileloc  "function.h" 163)
    nil )
   (!pair  "deferred_constants"
    (!type already_seen 2)
    (!srcfileloc  "function.h" 167)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1007 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 1008 
  (!type pointer 1009 nil  gc_used
   (!type already_seen 1008)
  )
  gc_pointed_to "frame_space"
  (!srcfileloc  "function.h" 193)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1009)
    (!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 430)
 
 (!type already_seen 473)
 
 (!type struct 1010 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 1011 nil  gc_used "used_type_hasher"
  (!srcfileloc  "function.h" 474)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1012 
  (!type pointer 1013 nil  gc_used
   (!type already_seen 1012)
  )
  gc_pointed_to "hash_table<used_type_hasher>"
  (!srcfileloc  "function.h" 474)
  (!fields 1 
   (!pair  "used_type_hasher"
    (!type already_seen 1011)
    (!srcfileloc  "function.h" 474)
    nil )
  )
 )
 
 (!type struct 1014 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1015 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1016 nil  gc_unused "function_abi"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1017 nil  gc_unused "function_abi_aggregator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 603)
 
 (!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 1018 nil  gc_unused "eni_weights"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1019 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 615)
 
 (!type already_seen 385)
 
 (!type already_seen 299)
 
 (!type struct 1021 nil  gc_unused "auto_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1022 nil  gc_unused "auto_edge_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "auto_bb_flag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "sreal"
  (!srcfileloc  "profile-count.h" 1206)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1025 nil  gc_unused "profile_probability"
  (!srcfileloc  "profile-count.h" 634)
  (!fields 0 )
 )
 
 (!type undefined 1026 nil  gc_unused "uint32_t"
  (!srcfileloc  "profile-count.h" 807)
 )
 
 (!type struct 1027 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1028 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1029 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 1030 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 823)
 
 (!type already_seen 347)
 
 (!type struct 1031 nil  gc_used "section_name_hasher"
  (!srcfileloc  "cgraph.h" 2535)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type undefined 1032 nil  gc_unused "explicit"
  (!srcfileloc  "cgraph.h" 113)
 )
 
 (!type already_seen 328)
 
 (!type struct 1033 
  (!type pointer 1034 nil  gc_unused
   (!type already_seen 1033)
  )
  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 839)
 
 (!type already_seen 830)
 
 (!type already_seen 828)
 
 (!type already_seen 832)
 
 (!type already_seen 837)
 
 (!type already_seen 838)
 
 (!type already_seen 826)
 
 (!type already_seen 820)
 
 (!type already_seen 818)
 
 (!type struct 1035 
  (!type pointer 1036 nil  gc_used
   (!type already_seen 1035)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 887)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 808)
    (!srcfileloc  "cgraph.h" 868)
    nil )
   (!pair  "prev"
    (!type already_seen 1036)
    (!srcfileloc  "cgraph.h" 872)
    nil )
   (!pair  "next"
    (!type already_seen 1036)
    (!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 816)
 
 (!type user_struct 1037 nil  gc_unused "vec<cgraph_edge*>"
  (!srcfileloc  "cgraph.h" 1204)
  (!fields 1 
   (!pair  "cgraph_edge"
    (!type already_seen 809)
    (!srcfileloc  "cgraph.h" 1204)
    nil )
  )
 )
 
 (!type already_seen 815)
 
 (!type already_seen 821)
 
 (!type struct 1038 
  (!type pointer 1039 nil  gc_unused
   (!type already_seen 1038)
  )
  gc_unused "cgraph_node_set_def"
  (!srcfileloc  "cgraph.h" 1564)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1040 
  (!type pointer 1041 nil  gc_unused
   (!type already_seen 1040)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1042 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 813)
 
 (!type already_seen 812)
 
 (!type undefined 1044 nil  gc_unused "availability"
  (!srcfileloc  "cgraph.h" 2053)
 )
 
 (!type struct 1045 
  (!type pointer 1046 nil  gc_used
   (!type already_seen 1045)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 2176)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1046)
    (!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 1047 
  (!type pointer 1048 nil  gc_unused
   (!type already_seen 1047)
  )
  gc_unused "cgraph_edge_hook_list"
  (!srcfileloc  "cgraph.h" 2384)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1049 
  (!type pointer 1050 nil  gc_unused
   (!type already_seen 1049)
  )
  gc_unused "cgraph_node_hook_list"
  (!srcfileloc  "cgraph.h" 2391)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1051 
  (!type pointer 1052 nil  gc_unused
   (!type already_seen 1051)
  )
  gc_unused "varpool_node_hook_list"
  (!srcfileloc  "cgraph.h" 2398)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1053 
  (!type pointer 1054 nil  gc_unused
   (!type already_seen 1053)
  )
  gc_unused "cgraph_2edge_hook_list"
  (!srcfileloc  "cgraph.h" 2419)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1055 
  (!type pointer 1056 nil  gc_unused
   (!type already_seen 1055)
  )
  gc_unused "cgraph_2node_hook_list"
  (!srcfileloc  "cgraph.h" 2425)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1057 nil  gc_used "asmname_hasher"
  (!srcfileloc  "cgraph.h" 2538)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1058 
  (!type pointer 1059 nil  gc_used
   (!type already_seen 1058)
  )
  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 1060 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 1060)
    (!srcfileloc  "cgraph.h" 2508)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "nodes"
    (!type already_seen 317)
    (!srcfileloc  "cgraph.h" 2513)
    nil )
   (!pair  "asmnodes"
    (!type already_seen 1046)
    (!srcfileloc  "cgraph.h" 2514)
    nil )
   (!pair  "asm_last_node"
    (!type already_seen 1046)
    (!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 1061 nil  gc_used
     (!type user_struct 1062 
      (!type already_seen 1061)
      gc_pointed_to "hash_table<section_name_hasher>"
      (!srcfileloc  "cgraph.h" 2535)
      (!fields 1 
       (!pair  "section_name_hasher"
        (!type already_seen 1031)
        (!srcfileloc  "cgraph.h" 2535)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2535)
    nil )
   (!pair  "assembler_name_hash"
    (!type pointer 1063 nil  gc_used
     (!type user_struct 1064 
      (!type already_seen 1063)
      gc_pointed_to "hash_table<asmname_hasher>"
      (!srcfileloc  "cgraph.h" 2538)
      (!fields 1 
       (!pair  "asmname_hasher"
        (!type already_seen 1057)
        (!srcfileloc  "cgraph.h" 2538)
        nil )
      )
     )
    )
    (!srcfileloc  "cgraph.h" 2538)
    nil )
   (!pair  "init_priority_hash"
    (!type pointer 1065 nil  gc_used
     (!type user_struct 1066 
      (!type already_seen 1065)
      gc_pointed_to "hash_map<symtab_node*,symbol_priority_map>"
      (!srcfileloc  "cgraph.h" 2541)
      (!fields 2 
       (!pair  "symbol_priority_map"
        (!type already_seen 1033)
        (!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 1067 nil  gc_unused
     (!type undefined 1068 
      (!type already_seen 1067)
      gc_unused "FILE"
      (!srcfileloc  "cgraph.h" 2543)
     )
    )
    (!srcfileloc  "cgraph.h" 2543)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "ipa_clones_dump_file"
    (!type already_seen 1067)
    (!srcfileloc  "cgraph.h" 2545)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cloned_nodes"
    (!type user_struct 1069 nil  gc_unused "hash_set<cgraph_node*>"
     (!srcfileloc  "cgraph.h" 2547)
     (!fields 1 
      (!pair  "cgraph_node"
       (!type already_seen 808)
       (!srcfileloc  "cgraph.h" 2547)
       nil )
     )
    )
    (!srcfileloc  "cgraph.h" 2547)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_removal_hook"
    (!type already_seen 1048)
    (!srcfileloc  "cgraph.h" 2576)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_removal_hook"
    (!type already_seen 1050)
    (!srcfileloc  "cgraph.h" 2578)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_edge_duplicated_hook"
    (!type already_seen 1054)
    (!srcfileloc  "cgraph.h" 2580)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_duplicated_hook"
    (!type already_seen 1056)
    (!srcfileloc  "cgraph.h" 2582)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_cgraph_insertion_hook"
    (!type already_seen 1050)
    (!srcfileloc  "cgraph.h" 2584)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_insertion_hook"
    (!type already_seen 1052)
    (!srcfileloc  "cgraph.h" 2586)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "m_first_varpool_removal_hook"
    (!type already_seen 1052)
    (!srcfileloc  "cgraph.h" 2588)
    (!options 
     (!option skip string  "")
    )
   )
  )
  (!options 
   (!option tag string  "SYMTAB")
  )
  2047 nil nil )
 
 (!type already_seen 1060)
 
 (!type already_seen 1062)
 
 (!type already_seen 1064)
 
 (!type already_seen 1066)
 
 (!type already_seen 1068)
 
 (!type already_seen 1069)
 
 (!type struct 1070 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 1071 nil  gc_used "tree_descriptor_hasher"
  (!srcfileloc  "varasm.c" 3006)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1072 nil  gc_unused "symbol_table_test"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1073 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 605)
 
 (!type struct 1074 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1075 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1077 nil  gc_used "alias_set_hash"
  (!srcfileloc  "alias.c" 148)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1078 
  (!type pointer 1079 nil  gc_used
   (!type already_seen 1078)
  )
  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 1077)
    (!srcfileloc  "alias.c" 148)
    nil )
  )
 )
 
 (!type struct 1080 
  (!type pointer 1081 nil  gc_used
   (!type already_seen 1080)
  )
  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 1079)
    (!srcfileloc  "alias.c" 148)
    nil )
  )
  nil 2047 nil nil )
 
 (!type user_struct 1082 
  (!type pointer 1083 nil  gc_used
   (!type already_seen 1082)
  )
  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 1081)
    (!srcfileloc  "alias.c" 279)
    nil )
  )
 )
 
 (!type struct 1084 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1085 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1086 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1087 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1088 nil  gc_used "function_version_hasher"
  (!srcfileloc  "cgraph.c" 119)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1089 
  (!type pointer 1090 nil  gc_used
   (!type already_seen 1089)
  )
  gc_pointed_to "hash_table<function_version_hasher>"
  (!srcfileloc  "cgraph.c" 119)
  (!fields 1 
   (!pair  "function_version_hasher"
    (!type already_seen 1088)
    (!srcfileloc  "cgraph.c" 119)
    nil )
  )
 )
 
 (!type struct 1091 nil  gc_unused "set_pure_flag_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 330)
 
 (!type struct 1092 nil  gc_used "ipa_bit_ggc_hash_traits"
  (!srcfileloc  "ipa-prop.c" 105)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1093 
  (!type pointer 1094 nil  gc_used
   (!type already_seen 1093)
  )
  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 1092)
    (!srcfileloc  "ipa-prop.c" 105)
    nil )
  )
 )
 
 (!type struct 1095 nil  gc_used "ipa_vr_ggc_hash_traits"
  (!srcfileloc  "ipa-prop.c" 151)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1096 
  (!type pointer 1097 nil  gc_used
   (!type already_seen 1096)
  )
  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 1095)
    (!srcfileloc  "ipa-prop.c" 151)
    nil )
  )
 )
 
 (!type struct 1098 
  (!type pointer 1099 nil  gc_unused
   (!type already_seen 1098)
  )
  gc_unused "ipa_cst_ref_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1100 nil  gc_pointed_to "ipa_node_params"
  (!srcfileloc  "ipa-prop.h" 506)
  (!fields 14 
   (!pair  "descriptors"
    (!type pointer 1101 nil  gc_used
     (!type user_struct 1102 
      (!type already_seen 1101)
      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 1103 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 1104 nil  gc_unused
     (!type struct 1105 
      (!type already_seen 1104)
      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 808)
    (!srcfileloc  "ipa-prop.h" 478)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "known_csts"
    (!type user_struct 1106 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 1107 nil  gc_unused "vec<ipa_polymorphic_call_context>"
     (!srcfileloc  "ipa-prop.h" 484)
     (!fields 1 
      (!pair  "ipa_polymorphic_call_context"
       (!type already_seen 813)
       (!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 1108 nil  gc_used "ipa_jump_func"
  (!srcfileloc  "ipa-prop.h" 803)
  (!fields 5 
   (!pair  "agg"
    (!type struct 1109 nil  gc_used "ipa_agg_jump_function"
     (!srcfileloc  "ipa-prop.h" 178)
     (!fields 2 
      (!pair  "items"
       (!type pointer 1110 nil  gc_used
        (!type user_struct 1111 
         (!type already_seen 1110)
         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 1112 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 1113 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 1114 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 1115 nil  gc_used "ipa_load_agg_data"
                  (!srcfileloc  "ipa-prop.h" 128)
                  (!fields 4 
                   (!pair  "pass_through"
                    (!type already_seen 1114)
                    (!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 1116 nil  gc_used
     (!type struct 1117 
      (!type already_seen 1116)
      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 1118 nil  gc_used
     (!type struct 1119 
      (!type already_seen 1118)
      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 1120 nil  gc_used "jump_func_value"
     (!srcfileloc  "ipa-prop.h" 332)
     (!fields 3 
      (!pair  "constant"
       (!type struct 1121 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 1099)
          (!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 1114)
       (!srcfileloc  "ipa-prop.h" 330)
       (!options 
        (!option tag string  "IPA_JF_PASS_THROUGH")
       )
      )
      (!pair  "ancestor"
       (!type struct 1122 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 1112)
 
 (!type struct 1123 nil  gc_unused "prop_type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1124 nil  gc_unused "ipa_bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1125 nil  gc_unused "ipa_param_aa_status"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1126 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1115)
 
 (!type struct 1127 nil  gc_pointed_to "ipa_edge_args"
  (!srcfileloc  "ipa-prop.h" 805)
  (!fields 2 
   (!pair  "jump_functions"
    (!type pointer 1128 nil  gc_used
     (!type user_struct 1129 
      (!type already_seen 1128)
      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 1108)
        (!srcfileloc  "ipa-prop.h" 803)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 803)
    nil )
   (!pair  "polymorphic_call_contexts"
    (!type pointer 1130 nil  gc_used
     (!type user_struct 1131 
      (!type already_seen 1130)
      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 813)
        (!srcfileloc  "ipa-prop.h" 804)
        nil )
      )
     )
    )
    (!srcfileloc  "ipa-prop.h" 804)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1132 nil  gc_unused "analysis_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1133 nil  gc_unused "ipa_func_body_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1134 nil  gc_unused "ipa_agg_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1135 
  (!type pointer 1136 nil  gc_used
   (!type already_seen 1135)
  )
  gc_pointed_to "ipa_agg_replacement_value"
  (!srcfileloc  "ipa-prop.h" 752)
  (!fields 5 
   (!pair  "next"
    (!type already_seen 1136)
    (!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 1137 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1138 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1139 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1140 nil  gc_unused "ipcp_modif_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1141 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1142 nil  gc_unused "ipcp_value_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1143 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1144 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1145 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1146 nil  gc_unused "ipcp_bits_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1147 nil  gc_unused "ipcp_vr_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1105)
 
 (!type struct 1148 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1149 nil  gc_unused "value_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "ipa_topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "ipa_agg_value_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1109)
 
 (!type struct 1152 
  (!type pointer 1153 nil  gc_used
   (!type already_seen 1152)
  )
  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 1024)
    (!srcfileloc  "ipa-fnsummary.h" 155)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "conds"
    (!type pointer 1154 nil  gc_used
     (!type user_struct 1155 
      (!type already_seen 1154)
      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 1156 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 1157 nil  gc_used
            (!type user_struct 1158 
             (!type already_seen 1157)
             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 1159 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 1160 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 1161 nil  gc_used
     (!type user_struct 1162 
      (!type already_seen 1161)
      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 1163 nil  gc_used "size_time_entry"
         (!srcfileloc  "ipa-fnsummary.h" 164)
         (!fields 4 
          (!pair  "exec_predicate"
           (!type struct 1164 
            (!type pointer 1165 nil  gc_unused
             (!type already_seen 1164)
            )
            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 1164)
           (!srcfileloc  "ipa-fnsummary.h" 80)
           nil )
          (!pair  "size"
           (!type already_seen 2)
           (!srcfileloc  "ipa-fnsummary.h" 81)
           nil )
          (!pair  "time"
           (!type already_seen 1024)
           (!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 1161)
    (!srcfileloc  "ipa-fnsummary.h" 165)
    nil )
   (!pair  "loop_iterations"
    (!type already_seen 1165)
    (!srcfileloc  "ipa-fnsummary.h" 169)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "loop_stride"
    (!type already_seen 1165)
    (!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 1166 nil  gc_unused "edge_clone_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1167 nil  gc_unused "edge_clone_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1168 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 
  (!type pointer 1171 nil  gc_used
   (!type already_seen 1170)
  )
  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 1172 nil  gc_unused "vec<odr_type>"
     (!srcfileloc  "ipa-devirt.c" 202)
     (!fields 1 
      (!pair  "odr_type"
       (!type already_seen 1171)
       (!srcfileloc  "ipa-devirt.c" 202)
       nil )
     )
    )
    (!srcfileloc  "ipa-devirt.c" 202)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "derived_types"
    (!type already_seen 1172)
    (!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 472)
    (!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 835)
 
 (!type already_seen 834)
 
 (!type struct 1173 nil  gc_unused "ipa_param_body_replacement"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 nil  gc_unused "ipa_param_body_adjustments"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 
  (!type pointer 1176 nil  gc_used
   (!type already_seen 1175)
  )
  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 1177 nil  gc_unused "gensum_param_access"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1178 
  (!type pointer 1179 nil  gc_used
   (!type already_seen 1178)
  )
  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 1176)
    (!srcfileloc  "ipa-sra.c" 165)
    nil )
  )
 )
 
 (!type struct 1180 nil  gc_used "isra_param_desc"
  (!srcfileloc  "ipa-sra.c" 254)
  (!fields 6 
   (!pair  "accesses"
    (!type already_seen 1179)
    (!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 1181 nil  gc_unused "gensum_param_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_pointed_to "isra_func_summary"
  (!srcfileloc  "ipa-sra.c" 272)
  (!fields 5 
   (!pair  "m_parameters"
    (!type pointer 1183 nil  gc_used
     (!type user_struct 1184 
      (!type already_seen 1183)
      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 1180)
        (!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 1184)
 
 (!type struct 1185 nil  gc_unused "isra_param_flow"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1186 nil  gc_unused "isra_call_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1187 
  (!type pointer 1188 nil  gc_used
   (!type already_seen 1187)
  )
  gc_pointed_to "ipa_sra_function_summaries"
  (!srcfileloc  "ipa-sra.c" 376)
  (!fields 0 )
 )
 
 (!type struct 1189 nil  gc_unused "ipa_sra_call_summaries"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1190 nil  gc_unused "scan_call_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1191 nil  gc_unused "caller_issues"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 nil  gc_unused "pass_ipa_sra"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1193 
  (!type pointer 1194 nil  gc_used
   (!type already_seen 1193)
  )
  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 1195 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 483)
 
 (!type already_seen 479)
 
 (!type already_seen 482)
 
 (!type already_seen 490)
 
 (!type already_seen 515)
 
 (!type already_seen 517)
 
 (!type already_seen 480)
 
 (!type already_seen 477)
 
 (!type already_seen 504)
 
 (!type already_seen 513)
 
 (!type already_seen 512)
 
 (!type already_seen 486)
 
 (!type already_seen 505)
 
 (!type already_seen 507)
 
 (!type already_seen 509)
 
 (!type already_seen 511)
 
 (!type already_seen 488)
 
 (!type struct 1196 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1197 nil  gc_unused "fixed_point_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1198 
  (!type pointer 1199 nil  gc_used
   (!type already_seen 1198)
  )
  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 1200 
  (!type pointer 1201 nil  gc_used
   (!type already_seen 1200)
  )
  gc_pointed_to "dw_cfi_row"
  (!srcfileloc  "dwarf2cfi.c" 193)
  (!fields 5 
   (!pair  "cfa"
    (!type already_seen 517)
    (!srcfileloc  "dwarf2cfi.c" 66)
    nil )
   (!pair  "cfa_cfi"
    (!type already_seen 478)
    (!srcfileloc  "dwarf2cfi.c" 67)
    nil )
   (!pair  "reg_save"
    (!type already_seen 476)
    (!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 1202 
  (!type pointer 1203 nil  gc_used
   (!type already_seen 1202)
  )
  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 1204 nil  gc_unused "dw_trace_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1205 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1206 nil  gc_unused "queued_reg_save"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "init_one_dwarf_reg_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1209 
  (!type pointer 1210 nil  gc_used
   (!type already_seen 1209)
  )
  gc_pointed_to "vec<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 474)
    (!srcfileloc  "dwarf2out.c" 213)
    nil )
  )
 )
 
 (!type struct 1211 nil  gc_used "indirect_string_hasher"
  (!srcfileloc  "dwarf2out.c" 231)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1212 
  (!type pointer 1213 nil  gc_used
   (!type already_seen 1212)
  )
  gc_pointed_to "hash_table<indirect_string_hasher>"
  (!srcfileloc  "dwarf2out.c" 231)
  (!fields 1 
   (!pair  "indirect_string_hasher"
    (!type already_seen 1211)
    (!srcfileloc  "dwarf2out.c" 231)
    nil )
  )
 )
 
 (!type already_seen 487)
 
 (!type already_seen 495)
 
 (!type struct 1214 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 1215 
  (!type pointer 1216 nil  gc_used
   (!type already_seen 1215)
  )
  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 1214)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
  )
 )
 
 (!type struct 1217 
  (!type pointer 1218 nil  gc_used
   (!type already_seen 1217)
  )
  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 1216)
    (!srcfileloc  "dwarf2out.c" 3019)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 499)
 
 (!type already_seen 493)
 
 (!type already_seen 498)
 
 (!type struct 1219 nil  gc_unused "set_early_dwarf"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1220 nil  gc_used "pubname_struct"
  (!srcfileloc  "dwarf2out.c" 3135)
  (!fields 2 
   (!pair  "die"
    (!type already_seen 491)
    (!srcfileloc  "dwarf2out.c" 3133)
    nil )
   (!pair  "name"
    (!type already_seen 11)
    (!srcfileloc  "dwarf2out.c" 3134)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1221 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 1222 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 1223 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 1224 
  (!type pointer 1225 nil  gc_used
   (!type already_seen 1224)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 3185)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 491)
    (!srcfileloc  "dwarf2out.c" 3180)
    nil )
   (!pair  "created_for"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3183)
    nil )
   (!pair  "next"
    (!type already_seen 1225)
    (!srcfileloc  "dwarf2out.c" 3184)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1226 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1227 nil  gc_used "dwarf_file_hasher"
  (!srcfileloc  "dwarf2out.c" 3400)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1228 
  (!type pointer 1229 nil  gc_used
   (!type already_seen 1228)
  )
  gc_pointed_to "hash_table<dwarf_file_hasher>"
  (!srcfileloc  "dwarf2out.c" 3400)
  (!fields 1 
   (!pair  "dwarf_file_hasher"
    (!type already_seen 1227)
    (!srcfileloc  "dwarf2out.c" 3400)
    nil )
  )
 )
 
 (!type struct 1230 nil  gc_used "decl_die_hasher"
  (!srcfileloc  "dwarf2out.c" 3411)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1231 
  (!type pointer 1232 nil  gc_used
   (!type already_seen 1231)
  )
  gc_pointed_to "hash_table<decl_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 3411)
  (!fields 1 
   (!pair  "decl_die_hasher"
    (!type already_seen 1230)
    (!srcfileloc  "dwarf2out.c" 3411)
    nil )
  )
 )
 
 (!type user_struct 1233 
  (!type pointer 1234 nil  gc_used
   (!type already_seen 1233)
  )
  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 491)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
  )
 )
 
 (!type struct 1235 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 1234)
    (!srcfileloc  "dwarf2out.c" 3415)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1236 nil  gc_used "variable_value_hasher"
  (!srcfileloc  "dwarf2out.c" 3428)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1237 
  (!type pointer 1238 nil  gc_used
   (!type already_seen 1237)
  )
  gc_pointed_to "hash_table<variable_value_hasher>"
  (!srcfileloc  "dwarf2out.c" 3428)
  (!fields 1 
   (!pair  "variable_value_hasher"
    (!type already_seen 1236)
    (!srcfileloc  "dwarf2out.c" 3428)
    nil )
  )
 )
 
 (!type struct 1239 nil  gc_used "block_die_hasher"
  (!srcfileloc  "dwarf2out.c" 3438)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1240 
  (!type pointer 1241 nil  gc_used
   (!type already_seen 1240)
  )
  gc_pointed_to "hash_table<block_die_hasher>"
  (!srcfileloc  "dwarf2out.c" 3438)
  (!fields 1 
   (!pair  "block_die_hasher"
    (!type already_seen 1239)
    (!srcfileloc  "dwarf2out.c" 3438)
    nil )
  )
 )
 
 (!type struct 1242 nil  gc_used "die_arg_entry_struct"
  (!srcfileloc  "dwarf2out.c" 3443)
  (!fields 2 
   (!pair  "die"
    (!type already_seen 491)
    (!srcfileloc  "dwarf2out.c" 3441)
    nil )
   (!pair  "arg"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 3442)
    nil )
  )
  nil 2047 nil nil )
 
 (!type struct 1243 
  (!type pointer 1244 nil  gc_used
   (!type already_seen 1243)
  )
  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 1244)
    (!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 1245 nil  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 3481)
  (!fields 4 
   (!pair  "first"
    (!type already_seen 1244)
    (!srcfileloc  "dwarf2out.c" 3464)
    nil )
   (!pair  "last"
    (!type already_seen 1244)
    (!srcfileloc  "dwarf2out.c" 3472)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1244)
    (!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 1246 
  (!type pointer 1247 nil  gc_used
   (!type already_seen 1246)
  )
  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 1247)
    (!srcfileloc  "dwarf2out.c" 3491)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  2047 nil nil )
 
 (!type struct 1248 nil  gc_used "decl_loc_hasher"
  (!srcfileloc  "dwarf2out.c" 3504)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1249 
  (!type pointer 1250 nil  gc_used
   (!type already_seen 1249)
  )
  gc_pointed_to "hash_table<decl_loc_hasher>"
  (!srcfileloc  "dwarf2out.c" 3504)
  (!fields 1 
   (!pair  "decl_loc_hasher"
    (!type already_seen 1248)
    (!srcfileloc  "dwarf2out.c" 3504)
    nil )
  )
 )
 
 (!type struct 1251 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 489)
    (!srcfileloc  "dwarf2out.c" 3521)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1252 nil  gc_used "dw_loc_list_hasher"
  (!srcfileloc  "dwarf2out.c" 3535)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1253 
  (!type pointer 1254 nil  gc_used
   (!type already_seen 1253)
  )
  gc_pointed_to "hash_table<dw_loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 3535)
  (!fields 1 
   (!pair  "dw_loc_list_hasher"
    (!type already_seen 1252)
    (!srcfileloc  "dwarf2out.c" 3535)
    nil )
  )
 )
 
 (!type user_struct 1255 
  (!type pointer 1256 nil  gc_used
   (!type already_seen 1255)
  )
  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 1218)
    (!srcfileloc  "dwarf2out.c" 3560)
    nil )
  )
 )
 
 (!type user_struct 1257 
  (!type pointer 1258 nil  gc_used
   (!type already_seen 1257)
  )
  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 1220)
    (!srcfileloc  "dwarf2out.c" 3568)
    nil )
  )
 )
 
 (!type user_struct 1259 
  (!type pointer 1260 nil  gc_used
   (!type already_seen 1259)
  )
  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 1222)
    (!srcfileloc  "dwarf2out.c" 3576)
    nil )
  )
 )
 
 (!type user_struct 1261 
  (!type pointer 1262 nil  gc_used
   (!type already_seen 1261)
  )
  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 1221)
    (!srcfileloc  "dwarf2out.c" 3586)
    nil )
  )
 )
 
 (!type user_struct 1263 
  (!type pointer 1264 nil  gc_used
   (!type already_seen 1263)
  )
  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 1223)
    (!srcfileloc  "dwarf2out.c" 3589)
    nil )
  )
 )
 
 (!type user_struct 1265 
  (!type pointer 1266 nil  gc_used
   (!type already_seen 1265)
  )
  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 1242)
    (!srcfileloc  "dwarf2out.c" 3606)
    nil )
  )
 )
 
 (!type struct 1267 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1268 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1269 nil  gc_unused "loc_descr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1270 nil  gc_unused "vlr_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1271 nil  gc_used "addr_hasher"
  (!srcfileloc  "dwarf2out.c" 4954)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1272 
  (!type pointer 1273 nil  gc_used
   (!type already_seen 1272)
  )
  gc_pointed_to "hash_table<addr_hasher>"
  (!srcfileloc  "dwarf2out.c" 4954)
  (!fields 1 
   (!pair  "addr_hasher"
    (!type already_seen 1271)
    (!srcfileloc  "dwarf2out.c" 4954)
    nil )
  )
 )
 
 (!type struct 1274 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 1275 
  (!type pointer 1276 nil  gc_used
   (!type already_seen 1275)
  )
  gc_pointed_to "hash_map<tree,sym_off_pair>"
  (!srcfileloc  "dwarf2out.c" 5794)
  (!fields 2 
   (!pair  "sym_off_pair"
    (!type already_seen 1274)
    (!srcfileloc  "dwarf2out.c" 5794)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "dwarf2out.c" 5794)
    nil )
  )
 )
 
 (!type struct 1277 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1278 nil  gc_unused "decl_table_entry_hasher"
  (!srcfileloc  "dwarf2out.c" 8181)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1279 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 8181)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type already_seen 1278)
    (!srcfileloc  "dwarf2out.c" 8181)
    nil )
  )
 )
 
 (!type struct 1280 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1281 nil  gc_unused "external_ref_hasher"
  (!srcfileloc  "dwarf2out.c" 8939)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1282 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 8939)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type already_seen 1281)
    (!srcfileloc  "dwarf2out.c" 8939)
    nil )
  )
 )
 
 (!type struct 1283 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1284 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1285 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1286 nil  gc_unused "dwarf_qual_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1287 nil  gc_unused "dwarf_procedure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1288 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 1289 nil  gc_used "inline_entry_data_hasher"
  (!srcfileloc  "dwarf2out.c" 23562)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1290 
  (!type pointer 1291 nil  gc_used
   (!type already_seen 1290)
  )
  gc_pointed_to "hash_table<inline_entry_data_hasher>"
  (!srcfileloc  "dwarf2out.c" 23562)
  (!fields 1 
   (!pair  "inline_entry_data_hasher"
    (!type already_seen 1289)
    (!srcfileloc  "dwarf2out.c" 23562)
    nil )
  )
 )
 
 (!type struct 1292 nil  gc_unused "macinfo_entry_hasher"
  (!srcfileloc  "dwarf2out.c" 28164)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1293 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 28164)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type already_seen 1292)
    (!srcfileloc  "dwarf2out.c" 28164)
    nil )
  )
 )
 
 (!type struct 1294 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1295 nil  gc_unused "loc_list_hasher"
  (!srcfileloc  "dwarf2out.c" 31114)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1296 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 31114)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type already_seen 1295)
    (!srcfileloc  "dwarf2out.c" 31114)
    nil )
  )
 )
 
 (!type struct 1297 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1298 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1299 
  (!type pointer 1300 nil  gc_used
   (!type already_seen 1299)
  )
  gc_pointed_to "temp_slot"
  (!srcfileloc  "function.c" 587)
  (!fields 10 
   (!pair  "next"
    (!type already_seen 1300)
    (!srcfileloc  "function.c" 563)
    nil )
   (!pair  "prev"
    (!type already_seen 1300)
    (!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 1301 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 1302 
  (!type pointer 1303 nil  gc_used
   (!type already_seen 1302)
  )
  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 1304 nil  gc_unused
     (!type struct 1305 
      (!type already_seen 1304)
      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 1306 
  (!type pointer 1307 nil  gc_used
   (!type already_seen 1306)
  )
  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 1300)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
  )
 )
 
 (!type struct 1308 nil  gc_used "rtl_data"
  (!srcfileloc  "emit-rtl.h" 306)
  (!fields 61 
   (!pair  "expr"
    (!type already_seen 994)
    (!srcfileloc  "emit-rtl.h" 61)
    nil )
   (!pair  "emit"
    (!type already_seen 991)
    (!srcfileloc  "emit-rtl.h" 62)
    nil )
   (!pair  "varasm"
    (!type already_seen 1006)
    (!srcfileloc  "emit-rtl.h" 63)
    nil )
   (!pair  "args"
    (!type already_seen 1301)
    (!srcfileloc  "emit-rtl.h" 64)
    nil )
   (!pair  "subsections"
    (!type already_seen 1007)
    (!srcfileloc  "emit-rtl.h" 65)
    nil )
   (!pair  "eh"
    (!type already_seen 999)
    (!srcfileloc  "emit-rtl.h" 66)
    nil )
   (!pair  "abi"
    (!type already_seen 907)
    (!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 1303)
    (!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 742)
    (!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 1009)
    (!srcfileloc  "emit-rtl.h" 122)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type already_seen 751)
    (!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 1307)
    (!srcfileloc  "emit-rtl.h" 145)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1300)
    (!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 1309 nil  gc_used "const_int_hasher"
  (!srcfileloc  "emit-rtl.c" 144)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1310 
  (!type pointer 1311 nil  gc_used
   (!type already_seen 1310)
  )
  gc_pointed_to "hash_table<const_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 144)
  (!fields 1 
   (!pair  "const_int_hasher"
    (!type already_seen 1309)
    (!srcfileloc  "emit-rtl.c" 144)
    nil )
  )
 )
 
 (!type struct 1312 nil  gc_used "const_wide_int_hasher"
  (!srcfileloc  "emit-rtl.c" 152)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1313 
  (!type pointer 1314 nil  gc_used
   (!type already_seen 1313)
  )
  gc_pointed_to "hash_table<const_wide_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 152)
  (!fields 1 
   (!pair  "const_wide_int_hasher"
    (!type already_seen 1312)
    (!srcfileloc  "emit-rtl.c" 152)
    nil )
  )
 )
 
 (!type struct 1315 nil  gc_used "const_poly_int_hasher"
  (!srcfileloc  "emit-rtl.c" 162)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1316 
  (!type pointer 1317 nil  gc_used
   (!type already_seen 1316)
  )
  gc_pointed_to "hash_table<const_poly_int_hasher>"
  (!srcfileloc  "emit-rtl.c" 162)
  (!fields 1 
   (!pair  "const_poly_int_hasher"
    (!type already_seen 1315)
    (!srcfileloc  "emit-rtl.c" 162)
    nil )
  )
 )
 
 (!type struct 1318 nil  gc_used "reg_attr_hasher"
  (!srcfileloc  "emit-rtl.c" 171)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1319 
  (!type pointer 1320 nil  gc_used
   (!type already_seen 1319)
  )
  gc_pointed_to "hash_table<reg_attr_hasher>"
  (!srcfileloc  "emit-rtl.c" 171)
  (!fields 1 
   (!pair  "reg_attr_hasher"
    (!type already_seen 1318)
    (!srcfileloc  "emit-rtl.c" 171)
    nil )
  )
 )
 
 (!type struct 1321 nil  gc_used "const_double_hasher"
  (!srcfileloc  "emit-rtl.c" 180)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1322 
  (!type pointer 1323 nil  gc_used
   (!type already_seen 1322)
  )
  gc_pointed_to "hash_table<const_double_hasher>"
  (!srcfileloc  "emit-rtl.c" 180)
  (!fields 1 
   (!pair  "const_double_hasher"
    (!type already_seen 1321)
    (!srcfileloc  "emit-rtl.c" 180)
    nil )
  )
 )
 
 (!type struct 1324 nil  gc_used "const_fixed_hasher"
  (!srcfileloc  "emit-rtl.c" 189)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1325 
  (!type pointer 1326 nil  gc_used
   (!type already_seen 1325)
  )
  gc_pointed_to "hash_table<const_fixed_hasher>"
  (!srcfileloc  "emit-rtl.c" 189)
  (!fields 1 
   (!pair  "const_fixed_hasher"
    (!type already_seen 1324)
    (!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 1327 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 1328 nil  gc_unused "pieces_addr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1329 nil  gc_unused "op_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1330 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1331 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1332 nil  gc_unused "compare_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1333 
  (!type pointer 1334 nil  gc_unused
   (!type already_seen 1333)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1335 nil  gc_used "insn_cache_hasher"
  (!srcfileloc  "function.c" 127)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1336 
  (!type pointer 1337 nil  gc_used
   (!type already_seen 1336)
  )
  gc_pointed_to "hash_table<insn_cache_hasher>"
  (!srcfileloc  "function.c" 127)
  (!fields 1 
   (!pair  "insn_cache_hasher"
    (!type already_seen 1335)
    (!srcfileloc  "function.c" 127)
    nil )
  )
 )
 
 (!type struct 1338 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 1300)
    (!srcfileloc  "function.c" 593)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  2047 nil nil )
 
 (!type struct 1339 nil  gc_used "temp_address_hasher"
  (!srcfileloc  "function.c" 604)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1340 
  (!type pointer 1341 nil  gc_used
   (!type already_seen 1340)
  )
  gc_pointed_to "hash_table<temp_address_hasher>"
  (!srcfileloc  "function.c" 604)
  (!fields 1 
   (!pair  "temp_address_hasher"
    (!type already_seen 1339)
    (!srcfileloc  "function.c" 604)
    nil )
  )
 )
 
 (!type already_seen 1305)
 
 (!type struct 1342 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1343 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1344 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1345 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1346 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1347 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1348 
  (!type pointer 1349 nil  gc_used
   (!type already_seen 1348)
  )
  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 934)
    (!srcfileloc  "except.c" 150)
    nil )
  )
 )
 
 (!type struct 1350 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1351 nil  gc_unused "action_record_hasher"
  (!srcfileloc  "except.c" 209)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1352 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 209)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type already_seen 1351)
    (!srcfileloc  "except.c" 209)
    nil )
  )
 )
 
 (!type struct 1353 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 nil  gc_unused "ttypes_filter_hasher"
  (!srcfileloc  "except.c" 728)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1356 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 728)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type already_seen 1355)
    (!srcfileloc  "except.c" 728)
    nil )
  )
 )
 
 (!type struct 1357 nil  gc_unused "ehspec_hasher"
  (!srcfileloc  "except.c" 763)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1358 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 763)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type already_seen 1357)
    (!srcfileloc  "except.c" 763)
    nil )
  )
 )
 
 (!type struct 1359 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1360 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 916)
 
 (!type struct 1361 
  (!type pointer 1362 nil  gc_used
   (!type already_seen 1361)
  )
  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 1363 nil  gc_used "1" 
     (!type already_seen 1362)
    )
    (!srcfileloc  "ggc-tests.c" 76)
    (!options 
     (!option length string  "%h.num_elem")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type already_seen 918)
 
 (!type struct 1364 
  (!type pointer 1365 nil  gc_used
   (!type already_seen 1364)
  )
  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 914)
    (!srcfileloc  "ggc-tests.c" 140)
    (!options 
     (!option desc string  "calc_desc (%0.m_kind)")
    )
   )
  )
  nil 2047 nil nil )
 
 (!type struct 1366 nil  gc_unused "test_struct_with_dtor"
  (!srcfileloc  "ggc-tests.c" 187)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1367 
  (!type pointer 1368 nil  gc_used
   (!type already_seen 1367)
  )
  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 915)
    (!srcfileloc  "ggc-tests.c" 255)
    nil )
  )
  (!options 
   (!option tag string  "0")
   (!option desc string  "%h.m_kind")
  )
  2047 nil nil )
 
 (!type struct 1369 
  (!type pointer 1370 nil  gc_used
   (!type already_seen 1369)
  )
  gc_pointed_to "some_subclass"
  (!srcfileloc  "ggc-tests.c" 267)
  (!fields 1 
   (!pair  "m_b"
    (!type already_seen 915)
    (!srcfileloc  "ggc-tests.c" 266)
    nil )
  )
  (!options 
   (!option tag string  "1")
  )
  2047 nil 
  (!type already_seen 1367)
 )
 
 (!type struct 1371 
  (!type pointer 1372 nil  gc_used
   (!type already_seen 1371)
  )
  gc_pointed_to "some_other_subclass"
  (!srcfileloc  "ggc-tests.c" 278)
  (!fields 1 
   (!pair  "m_c"
    (!type already_seen 915)
    (!srcfileloc  "ggc-tests.c" 277)
    nil )
  )
  (!options 
   (!option tag string  "2")
  )
  2047 nil 
  (!type already_seen 1367)
 )
 
 (!type struct 1373 
  (!type pointer 1374 nil  gc_used
   (!type already_seen 1373)
  )
  gc_pointed_to "test_node"
  (!srcfileloc  "ggc-tests.c" 337)
  (!fields 3 
   (!pair  "m_prev"
    (!type already_seen 1374)
    (!srcfileloc  "ggc-tests.c" 334)
    nil )
   (!pair  "m_next"
    (!type already_seen 1374)
    (!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 1375 
  (!type pointer 1376 nil  gc_used
   (!type already_seen 1375)
  )
  gc_pointed_to "user_struct"
  (!srcfileloc  "ggc-tests.c" 399)
  (!fields 0 )
 )
 
 (!type already_seen 623)
 
 (!type struct 1377 nil  gc_unused "gcse_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1378 
  (!type pointer 1379 nil  gc_unused
   (!type already_seen 1378)
  )
  gc_unused "gcse_occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1380 nil  gc_unused "gcse_hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1381 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1382 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1383 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1384 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 1385 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 621)
  (!fields 1 
   (!pair  "modify_pair"
    (!type undefined 1386 nil  gc_unused "modify_pair"
     (!srcfileloc  "gcse.c" 621)
    )
    (!srcfileloc  "gcse.c" 621)
    nil )
  )
 )
 
 (!type already_seen 1386)
 
 (!type struct 1387 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1388 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1389 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1390 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1391 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1392 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1393 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1394 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1395 nil  gc_used "libfunc_decl_hasher"
  (!srcfileloc  "optabs-libfuncs.c" 720)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1396 
  (!type pointer 1397 nil  gc_used
   (!type already_seen 1396)
  )
  gc_pointed_to "hash_table<libfunc_decl_hasher>"
  (!srcfileloc  "optabs-libfuncs.c" 720)
  (!fields 1 
   (!pair  "libfunc_decl_hasher"
    (!type already_seen 1395)
    (!srcfileloc  "optabs-libfuncs.c" 720)
    nil )
  )
 )
 
 (!type struct 1398 nil  gc_unused "bb_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1399 nil  gc_unused "edge_profile_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1400 nil  gc_unused "location_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1401 nil  gc_unused "location_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1402 
  (!type pointer 1403 nil  gc_unused
   (!type already_seen 1402)
  )
  gc_unused "fixup_edge_type"
  (!srcfileloc  "mcf.c" 94)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1404 
  (!type pointer 1405 nil  gc_unused
   (!type already_seen 1404)
  )
  gc_unused "fixup_vertex_type"
  (!srcfileloc  "mcf.c" 103)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type struct 1406 nil  gc_unused "fixup_graph_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1407 nil  gc_unused "queue_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1408 nil  gc_unused "augmenting_path_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1409 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/mcf.c:343"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1410 
  (!type pointer 1411 nil  gc_unused
   (!type already_seen 1410)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1412 
  (!type pointer 1413 nil  gc_unused
   (!type already_seen 1412)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1414 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1415 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1416 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1417 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1418 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1419 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1420 
  (!type pointer 1421 nil  gc_used
   (!type already_seen 1420)
  )
  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 1422 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 1423 nil  gc_used "type_cache_hasher"
  (!srcfileloc  "tree.c" 195)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1424 
  (!type pointer 1425 nil  gc_used
   (!type already_seen 1424)
  )
  gc_pointed_to "hash_table<type_cache_hasher>"
  (!srcfileloc  "tree.c" 195)
  (!fields 1 
   (!pair  "type_cache_hasher"
    (!type already_seen 1423)
    (!srcfileloc  "tree.c" 195)
    nil )
  )
 )
 
 (!type struct 1426 nil  gc_used "int_cst_hasher"
  (!srcfileloc  "tree.c" 206)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1427 
  (!type pointer 1428 nil  gc_used
   (!type already_seen 1427)
  )
  gc_pointed_to "hash_table<int_cst_hasher>"
  (!srcfileloc  "tree.c" 206)
  (!fields 1 
   (!pair  "int_cst_hasher"
    (!type already_seen 1426)
    (!srcfileloc  "tree.c" 206)
    nil )
  )
 )
 
 (!type struct 1429 nil  gc_used "poly_int_cst_hasher"
  (!srcfileloc  "tree.c" 217)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1430 
  (!type pointer 1431 nil  gc_used
   (!type already_seen 1430)
  )
  gc_pointed_to "hash_table<poly_int_cst_hasher>"
  (!srcfileloc  "tree.c" 217)
  (!fields 1 
   (!pair  "poly_int_cst_hasher"
    (!type already_seen 1429)
    (!srcfileloc  "tree.c" 217)
    nil )
  )
 )
 
 (!type struct 1432 nil  gc_used "cl_option_hasher"
  (!srcfileloc  "tree.c" 233)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1433 
  (!type pointer 1434 nil  gc_used
   (!type already_seen 1433)
  )
  gc_pointed_to "hash_table<cl_option_hasher>"
  (!srcfileloc  "tree.c" 233)
  (!fields 1 
   (!pair  "cl_option_hasher"
    (!type already_seen 1432)
    (!srcfileloc  "tree.c" 233)
    nil )
  )
 )
 
 (!type user_struct 1435 
  (!type pointer 1436 nil  gc_used
   (!type already_seen 1435)
  )
  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 930)
    (!srcfileloc  "tree.c" 239)
    nil )
  )
 )
 
 (!type struct 1437 nil  gc_used "tree_vec_map_cache_hasher"
  (!srcfileloc  "tree.c" 262)
  (!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<tree_vec_map_cache_hasher>"
  (!srcfileloc  "tree.c" 262)
  (!fields 1 
   (!pair  "tree_vec_map_cache_hasher"
    (!type already_seen 1437)
    (!srcfileloc  "tree.c" 262)
    nil )
  )
 )
 
 (!type struct 1440 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1441 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1442 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1443 nil  gc_used "section_hasher"
  (!srcfileloc  "varasm.c" 189)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1444 
  (!type pointer 1445 nil  gc_used
   (!type already_seen 1444)
  )
  gc_pointed_to "hash_table<section_hasher>"
  (!srcfileloc  "varasm.c" 189)
  (!fields 1 
   (!pair  "section_hasher"
    (!type already_seen 1443)
    (!srcfileloc  "varasm.c" 189)
    nil )
  )
 )
 
 (!type struct 1446 nil  gc_used "object_block_hasher"
  (!srcfileloc  "varasm.c" 200)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1447 
  (!type pointer 1448 nil  gc_used
   (!type already_seen 1447)
  )
  gc_pointed_to "hash_table<object_block_hasher>"
  (!srcfileloc  "varasm.c" 200)
  (!fields 1 
   (!pair  "object_block_hasher"
    (!type already_seen 1446)
    (!srcfileloc  "varasm.c" 200)
    nil )
  )
 )
 
 (!type struct 1449 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1450 
  (!type pointer 1451 nil  gc_used
   (!type already_seen 1450)
  )
  gc_pointed_to "hash_table<tree_descriptor_hasher>"
  (!srcfileloc  "varasm.c" 3006)
  (!fields 1 
   (!pair  "tree_descriptor_hasher"
    (!type already_seen 1071)
    (!srcfileloc  "varasm.c" 3006)
    nil )
  )
 )
 
 (!type already_seen 1005)
 
 (!type already_seen 1004)
 
 (!type struct 1452 nil  gc_unused "oc_outer_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1453 nil  gc_unused "oc_local_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1454 nil  gc_used "tm_clone_hasher"
  (!srcfileloc  "varasm.c" 6091)
  (!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<tm_clone_hasher>"
  (!srcfileloc  "varasm.c" 6091)
  (!fields 1 
   (!pair  "tm_clone_hasher"
    (!type already_seen 1454)
    (!srcfileloc  "varasm.c" 6091)
    nil )
  )
 )
 
 (!type struct 1457 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 408)
 
 (!type already_seen 759)
 
 (!type already_seen 757)
 
 (!type already_seen 767)
 
 (!type already_seen 765)
 
 (!type already_seen 390)
 
 (!type already_seen 772)
 
 (!type already_seen 793)
 
 (!type already_seen 782)
 
 (!type struct 1458 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 798)
 
 (!type already_seen 801)
 
 (!type already_seen 800)
 
 (!type already_seen 795)
 
 (!type struct 1459 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 795)
 )
 
 (!type already_seen 790)
 
 (!type struct 1460 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 790)
 )
 
 (!type struct 1461 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1462 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 1463 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1464 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/tree-eh.c:53"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1465 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1466 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1467 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1468 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1469 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1470 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1471 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1472 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1475 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1476 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 1477 
  (!type pointer 1478 nil  gc_used
   (!type already_seen 1477)
  )
  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 1476)
    (!srcfileloc  "tree-ssa-address.c" 94)
    nil )
  )
 )
 
 (!type struct 1479 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1480 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1481 nil  gc_unused "replace_decls_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1482 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1483 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1484 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1485 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1486 nil  gc_unused "label_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1487 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1489 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1490 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1491 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1492 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1493 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1494 nil  gc_unused "iv_use"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1495 nil  gc_unused "iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1496 nil  gc_unused "version_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1497 nil  gc_unused "comp_cost"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1498 nil  gc_unused "iv_inv_expr_ent"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1499 nil  gc_unused "cost_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1500 nil  gc_unused "iv_group"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1501 nil  gc_unused "iv_cand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1502 nil  gc_unused "iv_common_cand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1503 nil  gc_unused "iv_common_cand_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1504 nil  gc_unused "iv_inv_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1505 nil  gc_unused "ivopts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1506 nil  gc_unused "iv_ca"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1507 nil  gc_unused "iv_ca_delta"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1508 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1509 nil  gc_unused "ifs_ivopts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1510 nil  gc_unused "walk_tree_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1511 nil  gc_unused "aff_tree"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1512 nil  gc_unused "ainc_cost_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1513 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1514 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 1515 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 1516 nil  gc_used "scev_info_hasher"
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1517 
  (!type pointer 1518 nil  gc_used
   (!type already_seen 1517)
  )
  gc_pointed_to "hash_table<scev_info_hasher>"
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  (!fields 1 
   (!pair  "scev_info_hasher"
    (!type already_seen 1516)
    (!srcfileloc  "tree-scalar-evolution.c" 312)
    nil )
  )
 )
 
 (!type struct 1519 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1520 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 405)
 
 (!type struct 1521 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1522 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1523 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1524 nil  gc_unused "oacc_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1525 nil  gc_unused "pass_oacc_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1526 nil  gc_unused "pass_omp_device_lower"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1527 nil  gc_unused "pass_omp_target_link"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1528 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1529 nil  gc_unused "oacc_collapse"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1530 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1531 
  (!type pointer 1532 nil  gc_used
   (!type already_seen 1531)
  )
  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 1533 nil  gc_unused "grid_arg_decl_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1534 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1535 nil  gc_unused "pass_expand_omp_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1536 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1537 nil  gc_unused "omplow_simd_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1538 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1539 nil  gc_unused "lower_omp_regimplify_operands_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1540 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1541 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1542 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1543 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1544 nil  gc_unused "minipool_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1545 nil  gc_unused "minipool_fixup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1546 nil  gc_unused "four_ints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1547 nil  gc_unused "arm_build_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1548 nil  gc_unused "cpu_tune"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1549 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm.c:2458"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1550 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm.c:3915"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1551 nil  gc_unused "libcall_hasher"
  (!srcfileloc  "config/arm/arm.c" 5721)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1552 nil  gc_unused "hash_table<libcall_hasher>"
  (!srcfileloc  "config/arm/arm.c" 5721)
  (!fields 1 
   (!pair  "libcall_hasher"
    (!type already_seen 1551)
    (!srcfileloc  "config/arm/arm.c" 5721)
    nil )
  )
 )
 
 (!type struct 1553 nil  gc_unused "scratch_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1554 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1555 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1556 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1557 nil  gc_unused "pass_build_ssa_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1558 nil  gc_unused "pass_local_optimization_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1559 nil  gc_unused "pass_ipa_remove_symbols"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1560 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1561 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1562 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1563 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1564 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1565 nil  gc_unused "pass_late_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1566 
  (!type pointer 1567 nil  gc_unused
   (!type already_seen 1566)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1568 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1569 
  (!type pointer 1570 nil  gc_unused
   (!type already_seen 1569)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1571 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1572 
  (!type pointer 1573 nil  gc_used
   (!type already_seen 1572)
  )
  gc_pointed_to "hash_map<char*,unsigned>"
  (!srcfileloc  "cgraphclones.c" 465)
  (!fields 1 
   (!pair  "unsigned"
    (!type undefined 1574 nil  gc_unused "unsigned"
     (!srcfileloc  "cgraphclones.c" 465)
    )
    (!srcfileloc  "cgraphclones.c" 465)
    nil )
  )
 )
 
 (!type already_seen 1574)
 
 (!type user_struct 1575 
  (!type pointer 1576 nil  gc_used
   (!type already_seen 1575)
  )
  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 1577 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1578 nil  gc_unused "TRAILING_WIDE_INT_ACCESSOR"
  (!srcfileloc  "tree-ssanames.h" 52)
 )
 
 (!type user_struct 1579 nil  gc_unused "value_range_equiv"
  (!srcfileloc  "tree-vrp.h" 78)
  (!fields 0 )
 )
 
 (!type struct 1580 nil  gc_unused "assert_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1121)
 
 (!type already_seen 1114)
 
 (!type already_seen 1122)
 
 (!type already_seen 1113)
 
 (!type already_seen 1111)
 
 (!type already_seen 1117)
 
 (!type struct 1581 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 501)
    (!srcfileloc  "ipa-prop.h" 299)
    nil )
   (!pair  "max"
    (!type already_seen 501)
    (!srcfileloc  "ipa-prop.h" 300)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1119)
 
 (!type already_seen 1120)
 
 (!type already_seen 1103)
 
 (!type already_seen 1102)
 
 (!type already_seen 1106)
 
 (!type already_seen 1107)
 
 (!type user_struct 1582 
  (!type pointer 1583 nil  gc_used
   (!type already_seen 1582)
  )
  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 1116)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
  )
 )
 
 (!type user_struct 1584 
  (!type pointer 1585 nil  gc_used
   (!type already_seen 1584)
  )
  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 1581)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
  )
 )
 
 (!type struct 1586 
  (!type pointer 1587 nil  gc_used
   (!type already_seen 1586)
  )
  gc_pointed_to "ipcp_transformation"
  (!srcfileloc  "ipa-prop.h" 776)
  (!fields 3 
   (!pair  "agg_values"
    (!type already_seen 1136)
    (!srcfileloc  "ipa-prop.h" 752)
    nil )
   (!pair  "bits"
    (!type already_seen 1583)
    (!srcfileloc  "ipa-prop.h" 754)
    nil )
   (!pair  "m_vr"
    (!type already_seen 1585)
    (!srcfileloc  "ipa-prop.h" 756)
    nil )
  )
  nil 2047 nil nil )
 
 (!type already_seen 1129)
 
 (!type already_seen 1131)
 
 (!type user_struct 1588 
  (!type pointer 1589 nil  gc_used
   (!type already_seen 1588)
  )
  gc_pointed_to "ipa_node_params_t"
  (!srcfileloc  "ipa-prop.h" 850)
  (!fields 0 )
 )
 
 (!type user_struct 1590 
  (!type pointer 1591 nil  gc_used
   (!type already_seen 1590)
  )
  gc_pointed_to "ipa_edge_args_sum_t"
  (!srcfileloc  "ipa-prop.h" 872)
  (!fields 0 )
 )
 
 (!type struct 1592 nil  gc_unused "ipcp_transformation_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1593 
  (!type pointer 1594 nil  gc_used
   (!type already_seen 1593)
  )
  gc_pointed_to "function_summary<ipcp_transformation*>"
  (!srcfileloc  "ipa-prop.h" 904)
  (!fields 1 
   (!pair  "ipcp_transformation"
    (!type already_seen 1587)
    (!srcfileloc  "ipa-prop.h" 904)
    nil )
  )
 )
 
 (!type struct 1595 nil  gc_used "tm_wrapper_hasher"
  (!srcfileloc  "trans-mem.c" 465)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1596 
  (!type pointer 1597 nil  gc_used
   (!type already_seen 1596)
  )
  gc_pointed_to "hash_table<tm_wrapper_hasher>"
  (!srcfileloc  "trans-mem.c" 465)
  (!fields 1 
   (!pair  "tm_wrapper_hasher"
    (!type already_seen 1595)
    (!srcfileloc  "trans-mem.c" 465)
    nil )
  )
 )
 
 (!type struct 1598 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1599 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1600 nil  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1601 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1602 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1603 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1604 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1605 nil  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1606 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1607 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1608 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1609 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1610 nil  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1611 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1612 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1613 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1614 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1615 nil  gc_unused "vec<cgraph_node*>"
  (!srcfileloc  "trans-mem.c" 4180)
  (!fields 1 
   (!pair  "cgraph_node"
    (!type already_seen 808)
    (!srcfileloc  "trans-mem.c" 4180)
    nil )
  )
 )
 
 (!type struct 1616 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1617 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1618 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1619 nil  gc_unused "lto_location_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1620 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 345)
 
 (!type struct 1621 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1622 nil  gc_unused "lto_simple_header_with_strings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1623 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1624 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1625 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1626 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 333)
 
 (!type struct 1627 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1628 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 1629 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1630 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1631 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1632 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1633 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1634 nil  gc_unused "dref_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 588)
 
 (!type already_seen 590)
 
 (!type already_seen 599)
 
 (!type already_seen 601)
 
 (!type already_seen 607)
 
 (!type already_seen 617)
 
 (!type already_seen 619)
 
 (!type already_seen 621)
 
 (!type already_seen 625)
 
 (!type already_seen 627)
 
 (!type already_seen 1159)
 
 (!type already_seen 1158)
 
 (!type already_seen 1156)
 
 (!type struct 1635 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1155)
 
 (!type already_seen 1164)
 
 (!type struct 1636 nil  gc_unused "agg_position_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1163)
 
 (!type struct 1637 nil  gc_unused "ipa_size_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1162)
 
 (!type user_struct 1638 nil  gc_unused "ipa_fn_summary_t"
  (!srcfileloc  "ipa-fnsummary.h" 218)
  (!fields 0 )
 )
 
 (!type user_struct 1639 
  (!type pointer 1640 nil  gc_used
   (!type already_seen 1639)
  )
  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 1153)
    (!srcfileloc  "ipa-fnsummary.h" 220)
    nil )
  )
 )
 
 (!type struct 1641 nil  gc_unused "ipa_size_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1642 nil  gc_unused "ipa_call_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1643 nil  gc_unused "ipa_call_summary_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1644 nil  gc_unused "ipa_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1645 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1646 nil  gc_unused "vtbl_map_hasher"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1647 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 298)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type already_seen 1646)
    (!srcfileloc  "vtable-verify.c" 298)
    nil )
  )
 )
 
 (!type undefined 1648 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 299)
 )
 
 (!type struct 1649 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1650 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1651 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1652 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1653 nil  gc_unused "asan_redzone_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1654 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1655 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1656 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1657 nil  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 58)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 972)
    (!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 1658 nil  gc_used "tree_type_map_cache_hasher"
  (!srcfileloc  "ubsan.c" 82)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1659 
  (!type pointer 1660 nil  gc_used
   (!type already_seen 1659)
  )
  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 1658)
    (!srcfileloc  "ubsan.c" 82)
    nil )
  )
 )
 
 (!type struct 1661 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1662 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1663 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1664 nil  gc_unused "sanopt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1665 nil  gc_unused "sanopt_tree_triplet"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1666 nil  gc_unused "sanopt_tree_triplet_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1667 nil  gc_unused "sanopt_tree_couple"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1668 nil  gc_unused "sanopt_tree_couple_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1669 nil  gc_unused "sanopt_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1670 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1671 nil  gc_unused "type_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1672 nil  gc_unused "default_hash_traits"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1172)
 
 (!type struct 1673 nil  gc_unused "odr_name_hasher"
  (!srcfileloc  "ipa-devirt.c" 488)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1674 nil  gc_unused "hash_table<odr_name_hasher>"
  (!srcfileloc  "ipa-devirt.c" 488)
  (!fields 1 
   (!pair  "odr_name_hasher"
    (!type already_seen 1673)
    (!srcfileloc  "ipa-devirt.c" 488)
    nil )
  )
 )
 
 (!type user_struct 1675 
  (!type pointer 1676 nil  gc_used
   (!type already_seen 1675)
  )
  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 1171)
    (!srcfileloc  "ipa-devirt.c" 495)
    nil )
  )
 )
 
 (!type struct 1677 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1678 nil  gc_unused "polymorphic_call_target_hasher"
  (!srcfileloc  "ipa-devirt.c" 2742)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1679 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 2742)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type already_seen 1678)
    (!srcfileloc  "ipa-devirt.c" 2742)
    nil )
  )
 )
 
 (!type struct 1680 nil  gc_unused "odr_type_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1681 nil  gc_unused "decl_warn_count"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1682 nil  gc_unused "final_warning_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1683 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1684 nil  gc_unused "direct_internal_fn_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1685 nil  gc_unused "hsa_function_representation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1686 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 1687 
  (!type pointer 1688 nil  gc_used
   (!type already_seen 1687)
  )
  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 1686)
    (!srcfileloc  "hsa-common.c" 67)
    nil )
  )
 )
 
 (!type struct 1689 nil  gc_unused "arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1690 nil  gc_unused "rdwr_access_hash"
  (!srcfileloc  "calls.c" 1873)
  (!fields 0 )
  nil 2047 nil nil )
 
 (!type user_struct 1691 nil  gc_unused "hash_map<rdwr_access_hash,attr_access>"
  (!srcfileloc  "calls.c" 1873)
  (!fields 2 
   (!pair  "attr_access"
    (!type undefined 1692 nil  gc_unused "attr_access"
     (!srcfileloc  "calls.c" 1873)
    )
    (!srcfileloc  "calls.c" 1873)
    nil )
   (!pair  "rdwr_access_hash"
    (!type already_seen 1690)
    (!srcfileloc  "calls.c" 1873)
    nil )
  )
 )
 
 (!type already_seen 1692)
 
 (!type struct 1693 nil  gc_unused "arg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1694 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm-builtins.c:901"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1695 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/config/arm/arm-builtins.c:994"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1696 nil  gc_unused "arm_simd_type_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1697 nil  gc_unused "builtin_description"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1698 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1699 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1700 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1701 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1702 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1703 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1704 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1705 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1706 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1707 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1708 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1709 nil  gc_used "value_annotation_hasher"
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1710 
  (!type pointer 1711 nil  gc_used
   (!type already_seen 1710)
  )
  gc_pointed_to "hash_table<value_annotation_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!fields 1 
   (!pair  "value_annotation_hasher"
    (!type already_seen 1709)
    (!srcfileloc  "ada/gcc-interface/decl.c" 156)
    nil )
  )
 )
 
 (!type user_struct 1712 
  (!type pointer 1713 nil  gc_used
   (!type already_seen 1712)
  )
  gc_pointed_to "vec<Entity_Id,va_gc_atomic>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  (!fields 2 
   (!pair  "va_gc_atomic"
    (!type undefined 1714 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 1715 nil  gc_unused "Entity_Id"
     (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    )
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
  )
 )
 
 (!type already_seen 1715)
 
 (!type already_seen 1714)
 
 (!type struct 1716 nil  gc_pointed_to "tree_entity_vec_map"
  (!srcfileloc  "ada/gcc-interface/decl.c" 163)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 972)
    (!srcfileloc  "ada/gcc-interface/decl.c" 161)
    nil )
   (!pair  "to"
    (!type already_seen 1713)
    (!srcfileloc  "ada/gcc-interface/decl.c" 162)
    nil )
  )
  (!options 
   (!option for_user string  "")
  )
  1 nil nil )
 
 (!type struct 1717 nil  gc_used "dummy_type_hasher"
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!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<dummy_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!fields 1 
   (!pair  "dummy_type_hasher"
    (!type already_seen 1717)
    (!srcfileloc  "ada/gcc-interface/decl.c" 197)
    nil )
  )
 )
 
 (!type struct 1720 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 1721 nil  gc_unused "er_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1722 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 471)
 
 (!type already_seen 469)
 
 (!type struct 1723 
  (!type pointer 1724 nil  gc_used
   (!type already_seen 1723)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 144)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 1724)
    (!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 1725 
  (!type pointer 1726 nil  gc_used
   (!type already_seen 1725)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 160)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1726)
    (!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 1727 
  (!type pointer 1728 nil  gc_used
   (!type already_seen 1727)
  )
  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 1729 
  (!type pointer 1730 nil  gc_used
   (!type already_seen 1729)
  )
  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 1728)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
  )
 )
 
 (!type struct 1731 
  (!type pointer 1732 nil  gc_used
   (!type already_seen 1731)
  )
  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 1730)
    (!srcfileloc  "ada/gcc-interface/trans.c" 206)
    nil )
  )
  nil 1 nil nil )
 
 (!type user_struct 1733 
  (!type pointer 1734 nil  gc_used
   (!type already_seen 1733)
  )
  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 1732)
    (!srcfileloc  "ada/gcc-interface/trans.c" 213)
    nil )
  )
 )
 
 (!type struct 1735 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1736 
  (!type pointer 1737 nil  gc_used
   (!type already_seen 1736)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 241)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 1737)
    (!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 1738 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 1739 nil  gc_used "pad_type_hasher"
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!fields 0 )
  nil 1 nil nil )
 
 (!type user_struct 1740 
  (!type pointer 1741 nil  gc_used
   (!type already_seen 1740)
  )
  gc_pointed_to "hash_table<pad_type_hasher>"
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  (!fields 1 
   (!pair  "pad_type_hasher"
    (!type already_seen 1739)
    (!srcfileloc  "ada/gcc-interface/utils.c" 282)
    nil )
  )
 )
 
 (!type struct 1742 nil  gc_unused "deferred_decl_context_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1743 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 633)
 
 (!type struct 1744 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1745 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1746 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1747 nil  gc_unused "c_arg_tag"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 465)
 
 (!type struct 1748 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1749 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1750 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1751 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 649)
 
 (!type struct 1752 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 453)
 
 (!type already_seen 648)
 
 (!type already_seen 646)
 
 (!type already_seen 645)
 
 (!type already_seen 642)
 
 (!type already_seen 651)
 
 (!type already_seen 655)
 
 (!type already_seen 653)
 
 (!type struct 1753 
  (!type pointer 1754 nil  gc_used
   (!type already_seen 1753)
  )
  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 1754)
    (!srcfileloc  "c/c-decl.c" 553)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  516 nil nil )
 
 (!type already_seen 547)
 
 (!type struct 1755 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1756 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1757 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1758 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1759 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1760 nil  gc_unused "nonnull_arg_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1761 
  (!type pointer 1762 nil  gc_used
   (!type already_seen 1761)
  )
  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 1763 
  (!type pointer 1764 nil  gc_used
   (!type already_seen 1763)
  )
  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 1765 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 1766 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 876)
    (!srcfileloc  "c-family/c-common.c" 8753)
    nil )
  )
 )
 
 (!type already_seen 1766)
 
 (!type user_struct 1767 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 1768 nil  gc_unused
     (!type struct 1769 
      (!type already_seen 1768)
      gc_unused "per_file_includes_t"nil 
      (!fields 0 )
      nil 0 nil nil )
    )
    (!srcfileloc  "c-family/c-common.c" 8758)
    nil )
  )
 )
 
 (!type already_seen 1769)
 
 (!type struct 1770 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 452)
 
 (!type struct 1771 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1772 nil  gc_unused "substring_loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1773 nil  gc_unused "wide_int_bitmask"
  (!srcfileloc  "c-family/c-common.h" 1156)
 )
 
 (!type already_seen 679)
 
 (!type struct 1774 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 1775 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1776 nil  gc_unused "internal_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1777 
  (!type pointer 1778 nil  gc_used
   (!type already_seen 1777)
  )
  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 1778)
    (!srcfileloc  "c-family/c-pragma.c" 46)
    nil )
  )
  nil 1548 nil nil )
 
 (!type struct 1779 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 1780 
  (!type pointer 1781 nil  gc_used
   (!type already_seen 1780)
  )
  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 1779)
    (!srcfileloc  "c-family/c-pragma.c" 241)
    nil )
  )
 )
 
 (!type struct 1782 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 1783 
  (!type pointer 1784 nil  gc_used
   (!type already_seen 1783)
  )
  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 1782)
    (!srcfileloc  "c-family/c-pragma.c" 487)
    nil )
  )
 )
 
 (!type struct 1785 
  (!type pointer 1786 nil  gc_used
   (!type already_seen 1785)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 1006)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 1786)
    (!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 1787 nil  gc_unused "pragma_ns_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1788 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1789 nil  gc_unused "function_format_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1790 nil  gc_unused "format_wanted_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1791 nil  gc_unused "format_check_results"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1792 nil  gc_unused "format_check_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1793 nil  gc_unused "flag_chars_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1794 nil  gc_unused "length_modifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1795 nil  gc_unused "argument_parser"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1796 nil  gc_unused "baltoks_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1797 nil  gc_unused "token_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1798 nil  gc_unused "indirection_suffix"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1799 nil  gc_unused "range_label_for_format_type_mismatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1800 
  (!type pointer 1801 nil  gc_unused
   (!type already_seen 1800)
  )
  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 1802 
  (!type pointer 1803 nil  gc_used
   (!type already_seen 1802)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 258)
  (!fields 16 
   (!pair  "tokens"
    (!type already_seen 1801)
    (!srcfileloc  "c/c-parser.c" 173)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "tokens_buf"
    (!type array 1804 nil  gc_used "4" 
     (!type already_seen 1800)
    )
    (!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 1805 nil  gc_used
     (!type user_struct 1806 
      (!type already_seen 1805)
      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 1800)
        (!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 1806)
 
 (!type struct 1807 nil  gc_unused "token_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1808 nil  gc_unused "matching_paren_traits"
  (!srcfileloc  "c/c-parser.c" 1076)
  (!fields 0 )
  nil 516 nil nil )
 
 (!type user_struct 1809 nil  gc_unused "token_pair<matching_paren_traits>"
  (!srcfileloc  "c/c-parser.c" 1076)
  (!fields 1 
   (!pair  "matching_paren_traits"
    (!type already_seen 1808)
    (!srcfileloc  "c/c-parser.c" 1076)
    nil )
  )
 )
 
 (!type struct 1810 nil  gc_unused "matching_brace_traits"
  (!srcfileloc  "c/c-parser.c" 1094)
  (!fields 0 )
  nil 516 nil nil )
 
 (!type user_struct 1811 nil  gc_unused "token_pair<matching_brace_traits>"
  (!srcfileloc  "c/c-parser.c" 1094)
  (!fields 1 
   (!pair  "matching_brace_traits"
    (!type already_seen 1810)
    (!srcfileloc  "c/c-parser.c" 1094)
    nil )
  )
 )
 
 (!type struct 1812 nil  gc_unused "oacc_routine_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1813 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 1814 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 463)
 
 (!type already_seen 541)
 
 (!type already_seen 544)
 
 (!type already_seen 90)
 
 (!type already_seen 83)
 
 (!type struct 1815 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 1816 nil  gc_unused "cp_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 662)
 
 (!type already_seen 663)
 
 (!type already_seen 665)
 
 (!type struct 1817 nil  gc_unused "ovl_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1818 nil  gc_unused "lkp_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 93)
 
 (!type struct 1819 nil  gc_unused "releasing_vec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 667)
 
 (!type already_seen 666)
 
 (!type already_seen 71)
 
 (!type already_seen 668)
 
 (!type already_seen 669)
 
 (!type already_seen 670)
 
 (!type already_seen 671)
 
 (!type already_seen 672)
 
 (!type already_seen 673)
 
 (!type already_seen 677)
 
 (!type already_seen 676)
 
 (!type already_seen 674)
 
 (!type already_seen 678)
 
 (!type user_struct 1820 
  (!type pointer 1821 nil  gc_used
   (!type already_seen 1820)
  )
  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 1815)
    (!srcfileloc  "cp/cp-tree.h" 1687)
    nil )
  )
 )
 
 (!type struct 1822 
  (!type pointer 1823 nil  gc_used
   (!type already_seen 1822)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1731)
  (!fields 31 
   (!pair  "old_bindings"
    (!type already_seen 1821)
    (!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 453)
    (!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 1823)
    (!srcfileloc  "cp/cp-tree.h" 1730)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1824 nil  gc_unused "processing_template_decl_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1825 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1826 nil  gc_unused "iloc_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1827 nil  gc_unused "temp_override"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1828 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 460)
 
 (!type struct 1829 
  (!type pointer 1830 nil  gc_used
   (!type already_seen 1829)
  )
  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 1830)
    (!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 1831 nil  gc_used
     (!type struct 1832 
      (!type already_seen 1831)
      gc_pointed_to "named_label_use_entry"
      (!srcfileloc  "cp/decl.c" 209)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 1831)
        (!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 457)
 
 (!type already_seen 456)
 
 (!type already_seen 459)
 
 (!type already_seen 538)
 
 (!type already_seen 537)
 
 (!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 1833 nil  gc_unused "aggr_init_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1834 nil  gc_unused "cp_unevaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1835 nil  gc_unused "cp_evaluated"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1836 nil  gc_unused "local_specialization_stack"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1837 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 1838 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1839 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1840 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1841 
  (!type pointer 1842 nil  gc_used
   (!type already_seen 1841)
  )
  gc_pointed_to "tinst_level"
  (!srcfileloc  "cp/pt.c" 9369)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1842)
    (!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 1843 nil  gc_unused "access_failure_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1844 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 80)
 
 (!type struct 1845 nil  gc_unused "deferring_access_check_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1846 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1847 nil  gc_unused "diagnosing_failed_constraint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1848 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 1849 
  (!type pointer 1850 nil  gc_used
   (!type already_seen 1849)
  )
  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 1851 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 1852 
  (!type pointer 1853 nil  gc_used
   (!type already_seen 1852)
  )
  gc_pointed_to "cp_lexer"
  (!srcfileloc  "cp/parser.h" 223)
  (!fields 9 
   (!pair  "buffer"
    (!type already_seen 1850)
    (!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 1851)
    (!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 1853)
    (!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 1854 nil  gc_unused "cp_token_ident"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1855 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 1856 
  (!type pointer 1857 nil  gc_used
   (!type already_seen 1856)
  )
  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 1855)
    (!srcfileloc  "cp/parser.h" 160)
    nil )
  )
 )
 
 (!type struct 1858 nil  gc_used "cp_unparsed_functions_entry"
  (!srcfileloc  "cp/parser.h" 363)
  (!fields 4 
   (!pair  "funs_with_default_args"
    (!type already_seen 1857)
    (!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 1859 
  (!type pointer 1860 nil  gc_used
   (!type already_seen 1859)
  )
  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 1860)
    (!srcfileloc  "cp/parser.h" 201)
    nil )
  )
  nil 1032 nil nil )
 
 (!type struct 1861 
  (!type pointer 1862 nil  gc_unused
   (!type already_seen 1861)
  )
  gc_unused "cp_omp_declare_simd_data"
  (!srcfileloc  "cp/parser.h" 375)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type struct 1863 
  (!type pointer 1864 nil  gc_unused
   (!type already_seen 1863)
  )
  gc_unused "cp_oacc_routine_data"
  (!srcfileloc  "cp/parser.h" 379)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1865 
  (!type pointer 1866 nil  gc_used
   (!type already_seen 1865)
  )
  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 1858)
    (!srcfileloc  "cp/parser.h" 363)
    nil )
  )
 )
 
 (!type struct 1867 
  (!type pointer 1868 nil  gc_used
   (!type already_seen 1867)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.c" 43522)
  (!fields 37 
   (!pair  "lexer"
    (!type already_seen 1853)
    (!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 1860)
    (!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 1866)
    (!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 1862)
    (!srcfileloc  "cp/parser.h" 375)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "oacc_routine"
    (!type already_seen 1864)
    (!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 1869 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1870 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1871 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1872 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1873 nil  gc_unused "dealloc_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1874 nil  gc_unused "NonPublicField"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1875 nil  gc_unused "NonTrivialField"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1876 
  (!type pointer 1877 nil  gc_unused
   (!type already_seen 1876)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1878 nil  gc_unused "vtbl_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1879 nil  gc_unused "flexmems_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1880 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1881 nil  gc_unused "find_final_overrider_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1882 
  (!type pointer 1883 nil  gc_used
   (!type already_seen 1882)
  )
  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 1884 nil  gc_unused "secondary_vptr_vtt_init_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1885 
  (!type pointer 1886 nil  gc_used
   (!type already_seen 1885)
  )
  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 1887 nil  gc_used "constexpr_fundef_hasher"
  (!srcfileloc  "cp/constexpr.c" 156)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1888 
  (!type pointer 1889 nil  gc_used
   (!type already_seen 1888)
  )
  gc_pointed_to "hash_table<constexpr_fundef_hasher>"
  (!srcfileloc  "cp/constexpr.c" 156)
  (!fields 1 
   (!pair  "constexpr_fundef_hasher"
    (!type already_seen 1887)
    (!srcfileloc  "cp/constexpr.c" 156)
    nil )
  )
 )
 
 (!type struct 1890 nil  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/constexpr.c" 1015)
  (!fields 5 
   (!pair  "fundef"
    (!type already_seen 1886)
    (!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 1891 nil  gc_used "constexpr_call_hasher"
  (!srcfileloc  "cp/constexpr.c" 1100)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type struct 1892 nil  gc_unused "constexpr_global_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1893 nil  gc_unused "constexpr_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1894 
  (!type pointer 1895 nil  gc_used
   (!type already_seen 1894)
  )
  gc_pointed_to "hash_table<constexpr_call_hasher>"
  (!srcfileloc  "cp/constexpr.c" 1100)
  (!fields 1 
   (!pair  "constexpr_call_hasher"
    (!type already_seen 1891)
    (!srcfileloc  "cp/constexpr.c" 1100)
    nil )
  )
 )
 
 (!type struct 1896 nil  gc_unused "replace_result_decl_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1897 nil  gc_unused "free_bindings"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1898 nil  gc_unused "check_for_return_continue_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1899 nil  gc_unused "subst_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1900 nil  gc_unused "norm_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1901 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 1902 nil  gc_used "sat_hasher"
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1903 
  (!type pointer 1904 nil  gc_used
   (!type already_seen 1903)
  )
  gc_pointed_to "hash_table<sat_hasher>"
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!fields 1 
   (!pair  "sat_hasher"
    (!type already_seen 1902)
    (!srcfileloc  "cp/constraint.cc" 2308)
    nil )
  )
 )
 
 (!type struct 1905 nil  gc_unused "satisfaction_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1906 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 1907 nil  gc_used "coroutine_info_hasher"
  (!srcfileloc  "cp/coroutines.cc" 111)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1908 
  (!type pointer 1909 nil  gc_used
   (!type already_seen 1908)
  )
  gc_pointed_to "hash_table<coroutine_info_hasher>"
  (!srcfileloc  "cp/coroutines.cc" 111)
  (!fields 1 
   (!pair  "coroutine_info_hasher"
    (!type already_seen 1907)
    (!srcfileloc  "cp/coroutines.cc" 111)
    nil )
  )
 )
 
 (!type struct 1910 nil  gc_unused "proxy_replace"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1911 nil  gc_unused "coro_ret_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1912 nil  gc_unused "coro_aw_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1913 nil  gc_unused "suspend_point_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1914 nil  gc_unused "await_xform_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1915 nil  gc_unused "param_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1916 nil  gc_unused "local_var_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1917 nil  gc_unused "local_vars_transform"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1918 nil  gc_unused "susp_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1919 nil  gc_unused "truth_if_transform"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1920 nil  gc_unused "param_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1921 nil  gc_unused "local_vars_frame_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1922 nil  gc_unused "cp_genericize_omp_taskreg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1923 nil  gc_unused "cp_genericize_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1924 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 1925 nil  gc_used "source_location_table_entry_hash"
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1926 
  (!type pointer 1927 nil  gc_used
   (!type already_seen 1926)
  )
  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 1925)
    (!srcfileloc  "cp/cp-gimplify.c" 3210)
    nil )
  )
 )
 
 (!type already_seen 1832)
 
 (!type struct 1928 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 1929 
  (!type pointer 1930 nil  gc_used
   (!type already_seen 1929)
  )
  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 1928)
    (!srcfileloc  "cp/decl.c" 247)
    nil )
  )
 )
 
 (!type struct 1931 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1932 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1933 nil  gc_used "typename_hasher"
  (!srcfileloc  "cp/decl.c" 3825)
  (!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<typename_hasher>"
  (!srcfileloc  "cp/decl.c" 3825)
  (!fields 1 
   (!pair  "typename_hasher"
    (!type already_seen 1933)
    (!srcfileloc  "cp/decl.c" 3825)
    nil )
  )
 )
 
 (!type struct 1936 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1937 nil  gc_unused "reshape_iter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1938 
  (!type pointer 1939 nil  gc_unused
   (!type already_seen 1938)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1940 nil  gc_used "mangled_decl_hash"
  (!srcfileloc  "cp/decl2.c" 139)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1941 
  (!type pointer 1942 nil  gc_used
   (!type already_seen 1941)
  )
  gc_pointed_to "hash_table<mangled_decl_hash>"
  (!srcfileloc  "cp/decl2.c" 139)
  (!fields 1 
   (!pair  "mangled_decl_hash"
    (!type already_seen 1940)
    (!srcfileloc  "cp/decl2.c" 139)
    nil )
  )
 )
 
 (!type struct 1943 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 1944 
  (!type pointer 1945 nil  gc_used
   (!type already_seen 1944)
  )
  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 1943)
    (!srcfileloc  "cp/except.c" 1160)
    nil )
  )
 )
 
 (!type struct 1946 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 1947 
  (!type pointer 1948 nil  gc_used
   (!type already_seen 1947)
  )
  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 1946)
    (!srcfileloc  "cp/lambda.c" 1361)
    nil )
  )
 )
 
 (!type struct 1949 nil  gc_unused "impl_files"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1950 nil  gc_used "conv_type_hasher"
  (!srcfileloc  "cp/lex.c" 613)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1951 
  (!type pointer 1952 nil  gc_used
   (!type already_seen 1951)
  )
  gc_pointed_to "hash_table<conv_type_hasher>"
  (!srcfileloc  "cp/lex.c" 613)
  (!fields 1 
   (!pair  "conv_type_hasher"
    (!type already_seen 1950)
    (!srcfileloc  "cp/lex.c" 613)
    nil )
  )
 )
 
 (!type struct 1953 nil  gc_unused "constraint_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1954 nil  gc_unused "clause"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1955 nil  gc_unused "formula"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1956 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 1957 nil  gc_used "subsumption_hasher"
  (!srcfileloc  "cp/logic.cc" 817)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1958 
  (!type pointer 1959 nil  gc_used
   (!type already_seen 1958)
  )
  gc_pointed_to "hash_table<subsumption_hasher>"
  (!srcfileloc  "cp/logic.cc" 817)
  (!fields 1 
   (!pair  "subsumption_hasher"
    (!type already_seen 1957)
    (!srcfileloc  "cp/logic.cc" 817)
    nil )
  )
 )
 
 (!type struct 1960 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 1961 nil  gc_unused "comp_cat_info_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1962 nil  gc_unused "comp_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1963 nil  gc_unused "name_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1964 nil  gc_unused "namespace_limit_reached"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1965 nil  gc_unused "show_candidate_location"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1966 nil  gc_unused "suggest_alternatives"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1967 nil  gc_unused "namespace_hints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1968 nil  gc_unused "std_name_hint"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1969 nil  gc_unused "missing_std_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1970 nil  gc_unused "macro_use_before_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1971 nil  gc_unused "type_id_in_expr_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1972 nil  gc_unused "saved_token_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1973 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1974 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1975 nil  gc_unused "tentative_firewall"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1976 nil  gc_unused "scope_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1977 nil  gc_unused "class_decl_loc_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 1978 nil  gc_unused "class_to_loc_map_t::iterator"
  (!srcfileloc  "cp/parser.c" 31477)
 )
 
 (!type struct 1979 
  (!type pointer 1980 nil  gc_used
   (!type already_seen 1979)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 9378)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 1980)
    (!srcfileloc  "cp/pt.c" 56)
    nil )
   (!pair  "tinst"
    (!type already_seen 1842)
    (!srcfileloc  "cp/pt.c" 57)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 1981 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 1982 nil  gc_used "spec_hasher"
  (!srcfileloc  "cp/pt.c" 119)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 1983 
  (!type pointer 1984 nil  gc_used
   (!type already_seen 1983)
  )
  gc_pointed_to "hash_table<spec_hasher>"
  (!srcfileloc  "cp/pt.c" 119)
  (!fields 1 
   (!pair  "spec_hasher"
    (!type already_seen 1982)
    (!srcfileloc  "cp/pt.c" 119)
    nil )
  )
 )
 
 (!type struct 1985 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1986 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1987 nil  gc_unused "uses_all_template_parms_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1988 nil  gc_unused "freelist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1989 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1990 nil  gc_unused "find_template_parameter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1991 nil  gc_unused "el_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1992 nil  gc_unused "auto_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1993 
  (!type pointer 1994 nil  gc_used
   (!type already_seen 1993)
  )
  gc_pointed_to "hash_map<tree,tree_pair_p>"
  (!srcfileloc  "cp/pt.c" 28697)
  (!fields 2 
   (!pair  "tree_pair_p"
    (!type already_seen 539)
    (!srcfileloc  "cp/pt.c" 28697)
    nil )
   (!pair  "tree"
    (!type already_seen 23)
    (!srcfileloc  "cp/pt.c" 28697)
    nil )
  )
 )
 
 (!type struct 1995 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 1996 
  (!type pointer 1997 nil  gc_used
   (!type already_seen 1996)
  )
  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 1995)
    (!srcfileloc  "cp/rtti.c" 122)
    nil )
  )
 )
 
 (!type struct 1998 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 1999 
  (!type pointer 2000 nil  gc_used
   (!type already_seen 1999)
  )
  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 1998)
    (!srcfileloc  "cp/semantics.c" 138)
    nil )
  )
 )
 
 (!type struct 2001 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2002 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2003 nil  gc_used "cplus_array_hasher"
  (!srcfileloc  "cp/tree.c" 979)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2004 
  (!type pointer 2005 nil  gc_used
   (!type already_seen 2004)
  )
  gc_pointed_to "hash_table<cplus_array_hasher>"
  (!srcfileloc  "cp/tree.c" 979)
  (!fields 1 
   (!pair  "cplus_array_hasher"
    (!type already_seen 2003)
    (!srcfileloc  "cp/tree.c" 979)
    nil )
  )
 )
 
 (!type struct 2006 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2007 nil  gc_used "list_hasher"
  (!srcfileloc  "cp/tree.c" 2060)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2008 
  (!type pointer 2009 nil  gc_used
   (!type already_seen 2008)
  )
  gc_pointed_to "hash_table<list_hasher>"
  (!srcfileloc  "cp/tree.c" 2060)
  (!fields 1 
   (!pair  "list_hasher"
    (!type already_seen 2007)
    (!srcfileloc  "cp/tree.c" 2060)
    nil )
  )
 )
 
 (!type struct 2010 nil  gc_unused "bot_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2011 nil  gc_unused "replace_placeholders_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2012 
  (!type pointer 2013 nil  gc_used
   (!type already_seen 2012)
  )
  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 2013)
    (!srcfileloc  "cp/typeck2.c" 146)
    nil )
  )
  (!options 
   (!option for_user string  "")
   (!option chain_next string  "%h.next")
  )
  1032 nil nil )
 
 (!type struct 2014 nil  gc_used "abstract_type_hasher"
  (!srcfileloc  "cp/typeck2.c" 178)
  (!fields 0 )
  nil 1032 nil nil )
 
 (!type user_struct 2015 
  (!type pointer 2016 nil  gc_used
   (!type already_seen 2015)
  )
  gc_pointed_to "hash_table<abstract_type_hasher>"
  (!srcfileloc  "cp/typeck2.c" 178)
  (!fields 1 
   (!pair  "abstract_type_hasher"
    (!type already_seen 2014)
    (!srcfileloc  "cp/typeck2.c" 178)
    nil )
  )
 )
 
 (!type struct 2017 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2018 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2019 nil  gc_unused "Dsymbol"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 62)
 
 (!type already_seen 640)
 
 (!type struct 2020 nil  gc_unused "ClassDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2021 nil  gc_unused "EnumDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 441)
 
 (!type struct 2022 nil  gc_unused "StructDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2023 nil  gc_unused "TypeInfoDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2024 nil  gc_unused "VarDeclaration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2025 
  (!type pointer 2026 nil  gc_unused
   (!type already_seen 2025)
  )
  gc_unused "Expression"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2027 nil  gc_unused "ClassReferenceExp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 443)
 
 (!type already_seen 448)
 
 (!type already_seen 534)
 
 (!type struct 2028 nil  gc_unused "TypeFunction"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2029 nil  gc_unused "Parameter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2030 nil  gc_unused "BaseClass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2031 nil  gc_unused "Scope"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2032 nil  gc_unused "Loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2033 nil  gc_unused "Array<Expression*>"
  (!srcfileloc  "d/d-tree.h" 44)
  (!fields 1 
   (!pair  "Expression"
    (!type already_seen 2026)
    (!srcfileloc  "d/d-tree.h" 44)
    nil )
  )
 )
 
 (!type already_seen 436)
 
 (!type already_seen 450)
 
 (!type already_seen 446)
 
 (!type already_seen 660)
 
 (!type already_seen 445)
 
 (!type struct 2034 nil  gc_unused "builtin_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2035 nil  gc_unused "d_option_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2036 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 2037 nil  gc_unused "TypeInfoVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2038 nil  gc_unused "TypeInfoDeclVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2039 nil  gc_unused "SpeculativeTypeVisitor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2040 nil  gc_used "module_hasher"
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  (!fields 0 )
  nil 32 nil nil )
 
 (!type user_struct 2041 
  (!type pointer 2042 nil  gc_used
   (!type already_seen 2041)
  )
  gc_pointed_to "hash_table<module_hasher>"
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  (!fields 1 
   (!pair  "module_hasher"
    (!type already_seen 2040)
    (!srcfileloc  "fortran/trans-decl.c" 5124)
    nil )
  )
 )
 
 (!type struct 2043 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 2044 nil  gc_used
     (!type user_struct 2045 
      (!type already_seen 2044)
      gc_pointed_to "hash_table<module_decl_hasher>"
      (!srcfileloc  "fortran/trans.h" 698)
      (!fields 1 
       (!pair  "module_decl_hasher"
        (!type struct 2046 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 2047 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 2048 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 2049 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 2050 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2051 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2052 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2053 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2054 nil  gc_unused "gfc_co_subroutines_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2055 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2056 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2057 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2058 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2059 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/gcc-10.2.0-r29/work/gcc-10.2.0/gcc/fortran/trans.h:401"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2060 nil  gc_unused "anonymous:/var/tmp/portage/cross-armv7a-cros-linux-gnueabihf/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 2046)
 
 (!type already_seen 2045)
 
 (!type struct 2061 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2062 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 2063 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2064 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2065 nil  gc_unused "go_create_gogo_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2066 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2067 nil  gc_unused "Linemap"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2068 nil  gc_unused "Backend"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2069 nil  gc_unused "ggc_root_tab"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2070 nil  gc_unused "lto_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2071 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2072 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2073 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2074 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2075 nil  gc_unused "streamer_tree_cache_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 2076 nil  gc_unused "int_hash<unsigned,,UINT_MAX>"
  (!srcfileloc  "lto/lto-common.c" 1816)
  (!fields 2 
   (!pair  "UINT_MAX"
    (!type undefined 2077 nil  gc_unused "UINT_MAX"
     (!srcfileloc  "lto/lto-common.c" 1816)
    )
    (!srcfileloc  "lto/lto-common.c" 1816)
    nil )
   (!pair  "unsigned"
    (!type already_seen 1574)
    (!srcfileloc  "lto/lto-common.c" 1816)
    nil )
  )
 )
 
 (!type already_seen 2077)
 
 (!type struct 2078 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2079 nil  gc_unused "symbol_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2080 nil  gc_unused "variable_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2081 nil  gc_unused "function_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2082 
  (!type pointer 2083 nil  gc_used
   (!type already_seen 2082)
  )
  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 2084 
  (!type pointer 2085 
   (!type pointer 2086 nil  gc_used
    (!type already_seen 2085)
   )
   gc_pointed_to
   (!type already_seen 2084)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 271)
  (!fields 3 
   (!pair  "list"
    (!type pointer 2087 nil  gc_used
     (!type struct 2088 
      (!type already_seen 2087)
      gc_pointed_to "hashed_attribute"
      (!srcfileloc  "objc/objc-act.h" 265)
      (!fields 2 
       (!pair  "next"
        (!type already_seen 2087)
        (!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 2085)
    (!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 2088)
 
 (!type struct 2089 
  (!type pointer 2090 nil  gc_used
   (!type already_seen 2089)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 288)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 2090)
    (!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 2091 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2092 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 2093 nil  gc_used "objc_string_hasher"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 0 )
  nil 1536 nil nil )
 
 (!type user_struct 2094 
  (!type pointer 2095 nil  gc_used
   (!type already_seen 2094)
  )
  gc_pointed_to "hash_table<objc_string_hasher>"
  (!srcfileloc  "objc/objc-act.c" 260)
  (!fields 1 
   (!pair  "objc_string_hasher"
    (!type already_seen 2093)
    (!srcfileloc  "objc/objc-act.c" 260)
    nil )
  )
 )
 
 (!type struct 2096 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 2097 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 2098 
  (!type pointer 2099 nil  gc_used
   (!type already_seen 2098)
  )
  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 2097)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
    nil )
  )
 )
 
 (!type struct 2100 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 2101 
  (!type pointer 2102 nil  gc_used
   (!type already_seen 2101)
  )
  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 2100)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
    nil )
  )
 )
 
 (!type struct 2103 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 2104 
  (!type pointer 2105 nil  gc_used
   (!type already_seen 2104)
  )
  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 2103)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
    nil )
  )
 )
 
 (!type struct 2106 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 2107 
  (!type pointer 2108 nil  gc_used
   (!type already_seen 2107)
  )
  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 2106)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
    nil )
  )
 )
)
(!typedefs 815
 (!pair  "ivarref_entry"
  (!type already_seen 2106)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "vec<ivarref_entry,va_gc>"
  (!type already_seen 2107)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 2103)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "vec<prot_list_entry,va_gc>"
  (!type already_seen 2104)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 2100)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 2101)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 2097)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 2098)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "objc_string_hasher"
  (!type already_seen 2093)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "hash_table<objc_string_hasher>"
  (!type already_seen 2094)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "attr"
  (!type already_seen 2087)
  (!srcfileloc  "objc/objc-act.h" 260)
  nil )
 (!pair  "hash"
  (!type already_seen 2085)
  (!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 2083)
  (!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 2076)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "UINT_MAX"
  (!type already_seen 2077)
  (!srcfileloc  "lto/lto-common.c" 1816)
  nil )
 (!pair  "int_hash<unsigned,,UINT_MAX>"
  (!type already_seen 2076)
  (!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 2064)
  (!srcfileloc  "fortran/trans.h" 1145)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 2063)
  (!srcfileloc  "fortran/trans.h" 1130)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 2062)
  (!srcfileloc  "fortran/trans.h" 900)
  nil )
 (!pair  "module_decl_hasher"
  (!type already_seen 2046)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "hash_table<module_decl_hasher>"
  (!type already_seen 2045)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 2060)
  (!srcfileloc  "fortran/trans.h" 418)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 2059)
  (!srcfileloc  "fortran/trans.h" 405)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 2058)
  (!srcfileloc  "fortran/trans.h" 395)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 2057)
  (!srcfileloc  "fortran/trans.h" 346)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 2056)
  (!srcfileloc  "fortran/trans.h" 305)
  nil )
 (!pair  "gfc_array_info"
  (!type already_seen 2055)
  (!srcfileloc  "fortran/trans.h" 206)
  nil )
 (!pair  "gfc_co_subroutines_args"
  (!type already_seen 2054)
  (!srcfileloc  "fortran/trans.h" 117)
  nil )
 (!pair  "gfc_se"
  (!type already_seen 2053)
  (!srcfileloc  "fortran/trans.h" 108)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 2052)
  (!srcfileloc  "fortran/trans.h" 37)
  nil )
 (!pair  "forall_info"
  (!type already_seen 2051)
  (!srcfileloc  "fortran/trans-stmt.c" 58)
  nil )
 (!pair  "iter_info"
  (!type already_seen 2050)
  (!srcfileloc  "fortran/trans-stmt.c" 46)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 2049)
  (!srcfileloc  "fortran/trans-io.c" 80)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 2048)
  (!srcfileloc  "fortran/trans-io.c" 74)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 2047)
  (!srcfileloc  "fortran/trans-intrinsic.c" 85)
  nil )
 (!pair  "module_hasher"
  (!type already_seen 2040)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "hash_table<module_hasher>"
  (!type already_seen 2041)
  (!srcfileloc  "fortran/trans-decl.c" 5124)
  nil )
 (!pair  "tree_frame_info"
  (!type already_seen 660)
  (!srcfileloc  "d/d-tree.h" 338)
  nil )
 (!pair  "lang_identifier"
  (!type already_seen 633)
  (!srcfileloc  "d/d-tree.h" 337)
  nil )
 (!pair  "Type"
  (!type already_seen 534)
  (!srcfileloc  "d/d-tree.h" 311)
  nil )
 (!pair  "d_label_entry"
  (!type already_seen 446)
  (!srcfileloc  "d/d-tree.h" 243)
  nil )
 (!pair  "hash_map<Statement*,d_label_entry>"
  (!type already_seen 445)
  (!srcfileloc  "d/d-tree.h" 243)
  nil )
 (!pair  "Module"
  (!type already_seen 443)
  (!srcfileloc  "d/d-tree.h" 230)
  nil )
 (!pair  "FuncDeclaration"
  (!type already_seen 441)
  (!srcfileloc  "d/d-tree.h" 229)
  nil )
 (!pair  "AggregateDeclaration"
  (!type already_seen 640)
  (!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 448)
  (!srcfileloc  "d/d-tree.h" 131)
  nil )
 (!pair  "d_label_use_entry"
  (!type already_seen 450)
  (!srcfileloc  "d/d-tree.h" 128)
  nil )
 (!pair  "binding_level"
  (!type already_seen 436)
  (!srcfileloc  "d/d-tree.h" 113)
  nil )
 (!pair  "Expressions"
  (!type already_seen 2033)
  (!srcfileloc  "d/d-tree.h" 44)
  nil )
 (!pair  "Array<Expression*>"
  (!type already_seen 2033)
  (!srcfileloc  "d/d-tree.h" 44)
  nil )
 (!pair  "abstract_type_hasher"
  (!type already_seen 2014)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "hash_table<abstract_type_hasher>"
  (!type already_seen 2015)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "list_hasher"
  (!type already_seen 2007)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "hash_table<list_hasher>"
  (!type already_seen 2008)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "cplus_array_hasher"
  (!type already_seen 2003)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "hash_table<cplus_array_hasher>"
  (!type already_seen 2004)
  (!srcfileloc  "cp/tree.c" 979)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 1998)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 1999)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "tinfo_s"
  (!type already_seen 1995)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 1996)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "hash_map<tree,tree_pair_p>"
  (!type already_seen 1993)
  (!srcfileloc  "cp/pt.c" 28697)
  nil )
 (!pair  "pending_template"
  (!type already_seen 1979)
  (!srcfileloc  "cp/pt.c" 9378)
  nil )
 (!pair  "tinst_level"
  (!type already_seen 1841)
  (!srcfileloc  "cp/pt.c" 9369)
  nil )
 (!pair  "spec_hasher"
  (!type already_seen 1982)
  (!srcfileloc  "cp/pt.c" 119)
  nil )
 (!pair  "hash_table<spec_hasher>"
  (!type already_seen 1983)
  (!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 1867)
  (!srcfileloc  "cp/parser.c" 43522)
  nil )
 (!pair  "iter_t"
  (!type already_seen 1978)
  (!srcfileloc  "cp/parser.c" 31477)
  nil )
 (!pair  "class_to_loc_map_t::iterator"
  (!type already_seen 1978)
  (!srcfileloc  "cp/parser.c" 31477)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 2109 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 1974)
  )
  (!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 1960)
  (!srcfileloc  "cp/mangle.c" 122)
  nil )
 (!pair  "subsumption_hasher"
  (!type already_seen 1957)
  (!srcfileloc  "cp/logic.cc" 817)
  nil )
 (!pair  "hash_table<subsumption_hasher>"
  (!type already_seen 1958)
  (!srcfileloc  "cp/logic.cc" 817)
  nil )
 (!pair  "conv_type_hasher"
  (!type already_seen 1950)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "hash_table<conv_type_hasher>"
  (!type already_seen 1951)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "tree_int"
  (!type already_seen 1946)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "vec<tree_int,va_gc>"
  (!type already_seen 1947)
  (!srcfileloc  "cp/lambda.c" 1361)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 1943)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 1944)
  (!srcfileloc  "cp/except.c" 1160)
  nil )
 (!pair  "mangled_decl_hash"
  (!type already_seen 1940)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "hash_table<mangled_decl_hash>"
  (!type already_seen 1941)
  (!srcfileloc  "cp/decl2.c" 139)
  nil )
 (!pair  "priority_info"
  (!type already_seen 1939)
  (!srcfileloc  "cp/decl2.c" 66)
  nil )
 (!pair  "typename_hasher"
  (!type already_seen 1933)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "hash_table<typename_hasher>"
  (!type already_seen 1934)
  (!srcfileloc  "cp/decl.c" 3825)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 1928)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 1929)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "named_label_use_entry"
  (!type already_seen 1832)
  (!srcfileloc  "cp/decl.c" 209)
  nil )
 (!pair  "named_label_entry"
  (!type already_seen 1829)
  (!srcfileloc  "cp/decl.c" 192)
  nil )
 (!pair  "source_location_table_entry_hash"
  (!type already_seen 1925)
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  nil )
 (!pair  "hash_table<source_location_table_entry_hash>"
  (!type already_seen 1926)
  (!srcfileloc  "cp/cp-gimplify.c" 3210)
  nil )
 (!pair  "coroutine_info_hasher"
  (!type already_seen 1907)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "hash_table<coroutine_info_hasher>"
  (!type already_seen 1908)
  (!srcfileloc  "cp/coroutines.cc" 111)
  nil )
 (!pair  "sat_hasher"
  (!type already_seen 1902)
  (!srcfileloc  "cp/constraint.cc" 2308)
  nil )
 (!pair  "hash_table<sat_hasher>"
  (!type already_seen 1903)
  (!srcfileloc  "cp/constraint.cc" 2308)
  nil )
 (!pair  "constexpr_call_hasher"
  (!type already_seen 1891)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "hash_table<constexpr_call_hasher>"
  (!type already_seen 1894)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 1885)
  (!srcfileloc  "cp/constexpr.c" 1002)
  nil )
 (!pair  "constexpr_fundef_hasher"
  (!type already_seen 1887)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "hash_table<constexpr_fundef_hasher>"
  (!type already_seen 1888)
  (!srcfileloc  "cp/constexpr.c" 156)
  nil )
 (!pair  "hash_map<tree,int>"
  (!type already_seen 1882)
  (!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 1877)
  (!srcfileloc  "cp/class.c" 70)
  nil )
 (!pair  "cp_oacc_routine_data"
  (!type already_seen 1863)
  (!srcfileloc  "cp/parser.h" 379)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 1861)
  (!srcfileloc  "cp/parser.h" 375)
  nil )
 (!pair  "cp_unparsed_functions_entry"
  (!type already_seen 1858)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 1865)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 1859)
  (!srcfileloc  "cp/parser.h" 257)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 1852)
  (!srcfileloc  "cp/parser.h" 223)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 1855)
  (!srcfileloc  "cp/parser.h" 160)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 1856)
  (!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 1851)
  (!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 1849)
  (!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 1840)
  (!srcfileloc  "cp/cp-tree.h" 6045)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 1839)
  (!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 1837)
  (!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 537)
  (!srcfileloc  "cp/cp-tree.h" 2217)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 539)
  (!srcfileloc  "cp/cp-tree.h" 2132)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 538)
  (!srcfileloc  "cp/cp-tree.h" 2132)
  nil )
 (!pair  "cxx_int_tree_map_hasher"
  (!type already_seen 460)
  (!srcfileloc  "cp/cp-tree.h" 1929)
  nil )
 (!pair  "hash_table<cxx_int_tree_map_hasher>"
  (!type already_seen 459)
  (!srcfileloc  "cp/cp-tree.h" 1929)
  nil )
 (!pair  "named_label_hash"
  (!type already_seen 457)
  (!srcfileloc  "cp/cp-tree.h" 1922)
  nil )
 (!pair  "hash_table<named_label_hash>"
  (!type already_seen 456)
  (!srcfileloc  "cp/cp-tree.h" 1922)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 1815)
  (!srcfileloc  "cp/cp-tree.h" 1687)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 1820)
  (!srcfileloc  "cp/cp-tree.h" 1687)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 676)
  (!srcfileloc  "cp/cp-tree.h" 1496)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 677)
  (!srcfileloc  "cp/cp-tree.h" 1471)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 664)
  (!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 543)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 540)
  (!srcfileloc  "cp/name-lookup.h" 28)
  nil )
 (!pair  "matching_braces"
  (!type already_seen 1811)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "matching_brace_traits"
  (!type already_seen 1810)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "token_pair<matching_brace_traits>"
  (!type already_seen 1811)
  (!srcfileloc  "c/c-parser.c" 1094)
  nil )
 (!pair  "matching_parens"
  (!type already_seen 1809)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "matching_paren_traits"
  (!type already_seen 1808)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "token_pair<matching_paren_traits>"
  (!type already_seen 1809)
  (!srcfileloc  "c/c-parser.c" 1076)
  nil )
 (!pair  "c_parser"
  (!type already_seen 1802)
  (!srcfileloc  "c/c-parser.c" 258)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 1806)
  (!srcfileloc  "c/c-parser.c" 181)
  nil )
 (!pair  "c_token"
  (!type already_seen 1800)
  (!srcfileloc  "c/c-parser.c" 173)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 1782)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 1783)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 1779)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 1780)
  (!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 1773)
  (!srcfileloc  "c-family/c-common.h" 1156)
  nil )
 (!pair  "wide_int_bitmask"
  (!type already_seen 1773)
  (!srcfileloc  "c-family/c-common.h" 1156)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 454)
  (!srcfileloc  "c-family/c-common.h" 569)
  nil )
 (!pair  "added_includes_t"
  (!type already_seen 1767)
  (!srcfileloc  "c-family/c-common.c" 8758)
  nil )
 (!pair  "hash_map<char*,per_file_includes_t*>"
  (!type already_seen 1767)
  (!srcfileloc  "c-family/c-common.c" 8758)
  nil )
 (!pair  "per_file_includes_t"
  (!type already_seen 1765)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "nofree_string_hash"
  (!type already_seen 1766)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "hash_set<char*,false,nofree_string_hash>"
  (!type already_seen 1765)
  (!srcfileloc  "c-family/c-common.c" 8753)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 1763)
  (!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 1761)
  (!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 644)
  (!srcfileloc  "c/c-decl.c" 572)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 653)
  (!srcfileloc  "c/c-decl.c" 380)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 654)
  (!srcfileloc  "c/c-decl.c" 361)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 1744)
  (!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 1739)
  (!srcfileloc  "ada/gcc-interface/utils.c" 282)
  nil )
 (!pair  "hash_table<pad_type_hasher>"
  (!type already_seen 1740)
  (!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 1733)
  (!srcfileloc  "ada/gcc-interface/trans.c" 213)
  nil )
 (!pair  "loop_info"
  (!type already_seen 1732)
  (!srcfileloc  "ada/gcc-interface/trans.c" 209)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 1729)
  (!srcfileloc  "ada/gcc-interface/trans.c" 206)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 1728)
  (!srcfileloc  "ada/gcc-interface/trans.c" 194)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 469)
  (!srcfileloc  "ada/gcc-interface/trans.c" 116)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 470)
  (!srcfileloc  "ada/gcc-interface/trans.c" 112)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 1722)
  (!srcfileloc  "ada/gcc-interface/decl.c" 7584)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 1720)
  (!srcfileloc  "ada/gcc-interface/decl.c" 261)
  nil )
 (!pair  "dummy_type_hasher"
  (!type already_seen 1717)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  nil )
 (!pair  "hash_table<dummy_type_hasher>"
  (!type already_seen 1718)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  nil )
 (!pair  "va_gc_atomic"
  (!type already_seen 1714)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "Entity_Id"
  (!type already_seen 1715)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "vec<Entity_Id,va_gc_atomic>"
  (!type already_seen 1712)
  (!srcfileloc  "ada/gcc-interface/decl.c" 162)
  nil )
 (!pair  "value_annotation_hasher"
  (!type already_seen 1709)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  nil )
 (!pair  "hash_table<value_annotation_hasher>"
  (!type already_seen 1710)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 1708)
  (!srcfileloc  "ada/gcc-interface/decl.c" 131)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 1707)
  (!srcfileloc  "ada/gcc-interface/decl.c" 113)
  nil )
 (!pair  "rewrite_fn"
  (!type already_seen 2)
  (!srcfileloc  "ada/gcc-interface/gigi.h" 962)
  nil )
 (!pair  "builtin_arg"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm-builtins.c" 2872)
  nil )
 (!pair  "arm_builtin_cde_datum"
  (!type already_seen 1695)
  (!srcfileloc  "config/arm/arm-builtins.c" 998)
  nil )
 (!pair  "arm_builtin_datum"
  (!type already_seen 1694)
  (!srcfileloc  "config/arm/arm-builtins.c" 907)
  nil )
 (!pair  "rdwr_map"
  (!type already_seen 1691)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "attr_access"
  (!type already_seen 1692)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "rdwr_access_hash"
  (!type already_seen 1690)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "hash_map<rdwr_access_hash,attr_access>"
  (!type already_seen 1691)
  (!srcfileloc  "calls.c" 1873)
  nil )
 (!pair  "hsa_decl_kernel_map_element"
  (!type already_seen 1686)
  (!srcfileloc  "hsa-common.c" 67)
  nil )
 (!pair  "vec<hsa_decl_kernel_map_element,va_gc>"
  (!type already_seen 1687)
  (!srcfileloc  "hsa-common.c" 67)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 1679)
  (!srcfileloc  "ipa-devirt.c" 2743)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 1678)
  (!srcfileloc  "ipa-devirt.c" 2742)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 1679)
  (!srcfileloc  "ipa-devirt.c" 2742)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 1675)
  (!srcfileloc  "ipa-devirt.c" 495)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 1674)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "odr_name_hasher"
  (!type already_seen 1673)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "hash_table<odr_name_hasher>"
  (!type already_seen 1674)
  (!srcfileloc  "ipa-devirt.c" 488)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 1172)
  (!srcfileloc  "ipa-devirt.c" 202)
  nil )
 (!pair  "tree_type_map_cache_hasher"
  (!type already_seen 1658)
  (!srcfileloc  "ubsan.c" 82)
  nil )
 (!pair  "hash_table<tree_type_map_cache_hasher>"
  (!type already_seen 1659)
  (!srcfileloc  "ubsan.c" 82)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 1648)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 1648)
  (!srcfileloc  "vtable-verify.c" 299)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 1647)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 1646)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 1647)
  (!srcfileloc  "vtable-verify.c" 298)
  nil )
 (!pair  "value_range"
  (!type already_seen 1119)
  (!srcfileloc  "value-range.h" 43)
  nil )
 (!pair  "fast_function_summary<ipa_fn_summary*,va_gc>"
  (!type already_seen 1639)
  (!srcfileloc  "ipa-fnsummary.h" 220)
  nil )
 (!pair  "ipa_fn_summary_t"
  (!type already_seen 1638)
  (!srcfileloc  "ipa-fnsummary.h" 218)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 1163)
  (!srcfileloc  "ipa-fnsummary.h" 164)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 1162)
  (!srcfileloc  "ipa-fnsummary.h" 164)
  nil )
 (!pair  "ipa_fn_summary"
  (!type already_seen 1152)
  (!srcfileloc  "ipa-fnsummary.h" 110)
  nil )
 (!pair  "predicate"
  (!type already_seen 1164)
  (!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 1026)
  (!srcfileloc  "ipa-predicate.h" 109)
  nil )
 (!pair  "conditions"
  (!type already_seen 1154)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "condition"
  (!type already_seen 1156)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 1155)
  (!srcfileloc  "ipa-predicate.h" 90)
  nil )
 (!pair  "expr_eval_ops"
  (!type already_seen 1157)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "expr_eval_op"
  (!type already_seen 1159)
  (!srcfileloc  "ipa-predicate.h" 46)
  nil )
 (!pair  "vec<expr_eval_op,va_gc>"
  (!type already_seen 1158)
  (!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 1570)
  (!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 1615)
  (!srcfileloc  "trans-mem.c" 4180)
  nil )
 (!pair  "vec<cgraph_node*>"
  (!type already_seen 1615)
  (!srcfileloc  "trans-mem.c" 4180)
  nil )
 (!pair  "tm_wrapper_hasher"
  (!type already_seen 1595)
  (!srcfileloc  "trans-mem.c" 465)
  nil )
 (!pair  "hash_table<tm_wrapper_hasher>"
  (!type already_seen 1596)
  (!srcfileloc  "trans-mem.c" 465)
  nil )
 (!pair  "function_summary<ipcp_transformation*>"
  (!type already_seen 1593)
  (!srcfileloc  "ipa-prop.h" 904)
  nil )
 (!pair  "ipa_edge_args_sum_t"
  (!type already_seen 1590)
  (!srcfileloc  "ipa-prop.h" 872)
  nil )
 (!pair  "ipa_node_params_t"
  (!type already_seen 1588)
  (!srcfileloc  "ipa-prop.h" 850)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context,va_gc>"
  (!type already_seen 1131)
  (!srcfileloc  "ipa-prop.h" 804)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 1108)
  (!srcfileloc  "ipa-prop.h" 803)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 1129)
  (!srcfileloc  "ipa-prop.h" 803)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 1127)
  (!srcfileloc  "ipa-prop.h" 791)
  nil )
 (!pair  "ipcp_transformation"
  (!type already_seen 1586)
  (!srcfileloc  "ipa-prop.h" 759)
  nil )
 (!pair  "ipa_vr"
  (!type already_seen 1581)
  (!srcfileloc  "ipa-prop.h" 756)
  nil )
 (!pair  "vec<ipa_vr,va_gc>"
  (!type already_seen 1584)
  (!srcfileloc  "ipa-prop.h" 756)
  nil )
 (!pair  "vec<ipa_bits*,va_gc>"
  (!type already_seen 1582)
  (!srcfileloc  "ipa-prop.h" 754)
  nil )
 (!pair  "ipa_agg_replacement_value"
  (!type already_seen 1135)
  (!srcfileloc  "ipa-prop.h" 752)
  nil )
 (!pair  "vec<ipa_polymorphic_call_context>"
  (!type already_seen 1107)
  (!srcfileloc  "ipa-prop.h" 484)
  nil )
 (!pair  "vec<tree>"
  (!type already_seen 1106)
  (!srcfileloc  "ipa-prop.h" 481)
  nil )
 (!pair  "ipa_param_descriptor"
  (!type already_seen 1103)
  (!srcfileloc  "ipa-prop.h" 472)
  nil )
 (!pair  "vec<ipa_param_descriptor,va_gc>"
  (!type already_seen 1102)
  (!srcfileloc  "ipa-prop.h" 472)
  nil )
 (!pair  "ipa_node_params"
  (!type already_seen 1100)
  (!srcfileloc  "ipa-prop.h" 465)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 1112)
  (!srcfileloc  "ipa-prop.h" 175)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 1111)
  (!srcfileloc  "ipa-prop.h" 175)
  nil )
 (!pair  "value_range_equiv"
  (!type already_seen 1579)
  (!srcfileloc  "tree-vrp.h" 78)
  nil )
 (!pair  "TRAILING_WIDE_INT_ACCESSOR"
  (!type already_seen 1578)
  (!srcfileloc  "tree-ssanames.h" 52)
  nil )
 (!pair  "vec<gimple*,va_gc>"
  (!type already_seen 1575)
  (!srcfileloc  "tree-phinodes.c" 70)
  nil )
 (!pair  "unsigned"
  (!type already_seen 1574)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "hash_map<char*,unsigned>"
  (!type already_seen 1572)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1567)
  (!srcfileloc  "passes.c" 990)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 9)
  (!srcfileloc  "passes.c" 870)
  nil )
 (!pair  "arm_pragma_enum"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm.c" 7184)
  nil )
 (!pair  "libcall_table_type"
  (!type already_seen 1552)
  (!srcfileloc  "config/arm/arm.c" 5721)
  nil )
 (!pair  "libcall_hasher"
  (!type already_seen 1551)
  (!srcfileloc  "config/arm/arm.c" 5721)
  nil )
 (!pair  "hash_table<libcall_hasher>"
  (!type already_seen 1552)
  (!srcfileloc  "config/arm/arm.c" 5721)
  nil )
 (!pair  "isr_attribute_arg"
  (!type already_seen 1550)
  (!srcfileloc  "config/arm/arm.c" 3919)
  nil )
 (!pair  "arm_fixed_mode_set"
  (!type already_seen 1549)
  (!srcfileloc  "config/arm/arm.c" 2461)
  nil )
 (!pair  "Mfix"
  (!type already_seen 1545)
  (!srcfileloc  "config/arm/arm.c" 78)
  nil )
 (!pair  "Mnode"
  (!type already_seen 1544)
  (!srcfileloc  "config/arm/arm.c" 77)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 407)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 565)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 564)
  (!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 1516)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "hash_table<scev_info_hasher>"
  (!type already_seen 1517)
  (!srcfileloc  "tree-scalar-evolution.c" 312)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1476)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1477)
  (!srcfileloc  "tree-ssa-address.c" 94)
  nil )
 (!pair  "treemple"
  (!type already_seen 1464)
  (!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 1461)
  (!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 1454)
  (!srcfileloc  "varasm.c" 6091)
  nil )
 (!pair  "hash_table<tm_clone_hasher>"
  (!type already_seen 1455)
  (!srcfileloc  "varasm.c" 6091)
  nil )
 (!pair  "const_rtx_desc_hasher"
  (!type already_seen 1005)
  (!srcfileloc  "varasm.c" 3679)
  nil )
 (!pair  "hash_table<const_rtx_desc_hasher>"
  (!type already_seen 1004)
  (!srcfileloc  "varasm.c" 3679)
  nil )
 (!pair  "tree_descriptor_hasher"
  (!type already_seen 1071)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "hash_table<tree_descriptor_hasher>"
  (!type already_seen 1450)
  (!srcfileloc  "varasm.c" 3006)
  nil )
 (!pair  "object_block_hasher"
  (!type already_seen 1446)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "hash_table<object_block_hasher>"
  (!type already_seen 1447)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "section_hasher"
  (!type already_seen 1443)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "hash_table<section_hasher>"
  (!type already_seen 1444)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "tree_vec_map_cache_hasher"
  (!type already_seen 1437)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "hash_table<tree_vec_map_cache_hasher>"
  (!type already_seen 1438)
  (!srcfileloc  "tree.c" 262)
  nil )
 (!pair  "tree_decl_map_cache_hasher"
  (!type already_seen 930)
  (!srcfileloc  "tree.c" 239)
  nil )
 (!pair  "hash_table<tree_decl_map_cache_hasher>"
  (!type already_seen 1435)
  (!srcfileloc  "tree.c" 239)
  nil )
 (!pair  "cl_option_hasher"
  (!type already_seen 1432)
  (!srcfileloc  "tree.c" 233)
  nil )
 (!pair  "hash_table<cl_option_hasher>"
  (!type already_seen 1433)
  (!srcfileloc  "tree.c" 233)
  nil )
 (!pair  "poly_int_cst_hasher"
  (!type already_seen 1429)
  (!srcfileloc  "tree.c" 217)
  nil )
 (!pair  "hash_table<poly_int_cst_hasher>"
  (!type already_seen 1430)
  (!srcfileloc  "tree.c" 217)
  nil )
 (!pair  "int_cst_hasher"
  (!type already_seen 1426)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "hash_table<int_cst_hasher>"
  (!type already_seen 1427)
  (!srcfileloc  "tree.c" 206)
  nil )
 (!pair  "type_cache_hasher"
  (!type already_seen 1423)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "hash_table<type_cache_hasher>"
  (!type already_seen 1424)
  (!srcfileloc  "tree.c" 195)
  nil )
 (!pair  "block_info"
  (!type already_seen 1413)
  (!srcfileloc  "reg-stack.c" 219)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1411)
  (!srcfileloc  "reg-stack.c" 206)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1405)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1404)
  (!srcfileloc  "mcf.c" 103)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1403)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1402)
  (!srcfileloc  "mcf.c" 94)
  nil )
 (!pair  "libfunc_decl_hasher"
  (!type already_seen 1395)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "hash_table<libfunc_decl_hasher>"
  (!type already_seen 1396)
  (!srcfileloc  "optabs-libfuncs.c" 720)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1385)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1386)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1385)
  (!srcfileloc  "gcse.c" 621)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1384)
  (!srcfileloc  "gcse.c" 620)
  nil )
 (!pair  "vec<rtx_insn*>"
  (!type already_seen 1384)
  (!srcfileloc  "gcse.c" 620)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1379)
  (!srcfileloc  "gcse.c" 306)
  nil )
 (!pair  "user_struct"
  (!type already_seen 1375)
  (!srcfileloc  "ggc-tests.c" 399)
  nil )
 (!pair  "test_node"
  (!type already_seen 1373)
  (!srcfileloc  "ggc-tests.c" 334)
  nil )
 (!pair  "some_other_subclass"
  (!type already_seen 1371)
  (!srcfileloc  "ggc-tests.c" 272)
  nil )
 (!pair  "some_subclass"
  (!type already_seen 1369)
  (!srcfileloc  "ggc-tests.c" 261)
  nil )
 (!pair  "example_base"
  (!type already_seen 1367)
  (!srcfileloc  "ggc-tests.c" 236)
  nil )
 (!pair  "test_of_union"
  (!type already_seen 1364)
  (!srcfileloc  "ggc-tests.c" 145)
  nil )
 (!pair  "test_other"
  (!type already_seen 918)
  (!srcfileloc  "ggc-tests.c" 139)
  nil )
 (!pair  "test_of_length"
  (!type already_seen 1361)
  (!srcfileloc  "ggc-tests.c" 79)
  nil )
 (!pair  "test_struct"
  (!type already_seen 916)
  (!srcfileloc  "ggc-tests.c" 53)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1358)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1357)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1358)
  (!srcfileloc  "except.c" 763)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1356)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1355)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1356)
  (!srcfileloc  "except.c" 728)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1352)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1351)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1352)
  (!srcfileloc  "except.c" 209)
  nil )
 (!pair  "tree_hash"
  (!type already_seen 934)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "hash_map<tree_hash,tree>"
  (!type already_seen 1348)
  (!srcfileloc  "except.c" 150)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1305)
  (!srcfileloc  "function.c" 1261)
  nil )
 (!pair  "temp_address_hasher"
  (!type already_seen 1339)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "hash_table<temp_address_hasher>"
  (!type already_seen 1340)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "insn_cache_hasher"
  (!type already_seen 1335)
  (!srcfileloc  "function.c" 127)
  nil )
 (!pair  "hash_table<insn_cache_hasher>"
  (!type already_seen 1336)
  (!srcfileloc  "function.c" 127)
  nil )
 (!pair  "by_pieces_constfn"
  (!type already_seen 2)
  (!srcfileloc  "expr.h" 110)
  nil )
 (!pair  "sepops"
  (!type already_seen 1334)
  (!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 911)
  (!srcfileloc  "emit-rtl.c" 773)
  nil )
 (!pair  "const_fixed_hasher"
  (!type already_seen 1324)
  (!srcfileloc  "emit-rtl.c" 189)
  nil )
 (!pair  "hash_table<const_fixed_hasher>"
  (!type already_seen 1325)
  (!srcfileloc  "emit-rtl.c" 189)
  nil )
 (!pair  "const_double_hasher"
  (!type already_seen 1321)
  (!srcfileloc  "emit-rtl.c" 180)
  nil )
 (!pair  "hash_table<const_double_hasher>"
  (!type already_seen 1322)
  (!srcfileloc  "emit-rtl.c" 180)
  nil )
 (!pair  "reg_attr_hasher"
  (!type already_seen 1318)
  (!srcfileloc  "emit-rtl.c" 171)
  nil )
 (!pair  "hash_table<reg_attr_hasher>"
  (!type already_seen 1319)
  (!srcfileloc  "emit-rtl.c" 171)
  nil )
 (!pair  "const_poly_int_hasher"
  (!type already_seen 1315)
  (!srcfileloc  "emit-rtl.c" 162)
  nil )
 (!pair  "hash_table<const_poly_int_hasher>"
  (!type already_seen 1316)
  (!srcfileloc  "emit-rtl.c" 162)
  nil )
 (!pair  "const_wide_int_hasher"
  (!type already_seen 1312)
  (!srcfileloc  "emit-rtl.c" 152)
  nil )
 (!pair  "hash_table<const_wide_int_hasher>"
  (!type already_seen 1313)
  (!srcfileloc  "emit-rtl.c" 152)
  nil )
 (!pair  "const_int_hasher"
  (!type already_seen 1309)
  (!srcfileloc  "emit-rtl.c" 144)
  nil )
 (!pair  "hash_table<const_int_hasher>"
  (!type already_seen 1310)
  (!srcfileloc  "emit-rtl.c" 144)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1306)
  (!srcfileloc  "emit-rtl.h" 145)
  nil )
 (!pair  "rtx_note"
  (!type already_seen 750)
  (!srcfileloc  "emit-rtl.h" 125)
  nil )
 (!pair  "predefined_function_abi"
  (!type already_seen 906)
  (!srcfileloc  "emit-rtl.h" 74)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1300)
  (!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 1296)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1295)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1296)
  (!srcfileloc  "dwarf2out.c" 31114)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1292)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2out.c" 28164)
  nil )
 (!pair  "inline_entry_data_hasher"
  (!type already_seen 1289)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "hash_table<inline_entry_data_hasher>"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 8939)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1278)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 8181)
  nil )
 (!pair  "sym_off_pair"
  (!type already_seen 1274)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "hash_map<tree,sym_off_pair>"
  (!type already_seen 1275)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "addr_hasher"
  (!type already_seen 1271)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "hash_table<addr_hasher>"
  (!type already_seen 1272)
  (!srcfileloc  "dwarf2out.c" 4954)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1265)
  (!srcfileloc  "dwarf2out.c" 3606)
  nil )
 (!pair  "dw_ranges_by_label"
  (!type already_seen 1223)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "vec<dw_ranges_by_label,va_gc>"
  (!type already_seen 1263)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "dw_ranges"
  (!type already_seen 1221)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "vec<dw_ranges,va_gc>"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1259)
  (!srcfileloc  "dwarf2out.c" 3576)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1257)
  (!srcfileloc  "dwarf2out.c" 3568)
  nil )
 (!pair  "vec<dw_line_info_table*,va_gc>"
  (!type already_seen 1255)
  (!srcfileloc  "dwarf2out.c" 3560)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1217)
  (!srcfileloc  "dwarf2out.c" 3553)
  nil )
 (!pair  "dw_loc_list_hasher"
  (!type already_seen 1252)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "hash_table<dw_loc_list_hasher>"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1251)
  (!srcfileloc  "dwarf2out.c" 3523)
  nil )
 (!pair  "decl_loc_hasher"
  (!type already_seen 1248)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "hash_table<decl_loc_hasher>"
  (!type already_seen 1249)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1245)
  (!srcfileloc  "dwarf2out.c" 3482)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1242)
  (!srcfileloc  "dwarf2out.c" 3443)
  nil )
 (!pair  "block_die_hasher"
  (!type already_seen 1239)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "hash_table<block_die_hasher>"
  (!type already_seen 1240)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "variable_value_hasher"
  (!type already_seen 1236)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "hash_table<variable_value_hasher>"
  (!type already_seen 1237)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "vec<dw_die_ref,va_gc>"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 3415)
  nil )
 (!pair  "decl_die_hasher"
  (!type already_seen 1230)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "hash_table<decl_die_hasher>"
  (!type already_seen 1231)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "dwarf_file_hasher"
  (!type already_seen 1227)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "hash_table<dwarf_file_hasher>"
  (!type already_seen 1228)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1226)
  (!srcfileloc  "dwarf2out.c" 3194)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1224)
  (!srcfileloc  "dwarf2out.c" 3186)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1222)
  (!srcfileloc  "dwarf2out.c" 3158)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1220)
  (!srcfileloc  "dwarf2out.c" 3136)
  nil )
 (!pair  "die_node"
  (!type already_seen 492)
  (!srcfileloc  "dwarf2out.c" 3105)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 498)
  (!srcfileloc  "dwarf2out.c" 3083)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 495)
  (!srcfileloc  "dwarf2out.c" 3080)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 499)
  (!srcfileloc  "dwarf2out.c" 3069)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1215)
  (!srcfileloc  "dwarf2out.c" 3019)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1214)
  (!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 490)
  (!srcfileloc  "dwarf2out.c" 1334)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 486)
  (!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 1211)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "hash_table<indirect_string_hasher>"
  (!type already_seen 1212)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1209)
  (!srcfileloc  "dwarf2out.c" 213)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1202)
  (!srcfileloc  "dwarf2cfi.c" 195)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1200)
  (!srcfileloc  "dwarf2cfi.c" 193)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 517)
  (!srcfileloc  "dwarf2cfi.c" 66)
  nil )
 (!pair  "hash_map<char*,tree>"
  (!type already_seen 1198)
  (!srcfileloc  "dwarf2asm.c" 865)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 483)
  (!srcfileloc  "dwarf2out.h" 256)
  nil )
 (!pair  "dw_discr_value"
  (!type already_seen 512)
  (!srcfileloc  "dwarf2out.h" 235)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 504)
  (!srcfileloc  "dwarf2out.h" 215)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 474)
  (!srcfileloc  "dwarf2out.h" 70)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 476)
  (!srcfileloc  "dwarf2out.h" 68)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 477)
  (!srcfileloc  "dwarf2out.h" 68)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 480)
  (!srcfileloc  "dwarf2out.h" 57)
  nil )
 (!pair  "wide_int_ptr"
  (!type already_seen 500)
  (!srcfileloc  "dwarf2out.h" 33)
  nil )
 (!pair  "dw_discr_list_ref"
  (!type already_seen 514)
  (!srcfileloc  "dwarf2out.h" 32)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 489)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 481)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 478)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 484)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 491)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 491)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "ipa_sra_function_summaries"
  (!type already_seen 1187)
  (!srcfileloc  "ipa-sra.c" 376)
  nil )
 (!pair  "isra_param_desc"
  (!type already_seen 1180)
  (!srcfileloc  "ipa-sra.c" 254)
  nil )
 (!pair  "vec<isra_param_desc,va_gc>"
  (!type already_seen 1184)
  (!srcfileloc  "ipa-sra.c" 254)
  nil )
 (!pair  "isra_func_summary"
  (!type already_seen 1182)
  (!srcfileloc  "ipa-sra.c" 238)
  nil )
 (!pair  "vec<param_access*,va_gc>"
  (!type already_seen 1178)
  (!srcfileloc  "ipa-sra.c" 165)
  nil )
 (!pair  "ipa_adjusted_param"
  (!type already_seen 835)
  (!srcfileloc  "ipa-param-manipulation.h" 269)
  nil )
 (!pair  "vec<ipa_adjusted_param,va_gc>"
  (!type already_seen 834)
  (!srcfileloc  "ipa-param-manipulation.h" 269)
  nil )
 (!pair  "odr_type"
  (!type already_seen 1171)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 1170)
  (!srcfileloc  "ipa-utils.h" 56)
  nil )
 (!pair  "ipa_vr_ggc_hash_traits"
  (!type already_seen 1095)
  (!srcfileloc  "ipa-prop.c" 151)
  nil )
 (!pair  "hash_table<ipa_vr_ggc_hash_traits>"
  (!type already_seen 1096)
  (!srcfileloc  "ipa-prop.c" 151)
  nil )
 (!pair  "ipa_bit_ggc_hash_traits"
  (!type already_seen 1092)
  (!srcfileloc  "ipa-prop.c" 105)
  nil )
 (!pair  "hash_table<ipa_bit_ggc_hash_traits>"
  (!type already_seen 1093)
  (!srcfileloc  "ipa-prop.c" 105)
  nil )
 (!pair  "function_version_hasher"
  (!type already_seen 1088)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "hash_table<function_version_hasher>"
  (!type already_seen 1089)
  (!srcfileloc  "cgraph.c" 119)
  nil )
 (!pair  "vec<alias_set_entry*,va_gc>"
  (!type already_seen 1082)
  (!srcfileloc  "alias.c" 279)
  nil )
 (!pair  "alias_set_hash"
  (!type already_seen 1077)
  (!srcfileloc  "alias.c" 148)
  nil )
 (!pair  "hash_map<alias_set_hash,int>"
  (!type already_seen 1078)
  (!srcfileloc  "alias.c" 148)
  nil )
 (!pair  "hash_set<cgraph_node*>"
  (!type already_seen 1069)
  (!srcfileloc  "cgraph.h" 2547)
  nil )
 (!pair  "FILE"
  (!type already_seen 1068)
  (!srcfileloc  "cgraph.h" 2543)
  nil )
 (!pair  "symbol_priority_map"
  (!type already_seen 1033)
  (!srcfileloc  "cgraph.h" 2541)
  nil )
 (!pair  "hash_map<symtab_node*,symbol_priority_map>"
  (!type already_seen 1066)
  (!srcfileloc  "cgraph.h" 2541)
  nil )
 (!pair  "asmname_hasher"
  (!type already_seen 1057)
  (!srcfileloc  "cgraph.h" 2538)
  nil )
 (!pair  "hash_table<asmname_hasher>"
  (!type already_seen 1064)
  (!srcfileloc  "cgraph.h" 2538)
  nil )
 (!pair  "section_name_hasher"
  (!type already_seen 1031)
  (!srcfileloc  "cgraph.h" 2535)
  nil )
 (!pair  "hash_table<section_name_hasher>"
  (!type already_seen 1062)
  (!srcfileloc  "cgraph.h" 2535)
  nil )
 (!pair  "vec<int>"
  (!type already_seen 1060)
  (!srcfileloc  "cgraph.h" 2505)
  nil )
 (!pair  "cgraph_2node_hook_list"
  (!type already_seen 1055)
  (!srcfileloc  "cgraph.h" 2425)
  nil )
 (!pair  "cgraph_2edge_hook_list"
  (!type already_seen 1053)
  (!srcfileloc  "cgraph.h" 2419)
  nil )
 (!pair  "varpool_node_hook_list"
  (!type already_seen 1051)
  (!srcfileloc  "cgraph.h" 2398)
  nil )
 (!pair  "cgraph_node_hook_list"
  (!type already_seen 1049)
  (!srcfileloc  "cgraph.h" 2391)
  nil )
 (!pair  "cgraph_edge_hook_list"
  (!type already_seen 1047)
  (!srcfileloc  "cgraph.h" 2384)
  nil )
 (!pair  "symbol_table"
  (!type already_seen 1058)
  (!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 1045)
  (!srcfileloc  "cgraph.h" 2171)
  nil )
 (!pair  "availability"
  (!type already_seen 1044)
  (!srcfileloc  "cgraph.h" 2053)
  nil )
 (!pair  "cgraph_indirect_call_info"
  (!type already_seen 812)
  (!srcfileloc  "cgraph.h" 1946)
  nil )
 (!pair  "gcall"
  (!type already_seen 770)
  (!srcfileloc  "cgraph.h" 1943)
  nil )
 (!pair  "ipa_polymorphic_call_context"
  (!type already_seen 813)
  (!srcfileloc  "cgraph.h" 1618)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1041)
  (!srcfileloc  "cgraph.h" 1565)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1039)
  (!srcfileloc  "cgraph.h" 1564)
  nil )
 (!pair  "cgraph_node_set_def"
  (!type already_seen 1038)
  (!srcfileloc  "cgraph.h" 1564)
  nil )
 (!pair  "cgraph_thunk_info"
  (!type already_seen 839)
  (!srcfileloc  "cgraph.h" 1472)
  nil )
 (!pair  "cgraph_clone_info"
  (!type already_seen 826)
  (!srcfileloc  "cgraph.h" 1471)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 821)
  (!srcfileloc  "cgraph.h" 1464)
  nil )
 (!pair  "cgraph_simd_clone"
  (!type already_seen 818)
  (!srcfileloc  "cgraph.h" 1457)
  nil )
 (!pair  "cgraph_edge_hasher"
  (!type already_seen 816)
  (!srcfileloc  "cgraph.h" 1451)
  nil )
 (!pair  "hash_table<cgraph_edge_hasher>"
  (!type already_seen 815)
  (!srcfileloc  "cgraph.h" 1451)
  nil )
 (!pair  "vec<cgraph_edge*>"
  (!type already_seen 1037)
  (!srcfileloc  "cgraph.h" 1204)
  nil )
 (!pair  "cgraph_edge"
  (!type already_seen 810)
  (!srcfileloc  "cgraph.h" 1179)
  nil )
 (!pair  "cgraph_function_version_info"
  (!type already_seen 1035)
  (!srcfileloc  "cgraph.h" 872)
  nil )
 (!pair  "cgraph_simd_clone_arg"
  (!type already_seen 820)
  (!srcfileloc  "cgraph.h" 862)
  nil )
 (!pair  "cgraph_node"
  (!type already_seen 807)
  (!srcfileloc  "cgraph.h" 856)
  nil )
 (!pair  "ipa_param_performed_split"
  (!type already_seen 838)
  (!srcfileloc  "cgraph.h" 758)
  nil )
 (!pair  "vec<ipa_param_performed_split,va_gc>"
  (!type already_seen 837)
  (!srcfileloc  "cgraph.h" 758)
  nil )
 (!pair  "ipa_param_adjustments"
  (!type already_seen 832)
  (!srcfileloc  "cgraph.h" 746)
  nil )
 (!pair  "vec<ipa_replace_map*,va_gc>"
  (!type already_seen 828)
  (!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 1032)
  (!srcfileloc  "cgraph.h" 113)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 822)
  (!srcfileloc  "cgraph.h" 38)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 823)
  (!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 2110 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 1024)
  (!srcfileloc  "profile-count.h" 1206)
  nil )
 (!pair  "uint32_t"
  (!type already_seen 1026)
  (!srcfileloc  "profile-count.h" 807)
  nil )
 (!pair  "profile_probability"
  (!type already_seen 1025)
  (!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 1011)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "hash_table<used_type_hasher>"
  (!type already_seen 1012)
  (!srcfileloc  "function.h" 474)
  nil )
 (!pair  "hash_set<tree>"
  (!type already_seen 473)
  (!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 997)
  (!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 996)
  (!srcfileloc  "function.h" 134)
  nil )
 (!pair  "vec<rtx_insn*,va_gc>"
  (!type already_seen 992)
  (!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 984)
  (!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 613)
  (!srcfileloc  "libfuncs.h" 61)
  nil )
 (!pair  "hash_table<libfunc_hasher>"
  (!type already_seen 612)
  (!srcfileloc  "libfuncs.h" 61)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 979)
  (!srcfileloc  "tree-core.h" 2236)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 967)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 981)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 970)
  (!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 575)
  (!srcfileloc  "tree-core.h" 1449)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 574)
  (!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 963)
  (!srcfileloc  "tree.h" 6057)
  nil )
 (!pair  "typename"
  (!type already_seen 963)
  (!srcfileloc  "tree.h" 6057)
  nil )
 (!pair  "widest2_int_cst"
  (!type already_seen 960)
  (!srcfileloc  "tree.h" 5807)
  nil )
 (!pair  "generic_wide_int<wi::extended_tree<WIDE_INT_MAX_PRECISION*>>"
  (!type already_seen 960)
  (!srcfileloc  "tree.h" 5806)
  nil )
 (!pair  "unextended"
  (!type already_seen 959)
  (!srcfileloc  "tree.h" 5799)
  nil )
 (!pair  "generic_wide_int<unextended_tree>"
  (!type already_seen 959)
  (!srcfileloc  "tree.h" 5799)
  nil )
 (!pair  "extended"
  (!type already_seen 956)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "N"
  (!type already_seen 958)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "extended_tree<N"
  (!type already_seen 957)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "generic_wide_int<extended_tree<N>>"
  (!type already_seen 956)
  (!srcfileloc  "tree.h" 5792)
  nil )
 (!pair  "tree_to_poly_wide_ref"
  (!type already_seen 954)
  (!srcfileloc  "tree.h" 5783)
  nil )
 (!pair  "unextended_tree"
  (!type already_seen 943)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "generic_wide_int<unextended_tree"
  (!type already_seen 955)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<unextended_tree>>"
  (!type already_seen 954)
  (!srcfileloc  "tree.h" 5782)
  nil )
 (!pair  "tree_to_poly_offset_ref"
  (!type already_seen 952)
  (!srcfileloc  "tree.h" 5780)
  nil )
 (!pair  "generic_wide_int<offset_extended_tree"
  (!type already_seen 953)
  (!srcfileloc  "tree.h" 5779)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<offset_extended_tree>>"
  (!type already_seen 952)
  (!srcfileloc  "tree.h" 5779)
  nil )
 (!pair  "tree_to_poly_widest_ref"
  (!type already_seen 950)
  (!srcfileloc  "tree.h" 5777)
  nil )
 (!pair  "generic_wide_int<widest_extended_tree"
  (!type already_seen 951)
  (!srcfileloc  "tree.h" 5776)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<widest_extended_tree>>"
  (!type already_seen 950)
  (!srcfileloc  "tree.h" 5776)
  nil )
 (!pair  "tree_to_wide_ref"
  (!type already_seen 949)
  (!srcfileloc  "tree.h" 5768)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false,false>>"
  (!type already_seen 949)
  (!srcfileloc  "tree.h" 5767)
  nil )
 (!pair  "tree_to_offset_ref"
  (!type already_seen 948)
  (!srcfileloc  "tree.h" 5766)
  nil )
 (!pair  "generic_wide_int<offset_extended_tree>"
  (!type already_seen 948)
  (!srcfileloc  "tree.h" 5766)
  nil )
 (!pair  "tree_to_widest_ref"
  (!type already_seen 947)
  (!srcfileloc  "tree.h" 5765)
  nil )
 (!pair  "generic_wide_int<widest_extended_tree>"
  (!type already_seen 947)
  (!srcfileloc  "tree.h" 5765)
  nil )
 (!pair  "offset_extended_tree"
  (!type already_seen 946)
  (!srcfileloc  "tree.h" 5763)
  nil )
 (!pair  "extended_tree<ADDR_MAX_PRECISION>"
  (!type already_seen 946)
  (!srcfileloc  "tree.h" 5763)
  nil )
 (!pair  "widest_extended_tree"
  (!type already_seen 945)
  (!srcfileloc  "tree.h" 5762)
  nil )
 (!pair  "extended_tree<WIDE_INT_MAX_PRECISION>"
  (!type already_seen 945)
  (!srcfileloc  "tree.h" 5762)
  nil )
 (!pair  "type_tree_cache_map"
  (!type already_seen 941)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "type_tree_cache_traits"
  (!type already_seen 940)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "hash_map<tree,tree,type_tree_cache_traits>"
  (!type already_seen 941)
  (!srcfileloc  "tree.h" 5441)
  nil )
 (!pair  "decl_tree_cache_map"
  (!type already_seen 938)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "decl_tree_cache_traits"
  (!type already_seen 937)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "hash_map<tree,tree,decl_tree_cache_traits>"
  (!type already_seen 938)
  (!srcfileloc  "tree.h" 5435)
  nil )
 (!pair  "tree_cache_map"
  (!type already_seen 936)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "tree_cache_traits"
  (!type already_seen 935)
  (!srcfileloc  "tree.h" 5429)
  nil )
 (!pair  "hash_map<tree,tree,tree_cache_traits>"
  (!type already_seen 936)
  (!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 924)
  (!srcfileloc  "rtl.h" 2333)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false"
  (!type already_seen 925)
  (!srcfileloc  "rtl.h" 2332)
  nil )
 (!pair  "poly_int<NUM_POLY_INT_COEFFS,generic_wide_int<wide_int_ref_storage<false,false>>>"
  (!type already_seen 924)
  (!srcfileloc  "rtl.h" 2332)
  nil )
 (!pair  "rtx_mode_t"
  (!type already_seen 923)
  (!srcfileloc  "rtl.h" 2244)
  nil )
 (!pair  "std::pair<rtx,machine_mode>"
  (!type already_seen 923)
  (!srcfileloc  "rtl.h" 2244)
  nil )
 (!pair  "rtx_insn"
  (!type already_seen 296)
  (!srcfileloc  "rtl.h" 496)
  nil )
 (!pair  "rtx_insn_list"
  (!type already_seen 741)
  (!srcfileloc  "rtl.h" 493)
  nil )
 (!pair  "rtx_expr_list"
  (!type already_seen 739)
  (!srcfileloc  "rtl.h" 464)
  nil )
 (!pair  "NUM_POLY_INT_COEFFS"
  (!type already_seen 912)
  (!srcfileloc  "rtl.h" 291)
  nil )
 (!pair  "trailing_wide_ints<NUM_POLY_INT_COEFFS>"
  (!type already_seen 911)
  (!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 896)
  (!srcfileloc  "wide-int.h" 1406)
  nil )
 (!pair  "trailing_wide_int"
  (!type already_seen 895)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "trailing_wide_int_storage"
  (!type already_seen 894)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "generic_wide_int<trailing_wide_int_storage>"
  (!type already_seen 895)
  (!srcfileloc  "wide-int.h" 1366)
  nil )
 (!pair  "fixed_wide_int_storage"
  (!type already_seen 892)
  (!srcfileloc  "wide-int.h" 1221)
  nil )
 (!pair  "ASSIGNMENT_OPERATOR"
  (!type already_seen 890)
  (!srcfileloc  "wide-int.h" 754)
  nil )
 (!pair  "generic_wide_int"
  (!type already_seen 889)
  (!srcfileloc  "wide-int.h" 715)
  nil )
 (!pair  "T1"
  (!type already_seen 886)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "int_traits<T1"
  (!type already_seen 885)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T1"
  (!type already_seen 884)
  (!srcfileloc  "wide-int.h" 459)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T1>precision>>"
  (!type already_seen 883)
  (!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 879)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "T2"
  (!type already_seen 882)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "int_traits<T2"
  (!type already_seen 881)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "fixed_wide_int_storage<int_traits<T2"
  (!type already_seen 880)
  (!srcfileloc  "wide-int.h" 438)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<int_traits<T2>precision>>"
  (!type already_seen 878)
  (!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 874)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "false"
  (!type already_seen 876)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "wide_int_ref_storage<false"
  (!type already_seen 875)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "generic_wide_int<wide_int_ref_storage<false>>"
  (!type already_seen 874)
  (!srcfileloc  "wide-int.h" 334)
  nil )
 (!pair  "widest2_int"
  (!type already_seen 870)
  (!srcfileloc  "wide-int.h" 327)
  nil )
 (!pair  "generic_wide_int<fixed_wide_int_storage<WIDE_INT_MAX_PRECISION*>>"
  (!type already_seen 870)
  (!srcfileloc  "wide-int.h" 327)
  nil )
 (!pair  "WIDE_INT_MAX_PRECISION"
  (!type already_seen 869)
  (!srcfileloc  "wide-int.h" 324)
  nil )
 (!pair  "ADDR_MAX_PRECISION"
  (!type already_seen 869)
  (!srcfileloc  "wide-int.h" 323)
  nil )
 (!pair  "FIXED_WIDE_INT"
  (!type already_seen 869)
  (!srcfileloc  "wide-int.h" 323)
  nil )
 (!pair  "wide_int"
  (!type already_seen 501)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "wide_int_storage"
  (!type already_seen 502)
  (!srcfileloc  "wide-int.h" 322)
  nil )
 (!pair  "generic_wide_int<wide_int_storage>"
  (!type already_seen 501)
  (!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 864)
  (!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 862)
  (!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 860)
  (!srcfileloc  "defaults.h" 1482)
  nil )
 (!pair  "TARGET_UNIT"
  (!type already_seen 860)
  (!srcfileloc  "defaults.h" 1482)
  nil )
 (!pair  "machine_function"
  (!type already_seen 426)
  (!srcfileloc  "config/arm/arm.h" 1522)
  nil )
 (!pair  "arm_stack_offsets"
  (!type already_seen 427)
  (!srcfileloc  "config/arm/arm.h" 1476)
  nil )
 (!pair  "arm_cc"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm.h" 63)
  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 732)
  (!srcfileloc  "coretypes.h" 379)
  nil )
 (!pair  "string_int_pair"
  (!type already_seen 852)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "int"
  (!type already_seen 378)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "std::pair<char*,int>"
  (!type already_seen 852)
  (!srcfileloc  "coretypes.h" 352)
  nil )
 (!pair  "tree_pair"
  (!type already_seen 851)
  (!srcfileloc  "coretypes.h" 351)
  nil )
 (!pair  "std::pair<tree,tree>"
  (!type already_seen 851)
  (!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 753)
  (!srcfileloc  "coretypes.h" 95)
  nil )
 (!pair  "hwivec"
  (!type already_seen 753)
  (!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 738)
  (!srcfileloc  "coretypes.h" 71)
  nil )
 (!pair  "pod_mode<fixed_size_mode>"
  (!type already_seen 738)
  (!srcfileloc  "coretypes.h" 71)
  nil )
 (!pair  "scalar_int_mode_pod"
  (!type already_seen 737)
  (!srcfileloc  "coretypes.h" 70)
  nil )
 (!pair  "pod_mode<scalar_int_mode>"
  (!type already_seen 737)
  (!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 736)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "scalar_float_mode"
  (!type already_seen 731)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "opt_mode<scalar_float_mode>"
  (!type already_seen 736)
  (!srcfileloc  "coretypes.h" 67)
  nil )
 (!pair  "opt_scalar_int_mode"
  (!type already_seen 735)
  (!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 735)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "opt_scalar_mode"
  (!type already_seen 734)
  (!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 734)
  (!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 730)
  (!srcfileloc  "coretypes.h" 55)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 730)
  (!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 724)
  (!srcfileloc  "input.h" 212)
  nil )
 (!pair  "hash_map<location_hash,string_concat*>"
  (!type already_seen 728)
  (!srcfileloc  "input.h" 212)
  nil )
 (!pair  "string_concat_db"
  (!type already_seen 725)
  (!srcfileloc  "input.h" 193)
  nil )
 (!pair  "string_concat"
  (!type already_seen 722)
  (!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 719)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1258)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 718)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1244)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 717)
  (!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 713)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 712)
  (!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 689)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 685)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 711)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 710)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 709)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 700)
  (!srcfileloc  "../libcpp/include/line-map.h" 1264)
  nil )
 (!pair  "maps_info_macro"
  (!type already_seen 694)
  (!srcfileloc  "../libcpp/include/line-map.h" 780)
  nil )
 (!pair  "maps_info_ordinary"
  (!type already_seen 693)
  (!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 691)
  (!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 723
 (!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 2099)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3058)
  nil )
 (!pair  "ivar_offset_refs"
  (!type already_seen 2108)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2768)
  nil )
 (!pair  "protlist"
  (!type already_seen 2105)
  (!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 2099)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1439)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 2099)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1438)
  nil )
 (!pair  "protrefs"
  (!type already_seen 2105)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1262)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 2102)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1208)
  nil )
 (!pair  "classrefs"
  (!type already_seen 2099)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1043)
  nil )
 (!pair  "extern_names"
  (!type already_seen 2086)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 235)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 2111 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 2112 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 2113 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 2114 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 2083)
  (!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 2095)
  (!srcfileloc  "objc/objc-act.c" 260)
  nil )
 (!pair  "alias_name_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 164)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 163)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 159)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 2083)
  (!srcfileloc  "objc/objc-act.c" 158)
  nil )
 (!pair  "objc_global_trees"
  (!type array 2115 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 2090)
  (!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 2116 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "lto/lto-lang.c" 237)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2117 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 2118 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 2119 nil  gc_used "4" 
   (!type array 2120 nil  gc_used "3" 
    (!type already_seen 2062)
   )
  )
  (!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 2121 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_character_types"
  (!type array 2122 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 96)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 2123 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 92)
  nil )
 (!pair  "gfc_real_types"
  (!type array 2124 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 91)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 2125 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-types.c" 87)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 2126 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 2127 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 2128 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 2129 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 2130 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 23)
  )
  (!srcfileloc  "fortran/trans-io.c" 153)
  nil )
 (!pair  "st_parameter_field"
  (!type array 2131 nil  gc_used "" 
   (!type already_seen 2048)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 2132 nil  gc_used "" 
   (!type already_seen 2049)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 2133 nil  gc_used "" 
   (!type already_seen 2047)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 114)
  nil )
 (!pair  "module_htab"
  (!type already_seen 2042)
  (!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 435)
  (!srcfileloc  "fortran/f95-lang.c" 311)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 435)
  (!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 435)
  (!srcfileloc  "fortran/f95-lang.c" 179)
  nil )
 (!pair  "tinfo_types"
  (!type array 2134 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 2135 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-builtins.cc" 1001)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2136 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 2137 nil  gc_used "DTI_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "d/d-tree.h" 425)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 435)
  (!srcfileloc  "d/d-tree.h" 121)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 435)
  (!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 2016)
  (!srcfileloc  "cp/typeck2.c" 178)
  nil )
 (!pair  "deleted_copy_types"
  (!type already_seen 472)
  (!srcfileloc  "cp/tree.c" 4087)
  nil )
 (!pair  "list_hash_table"
  (!type already_seen 2009)
  (!srcfileloc  "cp/tree.c" 2060)
  nil )
 (!pair  "cplus_array_htab"
  (!type already_seen 2005)
  (!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 2000)
  (!srcfileloc  "cp/semantics.c" 138)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 1997)
  (!srcfileloc  "cp/rtti.c" 122)
  nil )
 (!pair  "dguide_cache"
  (!type already_seen 1994)
  (!srcfileloc  "cp/pt.c" 28697)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "explicit_specifier_map"
  (!type already_seen 939)
  (!srcfileloc  "cp/pt.c" 13527)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "defarg_inst"
  (!type already_seen 939)
  (!srcfileloc  "cp/pt.c" 13416)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "last_error_tinst_level"
  (!type already_seen 1842)
  (!srcfileloc  "cp/pt.c" 10726)
  nil )
 (!pair  "pending_template_freelist_head"
  (!type already_seen 1980)
  (!srcfileloc  "cp/pt.c" 9378)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "tinst_level_freelist_head"
  (!type already_seen 1842)
  (!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 1984)
  (!srcfileloc  "cp/pt.c" 121)
  nil )
 (!pair  "decl_specializations"
  (!type already_seen 1984)
  (!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 1842)
  (!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 1980)
  (!srcfileloc  "cp/pt.c" 61)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 1980)
  (!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 1868)
  (!srcfileloc  "cp/parser.c" 43522)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 1860)
  (!srcfileloc  "cp/parser.c" 1907)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_saved_scope"
  (!type already_seen 1823)
  (!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 543)
  (!srcfileloc  "cp/name-lookup.c" 1732)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "comp_cat_cache"
  (!type array 2138 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 2139 nil  gc_used "SUBID_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "cp/mangle.c" 151)
  nil )
 (!pair  "G"
  (!type already_seen 1960)
  (!srcfileloc  "cp/mangle.c" 122)
  nil )
 (!pair  "subsumption_cache"
  (!type already_seen 1959)
  (!srcfileloc  "cp/logic.cc" 817)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "conv_type_names"
  (!type already_seen 1952)
  (!srcfileloc  "cp/lex.c" 613)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 1948)
  (!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 939)
  (!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 1945)
  (!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 1942)
  (!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 939)
  (!srcfileloc  "cp/decl.c" 8121)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "typename_htab"
  (!type already_seen 1935)
  (!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 1930)
  (!srcfileloc  "cp/decl.c" 247)
  nil )
 (!pair  "debug_type_map"
  (!type already_seen 942)
  (!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 1927)
  (!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 1909)
  (!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 1904)
  (!srcfileloc  "cp/constraint.cc" 2308)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "decl_constraints"
  (!type already_seen 939)
  (!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 1895)
  (!srcfileloc  "cp/constexpr.c" 1100)
  nil )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1889)
  (!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 1883)
  (!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 2140 nil  gc_used "OVL_OP_MAX" 
   (!type already_seen 8)
  )
  (!srcfileloc  "cp/cp-tree.h" 5870)
  nil )
 (!pair  "ovl_op_mapping"
  (!type array 2141 nil  gc_used "MAX_TREE_CODES" 
   (!type already_seen 8)
  )
  (!srcfileloc  "cp/cp-tree.h" 5868)
  nil )
 (!pair  "ovl_op_info"
  (!type array 2142 nil  gc_used "2" 
   (!type array 2143 nil  gc_used "OVL_OP_MAX" 
    (!type already_seen 1837)
   )
  )
  (!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 1823)
  (!srcfileloc  "cp/cp-tree.h" 1733)
  nil )
 (!pair  "cp_global_trees"
  (!type array 2144 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 1803)
  (!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 1786)
  (!srcfileloc  "c-family/c-pragma.c" 1008)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 1784)
  (!srcfileloc  "c-family/c-pragma.c" 487)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 1781)
  (!srcfileloc  "c-family/c-pragma.c" 241)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 1778)
  (!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 2145 nil  gc_used "LAZY_HEX_FP_VALUES_CNT" 
   (!type already_seen 1774)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1634)
  nil )
 (!pair  "g_string_concat_db"
  (!type already_seen 726)
  (!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 2146 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 1764)
  (!srcfileloc  "c-family/c-common.c" 7804)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 1762)
  (!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 2147 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 2148 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 1754)
  (!srcfileloc  "c/c-decl.c" 558)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 644)
  (!srcfileloc  "c/c-decl.c" 510)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 506)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 502)
  nil )
 (!pair  "file_scope"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 497)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 650)
  (!srcfileloc  "c/c-decl.c" 493)
  nil )
 (!pair  "current_scope"
  (!type already_seen 650)
  (!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 453)
  (!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 2149 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "brig/brig-lang.c" 577)
  nil )
 (!pair  "built_in_attributes"
  (!type array 2150 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 2151 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 6170)
  nil )
 (!pair  "builtin_types"
  (!type array 2152 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 1741)
  (!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 1737)
  (!srcfileloc  "ada/gcc-interface/utils.c" 247)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 1737)
  (!srcfileloc  "ada/gcc-interface/utils.c" 244)
  nil )
 (!pair  "float_types"
  (!type array 2153 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 2154 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 2155 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 1734)
  (!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 1726)
  (!srcfileloc  "ada/gcc-interface/trans.c" 162)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 1724)
  (!srcfileloc  "ada/gcc-interface/trans.c" 149)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 1724)
  (!srcfileloc  "ada/gcc-interface/trans.c" 146)
  nil )
 (!pair  "dummy_to_subprog_map"
  (!type already_seen 1719)
  (!srcfileloc  "ada/gcc-interface/decl.c" 197)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "annotate_value_cache"
  (!type already_seen 1711)
  (!srcfileloc  "ada/gcc-interface/decl.c" 156)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 2156 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 2157 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 2158 nil  gc_used "(int) ADT_LAST" 
   (!type already_seen 23)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 451)
  nil )
 (!pair  "arm_builtin_decls"
  (!type array 2159 nil  gc_used "ARM_BUILTIN_MAX" 
   (!type already_seen 23)
  )
  (!srcfileloc  "config/arm/arm-builtins.c" 1349)
  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 2160 nil  gc_used "3" 
   (!type already_seen 23)
  )
  (!srcfileloc  "hsa-common.c" 745)
  nil )
 (!pair  "hsa_decl_kernel_mapping"
  (!type already_seen 1688)
  (!srcfileloc  "hsa-common.c" 68)
  nil )
 (!pair  "internal_fn_fnspec_array"
  (!type array 2161 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "internal-fn.h" 124)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 1676)
  (!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 2162 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 1660)
  (!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 2163 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 1640)
  (!srcfileloc  "ipa-fnsummary.h" 221)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1597)
  (!srcfileloc  "trans-mem.c" 465)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipcp_transformation_sum"
  (!type already_seen 1594)
  (!srcfileloc  "ipa-prop.h" 904)
  nil )
 (!pair  "ipa_edge_args_sum"
  (!type already_seen 1591)
  (!srcfileloc  "ipa-prop.h" 877)
  nil )
 (!pair  "ipa_node_params_sum"
  (!type already_seen 1589)
  (!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 2164 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 1576)
  )
  (!srcfileloc  "tree-phinodes.c" 70)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "clone_fn_ids"
  (!type already_seen 1573)
  (!srcfileloc  "cgraphclones.c" 465)
  nil )
 (!pair  "vtable_entry_type"
  (!type already_seen 23)
  (!srcfileloc  "cgraphunit.c" 220)
  nil )
 (!pair  "arm_previous_fndecl"
  (!type already_seen 23)
  (!srcfileloc  "config/arm/arm.c" 32214)
  nil )
 (!pair  "tls_get_addr_libfunc"
  (!type already_seen 100)
  (!srcfileloc  "config/arm/arm.c" 8945)
  nil )
 (!pair  "pic_labelno"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm.c" 8081)
  nil )
 (!pair  "init_optimize"
  (!type already_seen 23)
  (!srcfileloc  "config/arm/arm.c" 3021)
  nil )
 (!pair  "thumb_flipper"
  (!type already_seen 2)
  (!srcfileloc  "config/arm/arm.c" 3018)
  nil )
 (!pair  "va_list_type"
  (!type already_seen 23)
  (!srcfileloc  "config/arm/arm.c" 2814)
  nil )
 (!pair  "speculation_barrier_libfunc"
  (!type already_seen 100)
  (!srcfileloc  "config/arm/arm.c" 2500)
  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 1532)
  (!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 1518)
  (!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 1478)
  (!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 1456)
  (!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 1451)
  (!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 1002)
  (!srcfileloc  "varasm.c" 206)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 2)
  (!srcfileloc  "varasm.c" 203)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1448)
  (!srcfileloc  "varasm.c" 200)
  nil )
 (!pair  "section_htab"
  (!type already_seen 1445)
  (!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 2165 nil  gc_used "MAX_BOOL_CACHED_PREC + 1" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree.c" 8034)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 2166 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 1439)
  (!srcfileloc  "tree.c" 262)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1436)
  (!srcfileloc  "tree.c" 242)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1436)
  (!srcfileloc  "tree.c" 239)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 1434)
  (!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 1431)
  (!srcfileloc  "tree.c" 217)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "int_cst_hash_table"
  (!type already_seen 1428)
  (!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 1425)
  (!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 1421)
  (!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 1397)
  (!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 1376)
  (!srcfileloc  "ggc-tests.c" 401)
  nil )
 (!pair  "root_test_node"
  (!type already_seen 1374)
  (!srcfileloc  "ggc-tests.c" 339)
  nil )
 (!pair  "test_some_other_subclass_as_base_ptr"
  (!type already_seen 1368)
  (!srcfileloc  "ggc-tests.c" 286)
  nil )
 (!pair  "test_some_subclass_as_base_ptr"
  (!type already_seen 1368)
  (!srcfileloc  "ggc-tests.c" 285)
  nil )
 (!pair  "test_some_other_subclass"
  (!type already_seen 1372)
  (!srcfileloc  "ggc-tests.c" 284)
  nil )
 (!pair  "test_some_subclass"
  (!type already_seen 1370)
  (!srcfileloc  "ggc-tests.c" 283)
  nil )
 (!pair  "test_example_base"
  (!type already_seen 1368)
  (!srcfileloc  "ggc-tests.c" 282)
  nil )
 (!pair  "test_of_deletable"
  (!type already_seen 915)
  (!srcfileloc  "ggc-tests.c" 216)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "root_test_of_union_2"
  (!type already_seen 1365)
  (!srcfileloc  "ggc-tests.c" 146)
  nil )
 (!pair  "root_test_of_union_1"
  (!type already_seen 1365)
  (!srcfileloc  "ggc-tests.c" 145)
  nil )
 (!pair  "root_test_of_length"
  (!type already_seen 1362)
  (!srcfileloc  "ggc-tests.c" 79)
  nil )
 (!pair  "root_test_struct"
  (!type already_seen 915)
  (!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 1349)
  (!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 1341)
  (!srcfileloc  "function.c" 604)
  nil )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1337)
  (!srcfileloc  "function.c" 129)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1337)
  (!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 2167 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 2168 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 990)
  (!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 1326)
  (!srcfileloc  "emit-rtl.c" 189)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1323)
  (!srcfileloc  "emit-rtl.c" 180)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1320)
  (!srcfileloc  "emit-rtl.c" 171)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_poly_int_htab"
  (!type already_seen 1317)
  (!srcfileloc  "emit-rtl.c" 162)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_wide_int_htab"
  (!type already_seen 1314)
  (!srcfileloc  "emit-rtl.c" 152)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1311)
  (!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 1308)
  (!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 1291)
  (!srcfileloc  "dwarf2out.c" 23562)
  nil )
 (!pair  "external_die_map"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 5794)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1273)
  (!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 1266)
  (!srcfileloc  "dwarf2out.c" 3606)
  nil )
 (!pair  "label_num"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2out.c" 3604)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 508)
  (!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 1264)
  (!srcfileloc  "dwarf2out.c" 3589)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1262)
  (!srcfileloc  "dwarf2out.c" 3586)
  nil )
 (!pair  "macinfo_table"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 3576)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 3572)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 3568)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 3560)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1218)
  (!srcfileloc  "dwarf2out.c" 3557)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1218)
  (!srcfileloc  "dwarf2out.c" 3556)
  nil )
 (!pair  "cur_line_info_table"
  (!type already_seen 1218)
  (!srcfileloc  "dwarf2out.c" 3553)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 1234)
  (!srcfileloc  "dwarf2out.c" 3539)
  nil )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1254)
  (!srcfileloc  "dwarf2out.c" 3535)
  nil )
 (!pair  "call_arg_locations"
  (!type already_seen 1247)
  (!srcfileloc  "dwarf2out.c" 3507)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 3504)
  nil )
 (!pair  "common_block_die_table"
  (!type already_seen 1241)
  (!srcfileloc  "dwarf2out.c" 3438)
  nil )
 (!pair  "variable_value_hash"
  (!type already_seen 1238)
  (!srcfileloc  "dwarf2out.c" 3428)
  nil )
 (!pair  "decl_die_table"
  (!type already_seen 1232)
  (!srcfileloc  "dwarf2out.c" 3411)
  nil )
 (!pair  "file_table"
  (!type already_seen 1229)
  (!srcfileloc  "dwarf2out.c" 3400)
  nil )
 (!pair  "deferred_asm_name"
  (!type already_seen 1225)
  (!srcfileloc  "dwarf2out.c" 3389)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1225)
  (!srcfileloc  "dwarf2out.c" 3385)
  nil )
 (!pair  "cu_die_list"
  (!type already_seen 1225)
  (!srcfileloc  "dwarf2out.c" 3382)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 494)
  (!srcfileloc  "dwarf2out.c" 3379)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 491)
  (!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 491)
  (!srcfileloc  "dwarf2out.c" 272)
  nil )
 (!pair  "auto_die"
  (!type already_seen 491)
  (!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 1213)
  (!srcfileloc  "dwarf2out.c" 254)
  nil )
 (!pair  "debug_line_str_hash"
  (!type already_seen 1213)
  (!srcfileloc  "dwarf2out.c" 233)
  nil )
 (!pair  "debug_str_hash"
  (!type already_seen 1213)
  (!srcfileloc  "dwarf2out.c" 231)
  nil )
 (!pair  "fde_vec"
  (!type already_seen 1210)
  (!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 1203)
  (!srcfileloc  "dwarf2cfi.c" 195)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1201)
  (!srcfileloc  "dwarf2cfi.c" 193)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 2)
  (!srcfileloc  "dwarf2asm.c" 867)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1199)
  (!srcfileloc  "dwarf2asm.c" 865)
  nil )
 (!pair  "cie_cfi_vec"
  (!type already_seen 476)
  (!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 1194)
  (!srcfileloc  "dbxout.c" 180)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "func_sums"
  (!type already_seen 1188)
  (!srcfileloc  "ipa-sra.c" 427)
  nil )
 (!pair  "ipa_vr_hash_table"
  (!type already_seen 1097)
  (!srcfileloc  "ipa-prop.c" 151)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "ipa_bits_hash_table"
  (!type already_seen 1094)
  (!srcfileloc  "ipa-prop.c" 105)
  (!options 
   (!option cache string  "")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1036)
  (!srcfileloc  "cgraph.c" 139)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1090)
  (!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 1083)
  (!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 1059)
  (!srcfileloc  "cgraph.h" 3585)
  nil )
 (!pair  "symtab"
  (!type already_seen 1059)
  (!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 1013)
  (!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 609)
  (!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 2169 nil  gc_used "(int)END_BUILTINS" 
   (!type already_seen 979)
  )
  (!srcfileloc  "tree-core.h" 2236)
  nil )
 (!pair  "sizetype_tab"
  (!type array 2170 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2224)
  nil )
 (!pair  "integer_types"
  (!type array 2171 nil  gc_used "itk_none" 
   (!type already_seen 23)
  )
  (!srcfileloc  "tree-core.h" 2221)
  nil )
 (!pair  "global_trees"
  (!type array 2172 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 982)
  (!srcfileloc  "tree-core.h" 2201)
  nil )
 (!pair  "int_n_trees"
  (!type array 2173 nil  gc_used "NUM_INT_N_ENTS" 
   (!type already_seen 964)
  )
  (!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 592)
  (!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 2174 nil  gc_used "4" 
   (!type array 2175 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 2176 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 2177 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 23)
  )
  (!srcfileloc  "coverage.c" 94)
  nil )
 (!pair  "functions_head"
  (!type already_seen 903)
  (!srcfileloc  "coverage.c" 85)
  nil )
 (!pair  "thumb_call_via_label"
  (!type array 2178 nil  gc_used "14" 
   (!type already_seen 100)
  )
  (!srcfileloc  "config/arm/arm.h" 1530)
  nil )
 (!pair  "arm_target_insn"
  (!type already_seen 100)
  (!srcfileloc  "config/arm/arm.h" 76)
  nil )
 (!pair  "saved_line_table"
  (!type already_seen 699)
  (!srcfileloc  "input.h" 27)
  nil )
 (!pair  "line_table"
  (!type already_seen 699)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
