;;;;@@@@ 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  "4.9.2")
(!srcdir  "../../gcc")
(!languages 9 ada c cp fortran go java lto objc objcp)
(!fileslist 197
 (!srcfile 511  "../libcpp/include/line-map.h")
 (!srcfile 511  "../libcpp/include/cpplib.h")
 (!srcfile 511  "../libcpp/include/cpp-id-data.h")
 (!srcfile 511  "input.h")
 (!srcfile 511  "coretypes.h")
 (!file 511  "auto-host.h")
 (!srcfile 511  "../include/ansidecl.h")
 (!file 511  "options.h")
 (!srcfile 511  "config/vxworks-dummy.h")
 (!srcfile 511  "config/i386/biarch64.h")
 (!srcfile 511  "config/i386/i386.h")
 (!srcfile 511  "config/i386/unix.h")
 (!srcfile 511  "config/i386/att.h")
 (!srcfile 511  "config/dbxelf.h")
 (!srcfile 511  "config/elfos.h")
 (!srcfile 511  "config/gnu-user.h")
 (!srcfile 511  "config/glibc-stdint.h")
 (!srcfile 511  "config/i386/x86-64.h")
 (!srcfile 511  "config/i386/gnu-user-common.h")
 (!srcfile 511  "config/i386/gnu-user64.h")
 (!srcfile 511  "config/linux.h")
 (!srcfile 511  "config/linux-android.h")
 (!srcfile 511  "config/i386/linux-common.h")
 (!srcfile 511  "config/i386/linux64.h")
 (!srcfile 511  "config/initfini-array.h")
 (!srcfile 511  "defaults.h")
 (!srcfile 511  "../include/hashtab.h")
 (!srcfile 511  "../include/splay-tree.h")
 (!srcfile 511  "bitmap.h")
 (!srcfile 511  "alias.h")
 (!srcfile 511  "coverage.c")
 (!srcfile 511  "rtl.h")
 (!srcfile 511  "optabs.h")
 (!srcfile 511  "tree.h")
 (!srcfile 511  "tree-core.h")
 (!srcfile 511  "libfuncs.h")
 (!srcfile 511  "../libcpp/include/symtab.h")
 (!srcfile 511  "../include/obstack.h")
 (!srcfile 511  "real.h")
 (!srcfile 511  "function.h")
 (!srcfile 511  "insn-addr.h")
 (!srcfile 511  "hwint.h")
 (!srcfile 511  "fixed-value.h")
 (!srcfile 511  "output.h")
 (!srcfile 511  "cfgloop.h")
 (!srcfile 511  "cselib.h")
 (!srcfile 511  "basic-block.h")
 (!srcfile 511  "ipa-ref.h")
 (!srcfile 511  "cgraph.h")
 (!srcfile 511  "reload.h")
 (!srcfile 511  "caller-save.c")
 (!srcfile 511  "symtab.c")
 (!srcfile 511  "alias.c")
 (!srcfile 511  "bitmap.c")
 (!srcfile 511  "cselib.c")
 (!srcfile 511  "cgraph.c")
 (!srcfile 511  "ipa-prop.c")
 (!srcfile 511  "ipa-cp.c")
 (!srcfile 511  "ipa-utils.h")
 (!srcfile 511  "dbxout.c")
 (!srcfile 511  "dwarf2out.h")
 (!srcfile 511  "dwarf2asm.c")
 (!srcfile 511  "dwarf2cfi.c")
 (!srcfile 511  "dwarf2out.c")
 (!srcfile 511  "tree-vect-generic.c")
 (!srcfile 511  "dojump.c")
 (!srcfile 511  "emit-rtl.c")
 (!srcfile 511  "except.h")
 (!srcfile 511  "explow.c")
 (!srcfile 511  "expr.c")
 (!srcfile 511  "expr.h")
 (!srcfile 511  "function.c")
 (!srcfile 511  "except.c")
 (!srcfile 511  "gcse.c")
 (!srcfile 511  "godump.c")
 (!srcfile 511  "lists.c")
 (!srcfile 511  "optabs.c")
 (!srcfile 511  "profile.c")
 (!srcfile 511  "mcf.c")
 (!srcfile 511  "reg-stack.c")
 (!srcfile 511  "cfgrtl.c")
 (!srcfile 511  "sdbout.c")
 (!srcfile 511  "stor-layout.c")
 (!srcfile 511  "stringpool.c")
 (!srcfile 511  "tree.c")
 (!srcfile 511  "varasm.c")
 (!srcfile 511  "gimple.h")
 (!srcfile 511  "gimple-ssa.h")
 (!srcfile 511  "tree-ssanames.c")
 (!srcfile 511  "tree-eh.c")
 (!srcfile 511  "tree-ssa-address.c")
 (!srcfile 511  "tree-cfg.c")
 (!srcfile 511  "tree-dfa.c")
 (!srcfile 511  "tree-iterator.c")
 (!srcfile 511  "gimple-expr.c")
 (!srcfile 511  "tree-chrec.h")
 (!srcfile 511  "tree-scalar-evolution.c")
 (!srcfile 511  "tree-ssa-operands.h")
 (!srcfile 511  "tree-profile.c")
 (!srcfile 511  "tree-nested.c")
 (!srcfile 511  "tree-parloops.c")
 (!srcfile 511  "omp-low.c")
 (!srcfile 511  "targhooks.c")
 (!srcfile 511  "config/i386/i386.c")
 (!srcfile 511  "passes.c")
 (!srcfile 511  "cgraphunit.c")
 (!srcfile 511  "cgraphclones.c")
 (!srcfile 511  "tree-ssa-propagate.c")
 (!srcfile 511  "tree-phinodes.c")
 (!srcfile 511  "tree-ssa-alias.h")
 (!srcfile 511  "tree-ssanames.h")
 (!srcfile 511  "ipa-prop.h")
 (!srcfile 511  "trans-mem.c")
 (!srcfile 511  "lto-streamer.h")
 (!srcfile 511  "target-globals.h")
 (!srcfile 511  "ipa-inline.h")
 (!srcfile 511  "vtable-verify.c")
 (!srcfile 511  "asan.c")
 (!srcfile 511  "ubsan.c")
 (!srcfile 511  "tsan.c")
 (!srcfile 511  "ipa-devirt.c")
 (!srcfile 511  "internal-fn.h")
 (!srcfile 1  "ada/gcc-interface/ada-tree.h")
 (!srcfile 1  "ada/gcc-interface/gigi.h")
 (!srcfile 1  "ada/gcc-interface/decl.c")
 (!srcfile 1  "ada/gcc-interface/trans.c")
 (!srcfile 1  "ada/gcc-interface/utils.c")
 (!srcfile 1  "ada/gcc-interface/misc.c")
 (!srcfile 2  "c/c-lang.c")
 (!srcfile 130  "c/c-tree.h")
 (!srcfile 130  "c/c-decl.c")
 (!srcfile 390  "c-family/c-common.c")
 (!srcfile 390  "c-family/c-common.h")
 (!srcfile 390  "c-family/c-objc.h")
 (!srcfile 386  "c-family/c-cppbuiltin.c")
 (!srcfile 390  "c-family/c-pragma.h")
 (!srcfile 390  "c-family/c-pragma.c")
 (!srcfile 130  "c/c-objc-common.c")
 (!srcfile 130  "c/c-parser.c")
 (!srcfile 130  "c/c-lang.h")
 (!srcfile 260  "cp/rtti.c")
 (!srcfile 260  "cp/mangle.c")
 (!srcfile 260  "cp/name-lookup.h")
 (!srcfile 260  "cp/name-lookup.c")
 (!srcfile 260  "cp/cp-tree.h")
 (!srcfile 260  "cp/decl.h")
 (!srcfile 260  "cp/call.c")
 (!srcfile 260  "cp/decl.c")
 (!srcfile 260  "cp/decl2.c")
 (!srcfile 260  "cp/pt.c")
 (!srcfile 260  "cp/repo.c")
 (!srcfile 260  "cp/semantics.c")
 (!srcfile 260  "cp/tree.c")
 (!srcfile 260  "cp/parser.h")
 (!srcfile 260  "cp/parser.c")
 (!srcfile 260  "cp/method.c")
 (!srcfile 260  "cp/typeck2.c")
 (!srcfile 260  "c-family/c-lex.c")
 (!srcfile 260  "cp/class.c")
 (!srcfile 260  "cp/cp-objcp-common.c")
 (!srcfile 4  "cp/cp-lang.c")
 (!srcfile 4  "cp/except.c")
 (!srcfile 4  "cp/vtable-class-hierarchy.c")
 (!srcfile 8  "fortran/f95-lang.c")
 (!srcfile 8  "fortran/trans-decl.c")
 (!srcfile 8  "fortran/trans-intrinsic.c")
 (!srcfile 8  "fortran/trans-io.c")
 (!srcfile 8  "fortran/trans-stmt.c")
 (!srcfile 8  "fortran/trans-types.c")
 (!srcfile 8  "fortran/trans-types.h")
 (!srcfile 8  "fortran/trans.h")
 (!srcfile 8  "fortran/trans-const.h")
 (!srcfile 16  "go/go-lang.c")
 (!srcfile 16  "go/go-c.h")
 (!srcfile 32  "java/java-tree.h")
 (!srcfile 32  "java/jcf.h")
 (!srcfile 32  "java/parse.h")
 (!srcfile 32  "java/builtins.c")
 (!srcfile 32  "java/class.c")
 (!srcfile 32  "java/constants.c")
 (!srcfile 32  "java/decl.c")
 (!srcfile 32  "java/expr.c")
 (!srcfile 32  "java/jcf-parse.c")
 (!srcfile 32  "java/lang.c")
 (!srcfile 32  "java/mangle.c")
 (!srcfile 32  "java/resource.c")
 (!srcfile 64  "lto/lto-tree.h")
 (!srcfile 64  "lto/lto-lang.c")
 (!srcfile 64  "lto/lto.c")
 (!srcfile 64  "lto/lto.h")
 (!srcfile 384  "objc/objc-map.h")
 (!srcfile 384  "objc/objc-act.h")
 (!srcfile 384  "objc/objc-act.c")
 (!srcfile 384  "objc/objc-runtime-shared-support.c")
 (!srcfile 384  "objc/objc-gnu-runtime-abi-01.c")
 (!srcfile 384  "objc/objc-next-runtime-abi-01.c")
 (!srcfile 384  "objc/objc-next-runtime-abi-02.c")
)
(!structures 1085
 
 (!type user_struct 1 
  (!type pointer 2 nil  gc_used
   (!type already_seen 1)
  )
  gc_pointed_to "vec<ivarref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
  (!fields 2 
   (!pair  "va_gc"
    (!type undefined 3 nil  gc_unused "va_gc"
     (!srcfileloc  "rtl.h" 238)
    )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
    nil )
   (!pair  "ivarref_entry"
    (!type struct 4 nil  gc_used "ivarref_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2763)
     (!fields 2 
      (!pair  "decl"
       (!type pointer 5 
        (!type pointer 6 nil  gc_used
         (!type already_seen 5)
        )
        gc_pointed_to
        (!type union 7 
         (!type already_seen 5)
         gc_pointed_to "tree_node"
         (!srcfileloc  "tree-core.h" 1631)
         (!fields 38 
          (!pair  "base"
           (!type struct 8 nil  gc_used "tree_base"
            (!srcfileloc  "tree-core.h" 766)
            (!fields 18 
             (!pair  "code"
              (!type scalar_nonchar 9 
               (!type pointer 10 
                (!type pointer 11 nil  gc_unused
                 (!type already_seen 10)
                )
                gc_used
                (!type already_seen 9)
               )
               gc_pointed_to)
              (!srcfileloc  "tree-core.h" 711)
              nil )
             (!pair  "side_effects_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 713)
              nil )
             (!pair  "constant_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 714)
              nil )
             (!pair  "addressable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 715)
              nil )
             (!pair  "volatile_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 716)
              nil )
             (!pair  "readonly_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 717)
              nil )
             (!pair  "asm_written_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 718)
              nil )
             (!pair  "nowarning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 719)
              nil )
             (!pair  "visited"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 720)
              nil )
             (!pair  "used_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 722)
              nil )
             (!pair  "nothrow_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 723)
              nil )
             (!pair  "static_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 724)
              nil )
             (!pair  "public_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 725)
              nil )
             (!pair  "private_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 726)
              nil )
             (!pair  "protected_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 727)
              nil )
             (!pair  "deprecated_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 728)
              nil )
             (!pair  "default_def_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 729)
              nil )
             (!pair  "u"
              (!type union 12 nil  gc_unused "anonymous:../../gcc/tree-core.h:731"
               (!srcfileloc  "tree-core.h" 765)
               (!fields 3 
                (!pair  "bits"
                 (!type struct 13 nil  gc_unused "anonymous:../../gcc/tree-core.h:734"
                  (!srcfileloc  "tree-core.h" 757)
                  (!fields 16 
                   (!pair  "lang_flag_0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 735)
                    nil )
                   (!pair  "lang_flag_1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 736)
                    nil )
                   (!pair  "lang_flag_2"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 737)
                    nil )
                   (!pair  "lang_flag_3"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 738)
                    nil )
                   (!pair  "lang_flag_4"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 739)
                    nil )
                   (!pair  "lang_flag_5"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 740)
                    nil )
                   (!pair  "lang_flag_6"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 741)
                    nil )
                   (!pair  "saturating_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 742)
                    nil )
                   (!pair  "unsigned_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 744)
                    nil )
                   (!pair  "packed_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 745)
                    nil )
                   (!pair  "user_align"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 746)
                    nil )
                   (!pair  "nameless_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 747)
                    nil )
                   (!pair  "atomic_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 748)
                    nil )
                   (!pair  "spare0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 749)
                    nil )
                   (!pair  "spare1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 751)
                    nil )
                   (!pair  "address_space"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 756)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "tree-core.h" 757)
                 nil )
                (!pair  "length"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 762)
                 nil )
                (!pair  "version"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 764)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 765)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1589)
           (!options 
            (!option tag string  "TS_BASE")
           )
          )
          (!pair  "typed"
           (!type struct 14 nil  gc_used "tree_typed"
            (!srcfileloc  "tree-core.h" 1042)
            (!fields 2 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1040)
              nil )
             (!pair  "type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1041)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1590)
           (!options 
            (!option tag string  "TS_TYPED")
           )
          )
          (!pair  "common"
           (!type struct 15 nil  gc_used "tree_common"
            (!srcfileloc  "tree-core.h" 1047)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1045)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1046)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1591)
           (!options 
            (!option tag string  "TS_COMMON")
           )
          )
          (!pair  "int_cst"
           (!type struct 16 nil  gc_used "tree_int_cst"
            (!srcfileloc  "tree-core.h" 1052)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1050)
              nil )
             (!pair  "int_cst"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1051)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1592)
           (!options 
            (!option tag string  "TS_INT_CST")
           )
          )
          (!pair  "real_cst"
           (!type struct 17 nil  gc_used "tree_real_cst"
            (!srcfileloc  "tree-core.h" 1058)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1056)
              nil )
             (!pair  "real_cst_ptr"
              (!type pointer 18 nil  gc_used
               (!type struct 19 
                (!type already_seen 18)
                gc_pointed_to "real_value"
                (!srcfileloc  "real.h" 52)
                (!fields 7 
                 (!pair  "cl"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 45)
                  nil )
                 (!pair  "decimal"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 46)
                  nil )
                 (!pair  "sign"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 47)
                  nil )
                 (!pair  "signalling"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 48)
                  nil )
                 (!pair  "canonical"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 49)
                  nil )
                 (!pair  "uexp"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 50)
                  nil )
                 (!pair  "sig"
                  (!type array 20 nil  gc_used "SIGSZ" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "real.h" 51)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1057)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1593)
           (!options 
            (!option tag string  "TS_REAL_CST")
           )
          )
          (!pair  "fixed_cst"
           (!type struct 21 nil  gc_used "tree_fixed_cst"
            (!srcfileloc  "tree-core.h" 1063)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1061)
              nil )
             (!pair  "fixed_cst_ptr"
              (!type pointer 22 nil  gc_used
               (!type struct 23 
                (!type already_seen 22)
                gc_pointed_to "fixed_value"
                (!srcfileloc  "fixed-value.h" 31)
                (!fields 2 
                 (!pair  "data"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 29)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 30)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1062)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1594)
           (!options 
            (!option tag string  "TS_FIXED_CST")
           )
          )
          (!pair  "vector"
           (!type struct 24 nil  gc_used "tree_vector"
            (!srcfileloc  "tree-core.h" 1080)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1078)
              nil )
             (!pair  "elts"
              (!type array 25 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1079)
              (!options 
               (!option length string  "TYPE_VECTOR_SUBPARTS (TREE_TYPE ((tree)&%h))")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1595)
           (!options 
            (!option tag string  "TS_VECTOR")
           )
          )
          (!pair  "string"
           (!type struct 26 nil  gc_used "tree_string"
            (!srcfileloc  "tree-core.h" 1069)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1066)
              nil )
             (!pair  "length"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1067)
              nil )
             (!pair  "str"
              (!type array 27 nil  gc_used "1" 
               (!type scalar_char 28 
                (!type pointer 29 
                 (!type pointer 30 nil  gc_unused
                  (!type already_seen 29)
                 )
                 gc_unused
                 (!type already_seen 28)
                )
                gc_used)
              )
              (!srcfileloc  "tree-core.h" 1068)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1596)
           (!options 
            (!option tag string  "TS_STRING")
           )
          )
          (!pair  "complex"
           (!type struct 31 nil  gc_used "tree_complex"
            (!srcfileloc  "tree-core.h" 1075)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1072)
              nil )
             (!pair  "real"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1073)
              nil )
             (!pair  "imag"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1074)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1597)
           (!options 
            (!option tag string  "TS_COMPLEX")
           )
          )
          (!pair  "identifier"
           (!type struct 32 nil  gc_used "tree_identifier"
            (!srcfileloc  "tree-core.h" 1085)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1083)
              nil )
             (!pair  "id"
              (!type struct 33 
               (!type pointer 34 
                (!type pointer 35 nil  gc_unused
                 (!type already_seen 34)
                )
                gc_unused
                (!type already_seen 33)
               )
               gc_used "ht_identifier"
               (!srcfileloc  "../libcpp/include/symtab.h" 35)
               (!fields 3 
                (!pair  "str"
                 (!type string 36 nil  gc_used)
                 (!srcfileloc  "../libcpp/include/symtab.h" 32)
                 nil )
                (!pair  "len"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 33)
                 nil )
                (!pair  "hash_value"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 34)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1084)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1598)
           (!options 
            (!option tag string  "TS_IDENTIFIER")
           )
          )
          (!pair  "decl_minimal"
           (!type struct 37 nil  gc_used "tree_decl_minimal"
            (!srcfileloc  "tree-core.h" 1319)
            (!fields 5 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1314)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1315)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1316)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1317)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1318)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1599)
           (!options 
            (!option tag string  "TS_DECL_MINIMAL")
           )
          )
          (!pair  "decl_common"
           (!type struct 38 nil  gc_used "tree_decl_common"
            (!srcfileloc  "tree-core.h" 1385)
            (!fields 35 
             (!pair  "common"
              (!type already_seen 37)
              (!srcfileloc  "tree-core.h" 1322)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1323)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1325)
              nil )
             (!pair  "nonlocal_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1327)
              nil )
             (!pair  "virtual_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1328)
              nil )
             (!pair  "ignored_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1329)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1330)
              nil )
             (!pair  "artificial_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1331)
              nil )
             (!pair  "preserve_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1332)
              nil )
             (!pair  "debug_expr_is_from"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1333)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1335)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1336)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1337)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1338)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1339)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1340)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1341)
              nil )
             (!pair  "lang_flag_7"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1342)
              nil )
             (!pair  "lang_flag_8"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1343)
              nil )
             (!pair  "decl_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1346)
              nil )
             (!pair  "decl_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1350)
              nil )
             (!pair  "decl_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1354)
              nil )
             (!pair  "decl_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1356)
              nil )
             (!pair  "gimple_reg_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1359)
              nil )
             (!pair  "decl_by_reference_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1361)
              nil )
             (!pair  "decl_read_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1363)
              nil )
             (!pair  "decl_nonshareable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1365)
              nil )
             (!pair  "off_align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1368)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1373)
              nil )
             (!pair  "pt_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1376)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1378)
              nil )
             (!pair  "initial"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1379)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1380)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1381)
              nil )
             (!pair  "lang_specific"
              (!type pointer 39 nil  gc_used
               (!type lang_struct 40 
                (!type already_seen 39)
                gc_pointed_to "lang_decl"
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                (!fields 0 )
                (!options 
                 (!option variable_size string  "")
                )
                511 
                (!homotypes 7
                 (!type struct 41 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "lto/lto-tree.h" 34)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 33)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  64 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 42 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "java/java-tree.h" 818)
                  (!fields 2 
                   (!pair  "desc"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 812)
                    nil )
                   (!pair  "u"
                    (!type union 43 nil  gc_used "lang_decl_u"
                     (!srcfileloc  "java/java-tree.h" 817)
                     (!fields 2 
                      (!pair  "f"
                       (!type struct 44 nil  gc_used "lang_decl_func"
                        (!srcfileloc  "java/java-tree.h" 744)
                        (!fields 20 
                         (!pair  "code_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 717)
                          nil )
                         (!pair  "code_length"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 718)
                          nil )
                         (!pair  "linenumbers_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 719)
                          nil )
                         (!pair  "localvariables_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 720)
                          nil )
                         (!pair  "arg_slots"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 721)
                          nil )
                         (!pair  "max_locals"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 722)
                          nil )
                         (!pair  "max_stack"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 723)
                          nil )
                         (!pair  "arg_slot_count"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 724)
                          nil )
                         (!pair  "last_line"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 725)
                          nil )
                         (!pair  "throws_list"
                          (!type pointer 45 nil  gc_used
                           (!type user_struct 46 
                            (!type already_seen 45)
                            gc_pointed_to "vec<tree,va_gc>"
                            (!srcfileloc  "tree-core.h" 1233)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "tree-core.h" 1233)
                              nil )
                             (!pair  "tree"
                              (!type already_seen 5)
                              (!srcfileloc  "tree-core.h" 1233)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 726)
                          nil )
                         (!pair  "exc_obj"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 727)
                          nil )
                         (!pair  "init_test_table"
                          (!type pointer 47 nil  gc_used
                           (!type param_struct 48 
                            (!type already_seen 47)
                            gc_pointed_to
                            (!type struct 49 
                             (!type pointer 50 nil  gc_unused
                              (!type already_seen 49)
                             )
                             gc_used "htab"
                             (!srcfileloc  "../include/hashtab.h" 142)
                             (!fields 15 
                              (!pair  "hash_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 102)
                               nil )
                              (!pair  "eq_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 105)
                               nil )
                              (!pair  "del_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 108)
                               nil )
                              (!pair  "entries"
                               (!type already_seen 11)
                               (!srcfileloc  "../include/hashtab.h" 111)
                               (!options 
                                (!option length string  "%h.size")
                                (!option use_param string  "")
                               )
                              )
                              (!pair  "size"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 114)
                               nil )
                              (!pair  "n_elements"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 117)
                               nil )
                              (!pair  "n_deleted"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 120)
                               nil )
                              (!pair  "searches"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 124)
                               nil )
                              (!pair  "collisions"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 128)
                               nil )
                              (!pair  "alloc_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 131)
                               nil )
                              (!pair  "free_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 132)
                               nil )
                              (!pair  "alloc_arg"
                               (!type already_seen 10)
                               (!srcfileloc  "../include/hashtab.h" 135)
                               (!options 
                                (!option skip string  "")
                               )
                              )
                              (!pair  "alloc_with_arg_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 136)
                               nil )
                              (!pair  "free_with_arg_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 137)
                               nil )
                              (!pair  "size_prime_index"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 141)
                               nil )
                             )
                             nil 511 nil nil )
                            
                            (!type pointer 51 nil  gc_used
                             (!type struct 52 
                              (!type already_seen 51)
                              gc_pointed_to "treetreehash_entry"
                              (!srcfileloc  "java/java-tree.h" 749)
                              (!fields 2 
                               (!pair  "key"
                                (!type already_seen 5)
                                (!srcfileloc  "java/java-tree.h" 747)
                                nil )
                               (!pair  "value"
                                (!type already_seen 5)
                                (!srcfileloc  "java/java-tree.h" 748)
                                nil )
                              )
                              nil 32 nil nil )
                            )
                            nil nil nil nil nil nil nil nil nil nil )
                          )
                          (!srcfileloc  "java/java-tree.h" 730)
                          (!options 
                           (!option param_is type 
                            (!type already_seen 52)
                           )
                          )
                         )
                         (!pair  "ict"
                          (!type pointer 53 nil  gc_used
                           (!type param_struct 54 
                            (!type already_seen 53)
                            gc_pointed_to
                            (!type already_seen 49)
                            
                            (!type already_seen 5)
                            nil nil nil nil nil nil nil nil nil nil )
                          )
                          (!srcfileloc  "java/java-tree.h" 733)
                          (!options 
                           (!option param_is type 
                            (!type already_seen 7)
                           )
                          )
                         )
                         (!pair  "native"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 735)
                          nil )
                         (!pair  "strictfp"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 736)
                          nil )
                         (!pair  "invisible"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 737)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 740)
                          nil )
                         (!pair  "local_cni"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 741)
                          nil )
                         (!pair  "bridge"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 742)
                          nil )
                         (!pair  "varargs"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 743)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 815)
                       (!options 
                        (!option tag string  "LANG_DECL_FUNC")
                       )
                      )
                      (!pair  "v"
                       (!type struct 55 nil  gc_used "lang_decl_var"
                        (!srcfileloc  "java/java-tree.h" 805)
                        (!fields 10 
                         (!pair  "slot_number"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 795)
                          nil )
                         (!pair  "start_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 796)
                          nil )
                         (!pair  "end_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 797)
                          nil )
                         (!pair  "slot_chain"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 798)
                          nil )
                         (!pair  "owner"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 799)
                          nil )
                         (!pair  "freed"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 800)
                          nil )
                         (!pair  "local_slot"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 801)
                          nil )
                         (!pair  "class_field"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 802)
                          nil )
                         (!pair  "vtable"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 803)
                          nil )
                         (!pair  "field_enum"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 804)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 816)
                       (!options 
                        (!option tag string  "LANG_DECL_VAR")
                       )
                      )
                     )
                     nil 32 
                     (!type lang_struct 56 nil  gc_used "lang_decl_u"
                      (!srcfileloc  "cp/cp-tree.h" 2071)
                      (!fields 0 )
                      (!options 
                       (!option desc string  "%h.base.selector")
                      )
                      292 
                      (!homotypes 2
                       (!type already_seen 43)
                       
                       (!type union 57 nil  gc_used "lang_decl_u"
                        (!srcfileloc  "cp/cp-tree.h" 2071)
                        (!fields 5 
                         (!pair  "base"
                          (!type struct 58 nil  gc_used "lang_decl_base"
                           (!srcfileloc  "cp/cp-tree.h" 1950)
                           (!fields 12 
                            (!pair  "selector"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1937)
                             nil )
                            (!pair  "language"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1938)
                             nil )
                            (!pair  "use_template"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1939)
                             nil )
                            (!pair  "not_really_extern"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1940)
                             nil )
                            (!pair  "initialized_in_class"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1941)
                             nil )
                            (!pair  "repo_available_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1942)
                             nil )
                            (!pair  "threadprivate_or_deleted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1943)
                             nil )
                            (!pair  "anticipated_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1944)
                             nil )
                            (!pair  "friend_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1945)
                             nil )
                            (!pair  "template_conv_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1946)
                             nil )
                            (!pair  "odr_used"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1947)
                             nil )
                            (!pair  "u2sel"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1948)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2066)
                          (!options 
                           (!option default string  "")
                          )
                         )
                         (!pair  "min"
                          (!type struct 59 nil  gc_used "lang_decl_min"
                           (!srcfileloc  "cp/cp-tree.h" 1982)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 58)
                             (!srcfileloc  "cp/cp-tree.h" 1964)
                             nil )
                            (!pair  "template_info"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 1971)
                             nil )
                            (!pair  "u2"
                             (!type union 60 nil  gc_used "lang_decl_u2"
                              (!srcfileloc  "cp/cp-tree.h" 1981)
                              (!fields 2 
                               (!pair  "access"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 1977)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "discriminator"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 1980)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 1981)
                             (!options 
                              (!option desc string  "%0.u.base.u2sel")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2067)
                          (!options 
                           (!option tag string  "0")
                          )
                         )
                         (!pair  "fn"
                          (!type struct 61 nil  gc_used "lang_decl_fn"
                           (!srcfileloc  "cp/cp-tree.h" 2043)
                           (!fields 22 
                            (!pair  "min"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 1987)
                             nil )
                            (!pair  "operator_code"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1991)
                             nil )
                            (!pair  "global_ctor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1993)
                             nil )
                            (!pair  "global_dtor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1994)
                             nil )
                            (!pair  "constructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1995)
                             nil )
                            (!pair  "destructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1996)
                             nil )
                            (!pair  "assignment_operator_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1997)
                             nil )
                            (!pair  "static_function"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1998)
                             nil )
                            (!pair  "pure_virtual"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1999)
                             nil )
                            (!pair  "defaulted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2000)
                             nil )
                            (!pair  "has_in_charge_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2002)
                             nil )
                            (!pair  "has_vtt_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2003)
                             nil )
                            (!pair  "pending_inline_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2004)
                             nil )
                            (!pair  "nonconverting"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2005)
                             nil )
                            (!pair  "thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2006)
                             nil )
                            (!pair  "this_thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2007)
                             nil )
                            (!pair  "hidden_friend_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2008)
                             nil )
                            (!pair  "omp_declare_reduction_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2009)
                             nil )
                            (!pair  "befriending_classes"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2015)
                             nil )
                            (!pair  "context"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2023)
                             nil )
                            (!pair  "u5"
                             (!type union 62 nil  gc_used "lang_decl_u5"
                              (!srcfileloc  "cp/cp-tree.h" 2034)
                              (!fields 2 
                               (!pair  "cloned_function"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2029)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "fixed_offset"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2033)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2034)
                             (!options 
                              (!option desc string  "%1.thunk_p")
                             )
                            )
                            (!pair  "u"
                             (!type union 63 nil  gc_used "lang_decl_u3"
                              (!srcfileloc  "cp/cp-tree.h" 2041)
                              (!fields 2 
                               (!pair  "pending_inline_info"
                                (!type pointer 64 nil  gc_used
                                 (!type struct 65 
                                  (!type already_seen 64)
                                  gc_pointed_to "cp_token_cache"
                                  (!srcfileloc  "cp/parser.h" 125)
                                  (!fields 2 
                                   (!pair  "first"
                                    (!type pointer 66 nil  gc_unused
                                     (!type struct 67 
                                      (!type already_seen 66)
                                      gc_used "cp_token"
                                      (!srcfileloc  "cp/parser.h" 71)
                                      (!fields 9 
                                       (!pair  "type"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 44)
                                        nil )
                                       (!pair  "keyword"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 47)
                                        nil )
                                       (!pair  "flags"
                                        (!type already_seen 28)
                                        (!srcfileloc  "cp/parser.h" 49)
                                        nil )
                                       (!pair  "pragma_kind"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 51)
                                        nil )
                                       (!pair  "implicit_extern_c"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 53)
                                        nil )
                                       (!pair  "ambiguous_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 57)
                                        nil )
                                       (!pair  "purged_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 61)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 63)
                                        nil )
                                       (!pair  "u"
                                        (!type union 68 nil  gc_used "cp_token_value"
                                         (!srcfileloc  "cp/parser.h" 70)
                                         (!fields 2 
                                          (!pair  "tree_check_value"
                                           (!type pointer 69 nil  gc_used
                                            (!type struct 70 
                                             (!type already_seen 69)
                                             gc_pointed_to "tree_check"
                                             (!srcfileloc  "cp/parser.h" 38)
                                             (!fields 3 
                                              (!pair  "value"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 32)
                                               nil )
                                              (!pair  "checks"
                                               (!type pointer 71 nil  gc_used
                                                (!type user_struct 72 
                                                 (!type already_seen 71)
                                                 gc_pointed_to "vec<deferred_access_check,va_gc>"
                                                 (!srcfileloc  "cp/semantics.c" 135)
                                                 (!fields 2 
                                                  (!pair  "va_gc"
                                                   (!type already_seen 3)
                                                   (!srcfileloc  "cp/semantics.c" 135)
                                                   nil )
                                                  (!pair  "deferred_access_check"
                                                   (!type struct 73 nil  gc_used "deferred_access_check"
                                                    (!srcfileloc  "cp/cp-tree.h" 5700)
                                                    (!fields 4 
                                                     (!pair  "binfo"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5693)
                                                      nil )
                                                     (!pair  "decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5695)
                                                      nil )
                                                     (!pair  "diag_decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5697)
                                                      nil )
                                                     (!pair  "loc"
                                                      (!type already_seen 9)
                                                      (!srcfileloc  "cp/cp-tree.h" 5699)
                                                      nil )
                                                    )
                                                    nil 260 nil nil )
                                                   (!srcfileloc  "cp/semantics.c" 135)
                                                   nil )
                                                 )
                                                )
                                               )
                                               (!srcfileloc  "cp/parser.h" 34)
                                               nil )
                                              (!pair  "qualifying_scope"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 37)
                                               nil )
                                             )
                                             nil 260 nil nil )
                                           )
                                           (!srcfileloc  "cp/parser.h" 67)
                                           (!options 
                                            (!option tag string  "1")
                                           )
                                          )
                                          (!pair  "value"
                                           (!type already_seen 5)
                                           (!srcfileloc  "cp/parser.h" 69)
                                           (!options 
                                            (!option tag string  "0")
                                           )
                                          )
                                         )
                                         nil 260 nil )
                                        (!srcfileloc  "cp/parser.h" 70)
                                        (!options 
                                         (!option desc string  "(%1.type == CPP_TEMPLATE_ID) || (%1.type == CPP_NESTED_NAME_SPECIFIER)")
                                        )
                                       )
                                      )
                                      nil 260 nil nil )
                                    )
                                    (!srcfileloc  "cp/parser.h" 121)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "last"
                                    (!type already_seen 66)
                                    (!srcfileloc  "cp/parser.h" 124)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                  )
                                  nil 260 nil nil )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2038)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                               (!pair  "saved_language_function"
                                (!type pointer 74 nil  gc_used
                                 (!type lang_struct 75 
                                  (!type already_seen 74)
                                  gc_pointed_to "language_function"
                                  (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                  (!fields 0 )
                                  nil 511 
                                  (!homotypes 7
                                   (!type struct 76 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "lto/lto-tree.h" 44)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "lto/lto-tree.h" 43)
                                      nil )
                                    )
                                    nil 64 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 77 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "java/lang.c" 119)
                                    (!fields 1 
                                     (!pair  "unused"
                                      (!type already_seen 9)
                                      (!srcfileloc  "java/lang.c" 118)
                                      nil )
                                    )
                                    nil 32 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 78 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "go/go-lang.c" 83)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "go/go-lang.c" 82)
                                      nil )
                                    )
                                    nil 16 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 79 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "fortran/f95-lang.c" 75)
                                    (!fields 1 
                                     (!pair  "binding_level"
                                      (!type pointer 80 nil  gc_used
                                       (!type lang_struct 81 
                                        (!type already_seen 80)
                                        gc_pointed_to "binding_level"
                                        (!srcfileloc  "fortran/f95-lang.c" 318)
                                        (!fields 0 )
                                        nil 40 
                                        (!homotypes 2
                                         (!type struct 82 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "java/decl.c" 423)
                                          (!fields 10 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 391)
                                            nil )
                                           (!pair  "shadowed"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 397)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 402)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 80)
                                            (!srcfileloc  "java/decl.c" 405)
                                            nil )
                                           (!pair  "end_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 408)
                                            nil )
                                           (!pair  "start_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 410)
                                            nil )
                                           (!pair  "stmts"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 413)
                                            nil )
                                           (!pair  "exception_range"
                                            (!type pointer 83 nil  gc_unused
                                             (!type struct 84 
                                              (!type already_seen 83)
                                              gc_unused "eh_range"nil 
                                              (!fields 0 )
                                              nil 0 nil nil )
                                            )
                                            (!srcfileloc  "java/decl.c" 416)
                                            (!options 
                                             (!option skip string  "")
                                            )
                                           )
                                           (!pair  "binding_depth"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 419)
                                            nil )
                                           (!pair  "loc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 422)
                                            nil )
                                          )
                                          nil 32 
                                          (!type already_seen 81)
                                          nil )
                                         
                                         (!type struct 85 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "fortran/f95-lang.c" 318)
                                          (!fields 3 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 312)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 315)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 80)
                                            (!srcfileloc  "fortran/f95-lang.c" 317)
                                            nil )
                                          )
                                          nil 8 
                                          (!type already_seen 81)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "fortran/f95-lang.c" 74)
                                      nil )
                                    )
                                    nil 8 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 86 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "cp/cp-tree.h" 1155)
                                    (!fields 21 
                                     (!pair  "base"
                                      (!type struct 87 nil  gc_used "c_language_function"
                                       (!srcfileloc  "c-family/c-common.h" 515)
                                       (!fields 2 
                                        (!pair  "x_stmt_tree"
                                         (!type struct 88 
                                          (!type pointer 89 nil  gc_unused
                                           (!type already_seen 88)
                                          )
                                          gc_used "stmt_tree_s"
                                          (!srcfileloc  "c-family/c-common.h" 500)
                                          (!fields 2 
                                           (!pair  "x_cur_stmt_list"
                                            (!type already_seen 45)
                                            (!srcfileloc  "c-family/c-common.h" 488)
                                            nil )
                                           (!pair  "stmts_are_full_exprs_p"
                                            (!type already_seen 9)
                                            (!srcfileloc  "c-family/c-common.h" 499)
                                            nil )
                                          )
                                          nil 390 nil nil )
                                         (!srcfileloc  "c-family/c-common.h" 510)
                                         nil )
                                        (!pair  "local_typedefs"
                                         (!type already_seen 45)
                                         (!srcfileloc  "c-family/c-common.h" 514)
                                         nil )
                                       )
                                       nil 390 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 1127)
                                      nil )
                                     (!pair  "x_cdtor_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1129)
                                      nil )
                                     (!pair  "x_current_class_ptr"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1130)
                                      nil )
                                     (!pair  "x_current_class_ref"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1131)
                                      nil )
                                     (!pair  "x_eh_spec_block"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1132)
                                      nil )
                                     (!pair  "x_in_charge_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1133)
                                      nil )
                                     (!pair  "x_vtt_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1134)
                                      nil )
                                     (!pair  "x_return_value"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1135)
                                      nil )
                                     (!pair  "x_auto_return_pattern"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1136)
                                      nil )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1138)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1139)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1140)
                                      nil )
                                     (!pair  "infinite_loop"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1141)
                                      nil )
                                     (!pair  "x_in_function_try_handler"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1142)
                                      nil )
                                     (!pair  "x_in_base_initializer"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1143)
                                      nil )
                                     (!pair  "can_throw"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1146)
                                      nil )
                                     (!pair  "x_named_labels"
                                      (!type pointer 90 nil  gc_used
                                       (!type param_struct 91 
                                        (!type already_seen 90)
                                        gc_pointed_to
                                        (!type already_seen 49)
                                        
                                        (!type pointer 92 nil  gc_used
                                         (!type struct 93 
                                          (!type already_seen 92)
                                          gc_pointed_to "named_label_entry"
                                          (!srcfileloc  "cp/decl.c" 237)
                                          (!fields 8 
                                           (!pair  "label_decl"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 214)
                                            nil )
                                           (!pair  "binding_level"
                                            (!type pointer 94 nil  gc_used
                                             (!type struct 95 
                                              (!type already_seen 94)
                                              gc_pointed_to "cp_binding_level"
                                              (!srcfileloc  "cp/name-lookup.h" 266)
                                              (!fields 20 
                                               (!pair  "names"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 187)
                                                nil )
                                               (!pair  "namespaces"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 190)
                                                nil )
                                               (!pair  "static_decls"
                                                (!type already_seen 45)
                                                (!srcfileloc  "cp/name-lookup.h" 193)
                                                nil )
                                               (!pair  "usings"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 196)
                                                nil )
                                               (!pair  "using_directives"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 200)
                                                nil )
                                               (!pair  "class_shadowed"
                                                (!type pointer 96 nil  gc_used
                                                 (!type user_struct 97 
                                                  (!type already_seen 96)
                                                  gc_pointed_to "vec<cp_class_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 204)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 204)
                                                    nil )
                                                   (!pair  "cp_class_binding"
                                                    (!type struct 98 nil  gc_used "cp_class_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 147)
                                                     (!fields 2 
                                                      (!pair  "base"
                                                       (!type pointer 99 nil  gc_used
                                                        (!type struct 100 
                                                         (!type already_seen 99)
                                                         gc_pointed_to "cxx_binding"
                                                         (!srcfileloc  "cp/name-lookup.h" 76)
                                                         (!fields 6 
                                                          (!pair  "previous"
                                                           (!type already_seen 99)
                                                           (!srcfileloc  "cp/name-lookup.h" 67)
                                                           nil )
                                                          (!pair  "value"
                                                           (!type already_seen 5)
                                                           (!srcfileloc  "cp/name-lookup.h" 69)
                                                           nil )
                                                          (!pair  "type"
                                                           (!type already_seen 5)
                                                           (!srcfileloc  "cp/name-lookup.h" 71)
                                                           nil )
                                                          (!pair  "scope"
                                                           (!type already_seen 94)
                                                           (!srcfileloc  "cp/name-lookup.h" 73)
                                                           nil )
                                                          (!pair  "value_is_inherited"
                                                           (!type already_seen 9)
                                                           (!srcfileloc  "cp/name-lookup.h" 74)
                                                           nil )
                                                          (!pair  "is_local"
                                                           (!type already_seen 9)
                                                           (!srcfileloc  "cp/name-lookup.h" 75)
                                                           nil )
                                                         )
                                                         nil 260 nil nil )
                                                       )
                                                       (!srcfileloc  "cp/name-lookup.h" 144)
                                                       nil )
                                                      (!pair  "identifier"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 146)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 204)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 204)
                                                nil )
                                               (!pair  "type_shadowed"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 211)
                                                nil )
                                               (!pair  "shadowed_labels"
                                                (!type pointer 101 nil  gc_used
                                                 (!type user_struct 102 
                                                  (!type already_seen 101)
                                                  gc_pointed_to "vec<cp_label_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 215)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 215)
                                                    nil )
                                                   (!pair  "cp_label_binding"
                                                    (!type struct 103 nil  gc_used "cp_label_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 155)
                                                     (!fields 2 
                                                      (!pair  "label"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 152)
                                                       nil )
                                                      (!pair  "prev_value"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 154)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 215)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 215)
                                                nil )
                                               (!pair  "blocks"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 220)
                                                nil )
                                               (!pair  "this_entity"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 224)
                                                nil )
                                               (!pair  "level_chain"
                                                (!type already_seen 94)
                                                (!srcfileloc  "cp/name-lookup.h" 227)
                                                nil )
                                               (!pair  "dead_vars_from_for"
                                                (!type already_seen 45)
                                                (!srcfileloc  "cp/name-lookup.h" 232)
                                                nil )
                                               (!pair  "statement_list"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 236)
                                                nil )
                                               (!pair  "binding_depth"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 239)
                                                nil )
                                               (!pair  "kind"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 244)
                                                nil )
                                               (!pair  "explicit_spec_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 248)
                                                nil )
                                               (!pair  "keep"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 251)
                                                nil )
                                               (!pair  "more_cleanups_ok"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 255)
                                                nil )
                                               (!pair  "have_cleanups"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 256)
                                                nil )
                                               (!pair  "defining_class_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 263)
                                                nil )
                                              )
                                              nil 260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 219)
                                            nil )
                                           (!pair  "names_in_scope"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 223)
                                            nil )
                                           (!pair  "bad_decls"
                                            (!type already_seen 45)
                                            (!srcfileloc  "cp/decl.c" 226)
                                            nil )
                                           (!pair  "uses"
                                            (!type pointer 104 nil  gc_used
                                             (!type struct 105 
                                              (!type already_seen 104)
                                              gc_pointed_to "named_label_use_entry"
                                              (!srcfileloc  "cp/decl.c" 206)
                                              (!fields 5 
                                               (!pair  "next"
                                                (!type already_seen 104)
                                                (!srcfileloc  "cp/decl.c" 191)
                                                nil )
                                               (!pair  "binding_level"
                                                (!type already_seen 94)
                                                (!srcfileloc  "cp/decl.c" 195)
                                                nil )
                                               (!pair  "names_in_scope"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/decl.c" 199)
                                                nil )
                                               (!pair  "o_goto_locus"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 201)
                                                nil )
                                               (!pair  "in_omp_scope"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 205)
                                                nil )
                                              )
                                              (!options 
                                               (!option chain_next string  "%h.next")
                                              )
                                              260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 229)
                                            nil )
                                           (!pair  "in_try_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 234)
                                            nil )
                                           (!pair  "in_catch_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 235)
                                            nil )
                                           (!pair  "in_omp_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 236)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1148)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 93)
                                       )
                                      )
                                     )
                                     (!pair  "bindings"
                                      (!type already_seen 94)
                                      (!srcfileloc  "cp/cp-tree.h" 1149)
                                      nil )
                                     (!pair  "x_local_names"
                                      (!type already_seen 45)
                                      (!srcfileloc  "cp/cp-tree.h" 1150)
                                      nil )
                                     (!pair  "infinite_loops"
                                      (!type already_seen 45)
                                      (!srcfileloc  "cp/cp-tree.h" 1153)
                                      nil )
                                     (!pair  "extern_decl_map"
                                      (!type pointer 106 nil  gc_used
                                       (!type param_struct 107 
                                        (!type already_seen 106)
                                        gc_pointed_to
                                        (!type already_seen 49)
                                        
                                        (!type pointer 108 nil  gc_used
                                         (!type struct 109 
                                          (!type already_seen 108)
                                          gc_pointed_to "cxx_int_tree_map"
                                          (!srcfileloc  "cp/cp-tree.h" 1119)
                                          (!fields 2 
                                           (!pair  "uid"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/cp-tree.h" 1117)
                                            nil )
                                           (!pair  "to"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/cp-tree.h" 1118)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1154)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 109)
                                       )
                                      )
                                     )
                                    )
                                    nil 260 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 110 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "c/c-lang.h" 56)
                                    (!fields 9 
                                     (!pair  "base"
                                      (!type already_seen 87)
                                      (!srcfileloc  "c/c-lang.h" 47)
                                      nil )
                                     (!pair  "x_break_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 48)
                                      nil )
                                     (!pair  "x_cont_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 49)
                                      nil )
                                     (!pair  "x_switch_stack"
                                      (!type pointer 111 nil  gc_unused
                                       (!type struct 112 
                                        (!type already_seen 111)
                                        gc_unused "c_switch"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 50)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "arg_info"
                                      (!type pointer 113 nil  gc_unused
                                       (!type struct 114 
                                        (!type already_seen 113)
                                        gc_unused "c_arg_info"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 51)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 52)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 53)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 54)
                                      nil )
                                     (!pair  "warn_about_return_type"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 55)
                                      nil )
                                    )
                                    nil 130 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 115 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                    (!fields 4 
                                     (!pair  "parm_attr_cache"
                                      (!type pointer 116 nil  gc_used
                                       (!type user_struct 117 
                                        (!type already_seen 116)
                                        gc_pointed_to "vec<parm_attr,va_gc>"
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 3)
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                          nil )
                                         (!pair  "parm_attr"
                                          (!type pointer 118 nil  gc_used
                                           (!type struct 119 
                                            (!type already_seen 118)
                                            gc_pointed_to "parm_attr_d"
                                            (!srcfileloc  "ada/gcc-interface/trans.c" 129)
                                            (!fields 5 
                                             (!pair  "id"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 124)
                                              nil )
                                             (!pair  "dim"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 125)
                                              nil )
                                             (!pair  "first"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 126)
                                              nil )
                                             (!pair  "last"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 127)
                                              nil )
                                             (!pair  "length"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 128)
                                              nil )
                                            )
                                            nil 1 nil nil )
                                          )
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                      nil )
                                     (!pair  "named_ret_val"
                                      (!type pointer 120 nil  gc_used
                                       (!type struct 121 
                                        (!type already_seen 120)
                                        gc_pointed_to "bitmap_head"
                                        (!srcfileloc  "bitmap.h" 189)
                                        (!fields 5 
                                         (!pair  "indx"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 181)
                                          nil )
                                         (!pair  "descriptor_id"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 182)
                                          nil )
                                         (!pair  "first"
                                          (!type pointer 122 nil  gc_used
                                           (!type struct 123 
                                            (!type already_seen 122)
                                            gc_pointed_to "bitmap_element"
                                            (!srcfileloc  "bitmap.h" 185)
                                            (!fields 4 
                                             (!pair  "next"
                                              (!type already_seen 122)
                                              (!srcfileloc  "bitmap.h" 171)
                                              nil )
                                             (!pair  "prev"
                                              (!type already_seen 122)
                                              (!srcfileloc  "bitmap.h" 172)
                                              nil )
                                             (!pair  "indx"
                                              (!type already_seen 9)
                                              (!srcfileloc  "bitmap.h" 173)
                                              nil )
                                             (!pair  "bits"
                                              (!type array 124 nil  gc_used "BITMAP_ELEMENT_WORDS" 
                                               (!type already_seen 9)
                                              )
                                              (!srcfileloc  "bitmap.h" 174)
                                              nil )
                                            )
                                            (!options 
                                             (!option chain_prev string  "%h.prev")
                                             (!option chain_next string  "%h.next")
                                            )
                                            511 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 185)
                                          nil )
                                         (!pair  "current"
                                          (!type already_seen 122)
                                          (!srcfileloc  "bitmap.h" 186)
                                          (!options 
                                           (!option skip string  "")
                                          )
                                         )
                                         (!pair  "obstack"
                                          (!type pointer 125 nil  gc_used
                                           (!type struct 126 
                                            (!type already_seen 125)
                                            gc_pointed_to "bitmap_obstack"
                                            (!srcfileloc  "bitmap.h" 187)
                                            (!fields 3 
                                             (!pair  "elements"
                                              (!type already_seen 122)
                                              (!srcfileloc  "bitmap.h" 153)
                                              nil )
                                             (!pair  "heads"
                                              (!type already_seen 120)
                                              (!srcfileloc  "bitmap.h" 154)
                                              nil )
                                             (!pair  "obstack"
                                              (!type struct 127 nil  gc_unused "obstack"nil 
                                               (!fields 0 )
                                               nil 0 nil nil )
                                              (!srcfileloc  "bitmap.h" 155)
                                              (!options 
                                               (!option skip string  "")
                                              )
                                             )
                                            )
                                            nil 511 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 187)
                                          nil )
                                        )
                                        nil 511 nil nil )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 136)
                                      nil )
                                     (!pair  "other_ret_val"
                                      (!type already_seen 45)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 137)
                                      nil )
                                     (!pair  "gnat_ret"
                                      (!type already_seen 9)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 138)
                                      nil )
                                    )
                                    nil 1 
                                    (!type already_seen 75)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2040)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2041)
                             (!options 
                              (!option desc string  "%1.pending_inline_p")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2068)
                          (!options 
                           (!option tag string  "1")
                          )
                         )
                         (!pair  "ns"
                          (!type struct 128 nil  gc_used "lang_decl_ns"
                           (!srcfileloc  "cp/cp-tree.h" 2050)
                           (!fields 2 
                            (!pair  "base"
                             (!type already_seen 58)
                             (!srcfileloc  "cp/cp-tree.h" 2048)
                             nil )
                            (!pair  "level"
                             (!type already_seen 94)
                             (!srcfileloc  "cp/cp-tree.h" 2049)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2069)
                          (!options 
                           (!option tag string  "2")
                          )
                         )
                         (!pair  "parm"
                          (!type struct 129 nil  gc_used "lang_decl_parm"
                           (!srcfileloc  "cp/cp-tree.h" 2058)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 58)
                             (!srcfileloc  "cp/cp-tree.h" 2055)
                             nil )
                            (!pair  "level"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2056)
                             nil )
                            (!pair  "index"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2057)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2070)
                          (!options 
                           (!option tag string  "3")
                          )
                         )
                        )
                        (!options 
                         (!option desc string  "%h.base.selector")
                        )
                        260 
                        (!type already_seen 56)
                       )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 817)
                    (!options 
                     (!option desc string  "%0.desc")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  32 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 130 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "go/go-lang.c" 57)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 28)
                    (!srcfileloc  "go/go-lang.c" 56)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  16 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 131 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "fortran/trans.h" 834)
                  (!fields 8 
                   (!pair  "saved_descriptor"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 822)
                    nil )
                   (!pair  "stringlen"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 827)
                    nil )
                   (!pair  "addr"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 828)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 829)
                    nil )
                   (!pair  "token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 831)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 831)
                    nil )
                   (!pair  "scalar_allocatable"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 832)
                    nil )
                   (!pair  "scalar_pointer"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 833)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  8 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 132 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "cp/cp-tree.h" 2072)
                  (!fields 1 
                   (!pair  "u"
                    (!type already_seen 56)
                    (!srcfileloc  "cp/cp-tree.h" 2071)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 133 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "c/c-lang.h" 40)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 28)
                    (!srcfileloc  "c/c-lang.h" 39)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  130 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 134 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                  (!fields 1 
                   (!pair  "t"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  1 
                  (!type already_seen 40)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1384)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1600)
           (!options 
            (!option tag string  "TS_DECL_COMMON")
           )
          )
          (!pair  "decl_with_rtl"
           (!type struct 135 nil  gc_used "tree_decl_with_rtl"
            (!srcfileloc  "tree-core.h" 1390)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1388)
              nil )
             (!pair  "rtl"
              (!type pointer 136 
               (!type pointer 137 nil  gc_used
                (!type already_seen 136)
               )
               gc_pointed_to
               (!type struct 138 
                (!type already_seen 136)
                gc_pointed_to "rtx_def"
                (!srcfileloc  "rtl.h" 347)
                (!fields 11 
                 (!pair  "code"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 256)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 259)
                  nil )
                 (!pair  "jump"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 269)
                  nil )
                 (!pair  "call"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 274)
                  nil )
                 (!pair  "unchanging"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 285)
                  nil )
                 (!pair  "volatil"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 298)
                  nil )
                 (!pair  "in_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 312)
                  nil )
                 (!pair  "used"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 321)
                  nil )
                 (!pair  "frame_related"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 329)
                  nil )
                 (!pair  "return_val"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 335)
                  nil )
                 (!pair  "u"
                  (!type union 139 nil  gc_used "rtx_def_subunion"
                   (!srcfileloc  "rtl.h" 346)
                   (!fields 147 
                    (!pair  ""
                     (!type struct 140 nil  gc_used "rtx_def_debug_parameter_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_PARAMETER_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 141 nil  gc_used "rtx_def_entry_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ENTRY_VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 142 nil  gc_used "rtx_def_debug_implicit_ptr"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_IMPLICIT_PTR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 143 nil  gc_used "rtx_def_var_location"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VAR_LOCATION")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 144 nil  gc_used "rtx_def_fma"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FMA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 145 nil  gc_used "rtx_def_us_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 146 nil  gc_used "rtx_def_ss_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 147 nil  gc_used "rtx_def_us_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 148 nil  gc_used "rtx_def_us_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 149 nil  gc_used "rtx_def_ss_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 150 nil  gc_used "rtx_def_ss_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 151 nil  gc_used "rtx_def_us_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 152 nil  gc_used "rtx_def_ss_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 153 nil  gc_used "rtx_def_ss_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 154 nil  gc_used "rtx_def_us_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 155 nil  gc_used "rtx_def_ss_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 156 nil  gc_used "rtx_def_vec_duplicate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_DUPLICATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 157 nil  gc_used "rtx_def_vec_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 158 nil  gc_used "rtx_def_vec_select"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_SELECT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 159 nil  gc_used "rtx_def_vec_merge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_MERGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 160 nil  gc_used "rtx_def_lo_sum"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LO_SUM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 161 nil  gc_used "rtx_def_high"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "HIGH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 162 nil  gc_used "rtx_def_zero_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ZERO_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 163 nil  gc_used "rtx_def_sign_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIGN_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 164 nil  gc_used "rtx_def_parity"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PARITY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 165 nil  gc_used "rtx_def_popcount"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POPCOUNT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 166 nil  gc_used "rtx_def_ctz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CTZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 167 nil  gc_used "rtx_def_clz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 168 nil  gc_used "rtx_def_clrsb"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLRSB")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 169 nil  gc_used "rtx_def_ffs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FFS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 170 nil  gc_used "rtx_def_bswap"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "BSWAP")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 171 nil  gc_used "rtx_def_sqrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SQRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 172 nil  gc_used "rtx_def_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 173 nil  gc_used "rtx_def_unsigned_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 174 nil  gc_used "rtx_def_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 175 nil  gc_used "rtx_def_unsigned_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 176 nil  gc_used "rtx_def_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 177 nil  gc_used "rtx_def_unsigned_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 178 nil  gc_used "rtx_def_unsigned_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 179 nil  gc_used "rtx_def_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 180 nil  gc_used "rtx_def_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 181 nil  gc_used "rtx_def_float_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 182 nil  gc_used "rtx_def_float_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 183 nil  gc_used "rtx_def_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 184 nil  gc_used "rtx_def_zero_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ZERO_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 185 nil  gc_used "rtx_def_sign_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIGN_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 186 nil  gc_used "rtx_def_ltgt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LTGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 187 nil  gc_used "rtx_def_unlt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNLT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 188 nil  gc_used "rtx_def_unle"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 189 nil  gc_used "rtx_def_ungt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 190 nil  gc_used "rtx_def_unge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 191 nil  gc_used "rtx_def_uneq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNEQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 192 nil  gc_used "rtx_def_ordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 193 nil  gc_used "rtx_def_unordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 194 nil  gc_used "rtx_def_ltu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 195 nil  gc_used "rtx_def_leu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 196 nil  gc_used "rtx_def_gtu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 197 nil  gc_used "rtx_def_geu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 198 nil  gc_used "rtx_def_lt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 199 nil  gc_used "rtx_def_le"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 200 nil  gc_used "rtx_def_gt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 201 nil  gc_used "rtx_def_ge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 202 nil  gc_used "rtx_def_eq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 203 nil  gc_used "rtx_def_ne"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 204 nil  gc_used "rtx_def_post_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 205 nil  gc_used "rtx_def_pre_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 206 nil  gc_used "rtx_def_post_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 207 nil  gc_used "rtx_def_post_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 208 nil  gc_used "rtx_def_pre_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 209 nil  gc_used "rtx_def_pre_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 210 nil  gc_used "rtx_def_umax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 211 nil  gc_used "rtx_def_umin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 212 nil  gc_used "rtx_def_smax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 213 nil  gc_used "rtx_def_smin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 214 nil  gc_used "rtx_def_rotatert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ROTATERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 215 nil  gc_used "rtx_def_lshiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LSHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 216 nil  gc_used "rtx_def_ashiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 217 nil  gc_used "rtx_def_rotate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ROTATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 218 nil  gc_used "rtx_def_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 219 nil  gc_used "rtx_def_not"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NOT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 220 nil  gc_used "rtx_def_xor"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "XOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 221 nil  gc_used "rtx_def_ior"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "IOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 222 nil  gc_used "rtx_def_and"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "AND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 223 nil  gc_used "rtx_def_umod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 224 nil  gc_used "rtx_def_udiv"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UDIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 225 nil  gc_used "rtx_def_mod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 226 nil  gc_used "rtx_def_us_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 227 nil  gc_used "rtx_def_ss_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 228 nil  gc_used "rtx_def_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 229 nil  gc_used "rtx_def_us_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 230 nil  gc_used "rtx_def_ss_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 231 nil  gc_used "rtx_def_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 232 nil  gc_used "rtx_def_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 233 nil  gc_used "rtx_def_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 234 nil  gc_used "rtx_def_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 235 nil  gc_used "rtx_def_compare"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "COMPARE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 236 nil  gc_used "rtx_def_if_then_else"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "IF_THEN_ELSE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 237 nil  gc_used "rtx_def_cc0"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CC0")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 238 nil  gc_used "rtx_def_symbol_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 4 
                       (!pair  "block_sym"
                        (!type union 239 nil  gc_used "fake_union_1"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 1 
                          (!pair  ""
                           (!type struct 240 nil  gc_used "block_symbol"
                            (!srcfileloc  "rtl.h" 216)
                            (!fields 3 
                             (!pair  "fld"
                              (!type array 241 nil  gc_unused "3" 
                               (!type undefined 242 nil  gc_unused "rtunion"
                                (!srcfileloc  "rtl.h" 208)
                               )
                              )
                              (!srcfileloc  "rtl.h" 208)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                             (!pair  "block"
                              (!type pointer 243 nil  gc_used
                               (!type struct 244 
                                (!type already_seen 243)
                                gc_pointed_to "object_block"
                                (!srcfileloc  "rtl.h" 249)
                                (!fields 5 
                                 (!pair  "sect"
                                  (!type pointer 245 nil  gc_used
                                   (!type union 246 
                                    (!type already_seen 245)
                                    gc_pointed_to "section"
                                    (!srcfileloc  "output.h" 492)
                                    (!fields 4 
                                     (!pair  "common"
                                      (!type struct 247 nil  gc_used "section_common"
                                       (!srcfileloc  "output.h" 434)
                                       (!fields 1 
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 433)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 488)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "named"
                                      (!type struct 248 nil  gc_used "named_section"
                                       (!srcfileloc  "output.h" 446)
                                       (!fields 3 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 438)
                                         nil )
                                        (!pair  "name"
                                         (!type already_seen 36)
                                         (!srcfileloc  "output.h" 441)
                                         nil )
                                        (!pair  "decl"
                                         (!type already_seen 5)
                                         (!srcfileloc  "output.h" 445)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 489)
                                      (!options 
                                       (!option tag string  "SECTION_NAMED")
                                      )
                                     )
                                     (!pair  "unnamed"
                                      (!type struct 249 nil  gc_used "unnamed_section"
                                       (!srcfileloc  "output.h" 463)
                                       (!fields 4 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 454)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 458)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "data"
                                         (!type already_seen 10)
                                         (!srcfileloc  "output.h" 459)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "next"
                                         (!type already_seen 245)
                                         (!srcfileloc  "output.h" 462)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 490)
                                      (!options 
                                       (!option tag string  "SECTION_UNNAMED")
                                      )
                                     )
                                     (!pair  "noswitch"
                                      (!type struct 250 nil  gc_used "noswitch_section"
                                       (!srcfileloc  "output.h" 484)
                                       (!fields 2 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 480)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 483)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 491)
                                      (!options 
                                       (!option tag string  "SECTION_NOSWITCH")
                                      )
                                     )
                                    )
                                    (!options 
                                     (!option desc string  "SECTION_STYLE (&(%h))")
                                    )
                                    511 nil )
                                  )
                                  (!srcfileloc  "rtl.h" 222)
                                  nil )
                                 (!pair  "alignment"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 225)
                                  nil )
                                 (!pair  "size"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 228)
                                  nil )
                                 (!pair  "objects"
                                  (!type pointer 251 nil  gc_used
                                   (!type user_struct 252 
                                    (!type already_seen 251)
                                    gc_pointed_to "vec<rtx,va_gc>"
                                    (!srcfileloc  "rtl.h" 238)
                                    (!fields 2 
                                     (!pair  "va_gc"
                                      (!type already_seen 3)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                     (!pair  "rtx"
                                      (!type already_seen 136)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "rtl.h" 238)
                                  nil )
                                 (!pair  "anchors"
                                  (!type already_seen 251)
                                  (!srcfileloc  "rtl.h" 248)
                                  nil )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "rtl.h" 211)
                              nil )
                             (!pair  "offset"
                              (!type already_seen 9)
                              (!srcfileloc  "rtl.h" 215)
                              nil )
                            )
                            nil 511 nil nil )
                           (!srcfileloc  "gengtype.c" 995)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1340)
                        (!options 
                         (!option desc string  "SYMBOL_REF_HAS_BLOCK_INFO_P (&%0)")
                        )
                       )
                       (!pair  ".fld[2]."
                        (!type union 253 nil  gc_used "rtx_def_symbol_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 2 
                          (!pair  "rt_constant"
                           (!type pointer 254 nil  gc_used
                            (!type struct 255 
                             (!type already_seen 254)
                             gc_pointed_to "constant_descriptor_rtx"
                             (!srcfileloc  "varasm.c" 3488)
                             (!fields 10 
                              (!pair  "next"
                               (!type already_seen 254)
                               (!srcfileloc  "varasm.c" 3478)
                               nil )
                              (!pair  "mem"
                               (!type already_seen 136)
                               (!srcfileloc  "varasm.c" 3479)
                               nil )
                              (!pair  "sym"
                               (!type already_seen 136)
                               (!srcfileloc  "varasm.c" 3480)
                               nil )
                              (!pair  "constant"
                               (!type already_seen 136)
                               (!srcfileloc  "varasm.c" 3481)
                               nil )
                              (!pair  "offset"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3482)
                               nil )
                              (!pair  "hash"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3483)
                               nil )
                              (!pair  "mode"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3484)
                               nil )
                              (!pair  "align"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3485)
                               nil )
                              (!pair  "labelno"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3486)
                               nil )
                              (!pair  "mark"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3487)
                               nil )
                             )
                             (!options 
                              (!option chain_next string  "%h.next")
                             )
                             511 nil nil )
                           )
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1198)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option desc string  "CONSTANT_POOL_ADDRESS_P (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SYMBOL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 256 nil  gc_used "rtx_def_label_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LABEL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 257 nil  gc_used "rtx_def_mem"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_mem"
                        (!type pointer 258 nil  gc_used
                         (!type struct 259 
                          (!type already_seen 258)
                          gc_pointed_to "mem_attrs"
                          (!srcfileloc  "rtl.h" 169)
                          (!fields 8 
                           (!pair  "expr"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 143)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 147)
                            nil )
                           (!pair  "size"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 151)
                            nil )
                           (!pair  "alias"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 154)
                            nil )
                           (!pair  "align"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 159)
                            nil )
                           (!pair  "addrspace"
                            (!type already_seen 28)
                            (!srcfileloc  "rtl.h" 162)
                            nil )
                           (!pair  "offset_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 165)
                            nil )
                           (!pair  "size_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 168)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MEM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 260 nil  gc_used "rtx_def_concatn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type pointer 261 nil  gc_used
                         (!type struct 262 
                          (!type already_seen 261)
                          gc_pointed_to "rtvec_def"
                          (!srcfileloc  "rtl.h" 388)
                          (!fields 2 
                           (!pair  "num_elem"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 386)
                            nil )
                           (!pair  "elem"
                            (!type array 263 nil  gc_used "1" 
                             (!type already_seen 136)
                            )
                            (!srcfileloc  "rtl.h" 387)
                            (!options 
                             (!option length string  "%h.num_elem")
                            )
                           )
                          )
                          (!options 
                           (!option variable_size string  "")
                          )
                          511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONCATN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 264 nil  gc_used "rtx_def_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 265 nil  gc_used "rtx_def_strict_low_part"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "STRICT_LOW_PART")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 266 nil  gc_used "rtx_def_subreg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SUBREG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 267 nil  gc_used "rtx_def_scratch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SCRATCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 268 nil  gc_used "rtx_def_reg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_reg"
                        (!type pointer 269 nil  gc_used
                         (!type struct 270 
                          (!type already_seen 269)
                          gc_pointed_to "reg_attrs"
                          (!srcfileloc  "rtl.h" 181)
                          (!fields 2 
                           (!pair  "decl"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 179)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 180)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "REG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 271 nil  gc_used "rtx_def_pc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 272 nil  gc_used "rtx_def_const"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 273 nil  gc_used "rtx_def_const_string"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_STRING")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 274 nil  gc_used "rtx_def_const_vector"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_VECTOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 275 nil  gc_used "rtx_def_const_double"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_DOUBLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 276 nil  gc_used "rtx_def_const_fixed"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_FIXED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 277 nil  gc_used "rtx_def_const_int"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_INT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 278 nil  gc_used "rtx_def_trap_if"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "TRAP_IF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 279 nil  gc_used "rtx_def_eh_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EH_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 280 nil  gc_used "rtx_def_simple_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIMPLE_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 281 nil  gc_used "rtx_def_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 282 nil  gc_used "rtx_def_call"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CALL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 283 nil  gc_used "rtx_def_clobber"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLOBBER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 284 nil  gc_used "rtx_def_use"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "USE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 285 nil  gc_used "rtx_def_set"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SET")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 286 nil  gc_used "rtx_def_prefetch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PREFETCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 287 nil  gc_used "rtx_def_addr_diff_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 5 
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDR_DIFF_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 288 nil  gc_used "rtx_def_addr_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDR_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 289 nil  gc_used "rtx_def_unspec_volatile"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSPEC_VOLATILE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 290 nil  gc_used "rtx_def_unspec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSPEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 291 nil  gc_used "rtx_def_asm_operands"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASM_OPERANDS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 292 nil  gc_used "rtx_def_asm_input"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASM_INPUT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 293 nil  gc_used "rtx_def_parallel"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PARALLEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 294 nil  gc_used "rtx_def_cond_exec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "COND_EXEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 295 nil  gc_used "rtx_def_note"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4]."
                        (!type union 296 nil  gc_used "rtx_def_note_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 17 
                          (!pair  "rt_str"
                           (!type already_seen 36)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_SWITCH_TEXT_SECTIONS")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_BASIC_BLOCK")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 136)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_CALL_ARG_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 136)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_VAR_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EPILOGUE_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_PROLOGUE_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_FUNCTION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1171)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1171)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 36)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 36)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option desc string  "NOTE_KIND (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type pointer 297 nil  gc_used
                         (!type struct 298 
                          (!type already_seen 297)
                          gc_pointed_to "basic_block_def"
                          (!srcfileloc  "basic-block.h" 209)
                          (!fields 13 
                           (!pair  "preds"
                            (!type pointer 299 nil  gc_used
                             (!type user_struct 300 
                              (!type already_seen 299)
                              gc_pointed_to "vec<edge,va_gc>"
                              (!srcfileloc  "basic-block.h" 169)
                              (!fields 2 
                               (!pair  "va_gc"
                                (!type already_seen 3)
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                               (!pair  "edge"
                                (!type pointer 301 nil  gc_used
                                 (!type user_struct 302 
                                  (!type already_seen 301)
                                  gc_pointed_to "edge_def"
                                  (!srcfileloc  "basic-block.h" 59)
                                  (!fields 0 )
                                 )
                                )
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                              )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 169)
                            nil )
                           (!pair  "succs"
                            (!type already_seen 299)
                            (!srcfileloc  "basic-block.h" 170)
                            nil )
                           (!pair  "aux"
                            (!type already_seen 10)
                            (!srcfileloc  "basic-block.h" 173)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "loop_father"
                            (!type pointer 303 nil  gc_used
                             (!type struct 304 
                              (!type already_seen 303)
                              gc_pointed_to "loop"
                              (!srcfileloc  "cfgloop.h" 195)
                              (!fields 26 
                               (!pair  "num"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 106)
                                nil )
                               (!pair  "ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 109)
                                nil )
                               (!pair  "header"
                                (!type already_seen 297)
                                (!srcfileloc  "cfgloop.h" 112)
                                nil )
                               (!pair  "latch"
                                (!type already_seen 297)
                                (!srcfileloc  "cfgloop.h" 115)
                                nil )
                               (!pair  "lpt_decision"
                                (!type struct 305 nil  gc_used "lpt_decision"
                                 (!srcfileloc  "cfgloop.h" 42)
                                 (!fields 2 
                                  (!pair  "decision"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 40)
                                   nil )
                                  (!pair  "times"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 41)
                                   nil )
                                 )
                                 nil 511 nil nil )
                                (!srcfileloc  "cfgloop.h" 118)
                                nil )
                               (!pair  "av_ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 121)
                                nil )
                               (!pair  "num_nodes"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 124)
                                nil )
                               (!pair  "superloops"
                                (!type pointer 306 nil  gc_used
                                 (!type user_struct 307 
                                  (!type already_seen 306)
                                  gc_pointed_to "vec<loop_p,va_gc>"
                                  (!srcfileloc  "cfgloop.h" 127)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "cfgloop.h" 127)
                                    nil )
                                   (!pair  "loop_p"
                                    (!type already_seen 303)
                                    (!srcfileloc  "cfgloop.h" 127)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cfgloop.h" 127)
                                nil )
                               (!pair  "inner"
                                (!type already_seen 303)
                                (!srcfileloc  "cfgloop.h" 130)
                                nil )
                               (!pair  "next"
                                (!type already_seen 303)
                                (!srcfileloc  "cfgloop.h" 133)
                                nil )
                               (!pair  "aux"
                                (!type already_seen 10)
                                (!srcfileloc  "cfgloop.h" 136)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "nb_iterations"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 145)
                                nil )
                               (!pair  "nb_iterations_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 149)
                                nil )
                               (!pair  "nb_iterations_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 154)
                                nil )
                               (!pair  "any_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 156)
                                nil )
                               (!pair  "any_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 157)
                                nil )
                               (!pair  "can_be_parallel"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 160)
                                nil )
                               (!pair  "warned_aggressive_loop_optimizations"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 164)
                                nil )
                               (!pair  "estimate_state"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 168)
                                nil )
                               (!pair  "safelen"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 174)
                                nil )
                               (!pair  "force_vect"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 177)
                                nil )
                               (!pair  "dont_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 180)
                                nil )
                               (!pair  "simduid"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 185)
                                nil )
                               (!pair  "bounds"
                                (!type pointer 308 nil  gc_used
                                 (!type struct 309 
                                  (!type already_seen 308)
                                  gc_pointed_to "nb_iter_bound"
                                  (!srcfileloc  "cfgloop.h" 74)
                                  (!fields 4 
                                   (!pair  "stmt"
                                    (!type pointer 310 nil  gc_used
                                     (!type struct 311 
                                      (!type already_seen 310)
                                      gc_pointed_to "gimple_statement_base"
                                      (!srcfileloc  "gimple.h" 203)
                                      (!fields 15 
                                       (!pair  "code"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 144)
                                        nil )
                                       (!pair  "no_warning"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 147)
                                        nil )
                                       (!pair  "visited"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 151)
                                        nil )
                                       (!pair  "nontemporal_move"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 154)
                                        nil )
                                       (!pair  "plf"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 161)
                                        nil )
                                       (!pair  "modified"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 165)
                                        nil )
                                       (!pair  "has_volatile_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 168)
                                        nil )
                                       (!pair  "pad"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 171)
                                        nil )
                                       (!pair  "subcode"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 177)
                                        nil )
                                       (!pair  "uid"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 182)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 186)
                                        nil )
                                       (!pair  "num_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 189)
                                        nil )
                                       (!pair  "bb"
                                        (!type already_seen 297)
                                        (!srcfileloc  "gimple.h" 193)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 310)
                                        (!srcfileloc  "gimple.h" 201)
                                        nil )
                                       (!pair  "prev"
                                        (!type already_seen 310)
                                        (!srcfileloc  "gimple.h" 202)
                                        (!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)")
                                      )
                                      511 nil nil )
                                    )
                                    (!srcfileloc  "cfgloop.h" 56)
                                    nil )
                                   (!pair  "bound"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 65)
                                    nil )
                                   (!pair  "is_exit"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 70)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 308)
                                    (!srcfileloc  "cfgloop.h" 73)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 188)
                                nil )
                               (!pair  "exits"
                                (!type pointer 312 nil  gc_used
                                 (!type struct 313 
                                  (!type already_seen 312)
                                  gc_pointed_to "loop_exit"
                                  (!srcfileloc  "cfgloop.h" 88)
                                  (!fields 4 
                                   (!pair  "e"
                                    (!type already_seen 301)
                                    (!srcfileloc  "cfgloop.h" 80)
                                    nil )
                                   (!pair  "prev"
                                    (!type already_seen 312)
                                    (!srcfileloc  "cfgloop.h" 83)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 312)
                                    (!srcfileloc  "cfgloop.h" 84)
                                    nil )
                                   (!pair  "next_e"
                                    (!type already_seen 312)
                                    (!srcfileloc  "cfgloop.h" 87)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 191)
                                nil )
                               (!pair  "simple_loop_desc"
                                (!type pointer 314 nil  gc_used
                                 (!type struct 315 
                                  (!type already_seen 314)
                                  gc_pointed_to "niter_desc"
                                  (!srcfileloc  "cfgloop.h" 422)
                                  (!fields 11 
                                   (!pair  "out_edge"
                                    (!type already_seen 301)
                                    (!srcfileloc  "cfgloop.h" 389)
                                    nil )
                                   (!pair  "in_edge"
                                    (!type already_seen 301)
                                    (!srcfileloc  "cfgloop.h" 392)
                                    nil )
                                   (!pair  "simple_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 396)
                                    nil )
                                   (!pair  "const_iter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 399)
                                    nil )
                                   (!pair  "niter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 402)
                                    nil )
                                   (!pair  "assumptions"
                                    (!type already_seen 136)
                                    (!srcfileloc  "cfgloop.h" 405)
                                    nil )
                                   (!pair  "noloop_assumptions"
                                    (!type already_seen 136)
                                    (!srcfileloc  "cfgloop.h" 409)
                                    nil )
                                   (!pair  "infinite"
                                    (!type already_seen 136)
                                    (!srcfileloc  "cfgloop.h" 412)
                                    nil )
                                   (!pair  "signed_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 415)
                                    nil )
                                   (!pair  "mode"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 418)
                                    nil )
                                   (!pair  "niter_expr"
                                    (!type already_seen 136)
                                    (!srcfileloc  "cfgloop.h" 421)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 194)
                                nil )
                              )
                              (!options 
                               (!option chain_next string  "%h.next")
                              )
                              511 nil nil )
                            )
                            (!srcfileloc  "basic-block.h" 176)
                            nil )
                           (!pair  "dom"
                            (!type array 316 nil  gc_unused "2" 
                             (!type pointer 317 nil  gc_unused
                              (!type struct 318 
                               (!type already_seen 317)
                               gc_unused "et_node"nil 
                               (!fields 0 )
                               nil 0 nil nil )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 179)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "prev_bb"
                            (!type already_seen 297)
                            (!srcfileloc  "basic-block.h" 182)
                            nil )
                           (!pair  "next_bb"
                            (!type already_seen 297)
                            (!srcfileloc  "basic-block.h" 183)
                            nil )
                           (!pair  "il"
                            (!type union 319 nil  gc_used "basic_block_il_dependent"
                             (!srcfileloc  "basic-block.h" 191)
                             (!fields 2 
                              (!pair  "gimple"
                               (!type struct 320 nil  gc_used "gimple_bb_info"
                                (!srcfileloc  "basic-block.h" 139)
                                (!fields 2 
                                 (!pair  "seq"
                                  (!type already_seen 310)
                                  (!srcfileloc  "basic-block.h" 135)
                                  nil )
                                 (!pair  "phi_nodes"
                                  (!type already_seen 310)
                                  (!srcfileloc  "basic-block.h" 138)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 186)
                               (!options 
                                (!option tag string  "0")
                               )
                              )
                              (!pair  "x"
                               (!type struct 321 nil  gc_used "anonymous:../../gcc/basic-block.h:187"
                                (!srcfileloc  "basic-block.h" 190)
                                (!fields 2 
                                 (!pair  "head_"
                                  (!type already_seen 136)
                                  (!srcfileloc  "basic-block.h" 188)
                                  nil )
                                 (!pair  "rtl"
                                  (!type pointer 322 nil  gc_used
                                   (!type struct 323 
                                    (!type already_seen 322)
                                    gc_pointed_to "rtl_bb_info"
                                    (!srcfileloc  "basic-block.h" 131)
                                    (!fields 3 
                                     (!pair  "end_"
                                      (!type already_seen 136)
                                      (!srcfileloc  "basic-block.h" 125)
                                      nil )
                                     (!pair  "header_"
                                      (!type already_seen 136)
                                      (!srcfileloc  "basic-block.h" 129)
                                      nil )
                                     (!pair  "footer_"
                                      (!type already_seen 136)
                                      (!srcfileloc  "basic-block.h" 130)
                                      nil )
                                    )
                                    nil 511 nil nil )
                                  )
                                  (!srcfileloc  "basic-block.h" 189)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 190)
                               (!options 
                                (!option tag string  "1")
                               )
                              )
                             )
                             nil 511 nil )
                            (!srcfileloc  "basic-block.h" 191)
                            (!options 
                             (!option desc string  "((%1.flags & BB_RTL) != 0)")
                            )
                           )
                           (!pair  "flags"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 194)
                            nil )
                           (!pair  "index"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 197)
                            nil )
                           (!pair  "count"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 200)
                            nil )
                           (!pair  "frequency"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 203)
                            nil )
                           (!pair  "discriminator"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 208)
                            nil )
                          )
                          (!options 
                           (!option chain_prev string  "%h.prev_bb")
                           (!option chain_next string  "%h.next_bb")
                          )
                          511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NOTE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 324 nil  gc_used "rtx_def_code_label"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CODE_LABEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 325 nil  gc_used "rtx_def_barrier"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "BARRIER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 326 nil  gc_used "rtx_def_jump_table_data"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "JUMP_TABLE_DATA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 327 nil  gc_used "rtx_def_call_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CALL_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 328 nil  gc_used "rtx_def_jump_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "JUMP_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 329 nil  gc_used "rtx_def_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 330 nil  gc_used "rtx_def_debug_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 331 nil  gc_used "rtx_def_address"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDRESS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 332 nil  gc_used "rtx_def_sequence"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SEQUENCE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 333 nil  gc_used "rtx_def_int_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INT_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 334 nil  gc_used "rtx_def_insn_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INSN_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 335 nil  gc_used "rtx_def_expr_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EXPR_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 336 nil  gc_used "rtx_def_debug_expr"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_EXPR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 337 nil  gc_used "rtx_def_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 338 nil  gc_used "rtx_def_UnKnown"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNKNOWN")
                      (!option dot string  "")
                     )
                    )
                   )
                   (!options 
                    (!option dot string  "")
                   )
                   511 nil )
                  (!srcfileloc  "rtl.h" 346)
                  (!options 
                   (!option desc string  "GET_CODE (&%0)")
                   (!option special string  "rtx_def")
                  )
                 )
                )
                (!options 
                 (!option variable_size string  "")
                 (!option chain_prev string  "RTX_PREV (&%h)")
                 (!option chain_next string  "RTX_NEXT (&%h)")
                )
                511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1389)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1601)
           (!options 
            (!option tag string  "TS_DECL_WRTL")
           )
          )
          (!pair  "decl_non_common"
           (!type struct 339 nil  gc_used "tree_decl_non_common"
            (!srcfileloc  "tree-core.h" 1473)
            (!fields 5 
             (!pair  "common"
              (!type struct 340 nil  gc_used "tree_decl_with_vis"
               (!srcfileloc  "tree-core.h" 1457)
               (!fields 22 
                (!pair  "common"
                 (!type already_seen 135)
                 (!srcfileloc  "tree-core.h" 1422)
                 nil )
                (!pair  "assembler_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1423)
                 nil )
                (!pair  "section_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1424)
                 nil )
                (!pair  "comdat_group"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1425)
                 nil )
                (!pair  "defer_output"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1428)
                 nil )
                (!pair  "hard_register"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1429)
                 nil )
                (!pair  "common_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1430)
                 nil )
                (!pair  "in_text_section"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1431)
                 nil )
                (!pair  "in_constant_pool"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1432)
                 nil )
                (!pair  "dllimport_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1433)
                 nil )
                (!pair  "weak_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1435)
                 nil )
                (!pair  "implicit_section_name_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1437)
                 nil )
                (!pair  "seen_in_bind_expr"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1439)
                 nil )
                (!pair  "comdat_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1440)
                 nil )
                (!pair  "visibility"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1441)
                 nil )
                (!pair  "visibility_specified"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1442)
                 nil )
                (!pair  "tls_model"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1444)
                 nil )
                (!pair  "init_priority_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1447)
                 nil )
                (!pair  "shadowed_for_var_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1449)
                 nil )
                (!pair  "cxx_constructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1451)
                 nil )
                (!pair  "cxx_destructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1453)
                 nil )
                (!pair  "final"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1455)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1464)
              nil )
             (!pair  "saved_tree"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1466)
              nil )
             (!pair  "arguments"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1468)
              nil )
             (!pair  "result"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1470)
              nil )
             (!pair  "vindex"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1472)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1603)
           (!options 
            (!option tag string  "TS_DECL_NON_COMMON")
           )
          )
          (!pair  "parm_decl"
           (!type struct 341 nil  gc_used "tree_parm_decl"
            (!srcfileloc  "tree-core.h" 1419)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 135)
              (!srcfileloc  "tree-core.h" 1417)
              nil )
             (!pair  "incoming_rtl"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1418)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1604)
           (!options 
            (!option tag string  "TS_PARM_DECL")
           )
          )
          (!pair  "decl_with_vis"
           (!type already_seen 340)
           (!srcfileloc  "tree-core.h" 1605)
           (!options 
            (!option tag string  "TS_DECL_WITH_VIS")
           )
          )
          (!pair  "var_decl"
           (!type struct 342 nil  gc_used "tree_var_decl"
            (!srcfileloc  "tree-core.h" 1461)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 340)
              (!srcfileloc  "tree-core.h" 1460)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1606)
           (!options 
            (!option tag string  "TS_VAR_DECL")
           )
          )
          (!pair  "field_decl"
           (!type struct 343 nil  gc_used "tree_field_decl"
            (!srcfileloc  "tree-core.h" 1400)
            (!fields 6 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1393)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1395)
              nil )
             (!pair  "bit_field_type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1396)
              nil )
             (!pair  "qualifier"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1397)
              nil )
             (!pair  "bit_offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1398)
              nil )
             (!pair  "fcontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1399)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1607)
           (!options 
            (!option tag string  "TS_FIELD_DECL")
           )
          )
          (!pair  "label_decl"
           (!type struct 344 nil  gc_used "tree_label_decl"
            (!srcfileloc  "tree-core.h" 1406)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 135)
              (!srcfileloc  "tree-core.h" 1403)
              nil )
             (!pair  "label_decl_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1404)
              nil )
             (!pair  "eh_landing_pad_nr"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1405)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1608)
           (!options 
            (!option tag string  "TS_LABEL_DECL")
           )
          )
          (!pair  "result_decl"
           (!type struct 345 nil  gc_used "tree_result_decl"
            (!srcfileloc  "tree-core.h" 1410)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 135)
              (!srcfileloc  "tree-core.h" 1409)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1609)
           (!options 
            (!option tag string  "TS_RESULT_DECL")
           )
          )
          (!pair  "const_decl"
           (!type struct 346 nil  gc_used "tree_const_decl"
            (!srcfileloc  "tree-core.h" 1414)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1413)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1610)
           (!options 
            (!option tag string  "TS_CONST_DECL")
           )
          )
          (!pair  "type_decl"
           (!type struct 347 nil  gc_used "tree_type_decl"
            (!srcfileloc  "tree-core.h" 1534)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 339)
              (!srcfileloc  "tree-core.h" 1532)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1611)
           (!options 
            (!option tag string  "TS_TYPE_DECL")
           )
          )
          (!pair  "function_decl"
           (!type struct 348 nil  gc_used "tree_function_decl"
            (!srcfileloc  "tree-core.h" 1521)
            (!fields 26 
             (!pair  "common"
              (!type already_seen 339)
              (!srcfileloc  "tree-core.h" 1481)
              nil )
             (!pair  "f"
              (!type pointer 349 nil  gc_used
               (!type struct 350 
                (!type already_seen 349)
                gc_pointed_to "function"
                (!srcfileloc  "function.h" 673)
                (!fields 43 
                 (!pair  "eh"
                  (!type pointer 351 nil  gc_used
                   (!type struct 352 
                    (!type already_seen 351)
                    gc_pointed_to "eh_status"
                    (!srcfileloc  "except.h" 221)
                    (!fields 6 
                     (!pair  "region_tree"
                      (!type pointer 353 nil  gc_used
                       (!type struct 354 
                        (!type already_seen 353)
                        gc_pointed_to "eh_region_d"
                        (!srcfileloc  "except.h" 183)
                        (!fields 10 
                         (!pair  "outer"
                          (!type already_seen 353)
                          (!srcfileloc  "except.h" 124)
                          nil )
                         (!pair  "inner"
                          (!type already_seen 353)
                          (!srcfileloc  "except.h" 127)
                          nil )
                         (!pair  "next_peer"
                          (!type already_seen 353)
                          (!srcfileloc  "except.h" 128)
                          nil )
                         (!pair  "index"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 131)
                          nil )
                         (!pair  "type"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 134)
                          nil )
                         (!pair  "u"
                          (!type union 355 nil  gc_used "eh_region_u"
                           (!srcfileloc  "except.h" 170)
                           (!fields 3 
                            (!pair  "eh_try"
                             (!type struct 356 nil  gc_used "eh_region_u_try"
                              (!srcfileloc  "except.h" 142)
                              (!fields 2 
                               (!pair  "first_catch"
                                (!type pointer 357 nil  gc_used
                                 (!type struct 358 
                                  (!type already_seen 357)
                                  gc_pointed_to "eh_catch_d"
                                  (!srcfileloc  "except.h" 117)
                                  (!fields 5 
                                   (!pair  "next_catch"
                                    (!type already_seen 357)
                                    (!srcfileloc  "except.h" 101)
                                    nil )
                                   (!pair  "prev_catch"
                                    (!type already_seen 357)
                                    (!srcfileloc  "except.h" 102)
                                    nil )
                                   (!pair  "type_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 106)
                                    nil )
                                   (!pair  "filter_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 111)
                                    nil )
                                   (!pair  "label"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 116)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "except.h" 140)
                                nil )
                               (!pair  "last_catch"
                                (!type already_seen 357)
                                (!srcfileloc  "except.h" 141)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 142)
                             (!options 
                              (!option tag string  "ERT_TRY")
                             )
                            )
                            (!pair  "allowed"
                             (!type struct 359 nil  gc_used "eh_region_u_allowed"
                              (!srcfileloc  "except.h" 156)
                              (!fields 3 
                               (!pair  "type_list"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 146)
                                nil )
                               (!pair  "label"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 150)
                                nil )
                               (!pair  "filter"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 155)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 156)
                             (!options 
                              (!option tag string  "ERT_ALLOWED_EXCEPTIONS")
                             )
                            )
                            (!pair  "must_not_throw"
                             (!type struct 360 nil  gc_used "eh_region_u_must_not_throw"
                              (!srcfileloc  "except.h" 169)
                              (!fields 2 
                               (!pair  "failure_decl"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 166)
                                nil )
                               (!pair  "failure_loc"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 168)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 169)
                             (!options 
                              (!option tag string  "ERT_MUST_NOT_THROW")
                             )
                            )
                           )
                           nil 511 nil )
                          (!srcfileloc  "except.h" 170)
                          (!options 
                           (!option desc string  "%0.type")
                          )
                         )
                         (!pair  "landing_pads"
                          (!type pointer 361 nil  gc_used
                           (!type struct 362 
                            (!type already_seen 361)
                            gc_pointed_to "eh_landing_pad_d"
                            (!srcfileloc  "except.h" 94)
                            (!fields 5 
                             (!pair  "next_lp"
                              (!type already_seen 361)
                              (!srcfileloc  "except.h" 75)
                              nil )
                             (!pair  "region"
                              (!type already_seen 353)
                              (!srcfileloc  "except.h" 78)
                              nil )
                             (!pair  "post_landing_pad"
                              (!type already_seen 5)
                              (!srcfileloc  "except.h" 83)
                              nil )
                             (!pair  "landing_pad"
                              (!type already_seen 136)
                              (!srcfileloc  "except.h" 90)
                              nil )
                             (!pair  "index"
                              (!type already_seen 9)
                              (!srcfileloc  "except.h" 93)
                              nil )
                            )
                            nil 511 nil nil )
                          )
                          (!srcfileloc  "except.h" 173)
                          nil )
                         (!pair  "exc_ptr_reg"
                          (!type already_seen 136)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "filter_reg"
                          (!type already_seen 136)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "use_cxa_end_cleanup"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 182)
                          nil )
                        )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "except.h" 197)
                      nil )
                     (!pair  "region_array"
                      (!type pointer 363 nil  gc_used
                       (!type user_struct 364 
                        (!type already_seen 363)
                        gc_pointed_to "vec<eh_region,va_gc>"
                        (!srcfileloc  "except.h" 200)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 200)
                          nil )
                         (!pair  "eh_region"
                          (!type already_seen 353)
                          (!srcfileloc  "except.h" 200)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 200)
                      nil )
                     (!pair  "lp_array"
                      (!type pointer 365 nil  gc_used
                       (!type user_struct 366 
                        (!type already_seen 365)
                        gc_pointed_to "vec<eh_landing_pad,va_gc>"
                        (!srcfileloc  "except.h" 203)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 203)
                          nil )
                         (!pair  "eh_landing_pad"
                          (!type already_seen 361)
                          (!srcfileloc  "except.h" 203)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 203)
                      nil )
                     (!pair  "throw_stmt_table"
                      (!type pointer 367 nil  gc_used
                       (!type param_struct 368 
                        (!type already_seen 367)
                        gc_pointed_to
                        (!type already_seen 49)
                        
                        (!type pointer 369 nil  gc_used
                         (!type struct 370 
                          (!type already_seen 369)
                          gc_pointed_to "throw_stmt_node"
                          (!srcfileloc  "except.h" 292)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 310)
                            (!srcfileloc  "except.h" 290)
                            nil )
                           (!pair  "lp_nr"
                            (!type already_seen 9)
                            (!srcfileloc  "except.h" 291)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "except.h" 207)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 370)
                       )
                      )
                     )
                     (!pair  "ttype_data"
                      (!type already_seen 45)
                      (!srcfileloc  "except.h" 211)
                      nil )
                     (!pair  "ehspec_data"
                      (!type union 371 nil  gc_used "eh_status_u"
                       (!srcfileloc  "except.h" 220)
                       (!fields 2 
                        (!pair  "arm_eabi"
                         (!type already_seen 45)
                         (!srcfileloc  "except.h" 218)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                        (!pair  "other"
                         (!type pointer 372 nil  gc_used
                          (!type user_struct 373 
                           (!type already_seen 372)
                           gc_pointed_to "vec<uchar,va_gc>"
                           (!srcfileloc  "function.h" 152)
                           (!fields 2 
                            (!pair  "va_gc"
                             (!type already_seen 3)
                             (!srcfileloc  "function.h" 152)
                             nil )
                            (!pair  "uchar"
                             (!type already_seen 28)
                             (!srcfileloc  "function.h" 152)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "except.h" 219)
                         (!options 
                          (!option tag string  "0")
                         )
                        )
                       )
                       nil 511 nil )
                      (!srcfileloc  "except.h" 220)
                      (!options 
                       (!option desc string  "targetm.arm_eabi_unwinder")
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 518)
                  nil )
                 (!pair  "cfg"
                  (!type pointer 374 nil  gc_used
                   (!type struct 375 
                    (!type already_seen 374)
                    gc_pointed_to "control_flow_graph"
                    (!srcfileloc  "basic-block.h" 311)
                    (!fields 12 
                     (!pair  "x_entry_block_ptr"
                      (!type already_seen 297)
                      (!srcfileloc  "basic-block.h" 278)
                      nil )
                     (!pair  "x_exit_block_ptr"
                      (!type already_seen 297)
                      (!srcfileloc  "basic-block.h" 279)
                      nil )
                     (!pair  "x_basic_block_info"
                      (!type pointer 376 nil  gc_used
                       (!type user_struct 377 
                        (!type already_seen 376)
                        gc_pointed_to "vec<basic_block,va_gc>"
                        (!srcfileloc  "basic-block.h" 282)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "basic-block.h" 282)
                          nil )
                         (!pair  "basic_block"
                          (!type already_seen 297)
                          (!srcfileloc  "basic-block.h" 282)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "basic-block.h" 282)
                      nil )
                     (!pair  "x_n_basic_blocks"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 285)
                      nil )
                     (!pair  "x_n_edges"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 288)
                      nil )
                     (!pair  "x_last_basic_block"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 291)
                      nil )
                     (!pair  "last_label_uid"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 294)
                      nil )
                     (!pair  "x_label_to_block_map"
                      (!type already_seen 376)
                      (!srcfileloc  "basic-block.h" 298)
                      nil )
                     (!pair  "x_profile_status"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 300)
                      nil )
                     (!pair  "x_dom_computed"
                      (!type array 378 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 303)
                      nil )
                     (!pair  "x_n_bbs_in_dom_tree"
                      (!type array 379 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 306)
                      nil )
                     (!pair  "max_jumptable_ents"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 310)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 521)
                  nil )
                 (!pair  "gimple_body"
                  (!type already_seen 310)
                  (!srcfileloc  "function.h" 524)
                  nil )
                 (!pair  "gimple_df"
                  (!type pointer 380 nil  gc_used
                   (!type struct 381 
                    (!type already_seen 380)
                    gc_pointed_to "gimple_df"
                    (!srcfileloc  "gimple-ssa.h" 84)
                    (!fields 13 
                     (!pair  "modified_noreturn_calls"
                      (!type pointer 382 nil  gc_used
                       (!type user_struct 383 
                        (!type already_seen 382)
                        gc_pointed_to "vec<gimple,va_gc>"
                        (!srcfileloc  "gimple-ssa.h" 43)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                         (!pair  "gimple"
                          (!type already_seen 310)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 43)
                      nil )
                     (!pair  "ssa_names"
                      (!type already_seen 45)
                      (!srcfileloc  "gimple-ssa.h" 46)
                      nil )
                     (!pair  "vop"
                      (!type already_seen 5)
                      (!srcfileloc  "gimple-ssa.h" 49)
                      nil )
                     (!pair  "escaped"
                      (!type struct 384 nil  gc_used "pt_solution"
                       (!srcfileloc  "tree-ssa-alias.h" 61)
                       (!fields 9 
                        (!pair  "anything"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 32)
                         nil )
                        (!pair  "nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 36)
                         nil )
                        (!pair  "escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 40)
                         nil )
                        (!pair  "ipa_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 44)
                         nil )
                        (!pair  "null"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 48)
                         nil )
                        (!pair  "vars_contains_nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 52)
                         nil )
                        (!pair  "vars_contains_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 54)
                         nil )
                        (!pair  "vars_contains_escaped_heap"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 57)
                         nil )
                        (!pair  "vars"
                         (!type already_seen 120)
                         (!srcfileloc  "tree-ssa-alias.h" 60)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 52)
                      nil )
                     (!pair  "decls_to_pointers"
                      (!type pointer 385 nil  gc_used
                       (!type struct 386 
                        (!type already_seen 385)
                        gc_pointed_to "pointer_map_t"
                        (!srcfileloc  "lto-streamer.h" 569)
                        (!fields 0 )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "gimple-ssa.h" 56)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                     (!pair  "free_ssanames"
                      (!type already_seen 45)
                      (!srcfileloc  "gimple-ssa.h" 59)
                      nil )
                     (!pair  "default_defs"
                      (!type already_seen 53)
                      (!srcfileloc  "gimple-ssa.h" 65)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 7)
                       )
                      )
                     )
                     (!pair  "ssa_renaming_needed"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 68)
                      nil )
                     (!pair  "rename_vops"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 71)
                      nil )
                     (!pair  "in_ssa_p"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 74)
                      nil )
                     (!pair  "ipa_pta"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 77)
                      nil )
                     (!pair  "ssa_operands"
                      (!type struct 387 nil  gc_used "ssa_operands"
                       (!srcfileloc  "tree-ssa-operands.h" 63)
                       (!fields 5 
                        (!pair  "operand_memory"
                         (!type pointer 388 nil  gc_used
                          (!type struct 389 
                           (!type already_seen 388)
                           gc_pointed_to "ssa_operand_memory_d"
                           (!srcfileloc  "tree-ssa-operands.h" 51)
                           (!fields 2 
                            (!pair  "next"
                             (!type already_seen 388)
                             (!srcfileloc  "tree-ssa-operands.h" 49)
                             nil )
                            (!pair  "mem"
                             (!type array 390 nil  gc_used "1" 
                              (!type already_seen 28)
                             )
                             (!srcfileloc  "tree-ssa-operands.h" 50)
                             nil )
                           )
                           (!options 
                            (!option variable_size string  "")
                            (!option chain_next string  "%h.next")
                           )
                           511 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 55)
                         nil )
                        (!pair  "operand_memory_index"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 56)
                         nil )
                        (!pair  "ssa_operand_mem_size"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 58)
                         nil )
                        (!pair  "ops_active"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 60)
                         nil )
                        (!pair  "free_uses"
                         (!type pointer 391 nil  gc_unused
                          (!type struct 392 
                           (!type already_seen 391)
                           gc_unused "use_optype_d"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 62)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 79)
                      nil )
                     (!pair  "tm_restart"
                      (!type pointer 393 nil  gc_used
                       (!type param_struct 394 
                        (!type already_seen 393)
                        gc_pointed_to
                        (!type already_seen 49)
                        
                        (!type pointer 395 nil  gc_used
                         (!type struct 396 
                          (!type already_seen 395)
                          gc_pointed_to "tm_restart_node"
                          (!srcfileloc  "gimple-ssa.h" 32)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 310)
                            (!srcfileloc  "gimple-ssa.h" 30)
                            nil )
                           (!pair  "label_or_list"
                            (!type already_seen 5)
                            (!srcfileloc  "gimple-ssa.h" 31)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "gimple-ssa.h" 83)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 396)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 527)
                  nil )
                 (!pair  "x_current_loops"
                  (!type pointer 397 nil  gc_used
                   (!type struct 398 
                    (!type already_seen 397)
                    gc_pointed_to "loops"
                    (!srcfileloc  "cfgloop.h" 229)
                    (!fields 4 
                     (!pair  "state"
                      (!type already_seen 9)
                      (!srcfileloc  "cfgloop.h" 217)
                      nil )
                     (!pair  "larray"
                      (!type already_seen 306)
                      (!srcfileloc  "cfgloop.h" 220)
                      nil )
                     (!pair  "exits"
                      (!type pointer 399 nil  gc_used
                       (!type param_struct 400 
                        (!type already_seen 399)
                        gc_pointed_to
                        (!type already_seen 49)
                        
                        (!type already_seen 312)
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "cfgloop.h" 225)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 313)
                       )
                      )
                     )
                     (!pair  "tree_root"
                      (!type already_seen 303)
                      (!srcfileloc  "cfgloop.h" 228)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 530)
                  nil )
                 (!pair  "su"
                  (!type pointer 401 nil  gc_used
                   (!type struct 402 
                    (!type already_seen 401)
                    gc_pointed_to "stack_usage"
                    (!srcfileloc  "function.h" 503)
                    (!fields 4 
                     (!pair  "static_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 490)
                      nil )
                     (!pair  "dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 494)
                      nil )
                     (!pair  "pushed_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 498)
                      nil )
                     (!pair  "has_unbounded_dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 502)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 533)
                  nil )
                 (!pair  "value_histograms"
                  (!type already_seen 50)
                  (!srcfileloc  "function.h" 536)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 541)
                  nil )
                 (!pair  "static_chain_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 545)
                  nil )
                 (!pair  "nonlocal_goto_save_area"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 550)
                  nil )
                 (!pair  "local_decls"
                  (!type already_seen 45)
                  (!srcfileloc  "function.h" 553)
                  nil )
                 (!pair  "cilk_frame_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 556)
                  nil )
                 (!pair  "machine"
                  (!type pointer 403 nil  gc_unused
                   (!type struct 404 
                    (!type already_seen 403)
                    gc_maybe_pointed_to "machine_function"
                    (!srcfileloc  "config/i386/i386.h" 2465)
                    (!fields 16 
                     (!pair  "stack_locals"
                      (!type pointer 405 nil  gc_used
                       (!type struct 406 
                        (!type already_seen 405)
                        gc_pointed_to "stack_local_entry"
                        (!srcfileloc  "config/i386/i386.c" 2266)
                        (!fields 4 
                         (!pair  "mode"
                          (!type already_seen 9)
                          (!srcfileloc  "config/i386/i386.c" 2262)
                          nil )
                         (!pair  "n"
                          (!type already_seen 9)
                          (!srcfileloc  "config/i386/i386.c" 2263)
                          nil )
                         (!pair  "rtl"
                          (!type already_seen 136)
                          (!srcfileloc  "config/i386/i386.c" 2264)
                          nil )
                         (!pair  "next"
                          (!type already_seen 405)
                          (!srcfileloc  "config/i386/i386.c" 2265)
                          nil )
                        )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "config/i386/i386.h" 2410)
                      nil )
                     (!pair  "some_ld_name"
                      (!type already_seen 36)
                      (!srcfileloc  "config/i386/i386.h" 2411)
                      nil )
                     (!pair  "varargs_gpr_size"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2412)
                      nil )
                     (!pair  "varargs_fpr_size"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2413)
                      nil )
                     (!pair  "optimize_mode_switching"
                      (!type array 407 nil  gc_used "MAX_386_ENTITIES" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "config/i386/i386.h" 2414)
                      nil )
                     (!pair  "use_fast_prologue_epilogue_nregs"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2418)
                      nil )
                     (!pair  "split_stack_varargs_pointer"
                      (!type already_seen 136)
                      (!srcfileloc  "config/i386/i386.h" 2425)
                      nil )
                     (!pair  "call_abi"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2429)
                      nil )
                     (!pair  "accesses_prev_frame"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2432)
                      nil )
                     (!pair  "needs_cld"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2435)
                      nil )
                     (!pair  "use_fast_prologue_epilogue"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2439)
                      nil )
                     (!pair  "tls_descriptor_call_expanded_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2450)
                      nil )
                     (!pair  "static_chain_on_stack"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2454)
                      nil )
                     (!pair  "no_drap_save_restore"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2457)
                      nil )
                     (!pair  "fs"
                      (!type struct 408 nil  gc_used "machine_frame_state"
                       (!srcfileloc  "config/i386/i386.h" 2404)
                       (!fields 9 
                        (!pair  "cfa_reg"
                         (!type already_seen 136)
                         (!srcfileloc  "config/i386/i386.h" 2376)
                         nil )
                        (!pair  "cfa_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2377)
                         nil )
                        (!pair  "sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2383)
                         nil )
                        (!pair  "fp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2384)
                         nil )
                        (!pair  "red_zone_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2390)
                         nil )
                        (!pair  "sp_valid"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2396)
                         nil )
                        (!pair  "fp_valid"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2397)
                         nil )
                        (!pair  "drap_valid"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2398)
                         nil )
                        (!pair  "realigned"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2403)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "config/i386/i386.h" 2461)
                      nil )
                     (!pair  "seh"
                      (!type pointer 409 nil  gc_unused
                       (!type struct 410 
                        (!type already_seen 409)
                        gc_unused "seh_frame_state"nil 
                        (!fields 0 )
                        nil 0 nil nil )
                      )
                      (!srcfileloc  "config/i386/i386.h" 2464)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 561)
                  (!options 
                   (!option maybe_undef string  "")
                  )
                 )
                 (!pair  "language"
                  (!type already_seen 74)
                  (!srcfileloc  "function.h" 564)
                  nil )
                 (!pair  "used_types_hash"
                  (!type already_seen 53)
                  (!srcfileloc  "function.h" 567)
                  (!options 
                   (!option param_is type 
                    (!type already_seen 7)
                   )
                  )
                 )
                 (!pair  "fde"
                  (!type pointer 411 nil  gc_used
                   (!type struct 412 
                    (!type already_seen 411)
                    gc_pointed_to "dw_fde_node"
                    (!srcfileloc  "dwarf2out.h" 106)
                    (!fields 22 
                     (!pair  "decl"
                      (!type already_seen 5)
                      (!srcfileloc  "dwarf2out.h" 74)
                      nil )
                     (!pair  "dw_fde_begin"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 75)
                      nil )
                     (!pair  "dw_fde_current_label"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 76)
                      nil )
                     (!pair  "dw_fde_end"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 77)
                      nil )
                     (!pair  "dw_fde_vms_end_prologue"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 78)
                      nil )
                     (!pair  "dw_fde_vms_begin_epilogue"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 79)
                      nil )
                     (!pair  "dw_fde_second_begin"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 80)
                      nil )
                     (!pair  "dw_fde_second_end"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 81)
                      nil )
                     (!pair  "dw_fde_cfi"
                      (!type pointer 413 nil  gc_used
                       (!type user_struct 414 
                        (!type already_seen 413)
                        gc_pointed_to "vec<dw_cfi_ref,va_gc>"
                        (!srcfileloc  "dwarf2out.h" 63)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "dwarf2out.h" 63)
                          nil )
                         (!pair  "dw_cfi_ref"
                          (!type pointer 415 nil  gc_used
                           (!type struct 416 
                            (!type already_seen 415)
                            gc_pointed_to "dw_cfi_node"
                            (!srcfileloc  "dwarf2out.h" 60)
                            (!fields 3 
                             (!pair  "dw_cfi_opc"
                              (!type already_seen 9)
                              (!srcfileloc  "dwarf2out.h" 55)
                              nil )
                             (!pair  "dw_cfi_oprnd1"
                              (!type union 417 nil  gc_used "anonymous:../../gcc/dwarf2out.h:47"
                               (!srcfileloc  "dwarf2out.h" 52)
                               (!fields 4 
                                (!pair  "dw_cfi_reg_num"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 48)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_reg_num")
                                 )
                                )
                                (!pair  "dw_cfi_offset"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 49)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_offset")
                                 )
                                )
                                (!pair  "dw_cfi_addr"
                                 (!type already_seen 36)
                                 (!srcfileloc  "dwarf2out.h" 50)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_addr")
                                 )
                                )
                                (!pair  "dw_cfi_loc"
                                 (!type pointer 418 nil  gc_used
                                  (!type struct 419 
                                   (!type already_seen 418)
                                   gc_pointed_to "dw_loc_descr_node"
                                   (!srcfileloc  "dwarf2out.h" 213)
                                   (!fields 6 
                                    (!pair  "dw_loc_next"
                                     (!type already_seen 418)
                                     (!srcfileloc  "dwarf2out.h" 205)
                                     nil )
                                    (!pair  "dw_loc_opc"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 206)
                                     nil )
                                    (!pair  "dtprel"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 209)
                                     nil )
                                    (!pair  "dw_loc_addr"
                                     (!type already_seen 9)
                                     (!srcfileloc  "dwarf2out.h" 210)
                                     nil )
                                    (!pair  "dw_loc_oprnd1"
                                     (!type struct 420 
                                      (!type pointer 421 nil  gc_unused
                                       (!type already_seen 420)
                                      )
                                      gc_used "dw_val_node"
                                      (!srcfileloc  "dwarf2out.h" 211)
                                      (!fields 3 
                                       (!pair  "val_class"
                                        (!type already_seen 9)
                                        (!srcfileloc  "dwarf2out.h" 168)
                                        nil )
                                       (!pair  "val_entry"
                                        (!type pointer 422 nil  gc_used
                                         (!type struct 423 
                                          (!type already_seen 422)
                                          gc_pointed_to "addr_table_entry_struct"
                                          (!srcfileloc  "dwarf2out.c" 1258)
                                          (!fields 4 
                                           (!pair  "kind"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1249)
                                            nil )
                                           (!pair  "refcount"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1250)
                                            nil )
                                           (!pair  "index"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1251)
                                            nil )
                                           (!pair  "addr"
                                            (!type union 424 nil  gc_used "addr_table_entry_struct_union"
                                             (!srcfileloc  "dwarf2out.c" 1256)
                                             (!fields 2 
                                              (!pair  "rtl"
                                               (!type already_seen 136)
                                               (!srcfileloc  "dwarf2out.c" 1254)
                                               (!options 
                                                (!option tag string  "0")
                                               )
                                              )
                                              (!pair  "label"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1255)
                                               (!options 
                                                (!option tag string  "1")
                                               )
                                              )
                                             )
                                             nil 511 nil )
                                            (!srcfileloc  "dwarf2out.c" 1257)
                                            (!options 
                                             (!option desc string  "%1.kind")
                                            )
                                           )
                                          )
                                          nil 511 nil nil )
                                        )
                                        (!srcfileloc  "dwarf2out.h" 169)
                                        nil )
                                       (!pair  "v"
                                        (!type union 425 nil  gc_used "dw_val_struct_union"
                                         (!srcfileloc  "dwarf2out.h" 197)
                                         (!fields 17 
                                          (!pair  "val_addr"
                                           (!type already_seen 136)
                                           (!srcfileloc  "dwarf2out.h" 172)
                                           (!options 
                                            (!option tag string  "dw_val_class_addr")
                                           )
                                          )
                                          (!pair  "val_offset"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 173)
                                           (!options 
                                            (!option tag string  "dw_val_class_offset")
                                           )
                                          )
                                          (!pair  "val_loc_list"
                                           (!type pointer 426 nil  gc_used
                                            (!type struct 427 
                                             (!type already_seen 426)
                                             gc_pointed_to "dw_loc_list_struct"
                                             (!srcfileloc  "dwarf2out.c" 1283)
                                             (!fields 12 
                                              (!pair  "dw_loc_next"
                                               (!type already_seen 426)
                                               (!srcfileloc  "dwarf2out.c" 1265)
                                               nil )
                                              (!pair  "begin"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1266)
                                               nil )
                                              (!pair  "begin_entry"
                                               (!type already_seen 422)
                                               (!srcfileloc  "dwarf2out.c" 1267)
                                               nil )
                                              (!pair  "end"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1268)
                                               nil )
                                              (!pair  "ll_symbol"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1269)
                                               nil )
                                              (!pair  "section"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1271)
                                               nil )
                                              (!pair  "expr"
                                               (!type already_seen 418)
                                               (!srcfileloc  "dwarf2out.c" 1272)
                                               nil )
                                              (!pair  "hash"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1273)
                                               nil )
                                              (!pair  "resolved_addr"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1276)
                                               nil )
                                              (!pair  "replaced"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1278)
                                               nil )
                                              (!pair  "emitted"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1279)
                                               nil )
                                              (!pair  "force"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1282)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 174)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc_list")
                                           )
                                          )
                                          (!pair  "val_loc"
                                           (!type already_seen 418)
                                           (!srcfileloc  "dwarf2out.h" 175)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc")
                                           )
                                          )
                                          (!pair  "val_int"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 176)
                                           (!options 
                                            (!option default string  "")
                                           )
                                          )
                                          (!pair  "val_unsigned"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 177)
                                           (!options 
                                            (!option tag string  "dw_val_class_unsigned_const")
                                           )
                                          )
                                          (!pair  "val_double"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 178)
                                           (!options 
                                            (!option tag string  "dw_val_class_const_double")
                                           )
                                          )
                                          (!pair  "val_vec"
                                           (!type struct 428 nil  gc_used "dw_vec_const"
                                            (!srcfileloc  "dwarf2out.h" 179)
                                            (!fields 3 
                                             (!pair  "array"
                                              (!type already_seen 36)
                                              (!srcfileloc  "dwarf2out.h" 157)
                                              (!options 
                                               (!option atomic string  "")
                                              )
                                             )
                                             (!pair  "length"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 158)
                                              nil )
                                             (!pair  "elt_size"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 159)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 179)
                                           (!options 
                                            (!option tag string  "dw_val_class_vec")
                                           )
                                          )
                                          (!pair  "val_die_ref"
                                           (!type struct 429 nil  gc_used "dw_val_die_union"
                                            (!srcfileloc  "dwarf2out.h" 184)
                                            (!fields 2 
                                             (!pair  "die"
                                              (!type pointer 430 
                                               (!type pointer 431 nil  gc_used
                                                (!type already_seen 430)
                                               )
                                               gc_pointed_to
                                               (!type struct 432 
                                                (!type already_seen 430)
                                                gc_pointed_to "die_struct"
                                                (!srcfileloc  "dwarf2out.c" 2564)
                                                (!fields 13 
                                                 (!pair  "die_id"
                                                  (!type union 433 nil  gc_used "die_symbol_or_type_node"
                                                   (!srcfileloc  "dwarf2out.c" 2548)
                                                   (!fields 2 
                                                    (!pair  "die_symbol"
                                                     (!type already_seen 36)
                                                     (!srcfileloc  "dwarf2out.c" 2546)
                                                     (!options 
                                                      (!option tag string  "0")
                                                     )
                                                    )
                                                    (!pair  "die_type_node"
                                                     (!type pointer 434 nil  gc_used
                                                      (!type struct 435 
                                                       (!type already_seen 434)
                                                       gc_pointed_to "comdat_type_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2614)
                                                       (!fields 5 
                                                        (!pair  "root_die"
                                                         (!type already_seen 430)
                                                         (!srcfileloc  "dwarf2out.c" 2609)
                                                         nil )
                                                        (!pair  "type_die"
                                                         (!type already_seen 430)
                                                         (!srcfileloc  "dwarf2out.c" 2610)
                                                         nil )
                                                        (!pair  "skeleton_die"
                                                         (!type already_seen 430)
                                                         (!srcfileloc  "dwarf2out.c" 2611)
                                                         nil )
                                                        (!pair  "signature"
                                                         (!type array 436 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                          (!type already_seen 28)
                                                         )
                                                         (!srcfileloc  "dwarf2out.c" 2612)
                                                         nil )
                                                        (!pair  "next"
                                                         (!type already_seen 434)
                                                         (!srcfileloc  "dwarf2out.c" 2613)
                                                         nil )
                                                       )
                                                       nil 511 nil nil )
                                                     )
                                                     (!srcfileloc  "dwarf2out.c" 2547)
                                                     (!options 
                                                      (!option tag string  "1")
                                                     )
                                                    )
                                                   )
                                                   nil 511 nil )
                                                  (!srcfileloc  "dwarf2out.c" 2549)
                                                  (!options 
                                                   (!option desc string  "%0.comdat_type_p")
                                                  )
                                                 )
                                                 (!pair  "die_attr"
                                                  (!type pointer 437 nil  gc_used
                                                   (!type user_struct 438 
                                                    (!type already_seen 437)
                                                    gc_pointed_to "vec<dw_attr_node,va_gc>"
                                                    (!srcfileloc  "dwarf2out.c" 2550)
                                                    (!fields 2 
                                                     (!pair  "va_gc"
                                                      (!type already_seen 3)
                                                      (!srcfileloc  "dwarf2out.c" 2550)
                                                      nil )
                                                     (!pair  "dw_attr_node"
                                                      (!type struct 439 
                                                       (!type pointer 440 nil  gc_unused
                                                        (!type already_seen 439)
                                                       )
                                                       gc_used "dw_attr_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2535)
                                                       (!fields 2 
                                                        (!pair  "dw_attr"
                                                         (!type already_seen 9)
                                                         (!srcfileloc  "dwarf2out.c" 2533)
                                                         nil )
                                                        (!pair  "dw_attr_val"
                                                         (!type already_seen 420)
                                                         (!srcfileloc  "dwarf2out.c" 2534)
                                                         nil )
                                                       )
                                                       nil 511 nil nil )
                                                      (!srcfileloc  "dwarf2out.c" 2550)
                                                      nil )
                                                    )
                                                   )
                                                  )
                                                  (!srcfileloc  "dwarf2out.c" 2550)
                                                  nil )
                                                 (!pair  "die_parent"
                                                  (!type already_seen 430)
                                                  (!srcfileloc  "dwarf2out.c" 2551)
                                                  nil )
                                                 (!pair  "die_child"
                                                  (!type already_seen 430)
                                                  (!srcfileloc  "dwarf2out.c" 2552)
                                                  nil )
                                                 (!pair  "die_sib"
                                                  (!type already_seen 430)
                                                  (!srcfileloc  "dwarf2out.c" 2553)
                                                  nil )
                                                 (!pair  "die_definition"
                                                  (!type already_seen 430)
                                                  (!srcfileloc  "dwarf2out.c" 2554)
                                                  nil )
                                                 (!pair  "die_offset"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2555)
                                                  nil )
                                                 (!pair  "die_abbrev"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2556)
                                                  nil )
                                                 (!pair  "die_mark"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2557)
                                                  nil )
                                                 (!pair  "decl_id"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2558)
                                                  nil )
                                                 (!pair  "die_tag"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2559)
                                                  nil )
                                                 (!pair  "die_perennial_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2561)
                                                  nil )
                                                 (!pair  "comdat_type_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2562)
                                                  nil )
                                                )
                                                (!options 
                                                 (!option chain_circular string  "%h.die_sib")
                                                )
                                                511 nil nil )
                                              )
                                              (!srcfileloc  "dwarf2out.h" 182)
                                              nil )
                                             (!pair  "external"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 183)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 184)
                                           (!options 
                                            (!option tag string  "dw_val_class_die_ref")
                                           )
                                          )
                                          (!pair  "val_fde_index"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 185)
                                           (!options 
                                            (!option tag string  "dw_val_class_fde_ref")
                                           )
                                          )
                                          (!pair  "val_str"
                                           (!type pointer 441 nil  gc_used
                                            (!type struct 442 
                                             (!type already_seen 441)
                                             gc_pointed_to "indirect_string_node"
                                             (!srcfileloc  "dwarf2out.c" 211)
                                             (!fields 5 
                                              (!pair  "str"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 206)
                                               nil )
                                              (!pair  "refcount"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 207)
                                               nil )
                                              (!pair  "form"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 208)
                                               nil )
                                              (!pair  "label"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 209)
                                               nil )
                                              (!pair  "index"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 210)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 186)
                                           (!options 
                                            (!option tag string  "dw_val_class_str")
                                           )
                                          )
                                          (!pair  "val_lbl_id"
                                           (!type already_seen 36)
                                           (!srcfileloc  "dwarf2out.h" 187)
                                           (!options 
                                            (!option tag string  "dw_val_class_lbl_id")
                                           )
                                          )
                                          (!pair  "val_flag"
                                           (!type already_seen 28)
                                           (!srcfileloc  "dwarf2out.h" 188)
                                           (!options 
                                            (!option tag string  "dw_val_class_flag")
                                           )
                                          )
                                          (!pair  "val_file"
                                           (!type pointer 443 nil  gc_used
                                            (!type struct 444 
                                             (!type already_seen 443)
                                             gc_pointed_to "dwarf_file_data"
                                             (!srcfileloc  "dwarf2out.c" 1228)
                                             (!fields 2 
                                              (!pair  "filename"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1226)
                                               nil )
                                              (!pair  "emitted_number"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1227)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 189)
                                           (!options 
                                            (!option tag string  "dw_val_class_file")
                                           )
                                          )
                                          (!pair  "val_data8"
                                           (!type array 445 nil  gc_used "8" 
                                            (!type already_seen 28)
                                           )
                                           (!srcfileloc  "dwarf2out.h" 190)
                                           (!options 
                                            (!option tag string  "dw_val_class_data8")
                                           )
                                          )
                                          (!pair  "val_decl_ref"
                                           (!type already_seen 5)
                                           (!srcfileloc  "dwarf2out.h" 191)
                                           (!options 
                                            (!option tag string  "dw_val_class_decl_ref")
                                           )
                                          )
                                          (!pair  "val_vms_delta"
                                           (!type struct 446 nil  gc_used "dw_val_vms_delta_union"
                                            (!srcfileloc  "dwarf2out.h" 196)
                                            (!fields 2 
                                             (!pair  "lbl1"
                                              (!type already_seen 36)
                                              (!srcfileloc  "dwarf2out.h" 194)
                                              nil )
                                             (!pair  "lbl2"
                                              (!type already_seen 36)
                                              (!srcfileloc  "dwarf2out.h" 195)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 196)
                                           (!options 
                                            (!option tag string  "dw_val_class_vms_delta")
                                           )
                                          )
                                         )
                                         nil 511 nil )
                                        (!srcfileloc  "dwarf2out.h" 198)
                                        (!options 
                                         (!option desc string  "%1.val_class")
                                        )
                                       )
                                      )
                                      nil 511 nil nil )
                                     (!srcfileloc  "dwarf2out.h" 211)
                                     nil )
                                    (!pair  "dw_loc_oprnd2"
                                     (!type already_seen 420)
                                     (!srcfileloc  "dwarf2out.h" 212)
                                     nil )
                                   )
                                   nil 511 nil nil )
                                 )
                                 (!srcfileloc  "dwarf2out.h" 51)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_loc")
                                 )
                                )
                               )
                               nil 511 nil )
                              (!srcfileloc  "dwarf2out.h" 57)
                              (!options 
                               (!option desc string  "dw_cfi_oprnd1_desc (%1.dw_cfi_opc)")
                              )
                             )
                             (!pair  "dw_cfi_oprnd2"
                              (!type already_seen 417)
                              (!srcfileloc  "dwarf2out.h" 59)
                              (!options 
                               (!option desc string  "dw_cfi_oprnd2_desc (%1.dw_cfi_opc)")
                              )
                             )
                            )
                            nil 511 nil nil )
                          )
                          (!srcfileloc  "dwarf2out.h" 63)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "dwarf2out.h" 82)
                      nil )
                     (!pair  "dw_fde_switch_cfi_index"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 83)
                      nil )
                     (!pair  "stack_realignment"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 84)
                      nil )
                     (!pair  "funcdef_number"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 86)
                      nil )
                     (!pair  "fde_index"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 87)
                      nil )
                     (!pair  "drap_reg"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 90)
                      nil )
                     (!pair  "vdrap_reg"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 92)
                      nil )
                     (!pair  "all_throwers_are_sibcalls"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 94)
                      nil )
                     (!pair  "uses_eh_lsda"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 95)
                      nil )
                     (!pair  "nothrow"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 96)
                      nil )
                     (!pair  "stack_realign"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 98)
                      nil )
                     (!pair  "drap_reg_saved"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 100)
                      nil )
                     (!pair  "in_std_section"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 102)
                      nil )
                     (!pair  "second_in_std_section"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 105)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 572)
                  nil )
                 (!pair  "last_stmt_uid"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 575)
                  nil )
                 (!pair  "funcdef_no"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 578)
                  nil )
                 (!pair  "function_start_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 581)
                  nil )
                 (!pair  "function_end_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 584)
                  nil )
                 (!pair  "curr_properties"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 587)
                  nil )
                 (!pair  "last_verified"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 588)
                  nil )
                 (!pair  "cannot_be_copied_reason"
                  (!type already_seen 36)
                  (!srcfileloc  "function.h" 593)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "va_list_gpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 600)
                  nil )
                 (!pair  "va_list_fpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 604)
                  nil )
                 (!pair  "calls_setjmp"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 607)
                  nil )
                 (!pair  "calls_alloca"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 611)
                  nil )
                 (!pair  "is_cilk_function"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 614)
                  nil )
                 (!pair  "calls_cilk_spawn"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 617)
                  nil )
                 (!pair  "has_nonlocal_label"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 621)
                  nil )
                 (!pair  "cannot_be_copied_set"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 626)
                  nil )
                 (!pair  "stdarg"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 629)
                  nil )
                 (!pair  "after_inlining"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 631)
                  nil )
                 (!pair  "always_inline_functions_inlined"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 632)
                  nil )
                 (!pair  "can_throw_non_call_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 636)
                  nil )
                 (!pair  "can_delete_dead_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 640)
                  nil )
                 (!pair  "returns_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 647)
                  nil )
                 (!pair  "returns_pcc_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 651)
                  nil )
                 (!pair  "has_local_explicit_reg_vars"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 655)
                  nil )
                 (!pair  "is_thunk"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 661)
                  nil )
                 (!pair  "has_force_vect_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 665)
                  nil )
                 (!pair  "has_simduid_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 669)
                  nil )
                 (!pair  "tail_call_marked"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 672)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1483)
              nil )
             (!pair  "personality"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1486)
              nil )
             (!pair  "function_specific_target"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1489)
              nil )
             (!pair  "function_specific_optimization"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1490)
              nil )
             (!pair  "function_code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1496)
              nil )
             (!pair  "built_in_class"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1497)
              nil )
             (!pair  "static_ctor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1499)
              nil )
             (!pair  "static_dtor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1500)
              nil )
             (!pair  "uninlinable"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1501)
              nil )
             (!pair  "possibly_inlined"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1503)
              nil )
             (!pair  "novops_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1504)
              nil )
             (!pair  "returns_twice_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1505)
              nil )
             (!pair  "malloc_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1506)
              nil )
             (!pair  "operator_new_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1507)
              nil )
             (!pair  "declared_inline_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1508)
              nil )
             (!pair  "regdecl_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1509)
              nil )
             (!pair  "no_inline_warning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1510)
              nil )
             (!pair  "no_instrument_function_entry_exit"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1512)
              nil )
             (!pair  "no_limit_stack"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1513)
              nil )
             (!pair  "disregard_inline_limits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1514)
              nil )
             (!pair  "pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1515)
              nil )
             (!pair  "looping_const_or_pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1516)
              nil )
             (!pair  "has_debug_args_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1517)
              nil )
             (!pair  "tm_clone_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1518)
              nil )
             (!pair  "versioned_function"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1519)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1612)
           (!options 
            (!option tag string  "TS_FUNCTION_DECL")
           )
          )
          (!pair  "translation_unit_decl"
           (!type struct 447 nil  gc_used "tree_translation_unit_decl"
            (!srcfileloc  "tree-core.h" 1529)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1524)
              nil )
             (!pair  "language"
              (!type already_seen 36)
              (!srcfileloc  "tree-core.h" 1526)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1614)
           (!options 
            (!option tag string  "TS_TRANSLATION_UNIT_DECL")
           )
          )
          (!pair  "type_common"
           (!type struct 448 nil  gc_used "tree_type_common"
            (!srcfileloc  "tree-core.h" 1281)
            (!fields 30 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1243)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1244)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1245)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1246)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1247)
              nil )
             (!pair  "precision"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1249)
              nil )
             (!pair  "no_force_blk_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1250)
              nil )
             (!pair  "needs_constructing_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1251)
              nil )
             (!pair  "transparent_aggr_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1252)
              nil )
             (!pair  "restrict_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1253)
              nil )
             (!pair  "contains_placeholder_bits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1254)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1256)
              nil )
             (!pair  "string_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1258)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1259)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1260)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1261)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1262)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1263)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1264)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1265)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1267)
              nil )
             (!pair  "alias_set"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1268)
              nil )
             (!pair  "pointer_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1269)
              nil )
             (!pair  "reference_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1270)
              nil )
             (!pair  "symtab"
              (!type union 449 nil  gc_used "tree_type_symtab"
               (!srcfileloc  "tree-core.h" 1275)
               (!fields 3 
                (!pair  "address"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1272)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_ADDRESS")
                 )
                )
                (!pair  "pointer"
                 (!type already_seen 36)
                 (!srcfileloc  "tree-core.h" 1273)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_POINTER")
                 )
                )
                (!pair  "die"
                 (!type already_seen 430)
                 (!srcfileloc  "tree-core.h" 1274)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_DIE")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1275)
              (!options 
               (!option desc string  "debug_hooks->tree_type_symtab_field")
              )
             )
             (!pair  "canonical"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1276)
              nil )
             (!pair  "next_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1277)
              nil )
             (!pair  "main_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1278)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1279)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1280)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1615)
           (!options 
            (!option tag string  "TS_TYPE_COMMON")
           )
          )
          (!pair  "type_with_lang_specific"
           (!type struct 450 nil  gc_used "tree_type_with_lang_specific"
            (!srcfileloc  "tree-core.h" 1287)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 448)
              (!srcfileloc  "tree-core.h" 1284)
              nil )
             (!pair  "lang_specific"
              (!type pointer 451 nil  gc_used
               (!type lang_struct 452 
                (!type already_seen 451)
                gc_pointed_to "lang_type"
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 40)
                (!fields 0 )
                (!options 
                 (!option variable_size string  "")
                )
                511 
                (!homotypes 7
                 (!type struct 453 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "lto/lto-tree.h" 39)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 38)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  64 
                  (!type already_seen 452)
                  nil )
                 
                 (!type struct 454 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "java/java-tree.h" 926)
                  (!fields 29 
                   (!pair  "signature"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 876)
                    nil )
                   (!pair  "jcf"
                    (!type pointer 455 nil  gc_used
                     (!type struct 456 
                      (!type already_seen 455)
                      gc_pointed_to "JCF"
                      (!srcfileloc  "java/jcf.h" 123)
                      (!fields 16 
                       (!pair  "buffer"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 106)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "buffer_end"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 107)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_ptr"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 108)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_end"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 109)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "right_zip"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 110)
                        nil )
                       (!pair  "finished"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 111)
                        nil )
                       (!pair  "filbuf"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 112)
                        nil )
                       (!pair  "read_state"
                        (!type already_seen 10)
                        (!srcfileloc  "java/jcf.h" 113)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "filename"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 114)
                        nil )
                       (!pair  "classname"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 115)
                        nil )
                       (!pair  "zipd"
                        (!type pointer 457 nil  gc_unused
                         (!type struct 458 
                          (!type already_seen 457)
                          gc_unused "ZipDirectory"nil 
                          (!fields 0 )
                          nil 0 nil nil )
                        )
                        (!srcfileloc  "java/jcf.h" 117)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "access_flags"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 118)
                        nil )
                       (!pair  "this_class"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 119)
                        nil )
                       (!pair  "super_class"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 120)
                        nil )
                       (!pair  "cpool"
                        (!type struct 459 
                         (!type pointer 460 nil  gc_used
                          (!type already_seen 459)
                         )
                         gc_pointed_to "CPool"
                         (!srcfileloc  "java/jcf.h" 88)
                         (!fields 4 
                          (!pair  "capacity"
                           (!type already_seen 9)
                           (!srcfileloc  "java/jcf.h" 79)
                           nil )
                          (!pair  "count"
                           (!type already_seen 9)
                           (!srcfileloc  "java/jcf.h" 82)
                           nil )
                          (!pair  "tags"
                           (!type already_seen 10)
                           (!srcfileloc  "java/jcf.h" 84)
                           (!options 
                            (!option atomic string  "")
                           )
                          )
                          (!pair  "data"
                           (!type pointer 461 nil  gc_unused
                            (!type union 462 
                             (!type already_seen 461)
                             gc_used "cpool_entry"
                             (!srcfileloc  "java/jcf.h" 71)
                             (!fields 2 
                              (!pair  "w"
                               (!type already_seen 9)
                               (!srcfileloc  "java/jcf.h" 69)
                               (!options 
                                (!option tag string  "0")
                               )
                              )
                              (!pair  "t"
                               (!type already_seen 5)
                               (!srcfileloc  "java/jcf.h" 70)
                               (!options 
                                (!option tag string  "1")
                               )
                              )
                             )
                             (!options 
                              (!option variable_size string  "")
                             )
                             32 nil )
                           )
                           (!srcfileloc  "java/jcf.h" 87)
                           (!options 
                            (!option desc string  "cpool_entry_is_tree (%1.tags%a)")
                            (!option length string  "%h.count")
                           )
                          )
                         )
                         nil 32 nil nil )
                        (!srcfileloc  "java/jcf.h" 121)
                        nil )
                       (!pair  "bootstrap_methods"
                        (!type struct 463 nil  gc_used "BootstrapMethods"
                         (!srcfileloc  "java/jcf.h" 99)
                         (!fields 2 
                          (!pair  "count"
                           (!type already_seen 9)
                           (!srcfileloc  "java/jcf.h" 97)
                           nil )
                          (!pair  "methods"
                           (!type pointer 464 nil  gc_unused
                            (!type struct 465 
                             (!type already_seen 464)
                             gc_used "bootstrap_method"
                             (!srcfileloc  "java/jcf.h" 94)
                             (!fields 3 
                              (!pair  "method_ref"
                               (!type already_seen 9)
                               (!srcfileloc  "java/jcf.h" 91)
                               nil )
                              (!pair  "num_arguments"
                               (!type already_seen 9)
                               (!srcfileloc  "java/jcf.h" 92)
                               nil )
                              (!pair  "bootstrap_arguments"
                               (!type already_seen 10)
                               (!srcfileloc  "java/jcf.h" 93)
                               (!options 
                                (!option atomic string  "")
                               )
                              )
                             )
                             nil 32 nil nil )
                           )
                           (!srcfileloc  "java/jcf.h" 98)
                           (!options 
                            (!option length string  "%h.count")
                           )
                          )
                         )
                         nil 32 nil nil )
                        (!srcfileloc  "java/jcf.h" 122)
                        nil )
                      )
                      nil 32 nil nil )
                    )
                    (!srcfileloc  "java/java-tree.h" 877)
                    nil )
                   (!pair  "cpool"
                    (!type already_seen 460)
                    (!srcfileloc  "java/java-tree.h" 878)
                    nil )
                   (!pair  "cpool_data_ref"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 879)
                    nil )
                   (!pair  "package_list"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 880)
                    nil )
                   (!pair  "otable_methods"
                    (!type pointer 466 nil  gc_used
                     (!type user_struct 467 
                      (!type already_seen 466)
                      gc_pointed_to "vec<method_entry,va_gc>"
                      (!srcfileloc  "java/java-tree.h" 882)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "java/java-tree.h" 882)
                        nil )
                       (!pair  "method_entry"
                        (!type struct 468 nil  gc_used "method_entry_d"
                         (!srcfileloc  "java/java-tree.h" 869)
                         (!fields 2 
                          (!pair  "method"
                           (!type already_seen 5)
                           (!srcfileloc  "java/java-tree.h" 867)
                           nil )
                          (!pair  "special"
                           (!type already_seen 5)
                           (!srcfileloc  "java/java-tree.h" 868)
                           nil )
                         )
                         nil 32 nil nil )
                        (!srcfileloc  "java/java-tree.h" 882)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 882)
                    nil )
                   (!pair  "otable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 884)
                    nil )
                   (!pair  "otable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 885)
                    nil )
                   (!pair  "atable_methods"
                    (!type already_seen 466)
                    (!srcfileloc  "java/java-tree.h" 887)
                    nil )
                   (!pair  "atable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 889)
                    nil )
                   (!pair  "atable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 890)
                    nil )
                   (!pair  "itable_methods"
                    (!type already_seen 466)
                    (!srcfileloc  "java/java-tree.h" 892)
                    nil )
                   (!pair  "itable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 894)
                    nil )
                   (!pair  "itable_syms_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 895)
                    nil )
                   (!pair  "ctable_decl"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 897)
                    nil )
                   (!pair  "catch_classes"
                    (!type pointer 469 nil  gc_used
                     (!type user_struct 470 
                      (!type already_seen 469)
                      gc_pointed_to "vec<constructor_elt,va_gc>"
                      (!srcfileloc  "tree-core.h" 1109)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "tree-core.h" 1109)
                        nil )
                       (!pair  "constructor_elt"
                        (!type struct 471 nil  gc_used "constructor_elt"
                         (!srcfileloc  "tree-core.h" 1109)
                         (!fields 2 
                          (!pair  "index"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1103)
                           nil )
                          (!pair  "value"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1104)
                           nil )
                         )
                         nil 511 nil nil )
                        (!srcfileloc  "tree-core.h" 1109)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 899)
                    nil )
                   (!pair  "type_to_runtime_map"
                    (!type already_seen 47)
                    (!srcfileloc  "java/java-tree.h" 901)
                    (!options 
                     (!option param_is type 
                      (!type already_seen 52)
                     )
                    )
                   )
                   (!pair  "type_assertions"
                    (!type pointer 472 nil  gc_used
                     (!type param_struct 473 
                      (!type already_seen 472)
                      gc_pointed_to
                      (!type already_seen 49)
                      
                      (!type pointer 474 nil  gc_used
                       (!type struct 475 
                        (!type already_seen 474)
                        gc_pointed_to "type_assertion"
                        (!srcfileloc  "java/java-tree.h" 786)
                        (!fields 3 
                         (!pair  "assertion_code"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 783)
                          nil )
                         (!pair  "op1"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 784)
                          nil )
                         (!pair  "op2"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 785)
                          nil )
                        )
                        nil 32 nil nil )
                      )
                      nil nil nil nil nil nil nil nil nil nil )
                    )
                    (!srcfileloc  "java/java-tree.h" 905)
                    (!options 
                     (!option param_is type 
                      (!type already_seen 475)
                     )
                    )
                   )
                   (!pair  "package"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 909)
                    nil )
                   (!pair  "reflection_data"
                    (!type already_seen 36)
                    (!srcfileloc  "java/java-tree.h" 912)
                    (!options 
                     (!option skip string  "")
                    )
                   )
                   (!pair  "reflection_datasize"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 915)
                    nil )
                   (!pair  "pic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 918)
                    nil )
                   (!pair  "poic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 919)
                    nil )
                   (!pair  "strictfp"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 920)
                    nil )
                   (!pair  "assertions"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 921)
                    nil )
                   (!pair  "dummy_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 922)
                    nil )
                   (!pair  "enum_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 923)
                    nil )
                   (!pair  "synthetic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 924)
                    nil )
                   (!pair  "annotation"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 925)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  32 
                  (!type already_seen 452)
                  nil )
                 
                 (!type struct 476 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "go/go-lang.c" 50)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 28)
                    (!srcfileloc  "go/go-lang.c" 49)
                    nil )
                  )
                  nil 16 
                  (!type already_seen 452)
                  nil )
                 
                 (!type struct 477 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "fortran/trans.h" 818)
                  (!fields 15 
                   (!pair  "rank"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 804)
                    nil )
                   (!pair  "corank"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 804)
                    nil )
                   (!pair  "akind"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 805)
                    nil )
                   (!pair  "lbound"
                    (!type array 478 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 806)
                    nil )
                   (!pair  "ubound"
                    (!type array 479 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 807)
                    nil )
                   (!pair  "stride"
                    (!type array 480 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 808)
                    nil )
                   (!pair  "size"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 809)
                    nil )
                   (!pair  "offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 810)
                    nil )
                   (!pair  "dtype"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 811)
                    nil )
                   (!pair  "dataptr_type"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 812)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 813)
                    nil )
                   (!pair  "base_decl"
                    (!type array 481 nil  gc_used "2" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 814)
                    nil )
                   (!pair  "nonrestricted_type"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 815)
                    nil )
                   (!pair  "caf_token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 816)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 817)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  8 
                  (!type already_seen 452)
                  nil )
                 
                 (!type struct 482 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "cp/cp-tree.h" 1493)
                  (!fields 1 
                   (!pair  "u"
                    (!type union 483 nil  gc_used "lang_type_u"
                     (!srcfileloc  "cp/cp-tree.h" 1492)
                     (!fields 3 
                      (!pair  "h"
                       (!type struct 484 nil  gc_used "lang_type_header"
                        (!srcfileloc  "cp/cp-tree.h" 1377)
                        (!fields 8 
                         (!pair  "is_lang_type_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1367)
                          nil )
                         (!pair  "has_type_conversion"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1369)
                          nil )
                         (!pair  "has_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1370)
                          nil )
                         (!pair  "has_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1371)
                          nil )
                         (!pair  "const_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1372)
                          nil )
                         (!pair  "ref_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1373)
                          nil )
                         (!pair  "has_const_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1374)
                          nil )
                         (!pair  "spare"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1376)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1489)
                       (!options 
                        (!option skip string  "")
                       )
                      )
                      (!pair  "c"
                       (!type struct 485 nil  gc_used "lang_type_class"
                        (!srcfileloc  "cp/cp-tree.h" 1479)
                        (!fields 63 
                         (!pair  "h"
                          (!type already_seen 484)
                          (!srcfileloc  "cp/cp-tree.h" 1393)
                          nil )
                         (!pair  "align"
                          (!type already_seen 28)
                          (!srcfileloc  "cp/cp-tree.h" 1395)
                          nil )
                         (!pair  "has_mutable"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1397)
                          nil )
                         (!pair  "com_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1398)
                          nil )
                         (!pair  "non_pod_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1399)
                          nil )
                         (!pair  "nearly_empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1400)
                          nil )
                         (!pair  "user_align"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1401)
                          nil )
                         (!pair  "has_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1402)
                          nil )
                         (!pair  "has_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1403)
                          nil )
                         (!pair  "has_array_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1404)
                          nil )
                         (!pair  "gets_delete"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1406)
                          nil )
                         (!pair  "interface_only"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1407)
                          nil )
                         (!pair  "interface_unknown"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1408)
                          nil )
                         (!pair  "contains_empty_class_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1409)
                          nil )
                         (!pair  "anon_aggr"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1410)
                          nil )
                         (!pair  "non_zero_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1411)
                          nil )
                         (!pair  "empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1412)
                          nil )
                         (!pair  "vec_new_uses_cookie"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1414)
                          nil )
                         (!pair  "declared_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1415)
                          nil )
                         (!pair  "diamond_shaped"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1416)
                          nil )
                         (!pair  "repeated_base"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1417)
                          nil )
                         (!pair  "being_defined"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1418)
                          nil )
                         (!pair  "java_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1419)
                          nil )
                         (!pair  "debug_requested"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1420)
                          nil )
                         (!pair  "fields_readonly"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1421)
                          nil )
                         (!pair  "use_template"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1423)
                          nil )
                         (!pair  "ptrmemfunc_flag"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1424)
                          nil )
                         (!pair  "was_anonymous"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1425)
                          nil )
                         (!pair  "lazy_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1426)
                          nil )
                         (!pair  "lazy_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1427)
                          nil )
                         (!pair  "lazy_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1428)
                          nil )
                         (!pair  "lazy_destructor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1429)
                          nil )
                         (!pair  "has_const_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1431)
                          nil )
                         (!pair  "has_complex_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1432)
                          nil )
                         (!pair  "has_complex_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1433)
                          nil )
                         (!pair  "non_aggregate"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1434)
                          nil )
                         (!pair  "has_complex_dflt"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1435)
                          nil )
                         (!pair  "has_list_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1436)
                          nil )
                         (!pair  "non_std_layout"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1437)
                          nil )
                         (!pair  "is_literal"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1438)
                          nil )
                         (!pair  "lazy_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1440)
                          nil )
                         (!pair  "lazy_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1441)
                          nil )
                         (!pair  "has_complex_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1442)
                          nil )
                         (!pair  "has_complex_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1443)
                          nil )
                         (!pair  "has_constexpr_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1444)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1453)
                          nil )
                         (!pair  "primary_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1455)
                          nil )
                         (!pair  "vcall_indices"
                          (!type pointer 486 nil  gc_used
                           (!type user_struct 487 
                            (!type already_seen 486)
                            gc_pointed_to "vec<tree_pair_s,va_gc>"
                            (!srcfileloc  "cp/cp-tree.h" 1456)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "cp/cp-tree.h" 1456)
                              nil )
                             (!pair  "tree_pair_s"
                              (!type struct 488 
                               (!type pointer 489 nil  gc_unused
                                (!type already_seen 488)
                               )
                               gc_used "tree_pair_s"
                               (!srcfileloc  "cp/cp-tree.h" 1360)
                               (!fields 2 
                                (!pair  "purpose"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1358)
                                 nil )
                                (!pair  "value"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1359)
                                 nil )
                               )
                               nil 260 nil nil )
                              (!srcfileloc  "cp/cp-tree.h" 1456)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1456)
                          nil )
                         (!pair  "vtables"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1457)
                          nil )
                         (!pair  "typeinfo_var"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1458)
                          nil )
                         (!pair  "vbases"
                          (!type already_seen 45)
                          (!srcfileloc  "cp/cp-tree.h" 1459)
                          nil )
                         (!pair  "nested_udts"
                          (!type pointer 490 nil  gc_used
                           (!type struct 491 
                            (!type already_seen 490)
                            gc_pointed_to "binding_table_s"
                            (!srcfileloc  "cp/name-lookup.c" 141)
                            (!fields 3 
                             (!pair  "chain"
                              (!type pointer 492 nil  gc_unused
                               (!type pointer 493 
                                (!type already_seen 492)
                                gc_used
                                (!type struct 494 
                                 (!type already_seen 493)
                                 gc_pointed_to "binding_entry_s"
                                 (!srcfileloc  "cp/name-lookup.h" 38)
                                 (!fields 3 
                                  (!pair  "chain"
                                   (!type already_seen 493)
                                   (!srcfileloc  "cp/name-lookup.h" 35)
                                   nil )
                                  (!pair  "name"
                                   (!type already_seen 5)
                                   (!srcfileloc  "cp/name-lookup.h" 36)
                                   nil )
                                  (!pair  "type"
                                   (!type already_seen 5)
                                   (!srcfileloc  "cp/name-lookup.h" 37)
                                   nil )
                                 )
                                 nil 260 nil nil )
                               )
                              )
                              (!srcfileloc  "cp/name-lookup.c" 133)
                              (!options 
                               (!option length string  "%h.chain_count")
                              )
                             )
                             (!pair  "chain_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 137)
                              nil )
                             (!pair  "entry_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 140)
                              nil )
                            )
                            nil 260 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1460)
                          nil )
                         (!pair  "as_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1461)
                          nil )
                         (!pair  "pure_virtuals"
                          (!type already_seen 45)
                          (!srcfileloc  "cp/cp-tree.h" 1462)
                          nil )
                         (!pair  "friend_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1463)
                          nil )
                         (!pair  "methods"
                          (!type already_seen 45)
                          (!srcfileloc  "cp/cp-tree.h" 1464)
                          (!options 
                           (!option reorder string  "resort_type_method_vec")
                          )
                         )
                         (!pair  "key_method"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1465)
                          nil )
                         (!pair  "decl_list"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1466)
                          nil )
                         (!pair  "template_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1467)
                          nil )
                         (!pair  "befriending_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1468)
                          nil )
                         (!pair  "objc_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1472)
                          nil )
                         (!pair  "sorted_fields"
                          (!type pointer 495 nil  gc_used
                           (!type struct 496 
                            (!type already_seen 495)
                            gc_pointed_to "sorted_fields_type"
                            (!srcfileloc  "c-family/c-common.h" 446)
                            (!fields 2 
                             (!pair  "len"
                              (!type already_seen 9)
                              (!srcfileloc  "c-family/c-common.h" 444)
                              nil )
                             (!pair  "elts"
                              (!type array 497 nil  gc_used "1" 
                               (!type already_seen 5)
                              )
                              (!srcfileloc  "c-family/c-common.h" 445)
                              (!options 
                               (!option length string  "%h.len")
                              )
                             )
                            )
                            (!options 
                             (!option variable_size string  "")
                            )
                            390 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1476)
                          (!options 
                           (!option reorder string  "resort_sorted_fields")
                          )
                         )
                         (!pair  "lambda_expr"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1478)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1490)
                       (!options 
                        (!option tag string  "1")
                       )
                      )
                      (!pair  "ptrmem"
                       (!type struct 498 nil  gc_used "lang_type_ptrmem"
                        (!srcfileloc  "cp/cp-tree.h" 1484)
                        (!fields 2 
                         (!pair  "h"
                          (!type already_seen 484)
                          (!srcfileloc  "cp/cp-tree.h" 1482)
                          nil )
                         (!pair  "record"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1483)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1491)
                       (!options 
                        (!option tag string  "0")
                       )
                      )
                     )
                     nil 260 nil )
                    (!srcfileloc  "cp/cp-tree.h" 1492)
                    (!options 
                     (!option desc string  "%h.h.is_lang_type_class")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 452)
                  nil )
                 
                 (!type struct 499 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "c/c-lang.h" 36)
                  (!fields 4 
                   (!pair  "s"
                    (!type already_seen 495)
                    (!srcfileloc  "c/c-lang.h" 28)
                    (!options 
                     (!option reorder string  "resort_sorted_fields")
                    )
                   )
                   (!pair  "enum_min"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 30)
                    nil )
                   (!pair  "enum_max"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 31)
                    nil )
                   (!pair  "objc_info"
                    (!type already_seen 5)
                    (!srcfileloc  "c/c-lang.h" 35)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  130 
                  (!type already_seen 452)
                  nil )
                 
                 (!type struct 500 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "ada/gcc-interface/ada-tree.h" 40)
                  (!fields 1 
                   (!pair  "t"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 40)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  1 
                  (!type already_seen 452)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1286)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1617)
           (!options 
            (!option tag string  "TS_TYPE_WITH_LANG_SPECIFIC")
           )
          )
          (!pair  "type_non_common"
           (!type struct 501 nil  gc_used "tree_type_non_common"
            (!srcfileloc  "tree-core.h" 1295)
            (!fields 5 
             (!pair  "with_lang_specific"
              (!type already_seen 450)
              (!srcfileloc  "tree-core.h" 1290)
              nil )
             (!pair  "values"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1291)
              nil )
             (!pair  "minval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1292)
              nil )
             (!pair  "maxval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1293)
              nil )
             (!pair  "binfo"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1294)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1619)
           (!options 
            (!option tag string  "TS_TYPE_NON_COMMON")
           )
          )
          (!pair  "list"
           (!type struct 502 nil  gc_used "tree_list"
            (!srcfileloc  "tree-core.h" 1091)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1088)
              nil )
             (!pair  "purpose"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1089)
              nil )
             (!pair  "value"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1090)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1620)
           (!options 
            (!option tag string  "TS_LIST")
           )
          )
          (!pair  "vec"
           (!type struct 503 nil  gc_used "tree_vec"
            (!srcfileloc  "tree-core.h" 1096)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1094)
              nil )
             (!pair  "a"
              (!type array 504 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1095)
              (!options 
               (!option length string  "TREE_VEC_LENGTH ((tree)&%h)")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1621)
           (!options 
            (!option tag string  "TS_VEC")
           )
          )
          (!pair  "exp"
           (!type struct 505 nil  gc_used "tree_exp"
            (!srcfileloc  "tree-core.h" 1155)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1150)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1151)
              nil )
             (!pair  "operands"
              (!type union 506 nil  gc_used "tree_exp_subunion"
               (!srcfileloc  "tree-core.h" 1154)
               (!fields 1 
                (!pair  ""
                 (!type array 507 nil  gc_used "1" 
                  (!type already_seen 5)
                 )
                 (!srcfileloc  "gengtype.c" 1378)
                 (!options 
                  (!option default string  "")
                  (!option length string  "TREE_OPERAND_LENGTH ((tree) &%0)")
                  (!option dot string  "")
                 )
                )
               )
               (!options 
                (!option dot string  "")
               )
               511 nil )
              (!srcfileloc  "tree-core.h" 1154)
              (!options 
               (!option desc string  "TREE_CODE ((tree) &%0)")
               (!option special string  "tree_exp")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1622)
           (!options 
            (!option tag string  "TS_EXP")
           )
          )
          (!pair  "ssa_name"
           (!type struct 508 nil  gc_used "tree_ssa_name"
            (!srcfileloc  "tree-core.h" 1191)
            (!fields 5 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1172)
              nil )
             (!pair  "var"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1175)
              nil )
             (!pair  "def_stmt"
              (!type already_seen 310)
              (!srcfileloc  "tree-core.h" 1178)
              nil )
             (!pair  "info"
              (!type union 509 nil  gc_used "ssa_name_info_type"
               (!srcfileloc  "tree-core.h" 1186)
               (!fields 2 
                (!pair  "ptr_info"
                 (!type pointer 510 nil  gc_used
                  (!type struct 511 
                   (!type already_seen 510)
                   gc_pointed_to "ptr_info_def"
                   (!srcfileloc  "tree-ssanames.h" 46)
                   (!fields 3 
                    (!pair  "pt"
                     (!type already_seen 384)
                     (!srcfileloc  "tree-ssanames.h" 28)
                     nil )
                    (!pair  "align"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 40)
                     nil )
                    (!pair  "misalign"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 45)
                     nil )
                   )
                   nil 511 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1183)
                 (!options 
                  (!option tag string  "0")
                 )
                )
                (!pair  "range_info"
                 (!type pointer 512 nil  gc_used
                  (!type struct 513 
                   (!type already_seen 512)
                   gc_pointed_to "range_info_def"
                   (!srcfileloc  "tree-ssanames.h" 57)
                   (!fields 3 
                    (!pair  "min"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 52)
                     nil )
                    (!pair  "max"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 54)
                     nil )
                    (!pair  "nonzero_bits"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 56)
                     nil )
                   )
                   nil 511 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1185)
                 (!options 
                  (!option tag string  "1")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1187)
              (!options 
               (!option desc string  "%1.typed.type ?!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2")
              )
             )
             (!pair  "imm_uses"
              (!type struct 514 
               (!type pointer 515 nil  gc_unused
                (!type already_seen 514)
               )
               gc_used "ssa_use_operand_t"
               (!srcfileloc  "tree-ssa-operands.h" 30)
               (!fields 4 
                (!pair  "prev"
                 (!type already_seen 515)
                 (!srcfileloc  "tree-core.h" 1160)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "next"
                 (!type already_seen 515)
                 (!srcfileloc  "tree-core.h" 1161)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "loc"
                 (!type union 516 nil  gc_unused "anonymous:../../gcc/tree-core.h:1167"
                  (!srcfileloc  "tree-core.h" 1167)
                  (!fields 2 
                   (!pair  "stmt"
                    (!type already_seen 310)
                    (!srcfileloc  "tree-core.h" 1167)
                    nil )
                   (!pair  "ssa_name"
                    (!type already_seen 5)
                    (!srcfileloc  "tree-core.h" 1167)
                    nil )
                  )
                  nil 511 nil )
                 (!srcfileloc  "tree-core.h" 1167)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "use"
                 (!type already_seen 6)
                 (!srcfileloc  "tree-core.h" 1168)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1190)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1623)
           (!options 
            (!option tag string  "TS_SSA_NAME")
           )
          )
          (!pair  "block"
           (!type struct 517 nil  gc_used "tree_block"
            (!srcfileloc  "tree-core.h" 1240)
            (!fields 12 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1224)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1225)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1227)
              nil )
             (!pair  "block_num"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1228)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1230)
              nil )
             (!pair  "vars"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1232)
              nil )
             (!pair  "nonlocalized_vars"
              (!type already_seen 45)
              (!srcfileloc  "tree-core.h" 1233)
              nil )
             (!pair  "subblocks"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1235)
              nil )
             (!pair  "supercontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1236)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1237)
              nil )
             (!pair  "fragment_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1238)
              nil )
             (!pair  "fragment_chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1239)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1624)
           (!options 
            (!option tag string  "TS_BLOCK")
           )
          )
          (!pair  "binfo"
           (!type struct 518 nil  gc_used "tree_binfo"
            (!srcfileloc  "tree-core.h" 1311)
            (!fields 10 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1298)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1300)
              nil )
             (!pair  "vtable"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1301)
              nil )
             (!pair  "virtuals"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1302)
              nil )
             (!pair  "vptr_field"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1303)
              nil )
             (!pair  "base_accesses"
              (!type already_seen 45)
              (!srcfileloc  "tree-core.h" 1304)
              nil )
             (!pair  "inheritance"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1305)
              nil )
             (!pair  "vtt_subvtt"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1307)
              nil )
             (!pair  "vtt_vptr"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1308)
              nil )
             (!pair  "base_binfos"
              (!type already_seen 46)
              (!srcfileloc  "tree-core.h" 1310)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1625)
           (!options 
            (!option tag string  "TS_BINFO")
           )
          )
          (!pair  "stmt_list"
           (!type struct 519 nil  gc_used "tree_statement_list"
            (!srcfileloc  "tree-core.h" 1548)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1545)
              nil )
             (!pair  "head"
              (!type pointer 520 nil  gc_used
               (!type struct 521 
                (!type already_seen 520)
                gc_pointed_to "tree_statement_list_node"
                (!srcfileloc  "tree-core.h" 1541)
                (!fields 3 
                 (!pair  "prev"
                  (!type already_seen 520)
                  (!srcfileloc  "tree-core.h" 1538)
                  nil )
                 (!pair  "next"
                  (!type already_seen 520)
                  (!srcfileloc  "tree-core.h" 1539)
                  nil )
                 (!pair  "stmt"
                  (!type already_seen 5)
                  (!srcfileloc  "tree-core.h" 1540)
                  nil )
                )
                (!options 
                 (!option chain_prev string  "%h.prev")
                 (!option chain_next string  "%h.next")
                )
                511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1546)
              nil )
             (!pair  "tail"
              (!type already_seen 520)
              (!srcfileloc  "tree-core.h" 1547)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1626)
           (!options 
            (!option tag string  "TS_STATEMENT_LIST")
           )
          )
          (!pair  "constructor"
           (!type struct 522 nil  gc_used "tree_constructor"
            (!srcfileloc  "tree-core.h" 1110)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1108)
              nil )
             (!pair  "elts"
              (!type already_seen 469)
              (!srcfileloc  "tree-core.h" 1109)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1627)
           (!options 
            (!option tag string  "TS_CONSTRUCTOR")
           )
          )
          (!pair  "omp_clause"
           (!type struct 523 nil  gc_used "tree_omp_clause"
            (!srcfileloc  "tree-core.h" 1221)
            (!fields 7 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1202)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1203)
              nil )
             (!pair  "code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1204)
              nil )
             (!pair  "subcode"
              (!type union 524 nil  gc_unused "omp_clause_subcode"
               (!srcfileloc  "tree-core.h" 1212)
               (!fields 6 
                (!pair  "default_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1206)
                 nil )
                (!pair  "schedule_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1207)
                 nil )
                (!pair  "depend_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1208)
                 nil )
                (!pair  "map_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1209)
                 nil )
                (!pair  "proc_bind_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1210)
                 nil )
                (!pair  "reduction_code"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1211)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1212)
              (!options 
               (!option skip string  "")
              )
             )
             (!pair  "gimple_reduction_init"
              (!type already_seen 310)
              (!srcfileloc  "tree-core.h" 1216)
              nil )
             (!pair  "gimple_reduction_merge"
              (!type already_seen 310)
              (!srcfileloc  "tree-core.h" 1217)
              nil )
             (!pair  "ops"
              (!type array 525 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1220)
              (!options 
               (!option length string  "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1628)
           (!options 
            (!option tag string  "TS_OMP_CLAUSE")
           )
          )
          (!pair  "optimization"
           (!type struct 526 nil  gc_used "tree_optimization_option"
            (!srcfileloc  "tree-core.h" 1566)
            (!fields 4 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1554)
              nil )
             (!pair  "opts"
              (!type struct 527 nil  gc_used "cl_optimization"
               (!fileloc  "options.h" 4019)
               (!fields 188 
                (!pair  "x_align_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3831)
                 nil )
                (!pair  "x_align_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3832)
                 nil )
                (!pair  "x_align_labels"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3833)
                 nil )
                (!pair  "x_align_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3834)
                 nil )
                (!pair  "x_flag_sched_stalled_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3835)
                 nil )
                (!pair  "x_flag_sched_stalled_insns_dep"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3836)
                 nil )
                (!pair  "x_flag_fp_contract_mode"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3837)
                 nil )
                (!pair  "x_optimize"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 3838)
                 nil )
                (!pair  "x_optimize_size"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 3839)
                 nil )
                (!pair  "x_flag_aggressive_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3840)
                 nil )
                (!pair  "x_flag_asynchronous_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3841)
                 nil )
                (!pair  "x_flag_branch_on_count_reg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3842)
                 nil )
                (!pair  "x_flag_branch_probabilities"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3843)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3844)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3845)
                 nil )
                (!pair  "x_flag_btr_bb_exclusive"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3846)
                 nil )
                (!pair  "x_flag_caller_saves"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3847)
                 nil )
                (!pair  "x_flag_combine_stack_adjustments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3848)
                 nil )
                (!pair  "x_flag_no_common"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3849)
                 nil )
                (!pair  "x_flag_compare_elim_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3850)
                 nil )
                (!pair  "x_flag_conserve_stack"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3851)
                 nil )
                (!pair  "x_flag_cprop_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3852)
                 nil )
                (!pair  "x_flag_crossjumping"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3853)
                 nil )
                (!pair  "x_flag_cse_follow_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3854)
                 nil )
                (!pair  "x_flag_cx_fortran_rules"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3855)
                 nil )
                (!pair  "x_flag_cx_limited_range"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3856)
                 nil )
                (!pair  "x_flag_data_sections"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3857)
                 nil )
                (!pair  "x_flag_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3858)
                 nil )
                (!pair  "x_flag_defer_pop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3859)
                 nil )
                (!pair  "x_flag_delayed_branch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3860)
                 nil )
                (!pair  "x_flag_delete_null_pointer_checks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3861)
                 nil )
                (!pair  "x_flag_devirtualize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3862)
                 nil )
                (!pair  "x_flag_devirtualize_speculatively"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3863)
                 nil )
                (!pair  "x_flag_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3864)
                 nil )
                (!pair  "x_flag_early_inlining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3865)
                 nil )
                (!pair  "x_flag_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3866)
                 nil )
                (!pair  "x_flag_expensive_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3867)
                 nil )
                (!pair  "x_flag_finite_math_only"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3868)
                 nil )
                (!pair  "x_flag_float_store"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3869)
                 nil )
                (!pair  "x_flag_forward_propagate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3870)
                 nil )
                (!pair  "x_flag_gcse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3871)
                 nil )
                (!pair  "x_flag_gcse_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3872)
                 nil )
                (!pair  "x_flag_gcse_las"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3873)
                 nil )
                (!pair  "x_flag_gcse_lm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3874)
                 nil )
                (!pair  "x_flag_gcse_sm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3875)
                 nil )
                (!pair  "x_flag_graphite_identity"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3876)
                 nil )
                (!pair  "x_flag_guess_branch_prob"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3877)
                 nil )
                (!pair  "x_flag_hoist_adjacent_loads"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3878)
                 nil )
                (!pair  "x_flag_if_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3879)
                 nil )
                (!pair  "x_flag_if_conversion2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3880)
                 nil )
                (!pair  "x_flag_no_inline"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3881)
                 nil )
                (!pair  "x_flag_inline_atomics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3882)
                 nil )
                (!pair  "x_flag_inline_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3883)
                 nil )
                (!pair  "x_flag_inline_functions_called_once"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3884)
                 nil )
                (!pair  "x_flag_inline_small_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3885)
                 nil )
                (!pair  "x_flag_ipa_cp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3886)
                 nil )
                (!pair  "x_flag_ipa_cp_clone"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3887)
                 nil )
                (!pair  "x_flag_ipa_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3888)
                 nil )
                (!pair  "x_flag_ipa_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3889)
                 nil )
                (!pair  "x_flag_ipa_pure_const"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3890)
                 nil )
                (!pair  "x_flag_ipa_reference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3891)
                 nil )
                (!pair  "x_flag_ipa_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3892)
                 nil )
                (!pair  "x_flag_ira_hoist_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3893)
                 nil )
                (!pair  "x_flag_ira_loop_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3894)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_attribute"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3895)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_dereference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3896)
                 nil )
                (!pair  "x_flag_ivopts"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3897)
                 nil )
                (!pair  "x_flag_jump_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3898)
                 nil )
                (!pair  "x_flag_live_range_shrinkage"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3899)
                 nil )
                (!pair  "x_flag_loop_block"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3900)
                 nil )
                (!pair  "x_flag_loop_interchange"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3901)
                 nil )
                (!pair  "x_flag_loop_optimize_isl"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3902)
                 nil )
                (!pair  "x_flag_loop_parallelize_all"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3903)
                 nil )
                (!pair  "x_flag_loop_strip_mine"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3904)
                 nil )
                (!pair  "x_flag_errno_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3905)
                 nil )
                (!pair  "x_flag_merge_constants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3906)
                 nil )
                (!pair  "x_flag_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3907)
                 nil )
                (!pair  "x_flag_move_loop_invariants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3908)
                 nil )
                (!pair  "x_flag_non_call_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3909)
                 nil )
                (!pair  "x_flag_nothrow_opt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3910)
                 nil )
                (!pair  "x_flag_omit_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3911)
                 nil )
                (!pair  "x_flag_opt_info"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3912)
                 nil )
                (!pair  "x_flag_optimize_sibling_calls"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3913)
                 nil )
                (!pair  "x_flag_optimize_strlen"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3914)
                 nil )
                (!pair  "x_flag_pack_struct"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3915)
                 nil )
                (!pair  "x_flag_peel_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3916)
                 nil )
                (!pair  "x_flag_no_peephole"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3917)
                 nil )
                (!pair  "x_flag_peephole2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3918)
                 nil )
                (!pair  "x_flag_predictive_commoning"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3919)
                 nil )
                (!pair  "x_flag_prefetch_loop_arrays"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3920)
                 nil )
                (!pair  "x_flag_pcc_struct_return"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3921)
                 nil )
                (!pair  "x_flag_rename_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3922)
                 nil )
                (!pair  "x_flag_reorder_blocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3923)
                 nil )
                (!pair  "x_flag_reorder_blocks_and_partition"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3924)
                 nil )
                (!pair  "x_flag_reorder_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3925)
                 nil )
                (!pair  "x_flag_rerun_cse_after_loop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3926)
                 nil )
                (!pair  "x_flag_resched_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3927)
                 nil )
                (!pair  "x_flag_rounding_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3928)
                 nil )
                (!pair  "x_flag_rtti"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3929)
                 nil )
                (!pair  "x_flag_sched_critical_path_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3930)
                 nil )
                (!pair  "x_flag_sched_dep_count_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3931)
                 nil )
                (!pair  "x_flag_sched_group_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3932)
                 nil )
                (!pair  "x_flag_schedule_interblock"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3933)
                 nil )
                (!pair  "x_flag_sched_last_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3934)
                 nil )
                (!pair  "x_flag_sched_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3935)
                 nil )
                (!pair  "x_flag_sched_rank_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3936)
                 nil )
                (!pair  "x_flag_schedule_speculative"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3937)
                 nil )
                (!pair  "x_flag_sched_spec_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3938)
                 nil )
                (!pair  "x_flag_schedule_speculative_load"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3939)
                 nil )
                (!pair  "x_flag_schedule_speculative_load_dangerous"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3940)
                 nil )
                (!pair  "x_flag_sched2_use_superblocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3941)
                 nil )
                (!pair  "x_flag_schedule_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3942)
                 nil )
                (!pair  "x_flag_schedule_insns_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3943)
                 nil )
                (!pair  "x_flag_section_anchors"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3944)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3945)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3946)
                 nil )
                (!pair  "x_flag_sel_sched_reschedule_pipelined"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3947)
                 nil )
                (!pair  "x_flag_selective_scheduling"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3948)
                 nil )
                (!pair  "x_flag_selective_scheduling2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3949)
                 nil )
                (!pair  "x_flag_short_double"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3950)
                 nil )
                (!pair  "x_flag_short_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3951)
                 nil )
                (!pair  "x_flag_short_wchar"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3952)
                 nil )
                (!pair  "x_flag_shrink_wrap"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3953)
                 nil )
                (!pair  "x_flag_signaling_nans"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3954)
                 nil )
                (!pair  "x_flag_signed_zeros"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3955)
                 nil )
                (!pair  "x_flag_single_precision_constant"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3956)
                 nil )
                (!pair  "x_flag_split_ivs_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3957)
                 nil )
                (!pair  "x_flag_split_wide_types"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3958)
                 nil )
                (!pair  "x_flag_strict_aliasing"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3959)
                 nil )
                (!pair  "x_flag_strict_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3960)
                 nil )
                (!pair  "x_flag_thread_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3961)
                 nil )
                (!pair  "x_flag_threadsafe_statics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3962)
                 nil )
                (!pair  "x_flag_toplevel_reorder"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3963)
                 nil )
                (!pair  "x_flag_trapping_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3964)
                 nil )
                (!pair  "x_flag_trapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3965)
                 nil )
                (!pair  "x_flag_tree_bit_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3966)
                 nil )
                (!pair  "x_flag_tree_builtin_call_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3967)
                 nil )
                (!pair  "x_flag_tree_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3968)
                 nil )
                (!pair  "x_flag_tree_ch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3969)
                 nil )
                (!pair  "x_flag_ssa_coalesce_vars"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3970)
                 nil )
                (!pair  "x_flag_tree_copy_prop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3971)
                 nil )
                (!pair  "x_flag_tree_copyrename"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3972)
                 nil )
                (!pair  "x_flag_tree_cselim"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3973)
                 nil )
                (!pair  "x_flag_tree_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3974)
                 nil )
                (!pair  "x_flag_tree_dom"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3975)
                 nil )
                (!pair  "x_flag_tree_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3976)
                 nil )
                (!pair  "x_flag_tree_forwprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3977)
                 nil )
                (!pair  "x_flag_tree_fre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3978)
                 nil )
                (!pair  "x_flag_tree_loop_distribute_patterns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3979)
                 nil )
                (!pair  "x_flag_tree_loop_distribution"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3980)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3981)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert_stores"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3982)
                 nil )
                (!pair  "x_flag_tree_loop_im"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3983)
                 nil )
                (!pair  "x_flag_tree_loop_ivcanon"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3984)
                 nil )
                (!pair  "x_flag_tree_loop_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3985)
                 nil )
                (!pair  "x_flag_tree_loop_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3986)
                 nil )
                (!pair  "x_flag_tree_live_range_split"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3987)
                 nil )
                (!pair  "x_flag_tree_partial_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3988)
                 nil )
                (!pair  "x_flag_tree_phiprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3989)
                 nil )
                (!pair  "x_flag_tree_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3990)
                 nil )
                (!pair  "x_flag_tree_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3991)
                 nil )
                (!pair  "x_flag_tree_reassoc"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3992)
                 nil )
                (!pair  "x_flag_tree_scev_cprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3993)
                 nil )
                (!pair  "x_flag_tree_sink"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3994)
                 nil )
                (!pair  "x_flag_tree_slp_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3995)
                 nil )
                (!pair  "x_flag_tree_slsr"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3996)
                 nil )
                (!pair  "x_flag_tree_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3997)
                 nil )
                (!pair  "x_flag_tree_switch_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3998)
                 nil )
                (!pair  "x_flag_tree_tail_merge"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3999)
                 nil )
                (!pair  "x_flag_tree_ter"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4000)
                 nil )
                (!pair  "x_flag_tree_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4001)
                 nil )
                (!pair  "x_flag_tree_vrp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4002)
                 nil )
                (!pair  "x_flag_unit_at_a_time"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4003)
                 nil )
                (!pair  "x_flag_unroll_all_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4004)
                 nil )
                (!pair  "x_flag_unroll_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4005)
                 nil )
                (!pair  "x_flag_unsafe_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4006)
                 nil )
                (!pair  "x_flag_unsafe_math_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4007)
                 nil )
                (!pair  "x_flag_unswitch_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4008)
                 nil )
                (!pair  "x_flag_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4009)
                 nil )
                (!pair  "x_flag_var_tracking"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4010)
                 nil )
                (!pair  "x_flag_var_tracking_assignments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4011)
                 nil )
                (!pair  "x_flag_var_tracking_assignments_toggle"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4012)
                 nil )
                (!pair  "x_flag_var_tracking_uninit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4013)
                 nil )
                (!pair  "x_flag_variable_expansion_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4014)
                 nil )
                (!pair  "x_flag_value_profile_transformations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4015)
                 nil )
                (!pair  "x_flag_web"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4016)
                 nil )
                (!pair  "x_flag_whole_program"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4017)
                 nil )
                (!pair  "x_flag_wrapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4018)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1557)
              nil )
             (!pair  "optabs"
              (!type already_seen 10)
              (!srcfileloc  "tree-core.h" 1561)
              (!options 
               (!option atomic string  "")
              )
             )
             (!pair  "base_optabs"
              (!type pointer 528 nil  gc_unused
               (!type struct 529 
                (!type already_seen 528)
                gc_unused "target_optabs"nil 
                (!fields 0 )
                nil 0 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1565)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1629)
           (!options 
            (!option tag string  "TS_OPTIMIZATION")
           )
          )
          (!pair  "target_option"
           (!type struct 530 nil  gc_used "tree_target_option"
            (!srcfileloc  "tree-core.h" 1582)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1575)
              nil )
             (!pair  "globals"
              (!type pointer 531 nil  gc_used
               (!type struct 532 
                (!type already_seen 531)
                gc_pointed_to "target_globals"
                (!srcfileloc  "target-globals.h" 59)
                (!fields 16 
                 (!pair  "flag_state"
                  (!type pointer 533 nil  gc_unused
                   (!type struct 534 
                    (!type already_seen 533)
                    gc_unused "target_flag_state"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 43)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "regs"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 44)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "rtl"
                  (!type pointer 535 nil  gc_used
                   (!type struct 536 
                    (!type already_seen 535)
                    gc_pointed_to "target_rtl"
                    (!srcfileloc  "rtl.h" 2305)
                    (!fields 7 
                     (!pair  "x_global_rtl"
                      (!type array 537 nil  gc_used "GR_MAX" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "rtl.h" 2280)
                      nil )
                     (!pair  "x_pic_offset_table_rtx"
                      (!type already_seen 136)
                      (!srcfileloc  "rtl.h" 2283)
                      nil )
                     (!pair  "x_return_address_pointer_rtx"
                      (!type already_seen 136)
                      (!srcfileloc  "rtl.h" 2288)
                      nil )
                     (!pair  "x_initial_regno_reg_rtx"
                      (!type array 538 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "rtl.h" 2294)
                      nil )
                     (!pair  "x_top_of_stack"
                      (!type array 539 nil  gc_used "MAX_MACHINE_MODE" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "rtl.h" 2297)
                      nil )
                     (!pair  "x_static_reg_base_value"
                      (!type array 540 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "rtl.h" 2301)
                      nil )
                     (!pair  "x_mode_mem_attrs"
                      (!type array 541 nil  gc_used "(int) MAX_MACHINE_MODE" 
                       (!type already_seen 258)
                      )
                      (!srcfileloc  "rtl.h" 2304)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 45)
                  nil )
                 (!pair  "hard_regs"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 46)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "reload"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 47)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "expmed"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 48)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "optabs"
                  (!type already_seen 528)
                  (!srcfileloc  "target-globals.h" 49)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "libfuncs"
                  (!type pointer 542 nil  gc_used
                   (!type struct 543 
                    (!type already_seen 542)
                    gc_pointed_to "target_libfuncs"
                    (!srcfileloc  "libfuncs.h" 71)
                    (!fields 2 
                     (!pair  "x_libfunc_table"
                      (!type array 544 nil  gc_used "LTI_MAX" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "libfuncs.h" 67)
                      nil )
                     (!pair  "x_libfunc_hash"
                      (!type pointer 545 nil  gc_used
                       (!type param_struct 546 
                        (!type already_seen 545)
                        gc_pointed_to
                        (!type already_seen 49)
                        
                        (!type pointer 547 nil  gc_used
                         (!type struct 548 
                          (!type already_seen 547)
                          gc_pointed_to "libfunc_entry"
                          (!srcfileloc  "libfuncs.h" 61)
                          (!fields 4 
                           (!pair  "op"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "mode1"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "mode2"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "libfunc"
                            (!type already_seen 136)
                            (!srcfileloc  "libfuncs.h" 60)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "libfuncs.h" 70)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 548)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 50)
                  nil )
                 (!pair  "cfgloop"
                  (!type pointer 549 nil  gc_unused
                   (!type struct 550 
                    (!type already_seen 549)
                    gc_unused "target_cfgloop"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 51)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "ira"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 52)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "ira_int"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 53)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "lra_int"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 54)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "builtins"
                  (!type pointer 551 nil  gc_unused
                   (!type struct 552 
                    (!type already_seen 551)
                    gc_unused "target_builtins"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 55)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "gcse"
                  (!type pointer 553 nil  gc_unused
                   (!type struct 554 
                    (!type already_seen 553)
                    gc_unused "target_gcse"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 56)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "bb_reorder"
                  (!type pointer 555 nil  gc_unused
                   (!type struct 556 
                    (!type already_seen 555)
                    gc_unused "target_bb_reorder"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 57)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "lower_subreg"
                  (!type pointer 557 nil  gc_unused
                   (!type struct 558 
                    (!type already_seen 557)
                    gc_unused "target_lower_subreg"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 58)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1578)
              nil )
             (!pair  "opts"
              (!type struct 559 nil  gc_used "cl_target_option"
               (!fileloc  "options.h" 4061)
               (!fields 37 
                (!pair  "x_ix86_isa_flags_explicit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4024)
                 nil )
                (!pair  "x_ix86_target_flags_explicit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4025)
                 nil )
                (!pair  "x_ix86_arch_string"
                 (!type already_seen 36)
                 (!fileloc  "options.h" 4026)
                 nil )
                (!pair  "x_ix86_recip_name"
                 (!type already_seen 36)
                 (!fileloc  "options.h" 4027)
                 nil )
                (!pair  "x_ix86_tune_ctrl_string"
                 (!type already_seen 36)
                 (!fileloc  "options.h" 4028)
                 nil )
                (!pair  "x_ix86_tune_memcpy_strategy"
                 (!type already_seen 36)
                 (!fileloc  "options.h" 4029)
                 nil )
                (!pair  "x_ix86_tune_memset_strategy"
                 (!type already_seen 36)
                 (!fileloc  "options.h" 4030)
                 nil )
                (!pair  "x_ix86_tune_string"
                 (!type already_seen 36)
                 (!fileloc  "options.h" 4031)
                 nil )
                (!pair  "x_ix86_isa_flags"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4032)
                 nil )
                (!pair  "x_ix86_fpmath"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4033)
                 nil )
                (!pair  "x_ix86_asm_dialect"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4034)
                 nil )
                (!pair  "x_ix86_abi"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4035)
                 nil )
                (!pair  "x_ix86_cmodel"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4036)
                 nil )
                (!pair  "x_ix86_veclibabi_type"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4037)
                 nil )
                (!pair  "x_ix86_pmode"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4038)
                 nil )
                (!pair  "x_ix86_stack_protector_guard"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4039)
                 nil )
                (!pair  "x_ix86_stringop_alg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4040)
                 nil )
                (!pair  "x_ix86_tls_dialect"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4041)
                 nil )
                (!pair  "x_ix86_branch_cost"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4042)
                 nil )
                (!pair  "x_ix86_dump_tunes"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4043)
                 nil )
                (!pair  "x_ix86_force_align_arg_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4044)
                 nil )
                (!pair  "x_ix86_force_drap"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4045)
                 nil )
                (!pair  "x_ix86_incoming_stack_boundary_arg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4046)
                 nil )
                (!pair  "x_ix86_preferred_stack_boundary_arg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4047)
                 nil )
                (!pair  "x_ix86_regparm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4048)
                 nil )
                (!pair  "x_ix86_section_threshold"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4049)
                 nil )
                (!pair  "x_ix86_sse2avx"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4050)
                 nil )
                (!pair  "x_ix86_tune_no_default"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4051)
                 nil )
                (!pair  "x_recip_mask_explicit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4052)
                 nil )
                (!pair  "x_recip_mask"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4053)
                 nil )
                (!pair  "x_target_flags"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4054)
                 nil )
                (!pair  "arch"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 4055)
                 nil )
                (!pair  "arch_specified"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 4056)
                 nil )
                (!pair  "branch_cost"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 4057)
                 nil )
                (!pair  "schedule"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 4058)
                 nil )
                (!pair  "tune"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 4059)
                 nil )
                (!pair  "tune_defaulted"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 4060)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1581)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1630)
           (!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 560 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")
            )
            511 
            (!homotypes 7
             (!type union 561 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "lto/lto-tree.h" 56)
              (!fields 1 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "lto/lto-tree.h" 55)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "TS_LTO_GENERIC")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_TYPE_COMMON) ? ((union lang_tree_node *) %h.generic.type_common.next_variant) : CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) %h.generic.common.chain) : NULL")
               (!option desc string  "lto_tree_node_structure (&%h)")
              )
              64 
              (!type already_seen 560)
             )
             
             (!type union 562 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "java/java-tree.h" 596)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "java/java-tree.h" 594)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type lang_struct 563 nil  gc_used "lang_identifier"
                 (!srcfileloc  "c/c-decl.c" 242)
                 (!fields 0 )
                 nil 510 
                 (!homotypes 6
                  (!type struct 564 nil  gc_used "lang_identifier"
                   (!srcfileloc  "lto/lto-tree.h" 29)
                   (!fields 1 
                    (!pair  "base"
                     (!type already_seen 32)
                     (!srcfileloc  "lto/lto-tree.h" 28)
                     nil )
                   )
                   nil 64 
                   (!type already_seen 563)
                   nil )
                  
                  (!type struct 565 nil  gc_used "lang_identifier"
                   (!srcfileloc  "java/java-tree.h" 585)
                   (!fields 4 
                    (!pair  "ignore"
                     (!type already_seen 32)
                     (!srcfileloc  "java/java-tree.h" 578)
                     nil )
                    (!pair  "global_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 579)
                     nil )
                    (!pair  "local_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 580)
                     nil )
                    (!pair  "utf8_ref"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 584)
                     nil )
                   )
                   nil 32 
                   (!type already_seen 563)
                   nil )
                  
                  (!type struct 566 nil  gc_used "lang_identifier"
                   (!srcfileloc  "go/go-lang.c" 65)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 32)
                     (!srcfileloc  "go/go-lang.c" 64)
                     nil )
                   )
                   nil 16 
                   (!type already_seen 563)
                   nil )
                  
                  (!type struct 567 nil  gc_used "lang_identifier"
                   (!srcfileloc  "fortran/f95-lang.c" 55)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 32)
                     (!srcfileloc  "fortran/f95-lang.c" 54)
                     nil )
                   )
                   nil 8 
                   (!type already_seen 563)
                   nil )
                  
                  (!type struct 568 nil  gc_used "lang_identifier"
                   (!srcfileloc  "cp/cp-tree.h" 253)
                   (!fields 5 
                    (!pair  "c_common"
                     (!type struct 569 nil  gc_used "c_common_identifier"
                      (!srcfileloc  "c-family/c-common.h" 319)
                      (!fields 2 
                       (!pair  "common"
                        (!type already_seen 15)
                        (!srcfileloc  "c-family/c-common.h" 317)
                        nil )
                       (!pair  "node"
                        (!type struct 570 
                         (!type pointer 571 
                          (!type pointer 572 nil  gc_unused
                           (!type already_seen 571)
                          )
                          gc_unused
                          (!type already_seen 570)
                         )
                         gc_used "cpp_hashnode"
                         (!srcfileloc  "../libcpp/include/cpplib.h" 710)
                         (!fields 7 
                          (!pair  "ident"
                           (!type already_seen 33)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 700)
                           nil )
                          (!pair  "is_directive"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 701)
                           nil )
                          (!pair  "directive_index"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 702)
                           nil )
                          (!pair  "rid_code"
                           (!type already_seen 28)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 705)
                           nil )
                          (!pair  "type"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 706)
                           nil )
                          (!pair  "flags"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 707)
                           nil )
                          (!pair  "value"
                           (!type union 573 nil  gc_used "_cpp_hashnode_value"
                            (!srcfileloc  "../libcpp/include/cpplib.h" 697)
                            (!fields 4 
                             (!pair  "macro"
                              (!type pointer 574 nil  gc_used
                               (!type struct 575 
                                (!type already_seen 574)
                                gc_pointed_to "cpp_macro"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 80)
                                (!fields 11 
                                 (!pair  "params"
                                  (!type already_seen 572)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 41)
                                  (!options 
                                   (!option length string  "%h.paramc")
                                   (!option nested_ptr nested 
                                    (!type already_seen 7)
                                    "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                                  )
                                 )
                                 (!pair  "exp"
                                  (!type union 576 nil  gc_used "cpp_macro_u"
                                   (!srcfileloc  "../libcpp/include/cpp-id-data.h" 50)
                                   (!fields 2 
                                    (!pair  "tokens"
                                     (!type pointer 577 nil  gc_used
                                      (!type struct 578 
                                       (!type already_seen 577)
                                       gc_pointed_to "cpp_token"
                                       (!srcfileloc  "../libcpp/include/cpplib.h" 248)
                                       (!fields 4 
                                        (!pair  "src_loc"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 223)
                                         nil )
                                        (!pair  "type"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 224)
                                         nil )
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 225)
                                         nil )
                                        (!pair  "val"
                                         (!type union 579 nil  gc_used "cpp_token_u"
                                          (!srcfileloc  "../libcpp/include/cpplib.h" 247)
                                          (!fields 6 
                                           (!pair  "node"
                                            (!type struct 580 nil  gc_used "cpp_identifier"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 218)
                                             (!fields 1 
                                              (!pair  "node"
                                               (!type already_seen 571)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 217)
                                               (!options 
                                                (!option nested_ptr nested 
                                                 (!type already_seen 7)
                                                 "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                                               )
                                              )
                                             )
                                             nil 511 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 230)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_NODE")
                                            )
                                           )
                                           (!pair  "source"
                                            (!type already_seen 577)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 233)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                                            )
                                           )
                                           (!pair  "str"
                                            (!type struct 581 nil  gc_used "cpp_string"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 175)
                                             (!fields 2 
                                              (!pair  "len"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 173)
                                               nil )
                                              (!pair  "text"
                                               (!type already_seen 36)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 174)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 236)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_STR")
                                            )
                                           )
                                           (!pair  "macro_arg"
                                            (!type struct 582 nil  gc_used "cpp_macro_arg"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 208)
                                             (!fields 1 
                                              (!pair  "arg_no"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 207)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 239)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_ARG_NO")
                                            )
                                           )
                                           (!pair  "token_no"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 243)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_TOKEN_NO")
                                            )
                                           )
                                           (!pair  "pragma"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 246)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_PRAGMA")
                                            )
                                           )
                                          )
                                          nil 511 nil )
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 247)
                                         (!options 
                                          (!option desc string  "cpp_token_val_index (&%1)")
                                         )
                                        )
                                       )
                                       nil 511 nil nil )
                                     )
                                     (!srcfileloc  "../libcpp/include/cpp-id-data.h" 48)
                                     (!options 
                                      (!option length string  "%0.count")
                                      (!option tag string  "0")
                                     )
                                    )
                                    (!pair  "text"
                                     (!type already_seen 36)
                                     (!srcfileloc  "../libcpp/include/cpp-id-data.h" 49)
                                     (!options 
                                      (!option tag string  "1")
                                     )
                                    )
                                   )
                                   nil 511 nil )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 50)
                                  (!options 
                                   (!option desc string  "%1.traditional")
                                  )
                                 )
                                 (!pair  "line"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 53)
                                  nil )
                                 (!pair  "count"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 56)
                                  nil )
                                 (!pair  "paramc"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 59)
                                  nil )
                                 (!pair  "fun_like"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 62)
                                  nil )
                                 (!pair  "variadic"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 65)
                                  nil )
                                 (!pair  "syshdr"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 68)
                                  nil )
                                 (!pair  "used"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 71)
                                  nil )
                                 (!pair  "traditional"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 74)
                                  nil )
                                 (!pair  "extra_tokens"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 79)
                                  nil )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 690)
                              (!options 
                               (!option tag string  "NTV_MACRO")
                              )
                             )
                             (!pair  "answers"
                              (!type pointer 583 nil  gc_used
                               (!type struct 584 
                                (!type already_seen 583)
                                gc_pointed_to "answer"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 31)
                                (!fields 3 
                                 (!pair  "next"
                                  (!type already_seen 583)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 28)
                                  nil )
                                 (!pair  "count"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 29)
                                  nil )
                                 (!pair  "first"
                                  (!type array 585 nil  gc_used "1" 
                                   (!type already_seen 578)
                                  )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 30)
                                  (!options 
                                   (!option length string  "%h.count")
                                  )
                                 )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 692)
                              (!options 
                               (!option tag string  "NTV_ANSWER")
                              )
                             )
                             (!pair  "builtin"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 694)
                              (!options 
                               (!option tag string  "NTV_BUILTIN")
                              )
                             )
                             (!pair  "arg_index"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 696)
                              (!options 
                               (!option tag string  "NTV_ARGUMENT")
                              )
                             )
                            )
                            nil 511 nil )
                           (!srcfileloc  "../libcpp/include/cpplib.h" 709)
                           (!options 
                            (!option desc string  "CPP_HASHNODE_VALUE_IDX (%1)")
                           )
                          )
                         )
                         nil 511 nil nil )
                        (!srcfileloc  "c-family/c-common.h" 318)
                        nil )
                      )
                      nil 390 nil nil )
                     (!srcfileloc  "cp/cp-tree.h" 248)
                     nil )
                    (!pair  "namespace_bindings"
                     (!type already_seen 99)
                     (!srcfileloc  "cp/cp-tree.h" 249)
                     nil )
                    (!pair  "bindings"
                     (!type already_seen 99)
                     (!srcfileloc  "cp/cp-tree.h" 250)
                     nil )
                    (!pair  "class_template_info"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 251)
                     nil )
                    (!pair  "label_value"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 252)
                     nil )
                   )
                   nil 260 
                   (!type already_seen 563)
                   nil )
                  
                  (!type struct 586 nil  gc_used "lang_identifier"
                   (!srcfileloc  "c/c-decl.c" 242)
                   (!fields 4 
                    (!pair  "common_id"
                     (!type already_seen 569)
                     (!srcfileloc  "c/c-decl.c" 238)
                     nil )
                    (!pair  "symbol_binding"
                     (!type pointer 587 nil  gc_used
                      (!type struct 588 
                       (!type already_seen 587)
                       gc_pointed_to "c_binding"
                       (!srcfileloc  "c/c-decl.c" 212)
                       (!fields 11 
                        (!pair  "u"
                         (!type union 589 nil  gc_used "anonymous:../../gcc/c/c-decl.c:198"
                          (!srcfileloc  "c/c-decl.c" 201)
                          (!fields 2 
                           (!pair  "type"
                            (!type already_seen 5)
                            (!srcfileloc  "c/c-decl.c" 199)
                            (!options 
                             (!option tag string  "0")
                            )
                           )
                           (!pair  "label"
                            (!type pointer 590 nil  gc_used
                             (!type struct 591 
                              (!type already_seen 590)
                              gc_pointed_to "c_label_vars"
                              (!srcfileloc  "c/c-decl.c" 316)
                              (!fields 4 
                               (!pair  "shadowed"
                                (!type already_seen 590)
                                (!srcfileloc  "c/c-decl.c" 304)
                                nil )
                               (!pair  "label_bindings"
                                (!type struct 592 nil  gc_used "c_spot_bindings"
                                 (!srcfileloc  "c/c-decl.c" 283)
                                 (!fields 4 
                                  (!pair  "scope"
                                   (!type pointer 593 nil  gc_used
                                    (!type struct 594 
                                     (!type already_seen 593)
                                     gc_pointed_to "c_scope"
                                     (!srcfileloc  "c/c-decl.c" 418)
                                     (!fields 14 
                                      (!pair  "outer"
                                       (!type already_seen 593)
                                       (!srcfileloc  "c/c-decl.c" 365)
                                       nil )
                                      (!pair  "outer_function"
                                       (!type already_seen 593)
                                       (!srcfileloc  "c/c-decl.c" 368)
                                       nil )
                                      (!pair  "bindings"
                                       (!type already_seen 587)
                                       (!srcfileloc  "c/c-decl.c" 371)
                                       nil )
                                      (!pair  "blocks"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 375)
                                       nil )
                                      (!pair  "blocks_last"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 376)
                                       nil )
                                      (!pair  "depth"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 380)
                                       nil )
                                      (!pair  "parm_flag"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 384)
                                       nil )
                                      (!pair  "had_vla_unspec"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 388)
                                       nil )
                                      (!pair  "warned_forward_parm_decls"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 393)
                                       nil )
                                      (!pair  "function_body"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 399)
                                       nil )
                                      (!pair  "keep"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 402)
                                       nil )
                                      (!pair  "float_const_decimal64"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 405)
                                       nil )
                                      (!pair  "has_label_bindings"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 410)
                                       nil )
                                      (!pair  "has_jump_unsafe_decl"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 417)
                                       nil )
                                     )
                                     (!options 
                                      (!option chain_next string  "%h.outer")
                                     )
                                     130 nil nil )
                                   )
                                   (!srcfileloc  "c/c-decl.c" 268)
                                   nil )
                                  (!pair  "bindings_in_scope"
                                   (!type already_seen 587)
                                   (!srcfileloc  "c/c-decl.c" 272)
                                   nil )
                                  (!pair  "stmt_exprs"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 279)
                                   nil )
                                  (!pair  "left_stmt_expr"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 282)
                                   nil )
                                 )
                                 nil 130 nil nil )
                                (!srcfileloc  "c/c-decl.c" 306)
                                nil )
                               (!pair  "decls_in_scope"
                                (!type already_seen 45)
                                (!srcfileloc  "c/c-decl.c" 311)
                                nil )
                               (!pair  "gotos"
                                (!type pointer 595 nil  gc_used
                                 (!type user_struct 596 
                                  (!type already_seen 595)
                                  gc_pointed_to "vec<c_goto_bindings_p,va_gc>"
                                  (!srcfileloc  "c/c-decl.c" 315)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "c/c-decl.c" 315)
                                    nil )
                                   (!pair  "c_goto_bindings_p"
                                    (!type pointer 597 nil  gc_used
                                     (!type struct 598 
                                      (!type already_seen 597)
                                      gc_pointed_to "c_goto_bindings"
                                      (!srcfileloc  "c/c-decl.c" 294)
                                      (!fields 2 
                                       (!pair  "loc"
                                        (!type already_seen 9)
                                        (!srcfileloc  "c/c-decl.c" 291)
                                        nil )
                                       (!pair  "goto_bindings"
                                        (!type already_seen 592)
                                        (!srcfileloc  "c/c-decl.c" 293)
                                        nil )
                                      )
                                      nil 130 nil nil )
                                    )
                                    (!srcfileloc  "c/c-decl.c" 315)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "c/c-decl.c" 315)
                                nil )
                              )
                              nil 130 nil nil )
                            )
                            (!srcfileloc  "c/c-decl.c" 200)
                            (!options 
                             (!option tag string  "1")
                            )
                           )
                          )
                          nil 130 nil )
                         (!srcfileloc  "c/c-decl.c" 201)
                         (!options 
                          (!option desc string  "TREE_CODE (%0.decl) == LABEL_DECL")
                         )
                        )
                        (!pair  "decl"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 202)
                         nil )
                        (!pair  "id"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 203)
                         nil )
                        (!pair  "prev"
                         (!type already_seen 587)
                         (!srcfileloc  "c/c-decl.c" 204)
                         nil )
                        (!pair  "shadowed"
                         (!type already_seen 587)
                         (!srcfileloc  "c/c-decl.c" 205)
                         nil )
                        (!pair  "depth"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 206)
                         nil )
                        (!pair  "invisible"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 207)
                         nil )
                        (!pair  "nested"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 208)
                         nil )
                        (!pair  "inner_comp"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 209)
                         nil )
                        (!pair  "in_struct"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 210)
                         nil )
                        (!pair  "locus"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 211)
                         nil )
                       )
                       (!options 
                        (!option chain_next string  "%h.prev")
                       )
                       130 nil nil )
                     )
                     (!srcfileloc  "c/c-decl.c" 239)
                     nil )
                    (!pair  "tag_binding"
                     (!type already_seen 587)
                     (!srcfileloc  "c/c-decl.c" 240)
                     nil )
                    (!pair  "label_binding"
                     (!type already_seen 587)
                     (!srcfileloc  "c/c-decl.c" 241)
                     nil )
                   )
                   nil 130 
                   (!type already_seen 563)
                   nil )
                 )
                )
                (!srcfileloc  "java/java-tree.h" 595)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              32 
              (!type already_seen 560)
             )
             
             (!type union 599 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "go/go-lang.c" 76)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "go/go-lang.c" 74)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 563)
                (!srcfileloc  "go/go-lang.c" 75)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              16 
              (!type already_seen 560)
             )
             
             (!type union 600 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "fortran/f95-lang.c" 65)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "fortran/f95-lang.c" 63)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 563)
                (!srcfileloc  "fortran/f95-lang.c" 64)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              8 
              (!type already_seen 560)
             )
             
             (!type union 601 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "cp/cp-tree.h" 831)
              (!fields 14 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "cp/cp-tree.h" 811)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "TS_CP_GENERIC")
                )
               )
               (!pair  "tpi"
                (!type struct 602 nil  gc_used "template_parm_index_s"
                 (!srcfileloc  "cp/cp-tree.h" 280)
                 (!fields 5 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 275)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 276)
                   nil )
                  (!pair  "level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 277)
                   nil )
                  (!pair  "orig_level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 278)
                   nil )
                  (!pair  "decl"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 279)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 812)
                (!options 
                 (!option tag string  "TS_CP_TPI")
                )
               )
               (!pair  "ptrmem"
                (!type struct 603 
                 (!type pointer 604 nil  gc_unused
                  (!type already_seen 603)
                 )
                 gc_used "ptrmem_cst"
                 (!srcfileloc  "cp/cp-tree.h" 286)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 284)
                   nil )
                  (!pair  "member"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 285)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 813)
                (!options 
                 (!option tag string  "TS_CP_PTRMEM")
                )
               )
               (!pair  "overload"
                (!type struct 605 nil  gc_used "tree_overload"
                 (!srcfileloc  "cp/cp-tree.h" 361)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 359)
                   nil )
                  (!pair  "function"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 360)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 814)
                (!options 
                 (!option tag string  "TS_CP_OVERLOAD")
                )
               )
               (!pair  "baselink"
                (!type struct 606 nil  gc_used "tree_baselink"
                 (!srcfileloc  "cp/cp-tree.h" 395)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 391)
                   nil )
                  (!pair  "binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 392)
                   nil )
                  (!pair  "functions"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 393)
                   nil )
                  (!pair  "access_binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 394)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 815)
                (!options 
                 (!option tag string  "TS_CP_BASELINK")
                )
               )
               (!pair  "default_arg"
                (!type struct 607 nil  gc_used "tree_default_arg"
                 (!srcfileloc  "cp/cp-tree.h" 573)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 570)
                   nil )
                  (!pair  "tokens"
                   (!type already_seen 64)
                   (!srcfileloc  "cp/cp-tree.h" 571)
                   nil )
                  (!pair  "instantiations"
                   (!type already_seen 45)
                   (!srcfileloc  "cp/cp-tree.h" 572)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 816)
                (!options 
                 (!option tag string  "TS_CP_DEFAULT_ARG")
                )
               )
               (!pair  "deferred_noexcept"
                (!type struct 608 nil  gc_used "tree_deferred_noexcept"
                 (!srcfileloc  "cp/cp-tree.h" 589)
                 (!fields 3 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "cp/cp-tree.h" 586)
                   nil )
                  (!pair  "pattern"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 587)
                   nil )
                  (!pair  "args"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 588)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 817)
                (!options 
                 (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                )
               )
               (!pair  "identifier"
                (!type already_seen 563)
                (!srcfileloc  "cp/cp-tree.h" 818)
                (!options 
                 (!option tag string  "TS_CP_IDENTIFIER")
                )
               )
               (!pair  "static_assertion"
                (!type struct 609 nil  gc_used "tree_static_assert"
                 (!srcfileloc  "cp/cp-tree.h" 612)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 608)
                   nil )
                  (!pair  "condition"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 609)
                   nil )
                  (!pair  "message"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 610)
                   nil )
                  (!pair  "location"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 611)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 820)
                (!options 
                 (!option tag string  "TS_CP_STATIC_ASSERT")
                )
               )
               (!pair  "argument_pack_select"
                (!type struct 610 nil  gc_used "tree_argument_pack_select"
                 (!srcfileloc  "cp/cp-tree.h" 618)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 615)
                   nil )
                  (!pair  "argument_pack"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 616)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 617)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 822)
                (!options 
                 (!option tag string  "TS_CP_ARGUMENT_PACK_SELECT")
                )
               )
               (!pair  "trait_expression"
                (!type struct 611 nil  gc_used "tree_trait_expr"
                 (!srcfileloc  "cp/cp-tree.h" 666)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 662)
                   nil )
                  (!pair  "type1"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 663)
                   nil )
                  (!pair  "type2"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 664)
                   nil )
                  (!pair  "kind"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 665)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 824)
                (!options 
                 (!option tag string  "TS_CP_TRAIT_EXPR")
                )
               )
               (!pair  "lambda_expression"
                (!type struct 612 nil  gc_used "tree_lambda_expr"
                 (!srcfileloc  "cp/cp-tree.h" 751)
                 (!fields 10 
                  (!pair  "typed"
                   (!type already_seen 14)
                   (!srcfileloc  "cp/cp-tree.h" 741)
                   nil )
                  (!pair  "capture_list"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 742)
                   nil )
                  (!pair  "this_capture"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 743)
                   nil )
                  (!pair  "return_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 744)
                   nil )
                  (!pair  "extra_scope"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 745)
                   nil )
                  (!pair  "closure"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 746)
                   nil )
                  (!pair  "pending_proxies"
                   (!type already_seen 45)
                   (!srcfileloc  "cp/cp-tree.h" 747)
                   nil )
                  (!pair  "locus"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 748)
                   nil )
                  (!pair  "default_capture_mode"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 749)
                   nil )
                  (!pair  "discriminator"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 750)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 826)
                (!options 
                 (!option tag string  "TS_CP_LAMBDA_EXPR")
                )
               )
               (!pair  "template_info"
                (!type struct 613 nil  gc_used "tree_template_info"
                 (!srcfileloc  "cp/cp-tree.h" 785)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 783)
                   nil )
                  (!pair  "typedefs_needing_access_checking"
                   (!type pointer 614 nil  gc_used
                    (!type user_struct 615 
                     (!type already_seen 614)
                     gc_pointed_to "vec<qualified_typedef_usage_t,va_gc>"
                     (!srcfileloc  "cp/cp-tree.h" 784)
                     (!fields 2 
                      (!pair  "va_gc"
                       (!type already_seen 3)
                       (!srcfileloc  "cp/cp-tree.h" 784)
                       nil )
                      (!pair  "qualified_typedef_usage_t"
                       (!type struct 616 nil  gc_used "qualified_typedef_usage_s"
                        (!srcfileloc  "cp/cp-tree.h" 771)
                        (!fields 3 
                         (!pair  "typedef_decl"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 768)
                          nil )
                         (!pair  "context"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 769)
                          nil )
                         (!pair  "locus"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 770)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 784)
                       nil )
                     )
                    )
                   )
                   (!srcfileloc  "cp/cp-tree.h" 784)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 828)
                (!options 
                 (!option tag string  "TS_CP_TEMPLATE_INFO")
                )
               )
               (!pair  "userdef_literal"
                (!type struct 617 nil  gc_used "tree_userdef_literal"
                 (!srcfileloc  "c-family/c-common.h" 1268)
                 (!fields 5 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "c-family/c-common.h" 1263)
                   nil )
                  (!pair  "suffix_id"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1264)
                   nil )
                  (!pair  "value"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1265)
                   nil )
                  (!pair  "num_string"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1266)
                   nil )
                  (!pair  "overflow"
                   (!type already_seen 9)
                   (!srcfileloc  "c-family/c-common.h" 1267)
                   nil )
                 )
                 nil 390 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 830)
                (!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)")
              )
              260 
              (!type already_seen 560)
             )
             
             (!type union 618 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "c/c-decl.c" 257)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "c/c-decl.c" 255)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 563)
                (!srcfileloc  "c/c-decl.c" 256)
                (!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")
              )
              130 
              (!type already_seen 560)
             )
             
             (!type union 619 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "ada/gcc-interface/ada-tree.h" 33)
              (!fields 1 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 32)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
              )
              (!options 
               (!option chain_next string  "CODE_CONTAINS_STRUCT (TREE_CODE (&%h.generic), TS_COMMON) ? ((union lang_tree_node *) TREE_CHAIN (&%h.generic)) : NULL")
               (!option desc string  "0")
              )
              1 
              (!type already_seen 560)
             )
            )
           )
          )
         )
         511 nil )
       )
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2761)
       nil )
      (!pair  "offset"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2762)
       nil )
     )
     nil 384 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
    nil )
  )
 )
 
 (!type already_seen 4)
 
 (!type user_struct 620 
  (!type pointer 621 nil  gc_used
   (!type already_seen 620)
  )
  gc_pointed_to "vec<prot_list_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
    nil )
   (!pair  "prot_list_entry"
    (!type struct 622 nil  gc_used "prot_list_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1258)
     (!fields 2 
      (!pair  "id"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1256)
       nil )
      (!pair  "refdecl"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1257)
       nil )
     )
     nil 384 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
    nil )
  )
 )
 
 (!type already_seen 622)
 
 (!type user_struct 623 
  (!type pointer 624 nil  gc_used
   (!type already_seen 623)
  )
  gc_pointed_to "vec<msgref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
    nil )
   (!pair  "msgref_entry"
    (!type struct 625 nil  gc_used "msgref_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1203)
     (!fields 3 
      (!pair  "func"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1200)
       nil )
      (!pair  "selname"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1201)
       nil )
      (!pair  "refdecl"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1202)
       nil )
     )
     nil 384 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
    nil )
  )
 )
 
 (!type already_seen 625)
 
 (!type user_struct 626 
  (!type pointer 627 nil  gc_used
   (!type already_seen 626)
  )
  gc_pointed_to "vec<ident_data_tuple,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
    nil )
   (!pair  "ident_data_tuple"
    (!type struct 628 nil  gc_used "ident_data_tuple"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1018)
     (!fields 2 
      (!pair  "ident"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1016)
       nil )
      (!pair  "data"
       (!type already_seen 5)
       (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1017)
       nil )
     )
     nil 384 nil nil )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
    nil )
  )
 )
 
 (!type already_seen 628)
 
 (!type struct 629 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 630 
  (!type pointer 631 nil  gc_used
   (!type already_seen 630)
  )
  gc_pointed_to "string_descriptor"
  (!srcfileloc  "objc/objc-act.c" 261)
  (!fields 2 
   (!pair  "literal"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.c" 257)
    nil )
   (!pair  "constructor"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.c" 260)
    nil )
  )
  nil 384 nil nil )
 
 (!type struct 632 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 633 
  (!type pointer 634 nil  gc_used
   (!type already_seen 633)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 267)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 634)
    (!srcfileloc  "objc/objc-act.h" 261)
    nil )
   (!pair  "imp_context"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 262)
    nil )
   (!pair  "imp_template"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 263)
    nil )
   (!pair  "class_decl"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 264)
    nil )
   (!pair  "meta_decl"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 265)
    nil )
   (!pair  "has_cxx_cdtors"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-act.h" 266)
    nil )
  )
  nil 384 nil nil )
 
 (!type struct 635 
  (!type pointer 636 nil  gc_used
   (!type already_seen 635)
  )
  gc_pointed_to "hashed_attribute"
  (!srcfileloc  "objc/objc-act.h" 244)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 636)
    (!srcfileloc  "objc/objc-act.h" 242)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 243)
    nil )
  )
  nil 384 nil nil )
 
 (!type struct 637 
  (!type pointer 638 
   (!type pointer 639 nil  gc_used
    (!type already_seen 638)
   )
   gc_pointed_to
   (!type already_seen 637)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 250)
  (!fields 3 
   (!pair  "list"
    (!type already_seen 636)
    (!srcfileloc  "objc/objc-act.h" 247)
    nil )
   (!pair  "next"
    (!type already_seen 638)
    (!srcfileloc  "objc/objc-act.h" 248)
    nil )
   (!pair  "key"
    (!type already_seen 5)
    (!srcfileloc  "objc/objc-act.h" 249)
    nil )
  )
  nil 384 nil nil )
 
 (!type struct 640 
  (!type pointer 641 nil  gc_used
   (!type already_seen 640)
  )
  gc_pointed_to "objc_map_private"
  (!srcfileloc  "objc/objc-map.h" 79)
  (!fields 7 
   (!pair  "number_of_slots"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 54)
    nil )
   (!pair  "mask"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 57)
    nil )
   (!pair  "number_of_non_empty_slots"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 62)
    nil )
   (!pair  "max_number_of_non_empty_slots"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 68)
    nil )
   (!pair  "maximum_load_factor"
    (!type already_seen 9)
    (!srcfileloc  "objc/objc-map.h" 71)
    nil )
   (!pair  "slots"
    (!type already_seen 6)
    (!srcfileloc  "objc/objc-map.h" 74)
    (!options 
     (!option length string  "%h.number_of_slots")
    )
   )
   (!pair  "values"
    (!type already_seen 6)
    (!srcfileloc  "objc/objc-map.h" 78)
    (!options 
     (!option length string  "%h.number_of_slots")
    )
   )
  )
  nil 384 nil nil )
 
 (!type struct 642 nil  gc_unused "lto_file_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 643 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 644 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 645 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 646 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 647 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 648 nil  gc_unused "anonymous:../../gcc/java/expr.c:2060"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 649 nil  gc_unused "class_flag_node_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 650 nil  gc_used "builtin_record"
  (!srcfileloc  "java/builtins.c" 84)
  (!fields 4 
   (!pair  "class_name"
    (!type union 651 nil  gc_used "string_or_tree"
     (!srcfileloc  "java/builtins.c" 76)
     (!fields 2 
      (!pair  "s"
       (!type already_seen 36)
       (!srcfileloc  "java/builtins.c" 74)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "java/builtins.c" 75)
       (!options 
        (!option tag string  "1")
       )
      )
     )
     nil 32 nil )
    (!srcfileloc  "java/builtins.c" 80)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "method_name"
    (!type already_seen 651)
    (!srcfileloc  "java/builtins.c" 81)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "creator"
    (!type pointer 652 nil  gc_unused
     (!type undefined 653 
      (!type already_seen 652)
      gc_unused "builtin_creator_function"
      (!srcfileloc  "java/builtins.c" 82)
     )
    )
    (!srcfileloc  "java/builtins.c" 82)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "builtin_code"
    (!type already_seen 9)
    (!srcfileloc  "java/builtins.c" 83)
    nil )
  )
  nil 32 nil nil )
 
 (!type already_seen 653)
 
 (!type already_seen 651)
 
 (!type already_seen 458)
 
 (!type already_seen 463)
 
 (!type already_seen 465)
 
 (!type already_seen 462)
 
 (!type already_seen 84)
 
 (!type already_seen 467)
 
 (!type already_seen 468)
 
 (!type already_seen 55)
 
 (!type already_seen 475)
 
 (!type already_seen 44)
 
 (!type already_seen 52)
 
 (!type already_seen 459)
 
 (!type already_seen 456)
 
 (!type struct 654 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 655 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 656 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 657 nil  gc_used "gfc_powdecl_list"
  (!srcfileloc  "fortran/trans.h" 728)
  (!fields 3 
   (!pair  "integer"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 725)
    nil )
   (!pair  "real"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 726)
    nil )
   (!pair  "cmplx"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 727)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 658 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 659 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:340"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 660 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:328"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 661 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 662 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 663 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 664 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 665 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 666 nil  gc_unused "anonymous:../../gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 667 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 668 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 669 nil  gc_used "gfc_st_parameter"
  (!srcfileloc  "fortran/trans-io.c" 79)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "fortran/trans-io.c" 77)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 78)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 670 nil  gc_used "gfc_st_parameter_field"
  (!srcfileloc  "fortran/trans-io.c" 73)
  (!fields 6 
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "fortran/trans-io.c" 67)
    nil )
   (!pair  "mask"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 68)
    nil )
   (!pair  "param_type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 69)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 70)
    nil )
   (!pair  "field"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 71)
    nil )
   (!pair  "field_len"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 72)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 671 nil  gc_used "gfc_intrinsic_map_t"
  (!srcfileloc  "fortran/trans-intrinsic.c" 86)
  (!fields 19 
   (!pair  "id"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 52)
    nil )
   (!pair  "float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 56)
    nil )
   (!pair  "double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 57)
    nil )
   (!pair  "long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 58)
    nil )
   (!pair  "complex_float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 59)
    nil )
   (!pair  "complex_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 60)
    nil )
   (!pair  "complex_long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 61)
    nil )
   (!pair  "libm_name"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 66)
    nil )
   (!pair  "complex_available"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 69)
    nil )
   (!pair  "is_constant"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 72)
    nil )
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "fortran/trans-intrinsic.c" 75)
    nil )
   (!pair  "real4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 78)
    nil )
   (!pair  "real8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 79)
    nil )
   (!pair  "real10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 80)
    nil )
   (!pair  "real16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 81)
    nil )
   (!pair  "complex4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 82)
    nil )
   (!pair  "complex8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 83)
    nil )
   (!pair  "complex10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 84)
    nil )
   (!pair  "complex16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 85)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 672 
  (!type pointer 673 nil  gc_used
   (!type already_seen 672)
  )
  gc_pointed_to "module_htab_entry"
  (!srcfileloc  "fortran/trans.h" 574)
  (!fields 3 
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "fortran/trans.h" 571)
    nil )
   (!pair  "namespace_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 572)
    nil )
   (!pair  "decls"
    (!type already_seen 53)
    (!srcfileloc  "fortran/trans.h" 573)
    (!options 
     (!option param_is type 
      (!type already_seen 7)
     )
    )
   )
  )
  nil 8 nil nil )
 
 (!type already_seen 81)
 
 (!type struct 674 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 675 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 676 
  (!type pointer 677 nil  gc_used
   (!type already_seen 676)
  )
  gc_pointed_to "vec<pending_noexcept,va_gc>"
  (!srcfileloc  "cp/except.c" 1185)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/except.c" 1185)
    nil )
   (!pair  "pending_noexcept"
    (!type struct 678 nil  gc_used "pending_noexcept"
     (!srcfileloc  "cp/except.c" 1184)
     (!fields 2 
      (!pair  "fn"
       (!type already_seen 5)
       (!srcfileloc  "cp/except.c" 1182)
       nil )
      (!pair  "loc"
       (!type already_seen 9)
       (!srcfileloc  "cp/except.c" 1183)
       nil )
     )
     nil 4 nil nil )
    (!srcfileloc  "cp/except.c" 1185)
    nil )
  )
 )
 
 (!type already_seen 678)
 
 (!type struct 679 nil  gc_unused "secondary_vptr_vtt_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 680 nil  gc_unused "find_final_overrider_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 681 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 682 nil  gc_unused "vtbl_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 683 
  (!type pointer 684 nil  gc_unused
   (!type already_seen 683)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 685 
  (!type pointer 686 nil  gc_used
   (!type already_seen 685)
  )
  gc_pointed_to "pending_abstract_type"
  (!srcfileloc  "cp/typeck2.c" 155)
  (!fields 5 
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/typeck2.c" 141)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "cp/typeck2.c" 144)
    nil )
   (!pair  "use"
    (!type already_seen 9)
    (!srcfileloc  "cp/typeck2.c" 147)
    nil )
   (!pair  "locus"
    (!type already_seen 9)
    (!srcfileloc  "cp/typeck2.c" 151)
    nil )
   (!pair  "next"
    (!type already_seen 686)
    (!srcfileloc  "cp/typeck2.c" 154)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  260 nil nil )
 
 (!type struct 687 nil  gc_unused "cleanup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 688 
  (!type pointer 689 nil  gc_used
   (!type already_seen 688)
  )
  gc_pointed_to "vec<tree_int,va_gc>"
  (!srcfileloc  "cp/parser.c" 8652)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/parser.c" 8652)
    nil )
   (!pair  "tree_int"
    (!type struct 690 nil  gc_used "tree_int"
     (!srcfileloc  "cp/parser.c" 8651)
     (!fields 2 
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "cp/parser.c" 8649)
       nil )
      (!pair  "i"
       (!type already_seen 9)
       (!srcfileloc  "cp/parser.c" 8650)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/parser.c" 8652)
    nil )
  )
 )
 
 (!type already_seen 690)
 
 (!type struct 691 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 692 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 693 
  (!type pointer 694 nil  gc_used
   (!type already_seen 693)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.h" 396)
  (!fields 34 
   (!pair  "lexer"
    (!type pointer 695 nil  gc_used
     (!type struct 696 
      (!type already_seen 695)
      gc_pointed_to "cp_lexer"
      (!srcfileloc  "cp/parser.h" 110)
      (!fields 7 
       (!pair  "buffer"
        (!type pointer 697 nil  gc_used
         (!type user_struct 698 
          (!type already_seen 697)
          gc_pointed_to "vec<cp_token,va_gc>"
          (!srcfileloc  "cp/parser.h" 85)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
           (!pair  "cp_token"
            (!type already_seen 67)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
          )
         )
        )
        (!srcfileloc  "cp/parser.h" 85)
        nil )
       (!pair  "last_token"
        (!type already_seen 66)
        (!srcfileloc  "cp/parser.h" 89)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next_token"
        (!type already_seen 66)
        (!srcfileloc  "cp/parser.h" 93)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "saved_tokens"
        (!type user_struct 699 nil  gc_unused "vec<cp_token_position>"
         (!srcfileloc  "cp/parser.h" 99)
         (!fields 1 
          (!pair  "cp_token_position"
           (!type already_seen 66)
           (!srcfileloc  "cp/parser.h" 99)
           nil )
         )
        )
        (!srcfileloc  "cp/parser.h" 99)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next"
        (!type already_seen 695)
        (!srcfileloc  "cp/parser.h" 102)
        nil )
       (!pair  "debugging_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 105)
        nil )
       (!pair  "in_pragma"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 109)
        nil )
      )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 211)
    nil )
   (!pair  "scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 226)
    nil )
   (!pair  "object_scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 233)
    nil )
   (!pair  "qualifying_scope"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 234)
    nil )
   (!pair  "context"
    (!type pointer 700 nil  gc_used
     (!type struct 701 
      (!type already_seen 700)
      gc_pointed_to "cp_parser_context"
      (!srcfileloc  "cp/parser.h" 196)
      (!fields 3 
       (!pair  "status"
        (!type already_seen 9)
        (!srcfileloc  "cp/parser.h" 187)
        nil )
       (!pair  "object_type"
        (!type already_seen 5)
        (!srcfileloc  "cp/parser.h" 192)
        nil )
       (!pair  "next"
        (!type already_seen 700)
        (!srcfileloc  "cp/parser.h" 195)
        nil )
      )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 245)
    nil )
   (!pair  "allow_gnu_extensions_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 249)
    nil )
   (!pair  "greater_than_is_operator_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 256)
    nil )
   (!pair  "default_arg_ok_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 261)
    nil )
   (!pair  "integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 265)
    nil )
   (!pair  "allow_non_integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 271)
    nil )
   (!pair  "non_integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 275)
    nil )
   (!pair  "local_variables_forbidden_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 279)
    nil )
   (!pair  "in_unbraced_linkage_specification_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 284)
    nil )
   (!pair  "in_declarator_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 288)
    nil )
   (!pair  "in_template_argument_list_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 291)
    nil )
   (!pair  "in_statement"
    (!type already_seen 28)
    (!srcfileloc  "cp/parser.h" 305)
    nil )
   (!pair  "in_switch_statement_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 311)
    nil )
   (!pair  "in_type_id_in_expr_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 316)
    nil )
   (!pair  "implicit_extern_c"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 320)
    nil )
   (!pair  "translate_strings_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 324)
    nil )
   (!pair  "in_function_body"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 328)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 28)
    (!srcfileloc  "cp/parser.h" 332)
    nil )
   (!pair  "colon_corrects_to_scope_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 335)
    nil )
   (!pair  "colon_doesnt_start_class_def_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 341)
    nil )
   (!pair  "type_definition_forbidden_message"
    (!type already_seen 36)
    (!srcfileloc  "cp/parser.h" 346)
    nil )
   (!pair  "unparsed_queues"
    (!type pointer 702 nil  gc_used
     (!type user_struct 703 
      (!type already_seen 702)
      gc_pointed_to "vec<cp_unparsed_functions_entry,va_gc>"
      (!srcfileloc  "cp/parser.h" 351)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 3)
        (!srcfileloc  "cp/parser.h" 351)
        nil )
       (!pair  "cp_unparsed_functions_entry"
        (!type struct 704 nil  gc_used "cp_unparsed_functions_entry_d"
         (!srcfileloc  "cp/parser.h" 166)
         (!fields 3 
          (!pair  "funs_with_default_args"
           (!type pointer 705 nil  gc_used
            (!type user_struct 706 
             (!type already_seen 705)
             gc_pointed_to "vec<cp_default_arg_entry,va_gc>"
             (!srcfileloc  "cp/parser.h" 157)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cp/parser.h" 157)
               nil )
              (!pair  "cp_default_arg_entry"
               (!type struct 707 nil  gc_used "cp_default_arg_entry_d"
                (!srcfileloc  "cp/parser.h" 149)
                (!fields 2 
                 (!pair  "class_type"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 145)
                  nil )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 148)
                  nil )
                )
                nil 260 nil nil )
               (!srcfileloc  "cp/parser.h" 157)
               nil )
             )
            )
           )
           (!srcfileloc  "cp/parser.h" 157)
           nil )
          (!pair  "funs_with_definitions"
           (!type already_seen 45)
           (!srcfileloc  "cp/parser.h" 161)
           nil )
          (!pair  "nsdmis"
           (!type already_seen 45)
           (!srcfileloc  "cp/parser.h" 165)
           nil )
         )
         nil 260 nil nil )
        (!srcfileloc  "cp/parser.h" 351)
        nil )
      )
     )
    )
    (!srcfileloc  "cp/parser.h" 351)
    nil )
   (!pair  "num_classes_being_defined"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 355)
    nil )
   (!pair  "num_template_parameter_lists"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 359)
    nil )
   (!pair  "omp_declare_simd"
    (!type pointer 708 nil  gc_unused
     (!type struct 709 
      (!type already_seen 708)
      gc_unused "cp_omp_declare_simd_data"
      (!srcfileloc  "cp/parser.h" 363)
      (!fields 0 )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 363)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cilk_simd_fn_info"
    (!type already_seen 708)
    (!srcfileloc  "cp/parser.h" 370)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "auto_is_implicit_function_template_parm_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 374)
    nil )
   (!pair  "fully_implicit_function_template_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 379)
    nil )
   (!pair  "implicit_template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 387)
    nil )
   (!pair  "implicit_template_scope"
    (!type already_seen 94)
    (!srcfileloc  "cp/parser.h" 394)
    nil )
  )
  nil 260 nil nil )
 
 (!type already_seen 703)
 
 (!type already_seen 709)
 
 (!type already_seen 701)
 
 (!type already_seen 704)
 
 (!type already_seen 706)
 
 (!type already_seen 707)
 
 (!type struct 710 nil  gc_unused "cp_token_ident_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 696)
 
 (!type already_seen 699)
 
 (!type already_seen 698)
 
 (!type already_seen 67)
 
 (!type already_seen 68)
 
 (!type already_seen 70)
 
 (!type struct 711 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 712 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 713 
  (!type pointer 714 nil  gc_used
   (!type already_seen 713)
  )
  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/semantics.c" 8093)
  (!fields 4 
   (!pair  "fundef"
    (!type pointer 715 nil  gc_used
     (!type struct 716 
      (!type already_seen 715)
      gc_pointed_to "constexpr_fundef"
      (!srcfileloc  "cp/semantics.c" 7410)
      (!fields 2 
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/semantics.c" 7408)
        nil )
       (!pair  "body"
        (!type already_seen 5)
        (!srcfileloc  "cp/semantics.c" 7409)
        nil )
      )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/semantics.c" 8077)
    nil )
   (!pair  "bindings"
    (!type already_seen 5)
    (!srcfileloc  "cp/semantics.c" 8084)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/semantics.c" 8089)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cp/semantics.c" 8092)
    nil )
  )
  nil 260 nil nil )
 
 (!type already_seen 716)
 
 (!type struct 717 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 718 
  (!type pointer 719 nil  gc_used
   (!type already_seen 718)
  )
  gc_pointed_to "vec<deferred_access,va_gc>"
  (!srcfileloc  "cp/semantics.c" 143)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/semantics.c" 143)
    nil )
   (!pair  "deferred_access"
    (!type struct 720 nil  gc_used "deferred_access"
     (!srcfileloc  "cp/semantics.c" 140)
     (!fields 2 
      (!pair  "deferred_access_checks"
       (!type already_seen 71)
       (!srcfileloc  "cp/semantics.c" 135)
       nil )
      (!pair  "deferring_access_checks_kind"
       (!type already_seen 9)
       (!srcfileloc  "cp/semantics.c" 138)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/semantics.c" 143)
    nil )
  )
 )
 
 (!type already_seen 720)
 
 (!type already_seen 72)
 
 (!type struct 721 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 722 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 723 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 724 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 725 
  (!type pointer 726 nil  gc_used
   (!type already_seen 725)
  )
  gc_pointed_to "spec_entry"
  (!srcfileloc  "cp/pt.c" 89)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 86)
    nil )
   (!pair  "args"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 87)
    nil )
   (!pair  "spec"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 88)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 727 
  (!type pointer 728 nil  gc_used
   (!type already_seen 727)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 61)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 728)
    (!srcfileloc  "cp/pt.c" 59)
    nil )
   (!pair  "tinst"
    (!type pointer 729 nil  gc_used
     (!type struct 730 
      (!type already_seen 729)
      gc_pointed_to "tinst_level"
      (!srcfileloc  "cp/cp-tree.h" 4996)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 729)
        (!srcfileloc  "cp/cp-tree.h" 4981)
        nil )
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/cp-tree.h" 4986)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 4989)
        nil )
       (!pair  "errors"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 4992)
        nil )
       (!pair  "in_system_header_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 4995)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      260 nil nil )
    )
    (!srcfileloc  "cp/pt.c" 60)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  260 nil nil )
 
 (!type struct 731 
  (!type pointer 732 nil  gc_unused
   (!type already_seen 731)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 733 nil  gc_unused "reshape_iterator_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 734 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 735 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 736 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 737 
  (!type pointer 738 nil  gc_used
   (!type already_seen 737)
  )
  gc_pointed_to "vec<incomplete_var,va_gc>"
  (!srcfileloc  "cp/decl.c" 267)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/decl.c" 267)
    nil )
   (!pair  "incomplete_var"
    (!type struct 739 nil  gc_used "incomplete_var_d"
     (!srcfileloc  "cp/decl.c" 264)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 262)
       nil )
      (!pair  "incomplete_type"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 263)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/decl.c" 267)
    nil )
  )
 )
 
 (!type already_seen 739)
 
 (!type already_seen 105)
 
 (!type struct 740 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 741 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 742 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 743 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 744 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 745 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 73)
 
 (!type struct 746 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 747 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 748 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 749 nil  gc_used "operator_name_info_t"
  (!srcfileloc  "cp/cp-tree.h" 4745)
  (!fields 4 
   (!pair  "identifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 4738)
    nil )
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "cp/cp-tree.h" 4740)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 36)
    (!srcfileloc  "cp/cp-tree.h" 4742)
    nil )
   (!pair  "arity"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 4744)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 750 nil  gc_unused "aggr_init_expr_arg_iterator_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 56)
 
 (!type already_seen 129)
 
 (!type already_seen 128)
 
 (!type already_seen 61)
 
 (!type already_seen 63)
 
 (!type already_seen 62)
 
 (!type already_seen 59)
 
 (!type already_seen 60)
 
 (!type already_seen 58)
 
 (!type already_seen 483)
 
 (!type already_seen 498)
 
 (!type already_seen 485)
 
 (!type already_seen 487)
 
 (!type already_seen 484)
 
 (!type already_seen 488)
 
 (!type already_seen 93)
 
 (!type user_struct 751 
  (!type pointer 752 nil  gc_used
   (!type already_seen 751)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1022)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-tree.h" 1022)
    nil )
   (!pair  "cxx_saved_binding"
    (!type struct 753 nil  gc_used "cxx_saved_binding"
     (!srcfileloc  "cp/name-lookup.h" 86)
     (!fields 3 
      (!pair  "identifier"
       (!type already_seen 5)
       (!srcfileloc  "cp/name-lookup.h" 82)
       nil )
      (!pair  "binding"
       (!type already_seen 99)
       (!srcfileloc  "cp/name-lookup.h" 84)
       nil )
      (!pair  "real_type_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/name-lookup.h" 85)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/cp-tree.h" 1022)
    nil )
  )
 )
 
 (!type already_seen 613)
 
 (!type already_seen 615)
 
 (!type already_seen 616)
 
 (!type already_seen 612)
 
 (!type already_seen 611)
 
 (!type already_seen 610)
 
 (!type already_seen 609)
 
 (!type already_seen 608)
 
 (!type already_seen 607)
 
 (!type already_seen 65)
 
 (!type already_seen 606)
 
 (!type already_seen 605)
 
 (!type already_seen 603)
 
 (!type already_seen 602)
 
 (!type struct 754 
  (!type pointer 755 nil  gc_used
   (!type already_seen 754)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1058)
  (!fields 26 
   (!pair  "old_bindings"
    (!type already_seen 752)
    (!srcfileloc  "cp/cp-tree.h" 1022)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1023)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 45)
    (!srcfileloc  "cp/cp-tree.h" 1024)
    nil )
   (!pair  "class_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1025)
    nil )
   (!pair  "class_type"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1026)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1027)
    nil )
   (!pair  "function_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1028)
    nil )
   (!pair  "lang_base"
    (!type already_seen 45)
    (!srcfileloc  "cp/cp-tree.h" 1029)
    nil )
   (!pair  "lang_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1030)
    nil )
   (!pair  "template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1031)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 94)
    (!srcfileloc  "cp/cp-tree.h" 1032)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1033)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1036)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1037)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1039)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1040)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1041)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1042)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1044)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1045)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1048)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 88)
    (!srcfileloc  "cp/cp-tree.h" 1050)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 94)
    (!srcfileloc  "cp/cp-tree.h" 1052)
    nil )
   (!pair  "bindings"
    (!type already_seen 94)
    (!srcfileloc  "cp/cp-tree.h" 1053)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 385)
    (!srcfileloc  "cp/cp-tree.h" 1055)
    nil )
   (!pair  "prev"
    (!type already_seen 755)
    (!srcfileloc  "cp/cp-tree.h" 1057)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 756 nil  gc_unused "arg_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 109)
 
 (!type struct 757 nil  gc_unused "scope_binding"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 102)
 
 (!type already_seen 97)
 
 (!type already_seen 103)
 
 (!type already_seen 98)
 
 (!type already_seen 753)
 
 (!type already_seen 95)
 
 (!type already_seen 100)
 
 (!type already_seen 494)
 
 (!type already_seen 491)
 
 (!type already_seen 730)
 
 (!type struct 758 nil  gc_used "globals"
  (!srcfileloc  "cp/mangle.c" 106)
  (!fields 4 
   (!pair  "substitutions"
    (!type already_seen 45)
    (!srcfileloc  "cp/mangle.c" 95)
    nil )
   (!pair  "entity"
    (!type already_seen 5)
    (!srcfileloc  "cp/mangle.c" 98)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "parm_depth"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 101)
    nil )
   (!pair  "need_abi_warning"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 105)
    nil )
  )
  nil 260 nil nil )
 
 (!type user_struct 759 
  (!type pointer 760 nil  gc_used
   (!type already_seen 759)
  )
  gc_pointed_to "vec<tinfo_s,va_gc>"
  (!srcfileloc  "cp/rtti.c" 104)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/rtti.c" 104)
    nil )
   (!pair  "tinfo_s"
    (!type struct 761 nil  gc_used "tinfo_s"
     (!srcfileloc  "cp/rtti.c" 73)
     (!fields 3 
      (!pair  "type"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 66)
       nil )
      (!pair  "vtable"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 68)
       nil )
      (!pair  "name"
       (!type already_seen 5)
       (!srcfileloc  "cp/rtti.c" 71)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/rtti.c" 104)
    nil )
  )
 )
 
 (!type already_seen 761)
 
 (!type already_seen 112)
 
 (!type struct 762 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 763 nil  gc_unused "anonymous:../../gcc/c/c-parser.c:6068"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 764 
  (!type pointer 765 nil  gc_used
   (!type already_seen 764)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 217)
  (!fields 13 
   (!pair  "tokens"
    (!type pointer 766 nil  gc_unused
     (!type struct 767 
      (!type already_seen 766)
      gc_used "c_token"
      (!srcfileloc  "c/c-parser.c" 165)
      (!fields 6 
       (!pair  "type"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 151)
        nil )
       (!pair  "id_kind"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 154)
        nil )
       (!pair  "keyword"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 157)
        nil )
       (!pair  "pragma_kind"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 160)
        nil )
       (!pair  "location"
        (!type already_seen 9)
        (!srcfileloc  "c/c-parser.c" 162)
        nil )
       (!pair  "value"
        (!type already_seen 5)
        (!srcfileloc  "c/c-parser.c" 164)
        nil )
      )
      nil 130 nil nil )
    )
    (!srcfileloc  "c/c-parser.c" 172)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "tokens_buf"
    (!type array 768 nil  gc_used "2" 
     (!type already_seen 767)
    )
    (!srcfileloc  "c/c-parser.c" 174)
    nil )
   (!pair  "tokens_avail"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 177)
    nil )
   (!pair  "error"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 181)
    nil )
   (!pair  "in_pragma"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 184)
    nil )
   (!pair  "in_if_block"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 186)
    nil )
   (!pair  "lex_untranslated_string"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 188)
    nil )
   (!pair  "objc_pq_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 194)
    nil )
   (!pair  "objc_could_be_foreach_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 199)
    nil )
   (!pair  "objc_need_raw_identifier"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 204)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 207)
    nil )
   (!pair  "objc_property_attr_context"
    (!type already_seen 9)
    (!srcfileloc  "c/c-parser.c" 210)
    nil )
   (!pair  "cilk_simd_fn_tokens"
    (!type pointer 769 nil  gc_used
     (!type user_struct 770 
      (!type already_seen 769)
      gc_pointed_to "vec<c_token,va_gc>"
      (!srcfileloc  "c/c-parser.c" 216)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 3)
        (!srcfileloc  "c/c-parser.c" 216)
        nil )
       (!pair  "c_token"
        (!type already_seen 767)
        (!srcfileloc  "c/c-parser.c" 216)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 216)
    nil )
  )
  nil 130 nil nil )
 
 (!type already_seen 770)
 
 (!type already_seen 767)
 
 (!type struct 771 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 772 nil  gc_unused "anonymous:../../gcc/c-family/c-pragma.c:1169"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 773 
  (!type pointer 774 nil  gc_used
   (!type already_seen 773)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 902)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 774)
    (!srcfileloc  "c-family/c-pragma.c" 897)
    nil )
   (!pair  "target_binary"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 898)
    nil )
   (!pair  "target_strings"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 899)
    nil )
   (!pair  "optimize_binary"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 900)
    nil )
   (!pair  "optimize_strings"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 901)
    nil )
  )
  nil 390 nil nil )
 
 (!type user_struct 775 
  (!type pointer 776 nil  gc_used
   (!type already_seen 775)
  )
  gc_pointed_to "vec<pending_redefinition,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 433)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-pragma.c" 433)
    nil )
   (!pair  "pending_redefinition"
    (!type struct 777 nil  gc_used "pending_redefinition_d"
     (!srcfileloc  "c-family/c-pragma.c" 430)
     (!fields 2 
      (!pair  "oldname"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 428)
       nil )
      (!pair  "newname"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 429)
       nil )
     )
     nil 390 nil nil )
    (!srcfileloc  "c-family/c-pragma.c" 433)
    nil )
  )
 )
 
 (!type already_seen 777)
 
 (!type user_struct 778 
  (!type pointer 779 nil  gc_used
   (!type already_seen 778)
  )
  gc_pointed_to "vec<pending_weak,va_gc>"
  (!srcfileloc  "c-family/c-pragma.c" 247)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-pragma.c" 247)
    nil )
   (!pair  "pending_weak"
    (!type struct 780 nil  gc_used "pending_weak_d"
     (!srcfileloc  "c-family/c-pragma.c" 244)
     (!fields 2 
      (!pair  "name"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 242)
       nil )
      (!pair  "value"
       (!type already_seen 5)
       (!srcfileloc  "c-family/c-pragma.c" 243)
       nil )
     )
     nil 390 nil nil )
    (!srcfileloc  "c-family/c-pragma.c" 247)
    nil )
  )
 )
 
 (!type already_seen 780)
 
 (!type struct 781 
  (!type pointer 782 nil  gc_used
   (!type already_seen 781)
  )
  gc_pointed_to "align_stack"
  (!srcfileloc  "c-family/c-pragma.c" 54)
  (!fields 3 
   (!pair  "alignment"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-pragma.c" 51)
    nil )
   (!pair  "id"
    (!type already_seen 5)
    (!srcfileloc  "c-family/c-pragma.c" 52)
    nil )
   (!pair  "prev"
    (!type already_seen 782)
    (!srcfileloc  "c-family/c-pragma.c" 53)
    nil )
  )
  nil 390 nil nil )
 
 (!type struct 783 nil  gc_unused "internal_pragma_handler_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 784 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 785 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1178)
  (!fields 5 
   (!pair  "hex_str"
    (!type already_seen 36)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1173)
    nil )
   (!pair  "macro"
    (!type already_seen 574)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1174)
    nil )
   (!pair  "mode"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1175)
    nil )
   (!pair  "digits"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1176)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 36)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1177)
    nil )
  )
  nil 386 nil nil )
 
 (!type struct 786 nil  gc_unused "cilkplus_an_loop_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 787 nil  gc_unused "cilkplus_an_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 788 nil  gc_unused "inv_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 617)
 
 (!type struct 789 nil  gc_unused "omp_clause_mask"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 790 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 791 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 792 
  (!type pointer 793 nil  gc_used
   (!type already_seen 792)
  )
  gc_pointed_to "vec<tree_gc_vec,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 11548)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 11548)
    nil )
   (!pair  "tree_gc_vec"
    (!type already_seen 45)
    (!srcfileloc  "c-family/c-common.c" 11548)
    nil )
  )
 )
 
 (!type already_seen 87)
 
 (!type struct 794 nil  gc_unused "reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 795 
  (!type pointer 796 nil  gc_used
   (!type already_seen 795)
  )
  gc_pointed_to "vec<const_char_p,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 9013)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 9013)
    nil )
   (!pair  "const_char_p"
    (!type already_seen 36)
    (!srcfileloc  "c-family/c-common.c" 9013)
    nil )
  )
 )
 
 (!type struct 797 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 798 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 799 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 800 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 801 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 496)
 
 (!type struct 802 
  (!type pointer 803 nil  gc_used
   (!type already_seen 802)
  )
  gc_pointed_to "c_inline_static"
  (!srcfileloc  "c/c-decl.c" 489)
  (!fields 5 
   (!pair  "location"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 476)
    nil )
   (!pair  "function"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 479)
    nil )
   (!pair  "static_decl"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 482)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 485)
    nil )
   (!pair  "next"
    (!type already_seen 803)
    (!srcfileloc  "c/c-decl.c" 488)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  130 nil nil )
 
 (!type already_seen 596)
 
 (!type already_seen 598)
 
 (!type already_seen 594)
 
 (!type already_seen 563)
 
 (!type already_seen 569)
 
 (!type already_seen 588)
 
 (!type already_seen 589)
 
 (!type already_seen 591)
 
 (!type already_seen 88)
 
 (!type struct 804 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 592)
 
 (!type struct 805 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 806 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 807 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 808 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 114)
 
 (!type struct 809 nil  gc_unused "c_arg_tag_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 810 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 811 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 812 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 813 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 814 
  (!type pointer 815 nil  gc_used
   (!type already_seen 814)
  )
  gc_pointed_to "pad_type_hash"
  (!srcfileloc  "ada/gcc-interface/utils.c" 228)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "ada/gcc-interface/utils.c" 226)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 227)
    nil )
  )
  nil 1 nil nil )
 
 (!type struct 816 
  (!type pointer 817 nil  gc_used
   (!type already_seen 816)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 196)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 817)
    (!srcfileloc  "ada/gcc-interface/utils.c" 190)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 192)
    nil )
   (!pair  "jmpbuf_decl"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/utils.c" 195)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.chain")
  )
  1 nil nil )
 
 (!type struct 818 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 819 
  (!type pointer 820 nil  gc_used
   (!type already_seen 819)
  )
  gc_pointed_to "vec<loop_info,va_gc>"
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ada/gcc-interface/trans.c" 224)
    nil )
   (!pair  "loop_info"
    (!type pointer 821 nil  gc_used
     (!type struct 822 
      (!type already_seen 821)
      gc_pointed_to "loop_info_d"
      (!srcfileloc  "ada/gcc-interface/trans.c" 218)
      (!fields 3 
       (!pair  "stmt"
        (!type already_seen 5)
        (!srcfileloc  "ada/gcc-interface/trans.c" 215)
        nil )
       (!pair  "loop_var"
        (!type already_seen 5)
        (!srcfileloc  "ada/gcc-interface/trans.c" 216)
        nil )
       (!pair  "checks"
        (!type pointer 823 nil  gc_used
         (!type user_struct 824 
          (!type already_seen 823)
          gc_pointed_to "vec<range_check_info,va_gc>"
          (!srcfileloc  "ada/gcc-interface/trans.c" 217)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "ada/gcc-interface/trans.c" 217)
            nil )
           (!pair  "range_check_info"
            (!type pointer 825 nil  gc_used
             (!type struct 826 
              (!type already_seen 825)
              gc_pointed_to "range_check_info_d"
              (!srcfileloc  "ada/gcc-interface/trans.c" 208)
              (!fields 4 
               (!pair  "low_bound"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 204)
                nil )
               (!pair  "high_bound"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 205)
                nil )
               (!pair  "type"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 206)
                nil )
               (!pair  "invariant_cond"
                (!type already_seen 5)
                (!srcfileloc  "ada/gcc-interface/trans.c" 207)
                nil )
              )
              nil 1 nil nil )
            )
            (!srcfileloc  "ada/gcc-interface/trans.c" 217)
            nil )
          )
         )
        )
        (!srcfileloc  "ada/gcc-interface/trans.c" 217)
        nil )
      )
      nil 1 nil nil )
    )
    (!srcfileloc  "ada/gcc-interface/trans.c" 224)
    nil )
  )
 )
 
 (!type already_seen 822)
 
 (!type already_seen 824)
 
 (!type already_seen 826)
 
 (!type struct 827 
  (!type pointer 828 nil  gc_used
   (!type already_seen 827)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 179)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 828)
    (!srcfileloc  "ada/gcc-interface/trans.c" 176)
    nil )
   (!pair  "elab_proc"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 177)
    nil )
   (!pair  "gnat_node"
    (!type already_seen 9)
    (!srcfileloc  "ada/gcc-interface/trans.c" 178)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  1 nil nil )
 
 (!type struct 829 
  (!type pointer 830 nil  gc_used
   (!type already_seen 829)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 163)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 830)
    (!srcfileloc  "ada/gcc-interface/trans.c" 159)
    nil )
   (!pair  "stmt_list"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 160)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 161)
    nil )
   (!pair  "cleanups"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 162)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.previous")
  )
  1 nil nil )
 
 (!type already_seen 117)
 
 (!type already_seen 119)
 
 (!type struct 831 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 832 nil  gc_unused "anonymous:../../gcc/ada/gcc-interface/decl.c:178"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 833 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 834 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 835 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 836 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 837 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 838 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 839 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 840 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 841 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 842 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 843 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 844 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 845 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 863)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type struct 846 nil  gc_unused "polymorphic_call_target_hasher"
     (!srcfileloc  "ipa-devirt.c" 863)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-devirt.c" 863)
    nil )
  )
 )
 
 (!type already_seen 846)
 
 (!type struct 847 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 848 
  (!type pointer 849 nil  gc_used
   (!type already_seen 848)
  )
  gc_pointed_to "vec<odr_type,va_gc>"
  (!srcfileloc  "ipa-devirt.c" 276)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-devirt.c" 276)
    nil )
   (!pair  "odr_type"
    (!type pointer 850 nil  gc_used
     (!type struct 851 
      (!type already_seen 850)
      gc_pointed_to "odr_type_d"
      (!srcfileloc  "ipa-devirt.c" 165)
      (!fields 7 
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "ipa-devirt.c" 150)
        nil )
       (!pair  "bases"
        (!type user_struct 852 nil  gc_unused "vec<odr_type>"
         (!srcfileloc  "ipa-devirt.c" 152)
         (!fields 1 
          (!pair  "odr_type"
           (!type already_seen 850)
           (!srcfileloc  "ipa-devirt.c" 152)
           nil )
         )
        )
        (!srcfileloc  "ipa-devirt.c" 152)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "derived_types"
        (!type already_seen 852)
        (!srcfileloc  "ipa-devirt.c" 154)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "types"
        (!type already_seen 45)
        (!srcfileloc  "ipa-devirt.c" 157)
        nil )
       (!pair  "types_set"
        (!type pointer 853 nil  gc_unused
         (!type struct 854 
          (!type already_seen 853)
          gc_unused "pointer_set_t"
          (!srcfileloc  "ipa-devirt.c" 159)
          (!fields 0 )
          nil 511 nil nil )
        )
        (!srcfileloc  "ipa-devirt.c" 159)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "id"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 162)
        nil )
       (!pair  "anonymous_namespace"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 164)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "ipa-devirt.c" 276)
    nil )
  )
 )
 
 (!type user_struct 855 nil  gc_unused "hash_table<odr_hasher>"
  (!srcfileloc  "ipa-devirt.c" 269)
  (!fields 1 
   (!pair  "odr_hasher"
    (!type struct 856 nil  gc_unused "odr_hasher"
     (!srcfileloc  "ipa-devirt.c" 269)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-devirt.c" 269)
    nil )
  )
 )
 
 (!type already_seen 856)
 
 (!type already_seen 852)
 
 (!type struct 857 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 858 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 859 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 860 
  (!type pointer 861 nil  gc_used
   (!type already_seen 860)
  )
  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 56)
  (!fields 2 
   (!pair  "type"
    (!type struct 862 nil  gc_used "tree_map_base"
     (!srcfileloc  "tree-core.h" 1720)
     (!fields 1 
      (!pair  "from"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 1719)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "ubsan.c" 54)
    nil )
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "ubsan.c" 55)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 863 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 864 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 865 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 866 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 867 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 868 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 869 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 870 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 871 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 311)
 )
 
 (!type user_struct 872 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 310)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type struct 873 nil  gc_unused "vtbl_map_hasher"
     (!srcfileloc  "vtable-verify.c" 310)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "vtable-verify.c" 310)
    nil )
  )
 )
 
 (!type already_seen 873)
 
 (!type struct 874 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 875 nil  gc_unused "edge_growth_cache_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 876 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 877 
  (!type pointer 878 nil  gc_used
   (!type already_seen 877)
  )
  gc_pointed_to "vec<inline_summary_t,va_gc>"
  (!srcfileloc  "ipa-inline.h" 164)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-inline.h" 164)
    nil )
   (!pair  "inline_summary_t"
    (!type struct 879 nil  gc_used "inline_summary"
     (!srcfileloc  "ipa-inline.h" 159)
     (!fields 16 
      (!pair  "estimated_self_stack_size"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 115)
       nil )
      (!pair  "self_size"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 117)
       nil )
      (!pair  "self_time"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 119)
       nil )
      (!pair  "min_size"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 121)
       nil )
      (!pair  "inlinable"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 124)
       nil )
      (!pair  "estimated_stack_size"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 131)
       nil )
      (!pair  "stack_frame_offset"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 133)
       nil )
      (!pair  "time"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 135)
       nil )
      (!pair  "size"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 136)
       nil )
      (!pair  "conds"
       (!type pointer 880 nil  gc_used
        (!type user_struct 881 
         (!type already_seen 880)
         gc_pointed_to "vec<condition,va_gc>"
         (!srcfileloc  "ipa-inline.h" 76)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-inline.h" 76)
           nil )
          (!pair  "condition"
           (!type struct 882 nil  gc_used "condition"
            (!srcfileloc  "ipa-inline.h" 76)
            (!fields 6 
             (!pair  "offset"
              (!type already_seen 9)
              (!srcfileloc  "ipa-inline.h" 34)
              nil )
             (!pair  "val"
              (!type already_seen 5)
              (!srcfileloc  "ipa-inline.h" 35)
              nil )
             (!pair  "operand_num"
              (!type already_seen 9)
              (!srcfileloc  "ipa-inline.h" 36)
              nil )
             (!pair  "code"
              (!type already_seen 9)
              (!srcfileloc  "ipa-inline.h" 37)
              nil )
             (!pair  "agg_contents"
              (!type already_seen 9)
              (!srcfileloc  "ipa-inline.h" 40)
              nil )
             (!pair  "by_ref"
              (!type already_seen 9)
              (!srcfileloc  "ipa-inline.h" 43)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "ipa-inline.h" 76)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-inline.h" 140)
       nil )
      (!pair  "entry"
       (!type pointer 883 nil  gc_used
        (!type user_struct 884 
         (!type already_seen 883)
         gc_pointed_to "vec<size_time_entry,va_gc>"
         (!srcfileloc  "ipa-inline.h" 141)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-inline.h" 141)
           nil )
          (!pair  "size_time_entry"
           (!type struct 885 nil  gc_used "size_time_entry"
            (!srcfileloc  "ipa-inline.h" 141)
            (!fields 3 
             (!pair  "predicate"
              (!type struct 886 
               (!type pointer 887 nil  gc_unused
                (!type already_seen 886)
               )
               gc_used "predicate"
               (!srcfileloc  "ipa-inline.h" 92)
               (!fields 1 
                (!pair  "clause"
                 (!type array 888 nil  gc_used "MAX_CLAUSES + 1" 
                  (!type already_seen 9)
                 )
                 (!srcfileloc  "ipa-inline.h" 91)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "ipa-inline.h" 104)
              nil )
             (!pair  "size"
              (!type already_seen 9)
              (!srcfileloc  "ipa-inline.h" 105)
              nil )
             (!pair  "time"
              (!type already_seen 9)
              (!srcfileloc  "ipa-inline.h" 106)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "ipa-inline.h" 141)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-inline.h" 141)
       nil )
      (!pair  "loop_iterations"
       (!type already_seen 887)
       (!srcfileloc  "ipa-inline.h" 145)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "loop_stride"
       (!type already_seen 887)
       (!srcfileloc  "ipa-inline.h" 148)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "array_index"
       (!type already_seen 887)
       (!srcfileloc  "ipa-inline.h" 150)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "growth"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 156)
       nil )
      (!pair  "scc_no"
       (!type already_seen 9)
       (!srcfileloc  "ipa-inline.h" 158)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "ipa-inline.h" 164)
    nil )
  )
 )
 
 (!type already_seen 884)
 
 (!type already_seen 885)
 
 (!type already_seen 886)
 
 (!type already_seen 881)
 
 (!type already_seen 882)
 
 (!type already_seen 558)
 
 (!type already_seen 556)
 
 (!type already_seen 552)
 
 (!type already_seen 534)
 
 (!type struct 889 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 890 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 891 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 892 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 893 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 894 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 895 nil  gc_unused "gcov_ctr_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 896 nil  gc_unused "vec<res_pair>"
  (!srcfileloc  "lto-streamer.h" 563)
  (!fields 1 
   (!pair  "res_pair"
    (!type struct 897 nil  gc_unused "res_pair"
     (!srcfileloc  "lto-streamer.h" 563)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "lto-streamer.h" 563)
    nil )
  )
 )
 
 (!type already_seen 897)
 
 (!type struct 898 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 899 nil  gc_used "lto_tree_ref_table"
  (!srcfileloc  "lto-streamer.h" 474)
  (!fields 2 
   (!pair  "trees"
    (!type already_seen 6)
    (!srcfileloc  "lto-streamer.h" 470)
    (!options 
     (!option length string  "%h.size")
    )
   )
   (!pair  "size"
    (!type already_seen 9)
    (!srcfileloc  "lto-streamer.h" 473)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 900 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 901 
  (!type pointer 902 nil  gc_unused
   (!type already_seen 901)
  )
  gc_unused "lto_symtab_encoder_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 903 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 904 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 905 nil  gc_unused "lto_asm_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 906 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 907 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 908 nil  gc_unused "lto_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 909 
  (!type pointer 910 nil  gc_used
   (!type already_seen 909)
  )
  gc_pointed_to "lto_in_decl_state"
  (!srcfileloc  "lto-streamer.h" 495)
  (!fields 2 
   (!pair  "streams"
    (!type array 911 nil  gc_used "LTO_N_DECL_STREAMS" 
     (!type already_seen 899)
    )
    (!srcfileloc  "lto-streamer.h" 490)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 5)
    (!srcfileloc  "lto-streamer.h" 494)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 912 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 913 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 914 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 915 nil  gc_unused "vec<cgraph_node_ptr>"
  (!srcfileloc  "trans-mem.c" 4064)
  (!fields 1 
   (!pair  "cgraph_node_ptr"
    (!type pointer 916 
     (!type pointer 917 nil  gc_used
      (!type already_seen 916)
     )
     gc_pointed_to
     (!type struct 918 
      (!type already_seen 916)
      gc_pointed_to "cgraph_node"
      (!srcfileloc  "cgraph.h" 436)
      (!fields 34 
       (!pair  "callees"
        (!type pointer 919 nil  gc_used
         (!type struct 920 
          (!type already_seen 919)
          gc_pointed_to "cgraph_edge"
          (!srcfileloc  "cgraph.h" 627)
          (!fields 19 
           (!pair  "count"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 575)
            nil )
           (!pair  "caller"
            (!type already_seen 916)
            (!srcfileloc  "cgraph.h" 576)
            nil )
           (!pair  "callee"
            (!type already_seen 916)
            (!srcfileloc  "cgraph.h" 577)
            nil )
           (!pair  "prev_caller"
            (!type already_seen 919)
            (!srcfileloc  "cgraph.h" 578)
            nil )
           (!pair  "next_caller"
            (!type already_seen 919)
            (!srcfileloc  "cgraph.h" 579)
            nil )
           (!pair  "prev_callee"
            (!type already_seen 919)
            (!srcfileloc  "cgraph.h" 580)
            nil )
           (!pair  "next_callee"
            (!type already_seen 919)
            (!srcfileloc  "cgraph.h" 581)
            nil )
           (!pair  "call_stmt"
            (!type already_seen 310)
            (!srcfileloc  "cgraph.h" 582)
            nil )
           (!pair  "indirect_info"
            (!type pointer 921 nil  gc_used
             (!type struct 922 
              (!type already_seen 921)
              gc_pointed_to "cgraph_indirect_call_info"
              (!srcfileloc  "cgraph.h" 571)
              (!fields 14 
               (!pair  "offset"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 544)
                nil )
               (!pair  "otr_token"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 546)
                nil )
               (!pair  "otr_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 548)
                nil )
               (!pair  "outer_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 548)
                nil )
               (!pair  "param_index"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 550)
                nil )
               (!pair  "ecf_flags"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 552)
                nil )
               (!pair  "common_target_id"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 554)
                nil )
               (!pair  "common_target_probability"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 556)
                nil )
               (!pair  "polymorphic"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 560)
                nil )
               (!pair  "agg_contents"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 563)
                nil )
               (!pair  "member_ptr"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 565)
                nil )
               (!pair  "by_ref"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 568)
                nil )
               (!pair  "maybe_in_construction"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 569)
                nil )
               (!pair  "maybe_derived_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 570)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "cgraph.h" 585)
            nil )
           (!pair  "aux"
            (!type already_seen 10)
            (!srcfileloc  "cgraph.h" 586)
            (!options 
             (!option skip string  "")
            )
           )
           (!pair  "inline_failed"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 589)
            nil )
           (!pair  "lto_stmt_uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 592)
            nil )
           (!pair  "frequency"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 596)
            nil )
           (!pair  "uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 598)
            nil )
           (!pair  "indirect_inlining_edge"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 600)
            nil )
           (!pair  "indirect_unknown_callee"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 603)
            nil )
           (!pair  "call_stmt_cannot_inline_p"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 606)
            nil )
           (!pair  "can_throw_external"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 608)
            nil )
           (!pair  "speculative"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 626)
            nil )
          )
          (!options 
           (!option chain_prev string  "%h.prev_caller")
           (!option chain_next string  "%h.next_caller")
          )
          511 nil nil )
        )
        (!srcfileloc  "cgraph.h" 360)
        nil )
       (!pair  "callers"
        (!type already_seen 919)
        (!srcfileloc  "cgraph.h" 361)
        nil )
       (!pair  "indirect_calls"
        (!type already_seen 919)
        (!srcfileloc  "cgraph.h" 364)
        nil )
       (!pair  "origin"
        (!type already_seen 916)
        (!srcfileloc  "cgraph.h" 366)
        nil )
       (!pair  "nested"
        (!type already_seen 916)
        (!srcfileloc  "cgraph.h" 368)
        nil )
       (!pair  "next_nested"
        (!type already_seen 916)
        (!srcfileloc  "cgraph.h" 370)
        nil )
       (!pair  "next_sibling_clone"
        (!type already_seen 916)
        (!srcfileloc  "cgraph.h" 372)
        nil )
       (!pair  "prev_sibling_clone"
        (!type already_seen 916)
        (!srcfileloc  "cgraph.h" 373)
        nil )
       (!pair  "clones"
        (!type already_seen 916)
        (!srcfileloc  "cgraph.h" 374)
        nil )
       (!pair  "clone_of"
        (!type already_seen 916)
        (!srcfileloc  "cgraph.h" 375)
        nil )
       (!pair  "call_site_hash"
        (!type pointer 923 nil  gc_used
         (!type param_struct 924 
          (!type already_seen 923)
          gc_pointed_to
          (!type already_seen 49)
          
          (!type already_seen 919)
          nil nil nil nil nil nil nil nil nil nil )
        )
        (!srcfileloc  "cgraph.h" 378)
        (!options 
         (!option param_is type 
          (!type already_seen 920)
         )
        )
       )
       (!pair  "former_clone_of"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 380)
        nil )
       (!pair  "simdclone"
        (!type pointer 925 nil  gc_used
         (!type struct 926 
          (!type already_seen 925)
          gc_pointed_to "cgraph_simd_clone"
          (!srcfileloc  "cgraph.h" 352)
          (!fields 11 
           (!pair  "simdlen"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 320)
            nil )
           (!pair  "nargs"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 324)
            nil )
           (!pair  "vecsize_int"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 327)
            nil )
           (!pair  "vecsize_float"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 330)
            nil )
           (!pair  "vecsize_mangle"
            (!type already_seen 28)
            (!srcfileloc  "cgraph.h" 335)
            nil )
           (!pair  "inbranch"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 339)
            nil )
           (!pair  "cilk_elemental"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 342)
            nil )
           (!pair  "prev_clone"
            (!type already_seen 916)
            (!srcfileloc  "cgraph.h" 345)
            nil )
           (!pair  "next_clone"
            (!type already_seen 916)
            (!srcfileloc  "cgraph.h" 345)
            nil )
           (!pair  "origin"
            (!type already_seen 916)
            (!srcfileloc  "cgraph.h" 348)
            nil )
           (!pair  "args"
            (!type array 927 nil  gc_used "1" 
             (!type struct 928 nil  gc_used "cgraph_simd_clone_arg"
              (!srcfileloc  "cgraph.h" 314)
              (!fields 8 
               (!pair  "orig_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 276)
                nil )
               (!pair  "orig_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 280)
                nil )
               (!pair  "vector_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 288)
                nil )
               (!pair  "vector_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 291)
                nil )
               (!pair  "simd_array"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 300)
                nil )
               (!pair  "arg_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 304)
                nil )
               (!pair  "linear_step"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 310)
                nil )
               (!pair  "alignment"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 313)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "cgraph.h" 351)
            (!options 
             (!option length string  "%h.nargs")
            )
           )
          )
          nil 511 nil nil )
        )
        (!srcfileloc  "cgraph.h" 384)
        nil )
       (!pair  "simd_clones"
        (!type already_seen 916)
        (!srcfileloc  "cgraph.h" 386)
        nil )
       (!pair  "ipa_transforms_to_apply"
        (!type user_struct 929 nil  gc_unused "vec<ipa_opt_pass>"
         (!srcfileloc  "cgraph.h" 391)
         (!fields 1 
          (!pair  "ipa_opt_pass"
           (!type pointer 930 nil  gc_unused
            (!type struct 931 
             (!type already_seen 930)
             gc_unused "ipa_opt_pass_d"
             (!srcfileloc  "function.h" 171)
             (!fields 0 )
             nil 511 nil nil )
           )
           (!srcfileloc  "cgraph.h" 391)
           nil )
         )
        )
        (!srcfileloc  "cgraph.h" 391)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "local"
        (!type struct 932 nil  gc_used "cgraph_local_info"
         (!srcfileloc  "cgraph.h" 219)
         (!fields 5 
          (!pair  "local"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 204)
           nil )
          (!pair  "versionable"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 207)
           nil )
          (!pair  "can_change_signature"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 211)
           nil )
          (!pair  "redefined_extern_inline"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 215)
           nil )
          (!pair  "tm_may_enter_irr"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 218)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 393)
        nil )
       (!pair  "global"
        (!type struct 933 nil  gc_used "cgraph_global_info"
         (!srcfileloc  "cgraph.h" 228)
         (!fields 1 
          (!pair  "inlined_to"
           (!type already_seen 916)
           (!srcfileloc  "cgraph.h" 227)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 394)
        nil )
       (!pair  "rtl"
        (!type struct 934 nil  gc_used "cgraph_rtl_info"
         (!srcfileloc  "cgraph.h" 235)
         (!fields 1 
          (!pair  "preferred_incoming_stack_boundary"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 234)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 395)
        nil )
       (!pair  "clone"
        (!type struct 935 nil  gc_used "cgraph_clone_info"
         (!srcfileloc  "cgraph.h" 259)
         (!fields 3 
          (!pair  "tree_map"
           (!type pointer 936 nil  gc_used
            (!type user_struct 937 
             (!type already_seen 936)
             gc_pointed_to "vec<ipa_replace_map_p,va_gc>"
             (!srcfileloc  "cgraph.h" 256)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cgraph.h" 256)
               nil )
              (!pair  "ipa_replace_map_p"
               (!type pointer 938 nil  gc_used
                (!type struct 939 
                 (!type already_seen 938)
                 gc_pointed_to "ipa_replace_map"
                 (!srcfileloc  "cgraph.h" 251)
                 (!fields 5 
                  (!pair  "old_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 242)
                   nil )
                  (!pair  "new_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 244)
                   nil )
                  (!pair  "parm_num"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 246)
                   nil )
                  (!pair  "replace_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 248)
                   nil )
                  (!pair  "ref_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 250)
                   nil )
                 )
                 nil 511 nil nil )
               )
               (!srcfileloc  "cgraph.h" 256)
               nil )
             )
            )
           )
           (!srcfileloc  "cgraph.h" 256)
           nil )
          (!pair  "args_to_skip"
           (!type already_seen 120)
           (!srcfileloc  "cgraph.h" 257)
           nil )
          (!pair  "combined_args_to_skip"
           (!type already_seen 120)
           (!srcfileloc  "cgraph.h" 258)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 396)
        nil )
       (!pair  "thunk"
        (!type struct 940 nil  gc_used "cgraph_thunk_info"
         (!srcfileloc  "cgraph.h" 196)
         (!fields 6 
          (!pair  "fixed_offset"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 189)
           nil )
          (!pair  "virtual_value"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 190)
           nil )
          (!pair  "alias"
           (!type already_seen 5)
           (!srcfileloc  "cgraph.h" 191)
           nil )
          (!pair  "this_adjusting"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 192)
           nil )
          (!pair  "virtual_offset_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 193)
           nil )
          (!pair  "thunk_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 195)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 397)
        nil )
       (!pair  "count"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 400)
        nil )
       (!pair  "count_materialization_scale"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 403)
        nil )
       (!pair  "uid"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 405)
        nil )
       (!pair  "profile_id"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 407)
        nil )
       (!pair  "tp_first_run"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 409)
        nil )
       (!pair  "used_as_abstract_origin"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 413)
        nil )
       (!pair  "lowered"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 415)
        nil )
       (!pair  "process"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 418)
        nil )
       (!pair  "frequency"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 421)
        nil )
       (!pair  "only_called_at_startup"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 423)
        nil )
       (!pair  "only_called_at_exit"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 425)
        nil )
       (!pair  "tm_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 430)
        nil )
       (!pair  "dispatcher_function"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 432)
        nil )
       (!pair  "calls_comdat_local"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 435)
        nil )
      )
      (!options 
       (!option tag string  "SYMTAB_FUNCTION")
      )
      511 nil 
      (!type struct 941 
       (!type pointer 942 nil  gc_used
        (!type already_seen 941)
       )
       gc_pointed_to "symtab_node"
       (!srcfileloc  "cgraph.h" 154)
       (!fields 26 
        (!pair  "type"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 54)
         nil )
        (!pair  "resolution"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 57)
         nil )
        (!pair  "definition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 63)
         nil )
        (!pair  "alias"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 66)
         nil )
        (!pair  "weakref"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 68)
         nil )
        (!pair  "cpp_implicit_alias"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 75)
         nil )
        (!pair  "analyzed"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 78)
         nil )
        (!pair  "externally_visible"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 84)
         nil )
        (!pair  "force_output"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 87)
         nil )
        (!pair  "forced_by_abi"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 91)
         nil )
        (!pair  "unique_name"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 93)
         nil )
        (!pair  "body_removed"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 96)
         nil )
        (!pair  "used_from_other_partition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 103)
         nil )
        (!pair  "in_other_partition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 107)
         nil )
        (!pair  "address_taken"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 114)
         nil )
        (!pair  "order"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 118)
         nil )
        (!pair  "decl"
         (!type already_seen 5)
         (!srcfileloc  "cgraph.h" 121)
         nil )
        (!pair  "next"
         (!type already_seen 942)
         (!srcfileloc  "cgraph.h" 124)
         nil )
        (!pair  "previous"
         (!type already_seen 942)
         (!srcfileloc  "cgraph.h" 125)
         nil )
        (!pair  "next_sharing_asm_name"
         (!type already_seen 942)
         (!srcfileloc  "cgraph.h" 136)
         nil )
        (!pair  "previous_sharing_asm_name"
         (!type already_seen 942)
         (!srcfileloc  "cgraph.h" 137)
         nil )
        (!pair  "same_comdat_group"
         (!type already_seen 942)
         (!srcfileloc  "cgraph.h" 140)
         nil )
        (!pair  "ref_list"
         (!type struct 943 nil  gc_used "ipa_ref_list"
          (!srcfileloc  "ipa-ref.h" 59)
          (!fields 2 
           (!pair  "references"
            (!type pointer 944 nil  gc_used
             (!type user_struct 945 
              (!type already_seen 944)
              gc_pointed_to "vec<ipa_ref_t,va_gc>"
              (!srcfileloc  "ipa-ref.h" 55)
              (!fields 2 
               (!pair  "va_gc"
                (!type already_seen 3)
                (!srcfileloc  "ipa-ref.h" 55)
                nil )
               (!pair  "ipa_ref_t"
                (!type struct 946 
                 (!type pointer 947 nil  gc_unused
                  (!type already_seen 946)
                 )
                 gc_used "ipa_ref"
                 (!srcfileloc  "ipa-ref.h" 45)
                 (!fields 7 
                  (!pair  "referring"
                   (!type already_seen 942)
                   (!srcfileloc  "ipa-ref.h" 38)
                   nil )
                  (!pair  "referred"
                   (!type already_seen 942)
                   (!srcfileloc  "ipa-ref.h" 39)
                   nil )
                  (!pair  "stmt"
                   (!type already_seen 310)
                   (!srcfileloc  "ipa-ref.h" 40)
                   nil )
                  (!pair  "lto_stmt_uid"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 41)
                   nil )
                  (!pair  "referred_index"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 42)
                   nil )
                  (!pair  "use"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 43)
                   nil )
                  (!pair  "speculative"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 44)
                   nil )
                 )
                 nil 511 nil nil )
                (!srcfileloc  "ipa-ref.h" 55)
                nil )
              )
             )
            )
            (!srcfileloc  "ipa-ref.h" 55)
            nil )
           (!pair  "referring"
            (!type user_struct 948 nil  gc_unused "vec<ipa_ref_ptr>"
             (!srcfileloc  "ipa-ref.h" 58)
             (!fields 1 
              (!pair  "ipa_ref_ptr"
               (!type already_seen 947)
               (!srcfileloc  "ipa-ref.h" 58)
               nil )
             )
            )
            (!srcfileloc  "ipa-ref.h" 58)
            (!options 
             (!option skip string  "")
            )
           )
          )
          nil 511 nil nil )
         (!srcfileloc  "cgraph.h" 143)
         nil )
        (!pair  "alias_target"
         (!type already_seen 5)
         (!srcfileloc  "cgraph.h" 148)
         nil )
        (!pair  "lto_file_data"
         (!type pointer 949 
          (!type pointer 950 nil  gc_used
           (!type already_seen 949)
          )
          gc_pointed_to
          (!type struct 951 
           (!type already_seen 949)
           gc_pointed_to "lto_file_decl_data"
           (!srcfileloc  "lto-streamer.h" 570)
           (!fields 13 
            (!pair  "current_decl_state"
             (!type already_seen 910)
             (!srcfileloc  "lto-streamer.h" 535)
             nil )
            (!pair  "global_decl_state"
             (!type already_seen 910)
             (!srcfileloc  "lto-streamer.h" 539)
             nil )
            (!pair  "symtab_node_encoder"
             (!type already_seen 902)
             (!srcfileloc  "lto-streamer.h" 542)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "function_decl_states"
             (!type pointer 952 nil  gc_used
              (!type param_struct 953 
               (!type already_seen 952)
               gc_pointed_to
               (!type already_seen 49)
               
               (!type already_seen 910)
               nil nil nil nil nil nil nil nil nil nil )
             )
             (!srcfileloc  "lto-streamer.h" 545)
             (!options 
              (!option param_is type 
               (!type already_seen 909)
              )
             )
            )
            (!pair  "file_name"
             (!type already_seen 36)
             (!srcfileloc  "lto-streamer.h" 548)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "section_hash_table"
             (!type already_seen 50)
             (!srcfileloc  "lto-streamer.h" 551)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "renaming_hash_table"
             (!type already_seen 50)
             (!srcfileloc  "lto-streamer.h" 554)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "next"
             (!type already_seen 949)
             (!srcfileloc  "lto-streamer.h" 557)
             nil )
            (!pair  "id"
             (!type already_seen 9)
             (!srcfileloc  "lto-streamer.h" 560)
             nil )
            (!pair  "respairs"
             (!type already_seen 896)
             (!srcfileloc  "lto-streamer.h" 563)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "max_index"
             (!type already_seen 9)
             (!srcfileloc  "lto-streamer.h" 564)
             nil )
            (!pair  "profile_info"
             (!type already_seen 895)
             (!srcfileloc  "lto-streamer.h" 566)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "resolution_map"
             (!type already_seen 385)
             (!srcfileloc  "lto-streamer.h" 569)
             (!options 
              (!option skip string  "")
             )
            )
           )
           nil 511 nil nil )
         )
         (!srcfileloc  "cgraph.h" 151)
         nil )
        (!pair  "aux"
         (!type already_seen 10)
         (!srcfileloc  "cgraph.h" 153)
         (!options 
          (!option skip string  "")
         )
        )
       )
       (!options 
        (!option chain_prev string  "%h.previous")
        (!option chain_next string  "%h.next")
        (!option tag string  "SYMTAB_SYMBOL")
        (!option desc string  "%h.type")
       )
       511 nil nil )
     )
    )
    (!srcfileloc  "trans-mem.c" 4064)
    nil )
  )
 )
 
 (!type struct 954 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 955 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 956 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 957 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 958 
  (!type pointer 959 nil  gc_unused
   (!type already_seen 958)
  )
  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 960 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 961 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 962 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 963 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 964 
  (!type pointer 965 nil  gc_unused
   (!type already_seen 964)
  )
  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 966 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 967 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 968 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 969 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 970 
  (!type pointer 971 nil  gc_unused
   (!type already_seen 970)
  )
  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 972 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 973 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 974 nil  gc_unused "vec<ipa_parm_adjustment>"
  (!srcfileloc  "ipa-prop.h" 686)
  (!fields 1 
   (!pair  "ipa_parm_adjustment"
    (!type struct 975 nil  gc_unused "ipa_parm_adjustment"
     (!srcfileloc  "ipa-prop.h" 686)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-prop.h" 686)
    nil )
  )
 )
 
 (!type user_struct 976 
  (!type pointer 977 nil  gc_used
   (!type already_seen 976)
  )
  gc_pointed_to "vec<ipa_edge_args,va_gc>"
  (!srcfileloc  "ipa-prop.h" 511)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-prop.h" 511)
    nil )
   (!pair  "ipa_edge_args"
    (!type struct 978 nil  gc_used "ipa_edge_args"
     (!srcfileloc  "ipa-prop.h" 511)
     (!fields 1 
      (!pair  "jump_functions"
       (!type pointer 979 nil  gc_used
        (!type user_struct 980 
         (!type already_seen 979)
         gc_pointed_to "vec<ipa_jump_func,va_gc>"
         (!srcfileloc  "ipa-prop.h" 480)
         (!fields 2 
          (!pair  "va_gc"
           (!type already_seen 3)
           (!srcfileloc  "ipa-prop.h" 480)
           nil )
          (!pair  "ipa_jump_func"
           (!type struct 981 nil  gc_used "ipa_jump_func"
            (!srcfileloc  "ipa-prop.h" 480)
            (!fields 3 
             (!pair  "agg"
              (!type struct 982 
               (!type pointer 983 nil  gc_unused
                (!type already_seen 982)
               )
               gc_used "ipa_agg_jump_function"
               (!srcfileloc  "ipa-prop.h" 176)
               (!fields 2 
                (!pair  "items"
                 (!type pointer 984 nil  gc_used
                  (!type user_struct 985 
                   (!type already_seen 984)
                   gc_pointed_to "vec<ipa_agg_jf_item,va_gc>"
                   (!srcfileloc  "ipa-prop.h" 173)
                   (!fields 2 
                    (!pair  "va_gc"
                     (!type already_seen 3)
                     (!srcfileloc  "ipa-prop.h" 173)
                     nil )
                    (!pair  "ipa_agg_jf_item"
                     (!type struct 986 nil  gc_used "ipa_agg_jf_item"
                      (!srcfileloc  "ipa-prop.h" 173)
                      (!fields 2 
                       (!pair  "offset"
                        (!type already_seen 9)
                        (!srcfileloc  "ipa-prop.h" 160)
                        nil )
                       (!pair  "value"
                        (!type already_seen 5)
                        (!srcfileloc  "ipa-prop.h" 163)
                        nil )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "ipa-prop.h" 173)
                     nil )
                   )
                  )
                 )
                 (!srcfileloc  "ipa-prop.h" 173)
                 nil )
                (!pair  "by_ref"
                 (!type already_seen 9)
                 (!srcfileloc  "ipa-prop.h" 175)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "ipa-prop.h" 187)
              nil )
             (!pair  "type"
              (!type already_seen 9)
              (!srcfileloc  "ipa-prop.h" 189)
              nil )
             (!pair  "value"
              (!type union 987 nil  gc_used "jump_func_value"
               (!srcfileloc  "ipa-prop.h" 199)
               (!fields 4 
                (!pair  "known_type"
                 (!type struct 988 nil  gc_used "ipa_known_type_data"
                  (!srcfileloc  "ipa-prop.h" 85)
                  (!fields 3 
                   (!pair  "offset"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 80)
                    nil )
                   (!pair  "base_type"
                    (!type already_seen 5)
                    (!srcfileloc  "ipa-prop.h" 82)
                    nil )
                   (!pair  "component_type"
                    (!type already_seen 5)
                    (!srcfileloc  "ipa-prop.h" 84)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "ipa-prop.h" 195)
                 (!options 
                  (!option tag string  "IPA_JF_KNOWN_TYPE")
                 )
                )
                (!pair  "constant"
                 (!type struct 989 nil  gc_used "ipa_constant_data"
                  (!srcfileloc  "ipa-prop.h" 96)
                  (!fields 2 
                   (!pair  "value"
                    (!type already_seen 5)
                    (!srcfileloc  "ipa-prop.h" 93)
                    nil )
                   (!pair  "rdesc"
                    (!type pointer 990 nil  gc_unused
                     (!type struct 991 
                      (!type already_seen 990)
                      gc_unused "ipa_cst_ref_desc"nil 
                      (!fields 0 )
                      nil 0 nil nil )
                    )
                    (!srcfileloc  "ipa-prop.h" 95)
                    (!options 
                     (!option skip string  "")
                    )
                   )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "ipa-prop.h" 196)
                 (!options 
                  (!option tag string  "IPA_JF_CONST")
                 )
                )
                (!pair  "pass_through"
                 (!type struct 992 nil  gc_used "ipa_pass_through_data"
                  (!srcfileloc  "ipa-prop.h" 124)
                  (!fields 5 
                   (!pair  "operand"
                    (!type already_seen 5)
                    (!srcfileloc  "ipa-prop.h" 104)
                    nil )
                   (!pair  "formal_id"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 106)
                    nil )
                   (!pair  "operation"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 111)
                    nil )
                   (!pair  "agg_preserved"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 118)
                    nil )
                   (!pair  "type_preserved"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 123)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "ipa-prop.h" 197)
                 (!options 
                  (!option tag string  "IPA_JF_PASS_THROUGH")
                 )
                )
                (!pair  "ancestor"
                 (!type struct 993 nil  gc_used "ipa_ancestor_jf_data"
                  (!srcfileloc  "ipa-prop.h" 145)
                  (!fields 5 
                   (!pair  "offset"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 132)
                    nil )
                   (!pair  "type"
                    (!type already_seen 5)
                    (!srcfileloc  "ipa-prop.h" 136)
                    nil )
                   (!pair  "formal_id"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 138)
                    nil )
                   (!pair  "agg_preserved"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 140)
                    nil )
                   (!pair  "type_preserved"
                    (!type already_seen 9)
                    (!srcfileloc  "ipa-prop.h" 144)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "ipa-prop.h" 198)
                 (!options 
                  (!option tag string  "IPA_JF_ANCESTOR")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "ipa-prop.h" 199)
              (!options 
               (!option desc string  "%1.type")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "ipa-prop.h" 480)
           nil )
         )
        )
       )
       (!srcfileloc  "ipa-prop.h" 480)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "ipa-prop.h" 511)
    nil )
  )
 )
 
 (!type user_struct 994 
  (!type pointer 995 nil  gc_used
   (!type already_seen 994)
  )
  gc_pointed_to "vec<ipa_agg_replacement_value_p,va_gc>"
  (!srcfileloc  "ipa-prop.h" 509)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-prop.h" 509)
    nil )
   (!pair  "ipa_agg_replacement_value_p"
    (!type pointer 996 nil  gc_used
     (!type struct 997 
      (!type already_seen 996)
      gc_pointed_to "ipa_agg_replacement_value"
      (!srcfileloc  "ipa-prop.h" 468)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 996)
        (!srcfileloc  "ipa-prop.h" 459)
        nil )
       (!pair  "offset"
        (!type already_seen 9)
        (!srcfileloc  "ipa-prop.h" 461)
        nil )
       (!pair  "value"
        (!type already_seen 5)
        (!srcfileloc  "ipa-prop.h" 463)
        nil )
       (!pair  "index"
        (!type already_seen 9)
        (!srcfileloc  "ipa-prop.h" 465)
        nil )
       (!pair  "by_ref"
        (!type already_seen 9)
        (!srcfileloc  "ipa-prop.h" 467)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "ipa-prop.h" 509)
    nil )
  )
 )
 
 (!type already_seen 980)
 
 (!type struct 998 nil  gc_unused "ipa_param_descriptor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 987)
 
 (!type already_seen 985)
 
 (!type already_seen 993)
 
 (!type already_seen 992)
 
 (!type already_seen 989)
 
 (!type already_seen 988)
 
 (!type struct 999 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1000 nil  gc_unused "prop_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1001 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1002 
  (!type pointer 1003 nil  gc_unused
   (!type already_seen 1002)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1004 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1005 
  (!type pointer 1006 nil  gc_unused
   (!type already_seen 1005)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1007 nil  gc_unused "pass_registry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1008 nil  gc_unused "pass_registry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1009 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1010 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1011 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1012 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1013 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1014 nil  gc_unused "pass_early_local_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1015 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1016 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1017 nil  gc_unused "imm_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1018 nil  gc_unused "dispatch_windows_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1019 nil  gc_unused "sched_insn_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1021 nil  gc_unused "anonymous:../../gcc/config/i386/i386.c:34519"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1022 nil  gc_unused "anonymous:../../gcc/config/i386/i386.c:34308"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "anonymous:../../gcc/config/i386/i386.c:33473"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "anonymous:../../gcc/config/i386/i386.c:32785"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1025 nil  gc_unused "_function_version_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1026 nil  gc_unused "builtin_description"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1027 nil  gc_unused "builtin_isa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1028 
  (!type pointer 1029 nil  gc_unused
   (!type already_seen 1028)
  )
  gc_unused "ix86_first_cycle_multipass_data_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1030 nil  gc_unused "ix86_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1031 nil  gc_unused "scratch_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1032 nil  gc_unused "operand_alternative"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1033 nil  gc_unused "stringop_size_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1034 nil  gc_unused "ix86_target_opts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1035 nil  gc_unused "pass_insert_vzeroupper"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1036 nil  gc_unused "ptt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1037 nil  gc_unused "ix86_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1038 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1039 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1040 nil  gc_unused "pass_omp_simd_clone"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1041 nil  gc_unused "modify_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1042 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1044 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1045 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1046 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1047 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1048 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1049 nil  gc_unused "pass_parallelize_loops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1050 nil  gc_unused "clsn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1051 nil  gc_unused "elv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1052 nil  gc_unused "int_tree_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1053 nil  gc_unused "data_dependence_relation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1054 
  (!type pointer 1055 nil  gc_unused
   (!type already_seen 1054)
  )
  gc_unused "lambda_trans_matrix_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1056 nil  gc_unused "hash_table<name_to_copy_hasher>"
  (!srcfileloc  "tree-parloops.c" 282)
  (!fields 1 
   (!pair  "name_to_copy_hasher"
    (!type struct 1057 nil  gc_unused "name_to_copy_hasher"
     (!srcfileloc  "tree-parloops.c" 282)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "tree-parloops.c" 282)
    nil )
  )
 )
 
 (!type already_seen 1057)
 
 (!type struct 1058 nil  gc_unused "name_to_copy_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1059 nil  gc_unused "hash_table<reduction_hasher>"
  (!srcfileloc  "tree-parloops.c" 230)
  (!fields 1 
   (!pair  "reduction_hasher"
    (!type struct 1060 nil  gc_unused "reduction_hasher"
     (!srcfileloc  "tree-parloops.c" 230)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "tree-parloops.c" 230)
    nil )
  )
 )
 
 (!type already_seen 1060)
 
 (!type struct 1061 nil  gc_unused "reduction_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1062 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1063 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1064 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 389)
 
 (!type struct 1065 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1066 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1067 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1068 
  (!type pointer 1069 nil  gc_used
   (!type already_seen 1068)
  )
  gc_pointed_to "scev_info_str"
  (!srcfileloc  "tree-scalar-evolution.c" 304)
  (!fields 3 
   (!pair  "name_version"
    (!type already_seen 9)
    (!srcfileloc  "tree-scalar-evolution.c" 301)
    nil )
   (!pair  "instantiated_below"
    (!type already_seen 9)
    (!srcfileloc  "tree-scalar-evolution.c" 302)
    nil )
   (!pair  "chrec"
    (!type already_seen 5)
    (!srcfileloc  "tree-scalar-evolution.c" 303)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1070 nil  gc_unused "numbered_tree_d"
  (!srcfileloc  "tree-dfa.c" 703)
  (!fields 2 
   (!pair  "t"
    (!type already_seen 5)
    (!srcfileloc  "tree-dfa.c" 701)
    nil )
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "tree-dfa.c" 702)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1071 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1072 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1073 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1074 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1075 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1077 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1078 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1079 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1080 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1081 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1082 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1083 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1084 
  (!type pointer 1085 nil  gc_used
   (!type already_seen 1084)
  )
  gc_pointed_to "vec<mem_addr_template,va_gc>"
  (!srcfileloc  "tree-ssa-address.c" 98)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-ssa-address.c" 98)
    nil )
   (!pair  "mem_addr_template"
    (!type struct 1086 nil  gc_used "mem_addr_template"
     (!srcfileloc  "tree-ssa-address.c" 91)
     (!fields 3 
      (!pair  "ref"
       (!type already_seen 136)
       (!srcfileloc  "tree-ssa-address.c" 86)
       nil )
      (!pair  "step_p"
       (!type already_seen 137)
       (!srcfileloc  "tree-ssa-address.c" 87)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "off_p"
       (!type already_seen 137)
       (!srcfileloc  "tree-ssa-address.c" 89)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "tree-ssa-address.c" 98)
    nil )
  )
 )
 
 (!type already_seen 1086)
 
 (!type struct 1087 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1088 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1089 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1090 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1091 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1092 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1093 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1094 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1095 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1096 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1097 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1098 nil  gc_unused "anonymous:../../gcc/tree-eh.c:59"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1099 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 387)
 
 (!type already_seen 383)
 
 (!type already_seen 396)
 
 (!type struct 1100 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1101 nil  gc_pointed_to "gimple_statement_transaction"
  (!srcfileloc  "gimple.h" 759)
  (!fields 2 
   (!pair  "body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 755)
    nil )
   (!pair  "label"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 758)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRANSACTION")
  )
  511 nil 
  (!type struct 1102 nil  gc_pointed_to "gimple_statement_with_memory_ops_base"
   (!srcfileloc  "gimple.h" 250)
   (!fields 2 
    (!pair  "vdef"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 248)
     (!options 
      (!option skip string  "")
     )
    )
    (!pair  "vuse"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 249)
     (!options 
      (!option skip string  "")
     )
    )
   )
   (!options 
    (!option tag string  "GSS_WITH_MEM_OPS_BASE")
   )
   511 nil 
   (!type struct 1103 nil  gc_pointed_to "gimple_statement_with_ops_base"
    (!srcfileloc  "gimple.h" 220)
    (!fields 1 
     (!pair  "use_ops"
      (!type already_seen 391)
      (!srcfileloc  "gimple.h" 219)
      (!options 
       (!option skip string  "")
      )
     )
    )
    nil 511 nil 
    (!type already_seen 311)
   )
  )
 )
 
 (!type struct 1104 nil  gc_pointed_to "gimple_statement_omp_return"
  (!srcfileloc  "gimple.h" 719)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  511 nil 
  (!type struct 1105 nil  gc_pointed_to "gimple_statement_omp_atomic_store_layout"
   (!srcfileloc  "gimple.h" 703)
   (!fields 1 
    (!pair  "val"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 702)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
   )
   511 nil 
   (!type already_seen 311)
  )
 )
 
 (!type struct 1106 nil  gc_pointed_to "gimple_statement_omp_atomic_store"
  (!srcfileloc  "gimple.h" 711)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
  )
  511 nil 
  (!type already_seen 1105)
 )
 
 (!type already_seen 1105)
 
 (!type struct 1107 nil  gc_pointed_to "gimple_statement_omp_atomic_load"
  (!srcfileloc  "gimple.h" 691)
  (!fields 2 
   (!pair  "rhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 690)
    nil )
   (!pair  "lhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 690)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_LOAD")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1108 nil  gc_pointed_to "gimple_statement_omp_teams"
  (!srcfileloc  "gimple.h" 677)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  511 nil 
  (!type struct 1109 nil  gc_pointed_to "gimple_statement_omp_single_layout"
   (!srcfileloc  "gimple.h" 663)
   (!fields 1 
    (!pair  "clauses"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 662)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
   )
   511 nil 
   (!type struct 1110 nil  gc_pointed_to "gimple_statement_omp"
    (!srcfileloc  "gimple.h" 303)
    (!fields 1 
     (!pair  "body"
      (!type already_seen 310)
      (!srcfileloc  "gimple.h" 302)
      nil )
    )
    (!options 
     (!option tag string  "GSS_OMP")
    )
    511 nil 
    (!type already_seen 311)
   )
  )
 )
 
 (!type struct 1111 nil  gc_pointed_to "gimple_statement_omp_single"
  (!srcfileloc  "gimple.h" 670)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_SINGLE_LAYOUT")
  )
  511 nil 
  (!type already_seen 1109)
 )
 
 (!type already_seen 1109)
 
 (!type struct 1112 nil  gc_pointed_to "gimple_statement_omp_continue"
  (!srcfileloc  "gimple.h" 652)
  (!fields 2 
   (!pair  "control_def"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 648)
    nil )
   (!pair  "control_use"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 651)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CONTINUE")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1113 nil  gc_pointed_to "gimple_statement_omp_sections"
  (!srcfileloc  "gimple.h" 635)
  (!fields 2 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 629)
    nil )
   (!pair  "control"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 634)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_SECTIONS")
  )
  511 nil 
  (!type already_seen 1110)
 )
 
 (!type struct 1114 nil  gc_pointed_to "gimple_statement_omp_task"
  (!srcfileloc  "gimple.h" 614)
  (!fields 3 
   (!pair  "copy_fn"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 608)
    nil )
   (!pair  "arg_size"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 612)
    nil )
   (!pair  "arg_align"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 613)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_TASK")
  )
  511 nil 
  (!type struct 1115 nil  gc_pointed_to "gimple_statement_omp_taskreg"
   (!srcfileloc  "gimple.h" 581)
   (!fields 0 )
   (!options 
    (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
   )
   511 nil 
   (!type struct 1116 nil  gc_pointed_to "gimple_statement_omp_parallel_layout"
    (!srcfileloc  "gimple.h" 572)
    (!fields 3 
     (!pair  "clauses"
      (!type already_seen 5)
      (!srcfileloc  "gimple.h" 563)
      nil )
     (!pair  "child_fn"
      (!type already_seen 5)
      (!srcfileloc  "gimple.h" 567)
      nil )
     (!pair  "data_arg"
      (!type already_seen 5)
      (!srcfileloc  "gimple.h" 571)
      nil )
    )
    (!options 
     (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
    )
    511 nil 
    (!type already_seen 1110)
   )
  )
 )
 
 (!type struct 1117 nil  gc_pointed_to "gimple_statement_omp_target"
  (!srcfileloc  "gimple.h" 597)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  511 nil 
  (!type already_seen 1116)
 )
 
 (!type struct 1118 nil  gc_pointed_to "gimple_statement_omp_parallel"
  (!srcfileloc  "gimple.h" 590)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_OMP_PARALLEL_LAYOUT")
  )
  511 nil 
  (!type already_seen 1115)
 )
 
 (!type already_seen 1115)
 
 (!type already_seen 1116)
 
 (!type struct 1119 nil  gc_pointed_to "gimple_statement_omp_for"
  (!srcfileloc  "gimple.h" 552)
  (!fields 4 
   (!pair  "clauses"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 540)
    nil )
   (!pair  "collapse"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 544)
    nil )
   (!pair  "iter"
    (!type pointer 1120 nil  gc_unused
     (!type struct 1121 
      (!type already_seen 1120)
      gc_used "gimple_omp_for_iter"
      (!srcfileloc  "gimple.h" 530)
      (!fields 5 
       (!pair  "cond"
        (!type already_seen 9)
        (!srcfileloc  "gimple.h" 517)
        nil )
       (!pair  "index"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 520)
        nil )
       (!pair  "initial"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 523)
        nil )
       (!pair  "final"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 526)
        nil )
       (!pair  "incr"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 529)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "gimple.h" 547)
    (!options 
     (!option length string  "%h.collapse")
    )
   )
   (!pair  "pre_body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 551)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_FOR")
  )
  511 nil 
  (!type already_seen 1110)
 )
 
 (!type already_seen 1121)
 
 (!type struct 1122 nil  gc_pointed_to "gimple_statement_omp_critical"
  (!srcfileloc  "gimple.h" 512)
  (!fields 1 
   (!pair  "name"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 511)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CRITICAL")
  )
  511 nil 
  (!type already_seen 1110)
 )
 
 (!type struct 1123 nil  gc_pointed_to "gimple_statement_asm"
  (!srcfileloc  "gimple.h" 500)
  (!fields 6 
   (!pair  "string"
    (!type already_seen 36)
    (!srcfileloc  "gimple.h" 486)
    nil )
   (!pair  "ni"
    (!type already_seen 28)
    (!srcfileloc  "gimple.h" 490)
    nil )
   (!pair  "no"
    (!type already_seen 28)
    (!srcfileloc  "gimple.h" 491)
    nil )
   (!pair  "nc"
    (!type already_seen 28)
    (!srcfileloc  "gimple.h" 492)
    nil )
   (!pair  "nl"
    (!type already_seen 28)
    (!srcfileloc  "gimple.h" 493)
    nil )
   (!pair  "op"
    (!type array 1124 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 499)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_ASM")
  )
  511 nil 
  (!type already_seen 1102)
 )
 
 (!type struct 1125 nil  gc_pointed_to "gimple_statement_wce"
  (!srcfileloc  "gimple.h" 474)
  (!fields 1 
   (!pair  "cleanup"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 473)
    nil )
  )
  (!options 
   (!option tag string  "GSS_WCE")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1126 nil  gc_pointed_to "gimple_statement_try"
  (!srcfileloc  "gimple.h" 443)
  (!fields 2 
   (!pair  "eval"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 438)
    nil )
   (!pair  "cleanup"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 442)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRY")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1127 nil  gc_pointed_to "gimple_statement_eh_dispatch"
  (!srcfileloc  "gimple.h" 426)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  511 nil 
  (!type struct 1128 nil  gc_pointed_to "gimple_statement_eh_ctrl"
   (!srcfileloc  "gimple.h" 412)
   (!fields 1 
    (!pair  "region"
     (!type already_seen 9)
     (!srcfileloc  "gimple.h" 411)
     nil )
   )
   (!options 
    (!option tag string  "GSS_EH_CTRL")
   )
   511 nil 
   (!type already_seen 311)
  )
 )
 
 (!type struct 1129 nil  gc_pointed_to "gimple_statement_resx"
  (!srcfileloc  "gimple.h" 419)
  (!fields 0 )
  (!options 
   (!option tag string  "GSS_EH_CTRL")
  )
  511 nil 
  (!type already_seen 1128)
 )
 
 (!type already_seen 1128)
 
 (!type struct 1130 nil  gc_pointed_to "gimple_statement_phi"
  (!srcfileloc  "gimple.h" 399)
  (!fields 4 
   (!pair  "capacity"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 391)
    nil )
   (!pair  "nargs"
    (!type already_seen 9)
    (!srcfileloc  "gimple.h" 392)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 395)
    nil )
   (!pair  "args"
    (!type array 1131 nil  gc_used "1" 
     (!type struct 1132 nil  gc_used "phi_arg_d"
      (!srcfileloc  "tree-core.h" 1199)
      (!fields 3 
       (!pair  "imm_use"
        (!type already_seen 514)
        (!srcfileloc  "tree-core.h" 1196)
        nil )
       (!pair  "def"
        (!type already_seen 5)
        (!srcfileloc  "tree-core.h" 1197)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "tree-core.h" 1198)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "gimple.h" 398)
    (!options 
     (!option length string  "%h.nargs")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_PHI")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1133 nil  gc_pointed_to "gimple_statement_eh_mnt"
  (!srcfileloc  "gimple.h" 381)
  (!fields 1 
   (!pair  "fndecl"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 380)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_MNT")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1134 nil  gc_pointed_to "gimple_statement_eh_else"
  (!srcfileloc  "gimple.h" 370)
  (!fields 2 
   (!pair  "n_body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 369)
    nil )
   (!pair  "e_body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 369)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_ELSE")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1135 nil  gc_pointed_to "gimple_statement_eh_filter"
  (!srcfileloc  "gimple.h" 359)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 354)
    nil )
   (!pair  "failure"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 358)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_FILTER")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1136 nil  gc_pointed_to "gimple_statement_catch"
  (!srcfileloc  "gimple.h" 342)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 338)
    nil )
   (!pair  "handler"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 341)
    nil )
  )
  (!options 
   (!option tag string  "GSS_CATCH")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1137 nil  gc_pointed_to "gimple_statement_bind"
  (!srcfileloc  "gimple.h" 327)
  (!fields 3 
   (!pair  "vars"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 315)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 323)
    nil )
   (!pair  "body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 326)
    nil )
  )
  (!options 
   (!option tag string  "GSS_BIND")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type already_seen 1110)
 
 (!type struct 1138 nil  gc_pointed_to "gimple_statement_call"
  (!srcfileloc  "gimple.h" 291)
  (!fields 4 
   (!pair  "call_used"
    (!type already_seen 384)
    (!srcfileloc  "gimple.h" 277)
    nil )
   (!pair  "call_clobbered"
    (!type already_seen 384)
    (!srcfileloc  "gimple.h" 278)
    nil )
   (!pair  "u"
    (!type union 1139 nil  gc_used "anonymous:../../gcc/gimple.h:281"
     (!srcfileloc  "gimple.h" 284)
     (!fields 2 
      (!pair  "fntype"
       (!type already_seen 5)
       (!srcfileloc  "gimple.h" 282)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "internal_fn"
       (!type already_seen 9)
       (!srcfileloc  "gimple.h" 283)
       (!options 
        (!option tag string  "GF_CALL_INTERNAL")
       )
      )
     )
     (!options 
      (!option desc string  "%1.subcode & GF_CALL_INTERNAL")
     )
     511 nil )
    (!srcfileloc  "gimple.h" 284)
    nil )
   (!pair  "op"
    (!type array 1140 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 290)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_CALL")
  )
  511 nil 
  (!type already_seen 1102)
 )
 
 (!type already_seen 1139)
 
 (!type already_seen 384)
 
 (!type struct 1141 nil  gc_pointed_to "gimple_statement_with_memory_ops"
  (!srcfileloc  "gimple.h" 266)
  (!fields 1 
   (!pair  "op"
    (!type array 1142 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 265)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_WITH_MEM_OPS")
  )
  511 nil 
  (!type already_seen 1102)
 )
 
 (!type already_seen 1102)
 
 (!type struct 1143 nil  gc_pointed_to "gimple_statement_with_ops"
  (!srcfileloc  "gimple.h" 235)
  (!fields 1 
   (!pair  "op"
    (!type array 1144 nil  gc_used "1" 
     (!type already_seen 5)
    )
    (!srcfileloc  "gimple.h" 234)
    (!options 
     (!option length string  "%h.num_ops")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_WITH_OPS")
  )
  511 nil 
  (!type already_seen 1103)
 )
 
 (!type already_seen 1103)
 
 (!type already_seen 392)
 
 (!type user_struct 1145 nil  gc_unused "vec<gimple>"
  (!srcfileloc  "gimple.h" 29)
  (!fields 1 
   (!pair  "gimple"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 29)
    nil )
  )
 )
 
 (!type struct 1146 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1147 nil  gc_unused "anonymous:../../gcc/varasm.c:4818"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1148 nil  gc_unused "anonymous:../../gcc/varasm.c:4574"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1149 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1152 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1153 
  (!type pointer 1154 nil  gc_used
   (!type already_seen 1153)
  )
  gc_pointed_to "type_hash"
  (!srcfileloc  "tree.c" 178)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree.c" 176)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "tree.c" 177)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1155 
  (!type pointer 1156 nil  gc_used
   (!type already_seen 1155)
  )
  gc_pointed_to "string_pool_data"
  (!srcfileloc  "stringpool.c" 252)
  (!fields 3 
   (!pair  "entries"
    (!type already_seen 35)
    (!srcfileloc  "stringpool.c" 249)
    (!options 
     (!option nested_ptr nested 
      (!type already_seen 7)
      "%h ? HT_IDENT_TO_GCC_IDENT (%h) : NULL" "%h ? GCC_IDENT_TO_HT_IDENT (%h) : NULL")
     (!option length string  "%h.nslots")
    )
   )
   (!pair  "nslots"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 250)
    nil )
   (!pair  "nelements"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 251)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1157 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1158 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1159 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1160 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1161 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1162 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1163 
  (!type pointer 1164 nil  gc_unused
   (!type already_seen 1163)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1165 
  (!type pointer 1166 nil  gc_unused
   (!type already_seen 1165)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1167 nil  gc_unused "anonymous:../../gcc/mcf.c:344"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1168 nil  gc_unused "augmenting_path_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1169 nil  gc_unused "queue_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 nil  gc_unused "fixup_graph_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1171 
  (!type pointer 1172 nil  gc_unused
   (!type already_seen 1171)
  )
  gc_unused "fixup_vertex_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1173 
  (!type pointer 1174 nil  gc_unused
   (!type already_seen 1173)
  )
  gc_unused "fixup_edge_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 nil  gc_unused "edge_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 nil  gc_unused "bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 nil  gc_unused "atomic_op_functions"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1178 nil  gc_unused "no_conflict_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1179 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1180 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1181 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1183 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1184 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1185 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1186 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 635)
  (!fields 1 
   (!pair  "modify_pair"
    (!type struct 1187 nil  gc_unused "modify_pair_s"nil 
     (!fields 0 )
     nil 0 nil nil )
    (!srcfileloc  "gcse.c" 635)
    nil )
  )
 )
 
 (!type user_struct 1188 nil  gc_unused "vec<rtx>"
  (!srcfileloc  "gcse.c" 634)
  (!fields 1 
   (!pair  "rtx"
    (!type already_seen 136)
    (!srcfileloc  "gcse.c" 634)
    nil )
  )
 )
 
 (!type struct 1189 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1187)
 
 (!type struct 1190 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1191 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 nil  gc_unused "hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1193 
  (!type pointer 1194 nil  gc_unused
   (!type already_seen 1193)
  )
  gc_unused "occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1195 nil  gc_unused "expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 554)
 
 (!type struct 1196 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1197 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1198 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 786)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type struct 1199 nil  gc_unused "ehspec_hasher"
     (!srcfileloc  "except.c" 786)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 786)
    nil )
  )
 )
 
 (!type already_seen 1199)
 
 (!type user_struct 1200 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 749)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type struct 1201 nil  gc_unused "ttypes_filter_hasher"
     (!srcfileloc  "except.c" 749)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 749)
    nil )
  )
 )
 
 (!type already_seen 1201)
 
 (!type struct 1202 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1203 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1204 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 211)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type struct 1205 nil  gc_unused "action_record_hasher"
     (!srcfileloc  "except.c" 211)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 211)
    nil )
  )
 )
 
 (!type already_seen 1205)
 
 (!type struct 1206 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1209 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1210 nil  gc_unused "hard_reg_set_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1211 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1212 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1213 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1214 
  (!type pointer 1215 nil  gc_unused
   (!type already_seen 1214)
  )
  gc_used "initial_value_pair"
  (!srcfileloc  "function.c" 1211)
  (!fields 2 
   (!pair  "hard_reg"
    (!type already_seen 136)
    (!srcfileloc  "function.c" 1209)
    nil )
   (!pair  "pseudo"
    (!type already_seen 136)
    (!srcfileloc  "function.c" 1210)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1216 
  (!type pointer 1217 nil  gc_used
   (!type already_seen 1216)
  )
  gc_pointed_to "temp_slot_address_entry"
  (!srcfileloc  "function.c" 550)
  (!fields 3 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "function.c" 547)
    nil )
   (!pair  "address"
    (!type already_seen 136)
    (!srcfileloc  "function.c" 548)
    nil )
   (!pair  "temp_slot"
    (!type pointer 1218 nil  gc_used
     (!type struct 1219 
      (!type already_seen 1218)
      gc_pointed_to "temp_slot"
      (!srcfileloc  "function.c" 538)
      (!fields 10 
       (!pair  "next"
        (!type already_seen 1218)
        (!srcfileloc  "function.c" 514)
        nil )
       (!pair  "prev"
        (!type already_seen 1218)
        (!srcfileloc  "function.c" 516)
        nil )
       (!pair  "slot"
        (!type already_seen 136)
        (!srcfileloc  "function.c" 518)
        nil )
       (!pair  "size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 520)
        nil )
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "function.c" 525)
        nil )
       (!pair  "align"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 527)
        nil )
       (!pair  "in_use"
        (!type already_seen 28)
        (!srcfileloc  "function.c" 529)
        nil )
       (!pair  "level"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 531)
        nil )
       (!pair  "base_offset"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 534)
        nil )
       (!pair  "full_size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 537)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.c" 549)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1220 nil  gc_unused "saved_pending_stack_adjust"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1221 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1222 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1223 
  (!type pointer 1224 nil  gc_unused
   (!type already_seen 1223)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1225 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1226 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 371)
 
 (!type already_seen 370)
 
 (!type already_seen 366)
 
 (!type already_seen 364)
 
 (!type already_seen 355)
 
 (!type already_seen 360)
 
 (!type already_seen 359)
 
 (!type already_seen 356)
 
 (!type already_seen 358)
 
 (!type already_seen 362)
 
 (!type already_seen 386)
 
 (!type already_seen 354)
 
 (!type struct 1227 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1228 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1229 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 23887)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type struct 1230 nil  gc_unused "loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 23887)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 23887)
    nil )
  )
 )
 
 (!type already_seen 1230)
 
 (!type struct 1231 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1232 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 21703)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type struct 1233 nil  gc_unused "macinfo_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 21703)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 21703)
    nil )
  )
 )
 
 (!type already_seen 1233)
 
 (!type struct 1234 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1235 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1236 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1237 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 7518)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type struct 1238 nil  gc_unused "external_ref_hasher"
     (!srcfileloc  "dwarf2out.c" 7518)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 7518)
    nil )
  )
 )
 
 (!type already_seen 1238)
 
 (!type struct 1239 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1240 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 6983)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type struct 1241 nil  gc_unused "decl_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 6983)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 6983)
    nil )
  )
 )
 
 (!type already_seen 1241)
 
 (!type struct 1242 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1243 nil  gc_unused "hash_table<cu_hash_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 6658)
  (!fields 1 
   (!pair  "cu_hash_table_entry_hasher"
    (!type struct 1244 nil  gc_unused "cu_hash_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 6658)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 6658)
    nil )
  )
 )
 
 (!type already_seen 1244)
 
 (!type struct 1245 nil  gc_unused "cu_hash_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1246 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1247 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1248 
  (!type pointer 1249 nil  gc_used
   (!type already_seen 1248)
  )
  gc_pointed_to "vec<die_arg_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2920)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2920)
    nil )
   (!pair  "die_arg_entry"
    (!type struct 1250 nil  gc_used "die_arg_entry_struct"
     (!srcfileloc  "dwarf2out.c" 2743)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 430)
       (!srcfileloc  "dwarf2out.c" 2741)
       nil )
      (!pair  "arg"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 2742)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2920)
    nil )
  )
 )
 
 (!type user_struct 1251 
  (!type pointer 1252 nil  gc_used
   (!type already_seen 1251)
  )
  gc_pointed_to "vec<macinfo_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2868)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2868)
    nil )
   (!pair  "macinfo_entry"
    (!type struct 1253 nil  gc_used "macinfo_struct"
     (!srcfileloc  "dwarf2out.c" 2597)
     (!fields 3 
      (!pair  "code"
       (!type already_seen 28)
       (!srcfileloc  "dwarf2out.c" 2594)
       nil )
      (!pair  "lineno"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.c" 2595)
       nil )
      (!pair  "info"
       (!type already_seen 36)
       (!srcfileloc  "dwarf2out.c" 2596)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2868)
    nil )
  )
 )
 
 (!type user_struct 1254 
  (!type pointer 1255 nil  gc_used
   (!type already_seen 1254)
  )
  gc_pointed_to "vec<pubname_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2860)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2860)
    nil )
   (!pair  "pubname_entry"
    (!type struct 1256 
     (!type pointer 1257 nil  gc_unused
      (!type already_seen 1256)
     )
     gc_used "pubname_struct"
     (!srcfileloc  "dwarf2out.c" 2581)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 430)
       (!srcfileloc  "dwarf2out.c" 2579)
       nil )
      (!pair  "name"
       (!type already_seen 36)
       (!srcfileloc  "dwarf2out.c" 2580)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2860)
    nil )
  )
 )
 
 (!type user_struct 1258 
  (!type pointer 1259 nil  gc_used
   (!type already_seen 1258)
  )
  gc_pointed_to "vec<dw_line_info_table_p,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2852)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2852)
    nil )
   (!pair  "dw_line_info_table_p"
    (!type pointer 1260 nil  gc_used
     (!type struct 1261 
      (!type already_seen 1260)
      gc_pointed_to "dw_line_info_table_struct"
      (!srcfileloc  "dwarf2out.c" 2523)
      (!fields 8 
       (!pair  "end_label"
        (!type already_seen 36)
        (!srcfileloc  "dwarf2out.c" 2511)
        nil )
       (!pair  "file_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2515)
        nil )
       (!pair  "line_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2516)
        nil )
       (!pair  "column_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2517)
        nil )
       (!pair  "discrim_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2518)
        nil )
       (!pair  "is_stmt"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2519)
        nil )
       (!pair  "in_use"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2520)
        nil )
       (!pair  "entries"
        (!type pointer 1262 nil  gc_used
         (!type user_struct 1263 
          (!type already_seen 1262)
          gc_pointed_to "vec<dw_line_info_entry,va_gc>"
          (!srcfileloc  "dwarf2out.c" 2522)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "dwarf2out.c" 2522)
            nil )
           (!pair  "dw_line_info_entry"
            (!type struct 1264 
             (!type pointer 1265 nil  gc_unused
              (!type already_seen 1264)
             )
             gc_used "dw_line_info_struct"
             (!srcfileloc  "dwarf2out.c" 2506)
             (!fields 2 
              (!pair  "opcode"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2504)
               nil )
              (!pair  "val"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2505)
               nil )
             )
             nil 511 nil nil )
            (!srcfileloc  "dwarf2out.c" 2522)
            nil )
          )
         )
        )
        (!srcfileloc  "dwarf2out.c" 2522)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2852)
    nil )
  )
 )
 
 (!type struct 1266 
  (!type pointer 1267 nil  gc_used
   (!type already_seen 1266)
  )
  gc_pointed_to "cached_dw_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2817)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2813)
    nil )
   (!pair  "loc_list"
    (!type already_seen 426)
    (!srcfileloc  "dwarf2out.c" 2816)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1268 
  (!type pointer 1269 nil  gc_used
   (!type already_seen 1268)
  )
  gc_pointed_to "call_arg_loc_node"
  (!srcfileloc  "dwarf2out.c" 2791)
  (!fields 6 
   (!pair  "call_arg_loc_note"
    (!type already_seen 136)
    (!srcfileloc  "dwarf2out.c" 2785)
    nil )
   (!pair  "label"
    (!type already_seen 36)
    (!srcfileloc  "dwarf2out.c" 2786)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2787)
    nil )
   (!pair  "tail_call_p"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2788)
    nil )
   (!pair  "symbol_ref"
    (!type already_seen 136)
    (!srcfileloc  "dwarf2out.c" 2789)
    nil )
   (!pair  "next"
    (!type already_seen 1269)
    (!srcfileloc  "dwarf2out.c" 2790)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1270 
  (!type pointer 1271 nil  gc_used
   (!type already_seen 1270)
  )
  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2780)
  (!fields 4 
   (!pair  "first"
    (!type pointer 1272 nil  gc_used
     (!type struct 1273 
      (!type already_seen 1272)
      gc_pointed_to "var_loc_node"
      (!srcfileloc  "dwarf2out.c" 2759)
      (!fields 3 
       (!pair  "loc"
        (!type already_seen 136)
        (!srcfileloc  "dwarf2out.c" 2756)
        nil )
       (!pair  "label"
        (!type already_seen 36)
        (!srcfileloc  "dwarf2out.c" 2757)
        nil )
       (!pair  "next"
        (!type already_seen 1272)
        (!srcfileloc  "dwarf2out.c" 2758)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      511 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2763)
    nil )
   (!pair  "last"
    (!type already_seen 1272)
    (!srcfileloc  "dwarf2out.c" 2771)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1272)
    (!srcfileloc  "dwarf2out.c" 2776)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2779)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1273)
 
 (!type already_seen 1250)
 
 (!type struct 1274 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1275 
  (!type pointer 1276 nil  gc_used
   (!type already_seen 1275)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 2622)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 430)
    (!srcfileloc  "dwarf2out.c" 2619)
    nil )
   (!pair  "created_for"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2620)
    nil )
   (!pair  "next"
    (!type already_seen 1276)
    (!srcfileloc  "dwarf2out.c" 2621)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1253)
 
 (!type already_seen 438)
 
 (!type already_seen 433)
 
 (!type already_seen 1261)
 
 (!type already_seen 1263)
 
 (!type already_seen 435)
 
 (!type struct 1277 
  (!type pointer 1278 nil  gc_used
   (!type already_seen 1277)
  )
  gc_pointed_to "dw_ranges_by_label_struct"
  (!srcfileloc  "dwarf2out.c" 2604)
  (!fields 2 
   (!pair  "begin"
    (!type already_seen 36)
    (!srcfileloc  "dwarf2out.c" 2602)
    nil )
   (!pair  "end"
    (!type already_seen 36)
    (!srcfileloc  "dwarf2out.c" 2603)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1279 
  (!type pointer 1280 nil  gc_used
   (!type already_seen 1279)
  )
  gc_pointed_to "dw_ranges_struct"
  (!srcfileloc  "dwarf2out.c" 2589)
  (!fields 1 
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2588)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1256)
 
 (!type already_seen 1264)
 
 (!type already_seen 439)
 
 (!type already_seen 424)
 
 (!type user_struct 1281 
  (!type pointer 1282 nil  gc_used
   (!type already_seen 1281)
  )
  gc_pointed_to "vec<deferred_locations,va_gc>"
  (!srcfileloc  "dwarf2out.c" 1237)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 1237)
    nil )
   (!pair  "deferred_locations"
    (!type struct 1283 nil  gc_used "deferred_locations_struct"
     (!srcfileloc  "dwarf2out.c" 1234)
     (!fields 2 
      (!pair  "variable"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 1232)
       nil )
      (!pair  "die"
       (!type already_seen 430)
       (!srcfileloc  "dwarf2out.c" 1233)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 1237)
    nil )
  )
 )
 
 (!type already_seen 1283)
 
 (!type user_struct 1284 
  (!type pointer 1285 nil  gc_used
   (!type already_seen 1284)
  )
  gc_pointed_to "vec<dw_fde_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 203)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 203)
    nil )
   (!pair  "dw_fde_ref"
    (!type already_seen 411)
    (!srcfileloc  "dwarf2out.c" 203)
    nil )
  )
 )
 
 (!type struct 1286 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1287 nil  gc_unused "anonymous:../../gcc/dwarf2cfi.c:218"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1288 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1289 
  (!type pointer 1290 nil  gc_unused
   (!type already_seen 1289)
  )
  gc_unused "anonymous:../../gcc/dwarf2cfi.c:101"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1291 
  (!type pointer 1292 nil  gc_used
   (!type already_seen 1291)
  )
  gc_pointed_to "reg_saved_in_data_struct"
  (!srcfileloc  "dwarf2cfi.c" 80)
  (!fields 2 
   (!pair  "orig_reg"
    (!type already_seen 136)
    (!srcfileloc  "dwarf2cfi.c" 78)
    nil )
   (!pair  "saved_in_reg"
    (!type already_seen 136)
    (!srcfileloc  "dwarf2cfi.c" 79)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1293 
  (!type pointer 1294 nil  gc_used
   (!type already_seen 1293)
  )
  gc_pointed_to "dw_cfi_row_struct"
  (!srcfileloc  "dwarf2cfi.c" 74)
  (!fields 3 
   (!pair  "cfa"
    (!type struct 1295 nil  gc_used "dw_cfa_location"
     (!srcfileloc  "dwarf2cfi.c" 69)
     (!fields 5 
      (!pair  "offset"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 115)
       nil )
      (!pair  "base_offset"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 116)
       nil )
      (!pair  "reg"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 118)
       nil )
      (!pair  "indirect"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 119)
       nil )
      (!pair  "in_use"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.h" 120)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2cfi.c" 69)
    nil )
   (!pair  "cfa_cfi"
    (!type already_seen 415)
    (!srcfileloc  "dwarf2cfi.c" 70)
    nil )
   (!pair  "reg_save"
    (!type already_seen 413)
    (!srcfileloc  "dwarf2cfi.c" 73)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1296 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 425)
 
 (!type already_seen 446)
 
 (!type already_seen 444)
 
 (!type already_seen 442)
 
 (!type already_seen 429)
 
 (!type already_seen 423)
 
 (!type already_seen 428)
 
 (!type already_seen 1295)
 
 (!type already_seen 414)
 
 (!type already_seen 417)
 
 (!type already_seen 427)
 
 (!type already_seen 419)
 
 (!type already_seen 416)
 
 (!type already_seen 420)
 
 (!type struct 1297 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1298 
  (!type pointer 1299 nil  gc_used
   (!type already_seen 1298)
  )
  gc_pointed_to "typeinfo"
  (!srcfileloc  "dbxout.c" 174)
  (!fields 3 
   (!pair  "status"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 171)
    nil )
   (!pair  "file_number"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 172)
    nil )
   (!pair  "type_number"
    (!type already_seen 9)
    (!srcfileloc  "dbxout.c" 173)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 851)
 
 (!type struct 1300 nil  gc_unused "ipa_polymorphic_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1301 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1302 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 879)
 
 (!type already_seen 982)
 
 (!type struct 1303 nil  gc_unused "topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1304 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1305 nil  gc_unused "ipcp_param_lattices"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1306 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1307 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1308 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1309 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1310 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1311 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1312 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1313 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 975)
 
 (!type already_seen 997)
 
 (!type struct 1314 nil  gc_unused "inline_edge_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 978)
 
 (!type struct 1315 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1316 nil  gc_unused "type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 986)
 
 (!type already_seen 981)
 
 (!type struct 1317 nil  gc_unused "ipa_node_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 991)
 
 (!type struct 1318 nil  gc_unused "param_analysis_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1319 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1320 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1321 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1322 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1323 nil  gc_unused "output_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1324 nil  gc_unused "bitmap_desc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1325 nil  gc_unused "loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1326 
  (!type pointer 1327 nil  gc_unused
   (!type already_seen 1326)
  )
  gc_unused "bitmap_descriptor_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1328 
  (!type pointer 1329 nil  gc_used
   (!type already_seen 1328)
  )
  gc_pointed_to "vec<alias_set_entry,va_gc>"
  (!srcfileloc  "alias.c" 267)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "alias.c" 267)
    nil )
   (!pair  "alias_set_entry"
    (!type pointer 1330 nil  gc_used
     (!type struct 1331 
      (!type already_seen 1330)
      gc_pointed_to "alias_set_entry_d"
      (!srcfileloc  "alias.c" 148)
      (!fields 3 
       (!pair  "alias_set"
        (!type already_seen 9)
        (!srcfileloc  "alias.c" 134)
        nil )
       (!pair  "has_zero_child"
        (!type already_seen 9)
        (!srcfileloc  "alias.c" 138)
        nil )
       (!pair  "children"
        (!type pointer 1332 nil  gc_used
         (!type param_struct 1333 
          (!type already_seen 1332)
          gc_pointed_to
          (!type struct 1334 
           (!type pointer 1335 nil  gc_unused
            (!type already_seen 1334)
           )
           gc_used "splay_tree_s"
           (!srcfileloc  "../include/splay-tree.h" 123)
           (!fields 7 
            (!pair  "root"
             (!type pointer 1336 nil  gc_unused
              (!type struct 1337 
               (!type already_seen 1336)
               gc_used "splay_tree_node_s"
               (!srcfileloc  "../include/splay-tree.h" 99)
               (!fields 4 
                (!pair  "key"
                 (!type already_seen 9)
                 (!srcfileloc  "../include/splay-tree.h" 91)
                 (!options 
                  (!option use_param1 string  "")
                 )
                )
                (!pair  "value"
                 (!type already_seen 9)
                 (!srcfileloc  "../include/splay-tree.h" 94)
                 (!options 
                  (!option use_param2 string  "")
                 )
                )
                (!pair  "left"
                 (!type already_seen 1336)
                 (!srcfileloc  "../include/splay-tree.h" 97)
                 (!options 
                  (!option use_params string  "")
                 )
                )
                (!pair  "right"
                 (!type already_seen 1336)
                 (!srcfileloc  "../include/splay-tree.h" 98)
                 (!options 
                  (!option use_params string  "")
                 )
                )
               )
               nil 511 nil nil )
             )
             (!srcfileloc  "../include/splay-tree.h" 104)
             (!options 
              (!option use_params string  "")
             )
            )
            (!pair  "comp"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 107)
             nil )
            (!pair  "delete_key"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 110)
             nil )
            (!pair  "delete_value"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 113)
             nil )
            (!pair  "allocate"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 116)
             nil )
            (!pair  "deallocate"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 119)
             nil )
            (!pair  "allocate_data"
             (!type already_seen 10)
             (!srcfileloc  "../include/splay-tree.h" 122)
             (!options 
              (!option skip string  "")
             )
            )
           )
           nil 511 nil nil )
          nil 
          (!type already_seen 9)
          
          (!type already_seen 9)
          nil nil nil nil nil nil nil nil )
        )
        (!srcfileloc  "alias.c" 147)
        (!options 
         (!option param2_is type 
          (!type already_seen 9)
         )
         (!option param1_is type 
          (!type already_seen 9)
         )
        )
       )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "alias.c" 267)
    nil )
  )
 )
 
 (!type already_seen 1331)
 
 (!type struct 1338 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1339 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1340 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1341 nil  gc_unused "target_reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1342 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1343 
  (!type pointer 1344 nil  gc_used
   (!type already_seen 1343)
  )
  gc_pointed_to "constant_descriptor_tree"
  (!srcfileloc  "cgraph.h" 1338)
  (!fields 3 
   (!pair  "rtl"
    (!type already_seen 136)
    (!srcfileloc  "cgraph.h" 1329)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 1332)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1337)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1345 nil  gc_unused "cgraph_2node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1346 nil  gc_unused "cgraph_2edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1347 nil  gc_unused "varpool_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1348 nil  gc_unused "cgraph_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1349 nil  gc_unused "cgraph_edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1350 
  (!type pointer 1351 nil  gc_used
   (!type already_seen 1350)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 657)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1351)
    (!srcfileloc  "cgraph.h" 652)
    nil )
   (!pair  "asm_str"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 654)
    nil )
   (!pair  "order"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 656)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 922)
 
 (!type struct 1352 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1353 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 
  (!type pointer 1355 nil  gc_unused
   (!type already_seen 1354)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1356 
  (!type pointer 1357 nil  gc_unused
   (!type already_seen 1356)
  )
  gc_unused "cgraph_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1358 
  (!type pointer 1359 nil  gc_used
   (!type already_seen 1358)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 464)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 916)
    (!srcfileloc  "cgraph.h" 445)
    nil )
   (!pair  "prev"
    (!type already_seen 1359)
    (!srcfileloc  "cgraph.h" 449)
    nil )
   (!pair  "next"
    (!type already_seen 1359)
    (!srcfileloc  "cgraph.h" 453)
    nil )
   (!pair  "dispatcher_resolver"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 463)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 929)
 
 (!type already_seen 920)
 
 (!type already_seen 926)
 
 (!type already_seen 928)
 
 (!type already_seen 935)
 
 (!type already_seen 937)
 
 (!type already_seen 939)
 
 (!type already_seen 934)
 
 (!type already_seen 933)
 
 (!type already_seen 932)
 
 (!type already_seen 940)
 
 (!type already_seen 951)
 
 (!type already_seen 943)
 
 (!type already_seen 948)
 
 (!type already_seen 945)
 
 (!type already_seen 946)
 
 (!type already_seen 941)
 
 (!type struct 1360 
  (!type pointer 1361 nil  gc_unused
   (!type already_seen 1360)
  )
  gc_pointed_to "varpool_node"
  (!srcfileloc  "cgraph.h" 646)
  (!fields 2 
   (!pair  "output"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 641)
    nil )
   (!pair  "dynamically_initialized"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 645)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_VARIABLE")
  )
  511 nil 
  (!type already_seen 941)
 )
 
 (!type already_seen 918)
 
 (!type struct 1362 nil  gc_unused "gcov_working_set_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1363 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1364 nil  gc_unused "control_dependences"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1365 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1366 nil  gc_unused "ce_if_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 377)
 
 (!type already_seen 319)
 
 (!type already_seen 321)
 
 (!type already_seen 318)
 
 (!type already_seen 300)
 
 (!type already_seen 320)
 
 (!type already_seen 323)
 
 (!type struct 1367 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1368 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1369 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1370 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 550)
 
 (!type struct 1371 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1372 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1373 nil  gc_unused "eni_weights_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 315)
 
 (!type already_seen 307)
 
 (!type already_seen 304)
 
 (!type already_seen 313)
 
 (!type already_seen 309)
 
 (!type already_seen 305)
 
 (!type already_seen 250)
 
 (!type already_seen 249)
 
 (!type already_seen 248)
 
 (!type already_seen 247)
 
 (!type struct 1374 
  (!type pointer 1375 nil  gc_used
   (!type already_seen 1374)
  )
  gc_pointed_to "types_used_by_vars_entry"
  (!srcfileloc  "function.h" 708)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 706)
    nil )
   (!pair  "var_decl"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 707)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 75)
 
 (!type already_seen 398)
 
 (!type already_seen 375)
 
 (!type already_seen 352)
 
 (!type already_seen 402)
 
 (!type struct 1376 nil  gc_used "rtl_data"
  (!srcfileloc  "function.h" 463)
  (!fields 57 
   (!pair  "expr"
    (!type struct 1377 nil  gc_used "expr_status"
     (!srcfileloc  "function.h" 139)
     (!fields 6 
      (!pair  "x_pending_stack_adjust"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 104)
       nil )
      (!pair  "x_inhibit_defer_pop"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 121)
       nil )
      (!pair  "x_stack_pointer_delta"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 127)
       nil )
      (!pair  "x_saveregs_value"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 132)
       nil )
      (!pair  "x_apply_args_value"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 135)
       nil )
      (!pair  "x_forced_labels"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 138)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 237)
    nil )
   (!pair  "emit"
    (!type struct 1378 nil  gc_used "emit_status"
     (!srcfileloc  "function.h" 82)
     (!fields 9 
      (!pair  "x_reg_rtx_no"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 45)
       nil )
      (!pair  "x_first_label_num"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 48)
       nil )
      (!pair  "x_first_insn"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 55)
       nil )
      (!pair  "x_last_insn"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 56)
       nil )
      (!pair  "sequence_stack"
       (!type pointer 1379 nil  gc_used
        (!type struct 1380 
         (!type already_seen 1379)
         gc_pointed_to "sequence_stack"
         (!srcfileloc  "function.h" 40)
         (!fields 3 
          (!pair  "first"
           (!type already_seen 136)
           (!srcfileloc  "function.h" 37)
           nil )
          (!pair  "last"
           (!type already_seen 136)
           (!srcfileloc  "function.h" 38)
           nil )
          (!pair  "next"
           (!type already_seen 1379)
           (!srcfileloc  "function.h" 39)
           nil )
         )
         nil 511 nil nil )
       )
       (!srcfileloc  "function.h" 62)
       nil )
      (!pair  "x_cur_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 66)
       nil )
      (!pair  "x_cur_debug_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 70)
       nil )
      (!pair  "regno_pointer_align_length"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 76)
       nil )
      (!pair  "regno_pointer_align"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 81)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 238)
    nil )
   (!pair  "varasm"
    (!type struct 1381 nil  gc_used "varasm_status"
     (!srcfileloc  "function.h" 181)
     (!fields 2 
      (!pair  "pool"
       (!type pointer 1382 nil  gc_used
        (!type struct 1383 
         (!type already_seen 1382)
         gc_pointed_to "rtx_constant_pool"
         (!srcfileloc  "varasm.c" 3475)
         (!fields 4 
          (!pair  "first"
           (!type already_seen 254)
           (!srcfileloc  "varasm.c" 3463)
           nil )
          (!pair  "last"
           (!type already_seen 254)
           (!srcfileloc  "varasm.c" 3464)
           nil )
          (!pair  "const_rtx_htab"
           (!type pointer 1384 nil  gc_used
            (!type param_struct 1385 
             (!type already_seen 1384)
             gc_pointed_to
             (!type already_seen 49)
             
             (!type already_seen 254)
             nil nil nil nil nil nil nil nil nil nil )
           )
           (!srcfileloc  "varasm.c" 3470)
           (!options 
            (!option param_is type 
             (!type already_seen 255)
            )
           )
          )
          (!pair  "offset"
           (!type already_seen 9)
           (!srcfileloc  "varasm.c" 3474)
           nil )
         )
         nil 511 nil nil )
       )
       (!srcfileloc  "function.h" 176)
       nil )
      (!pair  "deferred_constants"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 180)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 239)
    nil )
   (!pair  "args"
    (!type struct 1386 nil  gc_used "incoming_args"
     (!srcfileloc  "function.h" 210)
     (!fields 6 
      (!pair  "pops_args"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 188)
       nil )
      (!pair  "size"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 193)
       nil )
      (!pair  "pretend_args_size"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 198)
       nil )
      (!pair  "arg_offset_rtx"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 202)
       nil )
      (!pair  "info"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 206)
       nil )
      (!pair  "internal_arg_pointer"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 209)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 240)
    nil )
   (!pair  "subsections"
    (!type struct 1387 nil  gc_used "function_subsections"
     (!srcfileloc  "function.h" 222)
     (!fields 4 
      (!pair  "hot_section_label"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 218)
       nil )
      (!pair  "cold_section_label"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 219)
       nil )
      (!pair  "hot_section_end_label"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 220)
       nil )
      (!pair  "cold_section_end_label"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 221)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 241)
    nil )
   (!pair  "eh"
    (!type struct 1388 nil  gc_used "rtl_eh"
     (!srcfileloc  "function.h" 155)
     (!fields 7 
      (!pair  "ehr_stackadj"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 145)
       nil )
      (!pair  "ehr_handler"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 146)
       nil )
      (!pair  "ehr_label"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 147)
       nil )
      (!pair  "sjlj_fc"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 149)
       nil )
      (!pair  "sjlj_exit_after"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 150)
       nil )
      (!pair  "action_record_data"
       (!type already_seen 372)
       (!srcfileloc  "function.h" 152)
       nil )
      (!pair  "call_site_record_v"
       (!type array 1389 nil  gc_used "2" 
        (!type pointer 1390 nil  gc_used
         (!type user_struct 1391 
          (!type already_seen 1390)
          gc_pointed_to "vec<call_site_record,va_gc>"
          (!srcfileloc  "function.h" 154)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "function.h" 154)
            nil )
           (!pair  "call_site_record"
            (!type pointer 1392 nil  gc_used
             (!type struct 1393 
              (!type already_seen 1392)
              gc_pointed_to "call_site_record_d"
              (!srcfileloc  "except.c" 168)
              (!fields 2 
               (!pair  "landing_pad"
                (!type already_seen 136)
                (!srcfileloc  "except.c" 166)
                nil )
               (!pair  "action"
                (!type already_seen 9)
                (!srcfileloc  "except.c" 167)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "function.h" 154)
            nil )
          )
         )
        )
       )
       (!srcfileloc  "function.h" 154)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 242)
    nil )
   (!pair  "outgoing_args_size"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 248)
    nil )
   (!pair  "return_rtx"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 254)
    nil )
   (!pair  "hard_reg_initial_vals"
    (!type pointer 1394 nil  gc_used
     (!type struct 1395 
      (!type already_seen 1394)
      gc_pointed_to "initial_value_struct"
      (!srcfileloc  "function.c" 1219)
      (!fields 3 
       (!pair  "num_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1216)
        nil )
       (!pair  "max_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1217)
        nil )
       (!pair  "entries"
        (!type already_seen 1215)
        (!srcfileloc  "function.c" 1218)
        (!options 
         (!option length string  "%h.num_entries")
        )
       )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.h" 261)
    nil )
   (!pair  "stack_protect_guard"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 265)
    nil )
   (!pair  "x_nonlocal_goto_handler_labels"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 269)
    nil )
   (!pair  "x_return_label"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 274)
    nil )
   (!pair  "x_naked_return_label"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 279)
    nil )
   (!pair  "x_stack_slot_list"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 283)
    nil )
   (!pair  "frame_space_list"
    (!type pointer 1396 nil  gc_used
     (!type struct 1397 
      (!type already_seen 1396)
      gc_pointed_to "frame_space"
      (!srcfileloc  "function.h" 233)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1396)
        (!srcfileloc  "function.h" 229)
        nil )
       (!pair  "start"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 231)
        nil )
       (!pair  "length"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 232)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.h" 286)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 289)
    nil )
   (!pair  "x_arg_pointer_save_area"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 295)
    nil )
   (!pair  "drap_reg"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 298)
    nil )
   (!pair  "x_frame_offset"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 303)
    nil )
   (!pair  "x_parm_birth_insn"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 306)
    nil )
   (!pair  "x_used_temp_slots"
    (!type pointer 1398 nil  gc_used
     (!type user_struct 1399 
      (!type already_seen 1398)
      gc_pointed_to "vec<temp_slot_p,va_gc>"
      (!srcfileloc  "function.h" 309)
      (!fields 2 
       (!pair  "va_gc"
        (!type already_seen 3)
        (!srcfileloc  "function.h" 309)
        nil )
       (!pair  "temp_slot_p"
        (!type already_seen 1218)
        (!srcfileloc  "function.h" 309)
        nil )
      )
     )
    )
    (!srcfileloc  "function.h" 309)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1218)
    (!srcfileloc  "function.h" 312)
    nil )
   (!pair  "x_temp_slot_level"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 315)
    nil )
   (!pair  "stack_alignment_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 319)
    nil )
   (!pair  "preferred_stack_boundary"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 323)
    nil )
   (!pair  "parm_stack_boundary"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 326)
    nil )
   (!pair  "max_used_stack_slot_alignment"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 329)
    nil )
   (!pair  "stack_alignment_estimated"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 338)
    nil )
   (!pair  "accesses_prior_frames"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 344)
    nil )
   (!pair  "calls_eh_return"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 347)
    nil )
   (!pair  "saves_all_registers"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 351)
    nil )
   (!pair  "has_nonlocal_goto"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 355)
    nil )
   (!pair  "has_asm_statement"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 358)
    nil )
   (!pair  "all_throwers_are_sibcalls"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 365)
    nil )
   (!pair  "limit_stack"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 369)
    nil )
   (!pair  "profile"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 372)
    nil )
   (!pair  "uses_const_pool"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 375)
    nil )
   (!pair  "uses_pic_offset_table"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 378)
    nil )
   (!pair  "uses_eh_lsda"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 381)
    nil )
   (!pair  "tail_call_emit"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 384)
    nil )
   (!pair  "arg_pointer_save_area_init"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 387)
    nil )
   (!pair  "frame_pointer_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 392)
    nil )
   (!pair  "maybe_hot_insn_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 395)
    nil )
   (!pair  "stack_realign_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 402)
    nil )
   (!pair  "stack_realign_tried"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 407)
    nil )
   (!pair  "need_drap"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 411)
    nil )
   (!pair  "stack_realign_processed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 416)
    nil )
   (!pair  "stack_realign_finalized"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 420)
    nil )
   (!pair  "dbr_scheduled_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 423)
    nil )
   (!pair  "nothrow"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 428)
    nil )
   (!pair  "shrink_wrapped"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 431)
    nil )
   (!pair  "sp_is_unchanging"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 436)
    nil )
   (!pair  "is_leaf"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 442)
    nil )
   (!pair  "uses_only_leaf_regs"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 447)
    nil )
   (!pair  "has_bb_partition"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 452)
    nil )
   (!pair  "bb_reorder_complete"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 456)
    nil )
   (!pair  "asm_clobbers"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 462)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1399)
 
 (!type already_seen 1395)
 
 (!type already_seen 1397)
 
 (!type already_seen 1387)
 
 (!type already_seen 1386)
 
 (!type already_seen 1381)
 
 (!type already_seen 1383)
 
 (!type already_seen 931)
 
 (!type already_seen 412)
 
 (!type already_seen 1219)
 
 (!type already_seen 381)
 
 (!type already_seen 1388)
 
 (!type already_seen 1391)
 
 (!type already_seen 373)
 
 (!type already_seen 1393)
 
 (!type already_seen 1377)
 
 (!type already_seen 1378)
 
 (!type already_seen 1380)
 
 (!type struct 1400 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1401 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1402 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 543)
 
 (!type already_seen 548)
 
 (!type user_struct 1403 
  (!type pointer 1404 nil  gc_used
   (!type already_seen 1403)
  )
  gc_pointed_to "vec<alias_pair,va_gc>"
  (!srcfileloc  "tree-core.h" 1798)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-core.h" 1798)
    nil )
   (!pair  "alias_pair"
    (!type struct 1405 nil  gc_used "alias_pair"
     (!srcfileloc  "tree-core.h" 1798)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 671)
       nil )
      (!pair  "target"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 672)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "tree-core.h" 1798)
    nil )
  )
 )
 
 (!type struct 1406 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 1833)
  (!fields 2 
   (!pair  "decl"
    (!type array 1407 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "tree-core.h" 1776)
    nil )
   (!pair  "implicit_p"
    (!type array 1408 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 9)
    )
    (!srcfileloc  "tree-core.h" 1777)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1409 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1410 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1411 
  (!type pointer 1412 nil  gc_used
   (!type already_seen 1411)
  )
  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 1753)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 862)
    (!srcfileloc  "tree-core.h" 1751)
    nil )
   (!pair  "to"
    (!type already_seen 45)
    (!srcfileloc  "tree-core.h" 1752)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1413 
  (!type pointer 1414 nil  gc_used
   (!type already_seen 1413)
  )
  gc_pointed_to "tree_priority_map"
  (!srcfileloc  "tree-core.h" 1747)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 862)
    (!srcfileloc  "tree-core.h" 1744)
    nil )
   (!pair  "init"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1745)
    nil )
   (!pair  "fini"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1746)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1415 
  (!type pointer 1416 nil  gc_used
   (!type already_seen 1415)
  )
  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 1740)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 862)
    (!srcfileloc  "tree-core.h" 1738)
    nil )
   (!pair  "to"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1739)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1417 
  (!type pointer 1418 nil  gc_used
   (!type already_seen 1417)
  )
  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 1734)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 862)
    (!srcfileloc  "tree-core.h" 1732)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1733)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1419 
  (!type pointer 1420 nil  gc_used
   (!type already_seen 1419)
  )
  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 1728)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 862)
    (!srcfileloc  "tree-core.h" 1725)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1726)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1727)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 862)
 
 (!type struct 1421 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1422 
  (!type pointer 1423 nil  gc_unused
   (!type already_seen 1422)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1424 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 560)
 
 (!type already_seen 530)
 
 (!type already_seen 532)
 
 (!type already_seen 526)
 
 (!type already_seen 519)
 
 (!type already_seen 521)
 
 (!type already_seen 347)
 
 (!type already_seen 447)
 
 (!type already_seen 348)
 
 (!type already_seen 339)
 
 (!type already_seen 342)
 
 (!type already_seen 340)
 
 (!type already_seen 341)
 
 (!type already_seen 346)
 
 (!type already_seen 345)
 
 (!type already_seen 344)
 
 (!type already_seen 343)
 
 (!type already_seen 135)
 
 (!type already_seen 38)
 
 (!type already_seen 40)
 
 (!type already_seen 37)
 
 (!type already_seen 518)
 
 (!type already_seen 501)
 
 (!type already_seen 450)
 
 (!type already_seen 452)
 
 (!type already_seen 448)
 
 (!type already_seen 449)
 
 (!type already_seen 517)
 
 (!type already_seen 46)
 
 (!type already_seen 523)
 
 (!type already_seen 524)
 
 (!type already_seen 1132)
 
 (!type already_seen 508)
 
 (!type already_seen 509)
 
 (!type already_seen 516)
 
 (!type already_seen 514)
 
 (!type already_seen 505)
 
 (!type already_seen 506)
 
 (!type already_seen 522)
 
 (!type already_seen 470)
 
 (!type already_seen 471)
 
 (!type already_seen 503)
 
 (!type already_seen 502)
 
 (!type already_seen 32)
 
 (!type already_seen 24)
 
 (!type already_seen 31)
 
 (!type already_seen 26)
 
 (!type already_seen 21)
 
 (!type already_seen 17)
 
 (!type already_seen 16)
 
 (!type already_seen 15)
 
 (!type already_seen 14)
 
 (!type already_seen 8)
 
 (!type already_seen 12)
 
 (!type already_seen 13)
 
 (!type already_seen 1405)
 
 (!type already_seen 854)
 
 (!type already_seen 432)
 
 (!type already_seen 513)
 
 (!type already_seen 511)
 
 (!type struct 1425 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1426 nil  gc_unused "extraction_insn"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 529)
 
 (!type struct 1427 nil  gc_unused "convert_optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1428 nil  gc_unused "optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1429 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 536)
 
 (!type struct 1430 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1431 nil  gc_unused "replace_label_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 350)
 
 (!type struct 1432 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1433 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 139)
 
 (!type already_seen 140)
 
 (!type already_seen 141)
 
 (!type already_seen 142)
 
 (!type already_seen 143)
 
 (!type already_seen 144)
 
 (!type already_seen 145)
 
 (!type already_seen 146)
 
 (!type already_seen 147)
 
 (!type already_seen 148)
 
 (!type already_seen 149)
 
 (!type already_seen 150)
 
 (!type already_seen 151)
 
 (!type already_seen 152)
 
 (!type already_seen 153)
 
 (!type already_seen 154)
 
 (!type already_seen 155)
 
 (!type already_seen 156)
 
 (!type already_seen 157)
 
 (!type already_seen 158)
 
 (!type already_seen 159)
 
 (!type already_seen 160)
 
 (!type already_seen 161)
 
 (!type already_seen 162)
 
 (!type already_seen 163)
 
 (!type already_seen 164)
 
 (!type already_seen 165)
 
 (!type already_seen 166)
 
 (!type already_seen 167)
 
 (!type already_seen 168)
 
 (!type already_seen 169)
 
 (!type already_seen 170)
 
 (!type already_seen 171)
 
 (!type already_seen 172)
 
 (!type already_seen 173)
 
 (!type already_seen 174)
 
 (!type already_seen 175)
 
 (!type already_seen 176)
 
 (!type already_seen 177)
 
 (!type already_seen 178)
 
 (!type already_seen 179)
 
 (!type already_seen 180)
 
 (!type already_seen 181)
 
 (!type already_seen 182)
 
 (!type already_seen 183)
 
 (!type already_seen 184)
 
 (!type already_seen 185)
 
 (!type already_seen 186)
 
 (!type already_seen 187)
 
 (!type already_seen 188)
 
 (!type already_seen 189)
 
 (!type already_seen 190)
 
 (!type already_seen 191)
 
 (!type already_seen 192)
 
 (!type already_seen 193)
 
 (!type already_seen 194)
 
 (!type already_seen 195)
 
 (!type already_seen 196)
 
 (!type already_seen 197)
 
 (!type already_seen 198)
 
 (!type already_seen 199)
 
 (!type already_seen 200)
 
 (!type already_seen 201)
 
 (!type already_seen 202)
 
 (!type already_seen 203)
 
 (!type already_seen 204)
 
 (!type already_seen 205)
 
 (!type already_seen 206)
 
 (!type already_seen 207)
 
 (!type already_seen 208)
 
 (!type already_seen 209)
 
 (!type already_seen 210)
 
 (!type already_seen 211)
 
 (!type already_seen 212)
 
 (!type already_seen 213)
 
 (!type already_seen 214)
 
 (!type already_seen 215)
 
 (!type already_seen 216)
 
 (!type already_seen 217)
 
 (!type already_seen 218)
 
 (!type already_seen 219)
 
 (!type already_seen 220)
 
 (!type already_seen 221)
 
 (!type already_seen 222)
 
 (!type already_seen 223)
 
 (!type already_seen 224)
 
 (!type already_seen 225)
 
 (!type already_seen 226)
 
 (!type already_seen 227)
 
 (!type already_seen 228)
 
 (!type already_seen 229)
 
 (!type already_seen 230)
 
 (!type already_seen 231)
 
 (!type already_seen 232)
 
 (!type already_seen 233)
 
 (!type already_seen 234)
 
 (!type already_seen 235)
 
 (!type already_seen 236)
 
 (!type already_seen 237)
 
 (!type already_seen 238)
 
 (!type already_seen 239)
 
 (!type already_seen 256)
 
 (!type already_seen 257)
 
 (!type already_seen 260)
 
 (!type already_seen 264)
 
 (!type already_seen 265)
 
 (!type already_seen 266)
 
 (!type already_seen 267)
 
 (!type already_seen 268)
 
 (!type already_seen 271)
 
 (!type already_seen 272)
 
 (!type already_seen 273)
 
 (!type already_seen 274)
 
 (!type already_seen 275)
 
 (!type already_seen 276)
 
 (!type already_seen 277)
 
 (!type already_seen 278)
 
 (!type already_seen 279)
 
 (!type already_seen 280)
 
 (!type already_seen 281)
 
 (!type already_seen 282)
 
 (!type already_seen 283)
 
 (!type already_seen 284)
 
 (!type already_seen 285)
 
 (!type already_seen 286)
 
 (!type already_seen 287)
 
 (!type already_seen 288)
 
 (!type already_seen 289)
 
 (!type already_seen 290)
 
 (!type already_seen 291)
 
 (!type already_seen 292)
 
 (!type already_seen 293)
 
 (!type already_seen 294)
 
 (!type already_seen 295)
 
 (!type already_seen 324)
 
 (!type already_seen 325)
 
 (!type already_seen 326)
 
 (!type already_seen 327)
 
 (!type already_seen 328)
 
 (!type already_seen 329)
 
 (!type already_seen 330)
 
 (!type already_seen 331)
 
 (!type already_seen 332)
 
 (!type already_seen 333)
 
 (!type already_seen 334)
 
 (!type already_seen 335)
 
 (!type already_seen 336)
 
 (!type already_seen 337)
 
 (!type already_seen 338)
 
 (!type already_seen 253)
 
 (!type already_seen 296)
 
 (!type already_seen 255)
 
 (!type union 1434 nil  gc_unused "u"
  (!srcfileloc  "rtl.h" 346)
  (!fields 5 
   (!pair  "fld"
    (!type array 1435 nil  gc_unused "1" 
     (!type already_seen 242)
    )
    (!srcfileloc  "rtl.h" 341)
    nil )
   (!pair  "hwint"
    (!type array 1436 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "rtl.h" 342)
    nil )
   (!pair  "block_sym"
    (!type already_seen 240)
    (!srcfileloc  "rtl.h" 343)
    nil )
   (!pair  "rv"
    (!type already_seen 19)
    (!srcfileloc  "rtl.h" 344)
    nil )
   (!pair  "fv"
    (!type already_seen 23)
    (!srcfileloc  "rtl.h" 345)
    nil )
  )
  nil 511 nil )
 
 (!type already_seen 23)
 
 (!type already_seen 19)
 
 (!type already_seen 3)
 
 (!type already_seen 252)
 
 (!type already_seen 240)
 
 (!type already_seen 244)
 
 (!type already_seen 242)
 
 (!type union 1437 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type already_seen 270)
 
 (!type already_seen 259)
 
 (!type struct 1438 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1439 nil  gc_unused "gcov_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1440 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1441 
  (!type pointer 1442 nil  gc_used
   (!type already_seen 1441)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 69)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1442)
    (!srcfileloc  "coverage.c" 63)
    nil )
   (!pair  "ident"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 64)
    nil )
   (!pair  "lineno_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 65)
    nil )
   (!pair  "cfg_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 66)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 5)
    (!srcfileloc  "coverage.c" 67)
    nil )
   (!pair  "ctr_vars"
    (!type array 1443 nil  gc_used "GCOV_COUNTERS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "coverage.c" 68)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1444 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 126)
 
 (!type already_seen 127)
 
 (!type already_seen 123)
 
 (!type already_seen 1334)
 
 (!type already_seen 1337)
 
 (!type already_seen 404)
 
 (!type already_seen 406)
 
 (!type already_seen 410)
 
 (!type already_seen 408)
 
 (!type struct 1445 nil  gc_unused "ix86_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1446 nil  gc_unused "processor_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1447 nil  gc_unused "stringop_algs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1448 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1449 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1450 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1451 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1452 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 298)
 
 (!type already_seen 302)
 
 (!type struct 1453 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1454 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1455 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1456 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1457 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 527)
 
 (!type already_seen 559)
 
 (!type struct 1458 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 246)
 
 (!type struct 1459 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 311)
 
 (!type already_seen 262)
 
 (!type already_seen 138)
 
 (!type struct 1460 
  (!type pointer 1461 nil  gc_unused
   (!type already_seen 1460)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 121)
 
 (!type already_seen 576)
 
 (!type struct 1462 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1463 nil  gc_unused "anonymous:../../gcc/../libcpp/include/cpplib.h:999"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1464 nil  gc_unused "anonymous:../../gcc/../libcpp/include/cpplib.h:988"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1465 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 33)
 
 (!type already_seen 573)
 
 (!type already_seen 579)
 
 (!type already_seen 580)
 
 (!type already_seen 582)
 
 (!type struct 1466 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 584)
 
 (!type struct 1467 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1468 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 575)
 
 (!type already_seen 581)
 
 (!type already_seen 578)
 
 (!type struct 1469 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1470 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1471 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1472 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "anonymous:../../gcc/../libcpp/include/line-map.h:627"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 
  (!type pointer 1475 nil  gc_used
   (!type already_seen 1474)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 318)
  (!fields 10 
   (!pair  "info_ordinary"
    (!type struct 1476 nil  gc_used "maps_info"
     (!srcfileloc  "../libcpp/include/line-map.h" 259)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1477 nil  gc_unused
        (!type struct 1478 
         (!type already_seen 1477)
         gc_used "line_map"
         (!srcfileloc  "../libcpp/include/line-map.h" 213)
         (!fields 3 
          (!pair  "start_location"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 204)
           nil )
          (!pair  "reason"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 207)
           nil )
          (!pair  "d"
           (!type union 1479 nil  gc_used "map_u"
            (!srcfileloc  "../libcpp/include/line-map.h" 212)
            (!fields 2 
             (!pair  "ordinary"
              (!type struct 1480 nil  gc_used "line_map_ordinary"
               (!srcfileloc  "../libcpp/include/line-map.h" 87)
               (!fields 5 
                (!pair  "to_file"
                 (!type already_seen 36)
                 (!srcfileloc  "../libcpp/include/line-map.h" 71)
                 nil )
                (!pair  "to_line"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 72)
                 nil )
                (!pair  "included_from"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 77)
                 nil )
                (!pair  "sysp"
                 (!type already_seen 28)
                 (!srcfileloc  "../libcpp/include/line-map.h" 83)
                 nil )
                (!pair  "column_bits"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 86)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "../libcpp/include/line-map.h" 210)
              (!options 
               (!option tag string  "0")
              )
             )
             (!pair  "macro"
              (!type struct 1481 nil  gc_used "line_map_macro"
               (!srcfileloc  "../libcpp/include/line-map.h" 175)
               (!fields 4 
                (!pair  "macro"
                 (!type already_seen 571)
                 (!srcfileloc  "../libcpp/include/line-map.h" 109)
                 (!options 
                  (!option nested_ptr nested 
                   (!type already_seen 7)
                   "%h ? HT_IDENT_TO_GCC_IDENT (HT_NODE (%h)) : NULL" "%h ? CPP_HASHNODE (GCC_IDENT_TO_HT_IDENT (%h)) : NULL")
                 )
                )
                (!pair  "n_tokens"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 112)
                 nil )
                (!pair  "macro_locations"
                 (!type already_seen 10)
                 (!srcfileloc  "../libcpp/include/line-map.h" 167)
                 (!options 
                  (!option atomic string  "")
                 )
                )
                (!pair  "expansion"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 174)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "../libcpp/include/line-map.h" 211)
              (!options 
               (!option tag string  "1")
              )
             )
            )
            nil 511 nil )
           (!srcfileloc  "../libcpp/include/line-map.h" 212)
           (!options 
            (!option desc string  "%1.reason == LC_ENTER_MACRO")
           )
          )
         )
         nil 511 nil nil )
       )
       (!srcfileloc  "../libcpp/include/line-map.h" 249)
       (!options 
        (!option length string  "%h.used")
       )
      )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 252)
       nil )
      (!pair  "used"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 256)
       nil )
      (!pair  "cache"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 258)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "../libcpp/include/line-map.h" 289)
    nil )
   (!pair  "info_macro"
    (!type already_seen 1476)
    (!srcfileloc  "../libcpp/include/line-map.h" 291)
    nil )
   (!pair  "depth"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 294)
    nil )
   (!pair  "trace_includes"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 297)
    nil )
   (!pair  "highest_location"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 300)
    nil )
   (!pair  "highest_line"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 303)
    nil )
   (!pair  "max_column_hint"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 307)
    nil )
   (!pair  "reallocator"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 311)
    nil )
   (!pair  "round_alloc_size"
    (!type already_seen 9)
    (!srcfileloc  "../libcpp/include/line-map.h" 315)
    nil )
   (!pair  "location_adhoc_data_map"
    (!type struct 1482 nil  gc_used "location_adhoc_data_map"
     (!srcfileloc  "../libcpp/include/line-map.h" 284)
     (!fields 4 
      (!pair  "htab"
       (!type already_seen 50)
       (!srcfileloc  "../libcpp/include/line-map.h" 280)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "curr_loc"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 281)
       nil )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 282)
       nil )
      (!pair  "data"
       (!type pointer 1483 nil  gc_unused
        (!type struct 1484 
         (!type already_seen 1483)
         gc_used "location_adhoc_data"
         (!srcfileloc  "../libcpp/include/line-map.h" 265)
         (!fields 2 
          (!pair  "locus"
           (!type already_seen 9)
           (!srcfileloc  "../libcpp/include/line-map.h" 263)
           nil )
          (!pair  "data"
           (!type already_seen 10)
           (!srcfileloc  "../libcpp/include/line-map.h" 264)
           (!options 
            (!option skip string  "")
           )
          )
         )
         nil 511 nil nil )
       )
       (!srcfileloc  "../libcpp/include/line-map.h" 283)
       (!options 
        (!option length string  "%h.allocated")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "../libcpp/include/line-map.h" 317)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1482)
 
 (!type already_seen 49)
 
 (!type already_seen 1484)
 
 (!type already_seen 1476)
 
 (!type already_seen 1478)
 
 (!type already_seen 1479)
 
 (!type already_seen 1481)
 
 (!type already_seen 7)
 
 (!type already_seen 570)
 
 (!type already_seen 1480)
)
(!typedefs 542
 (!pair  "vec<ivarref_entry,va_gc>"
  (!type already_seen 1)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
  nil )
 (!pair  "ivarref_entry"
  (!type already_seen 4)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2763)
  nil )
 (!pair  "vec<prot_list_entry,va_gc>"
  (!type already_seen 620)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 622)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1258)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 623)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 625)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1203)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 626)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 628)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1018)
  nil )
 (!pair  "string_section"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 633)
  nil )
 (!pair  "attr"
  (!type already_seen 636)
  (!srcfileloc  "objc/objc-act.h" 239)
  nil )
 (!pair  "hash"
  (!type already_seen 638)
  (!srcfileloc  "objc/objc-act.h" 238)
  nil )
 (!pair  "objc_property_assign_semantics"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 86)
  nil )
 (!pair  "objc_map_iterator_t"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-map.h" 241)
  nil )
 (!pair  "objc_map_t"
  (!type already_seen 641)
  (!srcfileloc  "objc/objc-map.h" 90)
  nil )
 (!pair  "objc_map_private_hash_t"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-map.h" 40)
  nil )
 (!pair  "lto_file"
  (!type already_seen 642)
  (!srcfileloc  "lto/lto.h" 34)
  nil )
 (!pair  "rewrite_rule"
  (!type already_seen 648)
  (!srcfileloc  "java/expr.c" 2068)
  nil )
 (!pair  "class_flag_node"
  (!type already_seen 649)
  (!srcfileloc  "java/class.c" 85)
  nil )
 (!pair  "builtin_creator_function"
  (!type already_seen 653)
  (!srcfileloc  "java/builtins.c" 82)
  nil )
 (!pair  "JCF"
  (!type already_seen 456)
  (!srcfileloc  "java/jcf.h" 123)
  nil )
 (!pair  "BootstrapMethods"
  (!type already_seen 463)
  (!srcfileloc  "java/jcf.h" 99)
  nil )
 (!pair  "bootstrap_method"
  (!type already_seen 465)
  (!srcfileloc  "java/jcf.h" 94)
  nil )
 (!pair  "CPool"
  (!type already_seen 459)
  (!srcfileloc  "java/jcf.h" 88)
  nil )
 (!pair  "jcf_filbuf_t"
  (!type already_seen 9)
  (!srcfileloc  "java/jcf.h" 66)
  nil )
 (!pair  "vec<method_entry,va_gc>"
  (!type already_seen 467)
  (!srcfileloc  "java/java-tree.h" 882)
  nil )
 (!pair  "method_entry"
  (!type already_seen 468)
  (!srcfileloc  "java/java-tree.h" 869)
  nil )
 (!pair  "type_assertion"
  (!type already_seen 475)
  (!srcfileloc  "java/java-tree.h" 786)
  nil )
 (!pair  "jv_attr_kind"
  (!type already_seen 9)
  (!srcfileloc  "java/java-tree.h" 780)
  nil )
 (!pair  "jv_attr_type"
  (!type already_seen 9)
  (!srcfileloc  "java/java-tree.h" 770)
  nil )
 (!pair  "constant_pool"
  (!type already_seen 459)
  (!srcfileloc  "java/java-tree.h" 135)
  nil )
 (!pair  "go_char_p"
  (!type already_seen 29)
  (!srcfileloc  "go/go-lang.c" 163)
  nil )
 (!pair  "gfc_interface_mapping"
  (!type already_seen 655)
  (!srcfileloc  "fortran/trans.h" 963)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 656)
  (!srcfileloc  "fortran/trans.h" 948)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 657)
  (!srcfileloc  "fortran/trans.h" 729)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 659)
  (!srcfileloc  "fortran/trans.h" 345)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 660)
  (!srcfileloc  "fortran/trans.h" 332)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 661)
  (!srcfileloc  "fortran/trans.h" 322)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 662)
  (!srcfileloc  "fortran/trans.h" 273)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 663)
  (!srcfileloc  "fortran/trans.h" 233)
  nil )
 (!pair  "gfc_ss_type"
  (!type already_seen 9)
  (!srcfileloc  "fortran/trans.h" 189)
  nil )
 (!pair  "gfc_array_info"
  (!type already_seen 664)
  (!srcfileloc  "fortran/trans.h" 144)
  nil )
 (!pair  "gfc_coarray_type"
  (!type already_seen 9)
  (!srcfileloc  "fortran/trans.h" 113)
  nil )
 (!pair  "gfc_se"
  (!type already_seen 665)
  (!srcfileloc  "fortran/trans.h" 101)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 666)
  (!srcfileloc  "fortran/trans.h" 37)
  nil )
 (!pair  "gfc_packed"
  (!type already_seen 9)
  (!srcfileloc  "fortran/trans-types.h" 52)
  nil )
 (!pair  "forall_info"
  (!type already_seen 667)
  (!srcfileloc  "fortran/trans-stmt.c" 59)
  nil )
 (!pair  "iter_info"
  (!type already_seen 668)
  (!srcfileloc  "fortran/trans-stmt.c" 47)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 669)
  (!srcfileloc  "fortran/trans-io.c" 80)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 670)
  (!srcfileloc  "fortran/trans-io.c" 74)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 671)
  (!srcfileloc  "fortran/trans-intrinsic.c" 87)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 676)
  (!srcfileloc  "cp/except.c" 1185)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 678)
  (!srcfileloc  "cp/except.c" 1184)
  nil )
 (!pair  "secondary_vptr_vtt_init_data"
  (!type already_seen 679)
  (!srcfileloc  "cp/class.c" 8500)
  nil )
 (!pair  "find_final_overrider_data"
  (!type already_seen 680)
  (!srcfileloc  "cp/class.c" 2227)
  nil )
 (!pair  "subobject_offset_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/class.c" 104)
  nil )
 (!pair  "vtbl_init_data"
  (!type already_seen 682)
  (!srcfileloc  "cp/class.c" 101)
  nil )
 (!pair  "class_stack_node_t"
  (!type already_seen 684)
  (!srcfileloc  "cp/class.c" 70)
  nil )
 (!pair  "mangling_flags"
  (!type already_seen 9)
  (!srcfileloc  "cp/method.c" 57)
  nil )
 (!pair  "vec<tree_int,va_gc>"
  (!type already_seen 688)
  (!srcfileloc  "cp/parser.c" 8652)
  nil )
 (!pair  "tree_int"
  (!type already_seen 690)
  (!srcfileloc  "cp/parser.c" 8651)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 1485 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 691)
  )
  (!srcfileloc  "cp/parser.c" 1751)
  nil )
 (!pair  "cp_parser_expression_stack_entry"
  (!type already_seen 691)
  (!srcfileloc  "cp/parser.c" 1745)
  nil )
 (!pair  "cp_parser_binary_operations_map_node"
  (!type already_seen 692)
  (!srcfileloc  "cp/parser.c" 1729)
  nil )
 (!pair  "cp_parser_declarator_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 1695)
  nil )
 (!pair  "cp_parser_flags"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 1683)
  nil )
 (!pair  "required_token"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 184)
  nil )
 (!pair  "name_lookup_error"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 128)
  nil )
 (!pair  "non_integral_constant"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 116)
  nil )
 (!pair  "cp_parser"
  (!type already_seen 693)
  (!srcfileloc  "cp/parser.h" 396)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 709)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 703)
  (!srcfileloc  "cp/parser.h" 351)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 701)
  (!srcfileloc  "cp/parser.h" 196)
  nil )
 (!pair  "cp_parser_status_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.h" 180)
  nil )
 (!pair  "cp_unparsed_functions_entry"
  (!type already_seen 704)
  (!srcfileloc  "cp/parser.h" 166)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 706)
  (!srcfileloc  "cp/parser.h" 157)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 707)
  (!srcfileloc  "cp/parser.h" 149)
  nil )
 (!pair  "cp_token_ident"
  (!type already_seen 710)
  (!srcfileloc  "cp/parser.h" 139)
  nil )
 (!pair  "cp_token_cache_ptr"
  (!type already_seen 64)
  (!srcfileloc  "cp/parser.h" 127)
  nil )
 (!pair  "cp_token_cache"
  (!type already_seen 65)
  (!srcfileloc  "cp/parser.h" 125)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 696)
  (!srcfileloc  "cp/parser.h" 110)
  nil )
 (!pair  "vec<cp_token_position>"
  (!type already_seen 699)
  (!srcfileloc  "cp/parser.h" 99)
  nil )
 (!pair  "vec<cp_token,va_gc>"
  (!type already_seen 698)
  (!srcfileloc  "cp/parser.h" 85)
  nil )
 (!pair  "cp_token_position"
  (!type already_seen 66)
  (!srcfileloc  "cp/parser.h" 75)
  nil )
 (!pair  "cp_token"
  (!type already_seen 67)
  (!srcfileloc  "cp/parser.h" 71)
  nil )
 (!pair  "cplus_array_info"
  (!type already_seen 712)
  (!srcfileloc  "cp/tree.c" 741)
  nil )
 (!pair  "constexpr_call"
  (!type already_seen 713)
  (!srcfileloc  "cp/semantics.c" 8093)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 716)
  (!srcfileloc  "cp/semantics.c" 7410)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 718)
  (!srcfileloc  "cp/semantics.c" 143)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 720)
  (!srcfileloc  "cp/semantics.c" 140)
  nil )
 (!pair  "vec<deferred_access_check,va_gc>"
  (!type already_seen 72)
  (!srcfileloc  "cp/semantics.c" 135)
  nil )
 (!pair  "spec_entry"
  (!type already_seen 725)
  (!srcfileloc  "cp/pt.c" 89)
  nil )
 (!pair  "tree_fn_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/pt.c" 53)
  nil )
 (!pair  "priority_info"
  (!type already_seen 732)
  (!srcfileloc  "cp/decl2.c" 70)
  nil )
 (!pair  "reshape_iter"
  (!type already_seen 733)
  (!srcfileloc  "cp/decl.c" 5087)
  nil )
 (!pair  "predefined_identifier"
  (!type already_seen 734)
  (!srcfileloc  "cp/decl.c" 3646)
  nil )
 (!pair  "typename_info"
  (!type already_seen 735)
  (!srcfileloc  "cp/decl.c" 3226)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 737)
  (!srcfileloc  "cp/decl.c" 267)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 739)
  (!srcfileloc  "cp/decl.c" 264)
  nil )
 (!pair  "candidate_warning"
  (!type already_seen 741)
  (!srcfileloc  "cp/call.c" 438)
  nil )
 (!pair  "z_candidate"
  (!type already_seen 742)
  (!srcfileloc  "cp/call.c" 436)
  nil )
 (!pair  "conversion"
  (!type already_seen 744)
  (!srcfileloc  "cp/call.c" 81)
  nil )
 (!pair  "conversion_rank"
  (!type already_seen 9)
  (!srcfileloc  "cp/call.c" 75)
  nil )
 (!pair  "conversion_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/call.c" 61)
  nil )
 (!pair  "deferred_access_check"
  (!type already_seen 73)
  (!srcfileloc  "cp/cp-tree.h" 5700)
  nil )
 (!pair  "walk_namespaces_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5279)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 746)
  (!srcfileloc  "cp/cp-tree.h" 4891)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 747)
  (!srcfileloc  "cp/cp-tree.h" 4889)
  nil )
 (!pair  "cp_declarator_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4885)
  nil )
 (!pair  "cp_decl_specifier_seq"
  (!type already_seen 748)
  (!srcfileloc  "cp/cp-tree.h" 4873)
  nil )
 (!pair  "cp_decl_spec"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4829)
  nil )
 (!pair  "cp_storage_class"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4798)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4768)
  nil )
 (!pair  "operator_name_info_t"
  (!type already_seen 749)
  (!srcfileloc  "cp/cp-tree.h" 4745)
  nil )
 (!pair  "unification_kind_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4386)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4363)
  nil )
 (!pair  "base_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4341)
  nil )
 (!pair  "deferring_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4328)
  nil )
 (!pair  "base_access"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4321)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4307)
  nil )
 (!pair  "duration_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4278)
  nil )
 (!pair  "linkage_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4271)
  nil )
 (!pair  "special_function_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4248)
  nil )
 (!pair  "access_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4227)
  nil )
 (!pair  "tmpl_spec_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4216)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4198)
  nil )
 (!pair  "aggr_init_expr_arg_iterator"
  (!type already_seen 750)
  (!srcfileloc  "cp/cp-tree.h" 3085)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 487)
  (!srcfileloc  "cp/cp-tree.h" 1456)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 489)
  (!srcfileloc  "cp/cp-tree.h" 1361)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 488)
  (!srcfileloc  "cp/cp-tree.h" 1360)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 751)
  (!srcfileloc  "cp/cp-tree.h" 1022)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 615)
  (!srcfileloc  "cp/cp-tree.h" 784)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 616)
  (!srcfileloc  "cp/cp-tree.h" 772)
  nil )
 (!pair  "cp_trait_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 648)
  nil )
 (!pair  "abstract_class_use"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 501)
  nil )
 (!pair  "impl_conv_void"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 488)
  nil )
 (!pair  "impl_conv_rhs"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 477)
  nil )
 (!pair  "expr_list_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 467)
  nil )
 (!pair  "composite_pointer_operation"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 460)
  nil )
 (!pair  "cpp0x_warn_str"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 448)
  nil )
 (!pair  "cp_id_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 411)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 604)
  (!srcfileloc  "cp/cp-tree.h" 287)
  nil )
 (!pair  "template_parm_index"
  (!type already_seen 602)
  (!srcfileloc  "cp/cp-tree.h" 281)
  nil )
 (!pair  "vec<cp_label_binding,va_gc>"
  (!type already_seen 102)
  (!srcfileloc  "cp/name-lookup.h" 215)
  nil )
 (!pair  "vec<cp_class_binding,va_gc>"
  (!type already_seen 97)
  (!srcfileloc  "cp/name-lookup.h" 204)
  nil )
 (!pair  "cp_label_binding"
  (!type already_seen 103)
  (!srcfileloc  "cp/name-lookup.h" 155)
  nil )
 (!pair  "cp_class_binding"
  (!type already_seen 98)
  (!srcfileloc  "cp/name-lookup.h" 147)
  nil )
 (!pair  "tag_scope"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 141)
  nil )
 (!pair  "scope_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 124)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 753)
  (!srcfileloc  "cp/name-lookup.h" 86)
  nil )
 (!pair  "cp_binding_level"
  (!type already_seen 95)
  (!srcfileloc  "cp/name-lookup.h" 55)
  nil )
 (!pair  "cxx_binding"
  (!type already_seen 100)
  (!srcfileloc  "cp/name-lookup.h" 52)
  nil )
 (!pair  "bt_foreach_proc"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 32)
  nil )
 (!pair  "binding_entry"
  (!type already_seen 493)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 490)
  (!srcfileloc  "cp/name-lookup.h" 28)
  nil )
 (!pair  "substitution_identifier_index_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 133)
  nil )
 (!pair  "globals"
  (!type already_seen 758)
  (!srcfileloc  "cp/mangle.c" 106)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 759)
  (!srcfileloc  "cp/rtti.c" 104)
  nil )
 (!pair  "tinfo_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/rtti.c" 90)
  nil )
 (!pair  "tinfo_s"
  (!type already_seen 761)
  (!srcfileloc  "cp/rtti.c" 73)
  nil )
 (!pair  "c_dtr_syn"
  (!type already_seen 9)
  (!srcfileloc  "c/c-parser.c" 1117)
  nil )
 (!pair  "c_parser"
  (!type already_seen 764)
  (!srcfileloc  "c/c-parser.c" 217)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 770)
  (!srcfileloc  "c/c-parser.c" 216)
  nil )
 (!pair  "c_token"
  (!type already_seen 767)
  (!srcfileloc  "c/c-parser.c" 165)
  nil )
 (!pair  "c_id_kind"
  (!type already_seen 9)
  (!srcfileloc  "c/c-parser.c" 145)
  nil )
 (!pair  "pragma_ns_name"
  (!type already_seen 772)
  (!srcfileloc  "c-family/c-pragma.c" 1172)
  nil )
 (!pair  "opt_stack"
  (!type already_seen 773)
  (!srcfileloc  "c-family/c-pragma.c" 902)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 775)
  (!srcfileloc  "c-family/c-pragma.c" 433)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 777)
  (!srcfileloc  "c-family/c-pragma.c" 430)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 778)
  (!srcfileloc  "c-family/c-pragma.c" 247)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 780)
  (!srcfileloc  "c-family/c-pragma.c" 244)
  nil )
 (!pair  "align_stack"
  (!type already_seen 781)
  (!srcfileloc  "c-family/c-pragma.c" 54)
  nil )
 (!pair  "internal_pragma_handler"
  (!type already_seen 783)
  (!srcfileloc  "c-family/c-pragma.h" 151)
  nil )
 (!pair  "pragma_handler_2arg"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 135)
  nil )
 (!pair  "pragma_handler_1arg"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 132)
  nil )
 (!pair  "pragma_omp_clause"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 119)
  nil )
 (!pair  "pragma_kind"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-pragma.h" 62)
  nil )
 (!pair  "objc_ivar_visibility_kind"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-objc.h" 29)
  nil )
 (!pair  "an_loop_parts"
  (!type already_seen 786)
  (!srcfileloc  "c-family/c-common.h" 1352)
  nil )
 (!pair  "an_parts"
  (!type already_seen 787)
  (!srcfileloc  "c-family/c-common.h" 1341)
  nil )
 (!pair  "omp_clause_mask"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 1051)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 89)
  (!srcfileloc  "c-family/c-common.h" 502)
  nil )
 (!pair  "ref_operator"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 482)
  nil )
 (!pair  "c_language_kind"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 459)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 792)
  (!srcfileloc  "c-family/c-common.c" 11548)
  nil )
 (!pair  "tree_gc_vec"
  (!type already_seen 45)
  (!srcfileloc  "c-family/c-common.c" 11547)
  nil )
 (!pair  "vec<const_char_p,va_gc>"
  (!type already_seen 795)
  (!srcfileloc  "c-family/c-common.c" 9013)
  nil )
 (!pair  "const_char_p"
  (!type already_seen 29)
  (!srcfileloc  "c-family/c-common.c" 9012)
  nil )
 (!pair  "disabled_builtin"
  (!type already_seen 797)
  (!srcfileloc  "c-family/c-common.c" 5763)
  nil )
 (!pair  "c_binding_ptr"
  (!type already_seen 587)
  (!srcfileloc  "c/c-decl.c" 507)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 596)
  (!srcfileloc  "c/c-decl.c" 315)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 597)
  (!srcfileloc  "c/c-decl.c" 296)
  nil )
 (!pair  "c_arg_tag"
  (!type already_seen 809)
  (!srcfileloc  "c/c-tree.h" 355)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 812)
  (!srcfileloc  "c/c-tree.h" 133)
  nil )
 (!pair  "builtin_type"
  (!type already_seen 9)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5855)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 819)
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  nil )
 (!pair  "loop_info"
  (!type already_seen 821)
  (!srcfileloc  "ada/gcc-interface/trans.c" 220)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 824)
  (!srcfileloc  "ada/gcc-interface/trans.c" 217)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 825)
  (!srcfileloc  "ada/gcc-interface/trans.c" 210)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 117)
  (!srcfileloc  "ada/gcc-interface/trans.c" 135)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 118)
  (!srcfileloc  "ada/gcc-interface/trans.c" 131)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 831)
  (!srcfileloc  "ada/gcc-interface/decl.c" 6911)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 832)
  (!srcfileloc  "ada/gcc-interface/decl.c" 182)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 833)
  (!srcfileloc  "ada/gcc-interface/decl.c" 127)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 834)
  (!srcfileloc  "ada/gcc-interface/decl.c" 112)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 845)
  (!srcfileloc  "ipa-devirt.c" 864)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 846)
  (!srcfileloc  "ipa-devirt.c" 863)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 845)
  (!srcfileloc  "ipa-devirt.c" 863)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 848)
  (!srcfileloc  "ipa-devirt.c" 276)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 855)
  (!srcfileloc  "ipa-devirt.c" 269)
  nil )
 (!pair  "odr_hasher"
  (!type already_seen 856)
  (!srcfileloc  "ipa-devirt.c" 269)
  nil )
 (!pair  "hash_table<odr_hasher>"
  (!type already_seen 855)
  (!srcfileloc  "ipa-devirt.c" 269)
  nil )
 (!pair  "pointer_set_t"
  (!type already_seen 854)
  (!srcfileloc  "ipa-devirt.c" 159)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 852)
  (!srcfileloc  "ipa-devirt.c" 152)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 871)
  (!srcfileloc  "vtable-verify.c" 311)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 871)
  (!srcfileloc  "vtable-verify.c" 311)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 872)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 873)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 872)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "inline_edge_summary_t"
  (!type already_seen 1314)
  (!srcfileloc  "ipa-inline.h" 196)
  nil )
 (!pair  "vec<inline_summary_t,va_gc>"
  (!type already_seen 877)
  (!srcfileloc  "ipa-inline.h" 164)
  nil )
 (!pair  "inline_summary_t"
  (!type already_seen 879)
  (!srcfileloc  "ipa-inline.h" 163)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 885)
  (!srcfileloc  "ipa-inline.h" 141)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 884)
  (!srcfileloc  "ipa-inline.h" 141)
  nil )
 (!pair  "clause_t"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 88)
  nil )
 (!pair  "conditions"
  (!type already_seen 880)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "condition"
  (!type already_seen 882)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 881)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "inline_hints"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 73)
  nil )
 (!pair  "lto_file_decl_data_ptr"
  (!type already_seen 949)
  (!srcfileloc  "lto-streamer.h" 572)
  nil )
 (!pair  "pointer_map_t"
  (!type already_seen 386)
  (!srcfileloc  "lto-streamer.h" 569)
  nil )
 (!pair  "res_pair"
  (!type already_seen 897)
  (!srcfileloc  "lto-streamer.h" 563)
  nil )
 (!pair  "vec<res_pair>"
  (!type already_seen 896)
  (!srcfileloc  "lto-streamer.h" 563)
  nil )
 (!pair  "lto_out_decl_state_ptr"
  (!type already_seen 1003)
  (!srcfileloc  "lto-streamer.h" 516)
  nil )
 (!pair  "lto_in_decl_state_ptr"
  (!type already_seen 910)
  (!srcfileloc  "lto-streamer.h" 497)
  nil )
 (!pair  "lto_symtab_encoder_t"
  (!type already_seen 902)
  (!srcfileloc  "lto-streamer.h" 454)
  nil )
 (!pair  "lto_free_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 313)
  nil )
 (!pair  "lto_get_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 304)
  nil )
 (!pair  "ld_plugin_symbol_resolution_t"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 272)
  nil )
 (!pair  "lto_decl_flags_t"
  (!type already_seen 28)
  (!srcfileloc  "lto-streamer.h" 146)
  nil )
 (!pair  "cgraph_node_queue"
  (!type already_seen 915)
  (!srcfileloc  "trans-mem.c" 4064)
  nil )
 (!pair  "vec<cgraph_node_ptr>"
  (!type already_seen 915)
  (!srcfileloc  "trans-mem.c" 4064)
  nil )
 (!pair  "tm_memop_t"
  (!type already_seen 959)
  (!srcfileloc  "trans-mem.c" 3299)
  nil )
 (!pair  "tm_region_p"
  (!type already_seen 965)
  (!srcfileloc  "trans-mem.c" 1847)
  nil )
 (!pair  "tm_new_mem_map_t"
  (!type already_seen 968)
  (!srcfileloc  "trans-mem.c" 1013)
  nil )
 (!pair  "tm_log_entry_t"
  (!type already_seen 971)
  (!srcfileloc  "trans-mem.c" 937)
  nil )
 (!pair  "ipa_parm_adjustment_vec"
  (!type already_seen 974)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "ipa_parm_adjustment"
  (!type already_seen 975)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "vec<ipa_parm_adjustment>"
  (!type already_seen 974)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 978)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "vec<ipa_edge_args,va_gc>"
  (!type already_seen 976)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "vec<ipa_agg_replacement_value_p,va_gc>"
  (!type already_seen 994)
  (!srcfileloc  "ipa-prop.h" 509)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 981)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 980)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "ipa_agg_replacement_value_p"
  (!type already_seen 996)
  (!srcfileloc  "ipa-prop.h" 470)
  nil )
 (!pair  "ipa_agg_jump_function_p"
  (!type already_seen 983)
  (!srcfileloc  "ipa-prop.h" 178)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 986)
  (!srcfileloc  "ipa-prop.h" 173)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 985)
  (!srcfileloc  "ipa-prop.h" 173)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1006)
  (!srcfileloc  "passes.c" 951)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 29)
  (!srcfileloc  "passes.c" 814)
  nil )
 (!pair  "imm_info"
  (!type already_seen 1017)
  (!srcfileloc  "config/i386/i386.c" 45544)
  nil )
 (!pair  "dispatch_windows"
  (!type already_seen 1018)
  (!srcfileloc  "config/i386/i386.c" 45536)
  nil )
 (!pair  "sched_insn_info"
  (!type already_seen 1019)
  (!srcfileloc  "config/i386/i386.c" 45514)
  nil )
 (!pair  "function_version_info"
  (!type already_seen 1025)
  (!srcfileloc  "config/i386/i386.c" 31554)
  nil )
 (!pair  "const_ix86_first_cycle_multipass_data_t"
  (!type already_seen 1029)
  (!srcfileloc  "config/i386/i386.c" 26315)
  nil )
 (!pair  "ix86_first_cycle_multipass_data_t"
  (!type already_seen 1029)
  (!srcfileloc  "config/i386/i386.c" 26313)
  nil )
 (!pair  "omp_context"
  (!type already_seen 1048)
  (!srcfileloc  "omp-low.c" 178)
  nil )
 (!pair  "lambda_trans_matrix"
  (!type already_seen 1055)
  (!srcfileloc  "tree-parloops.c" 293)
  nil )
 (!pair  "name_to_copy_table_type"
  (!type already_seen 1056)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "name_to_copy_hasher"
  (!type already_seen 1057)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "hash_table<name_to_copy_hasher>"
  (!type already_seen 1056)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "reduction_info_table_type"
  (!type already_seen 1059)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "reduction_hasher"
  (!type already_seen 1060)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "hash_table<reduction_hasher>"
  (!type already_seen 1059)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 391)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 515)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 514)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "def_operand_p"
  (!type already_seen 6)
  (!srcfileloc  "tree-ssa-operands.h" 27)
  nil )
 (!pair  "t_bool"
  (!type already_seen 9)
  (!srcfileloc  "tree-scalar-evolution.c" 905)
  nil )
 (!pair  "numbered_tree"
  (!type already_seen 1070)
  (!srcfileloc  "tree-dfa.c" 704)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1084)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1086)
  (!srcfileloc  "tree-ssa-address.c" 91)
  nil )
 (!pair  "treemple"
  (!type already_seen 1098)
  (!srcfileloc  "tree-eh.c" 59)
  nil )
 (!pair  "vec<gimple,va_gc>"
  (!type already_seen 383)
  (!srcfileloc  "gimple-ssa.h" 43)
  nil )
 (!pair  "elt_t"
  (!type already_seen 1100)
  (!srcfileloc  "gimple.h" 1279)
  nil )
 (!pair  "gimple_vec"
  (!type already_seen 1145)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "vec<gimple>"
  (!type already_seen 1145)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "gimple_seq_node"
  (!type already_seen 310)
  (!srcfileloc  "gimple.h" 25)
  nil )
 (!pair  "tm_alias_pair"
  (!type already_seen 1146)
  (!srcfileloc  "varasm.c" 5756)
  nil )
 (!pair  "oc_local_state"
  (!type already_seen 1147)
  (!srcfileloc  "varasm.c" 4839)
  nil )
 (!pair  "oc_outer_state"
  (!type already_seen 1148)
  (!srcfileloc  "varasm.c" 4577)
  nil )
 (!pair  "block_info"
  (!type already_seen 1164)
  (!srcfileloc  "reg-stack.c" 215)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1166)
  (!srcfileloc  "reg-stack.c" 202)
  nil )
 (!pair  "augmenting_path_type"
  (!type already_seen 1168)
  (!srcfileloc  "mcf.c" 140)
  nil )
 (!pair  "queue_type"
  (!type already_seen 1169)
  (!srcfileloc  "mcf.c" 129)
  nil )
 (!pair  "fixup_graph_type"
  (!type already_seen 1170)
  (!srcfileloc  "mcf.c" 121)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1172)
  (!srcfileloc  "mcf.c" 104)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1171)
  (!srcfileloc  "mcf.c" 102)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1174)
  (!srcfileloc  "mcf.c" 95)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1173)
  (!srcfileloc  "mcf.c" 93)
  nil )
 (!pair  "edge_type"
  (!type already_seen 9)
  (!srcfileloc  "mcf.c" 74)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1186)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1186)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1188)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "vec<rtx>"
  (!type already_seen 1188)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1187)
  (!srcfileloc  "gcse.c" 405)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1194)
  (!srcfileloc  "gcse.c" 309)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1198)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1199)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1198)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1200)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1201)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1200)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1204)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1205)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1204)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "initial_value_struct"
  (!type already_seen 1395)
  (!srcfileloc  "function.c" 1219)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1214)
  (!srcfileloc  "function.c" 1211)
  nil )
 (!pair  "function_p"
  (!type already_seen 349)
  (!srcfileloc  "function.c" 131)
  nil )
 (!pair  "sepops"
  (!type already_seen 1224)
  (!srcfileloc  "expr.h" 142)
  nil )
 (!pair  "duplicate_eh_regions_map"
  (!type already_seen 9)
  (!srcfileloc  "except.h" 251)
  nil )
 (!pair  "vec<eh_landing_pad,va_gc>"
  (!type already_seen 366)
  (!srcfileloc  "except.h" 203)
  nil )
 (!pair  "vec<eh_region,va_gc>"
  (!type already_seen 364)
  (!srcfileloc  "except.h" 200)
  nil )
 (!pair  "eh_region"
  (!type already_seen 353)
  (!srcfileloc  "except.h" 187)
  nil )
 (!pair  "eh_catch"
  (!type already_seen 357)
  (!srcfileloc  "except.h" 186)
  nil )
 (!pair  "eh_landing_pad"
  (!type already_seen 361)
  (!srcfileloc  "except.h" 185)
  nil )
 (!pair  "elem_op_func"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 114)
  nil )
 (!pair  "loc_list_hash_type"
  (!type already_seen 1229)
  (!srcfileloc  "dwarf2out.c" 23887)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1230)
  (!srcfileloc  "dwarf2out.c" 23887)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1229)
  (!srcfileloc  "dwarf2out.c" 23887)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1232)
  (!srcfileloc  "dwarf2out.c" 21703)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 21703)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1232)
  (!srcfileloc  "dwarf2out.c" 21703)
  nil )
 (!pair  "dchar_p"
  (!type already_seen 29)
  (!srcfileloc  "dwarf2out.c" 19148)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1237)
  (!srcfileloc  "dwarf2out.c" 7518)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1238)
  (!srcfileloc  "dwarf2out.c" 7518)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1237)
  (!srcfileloc  "dwarf2out.c" 7518)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1240)
  (!srcfileloc  "dwarf2out.c" 6983)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1241)
  (!srcfileloc  "dwarf2out.c" 6983)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1240)
  (!srcfileloc  "dwarf2out.c" 6983)
  nil )
 (!pair  "cu_hash_type"
  (!type already_seen 1243)
  (!srcfileloc  "dwarf2out.c" 6658)
  nil )
 (!pair  "cu_hash_table_entry_hasher"
  (!type already_seen 1244)
  (!srcfileloc  "dwarf2out.c" 6658)
  nil )
 (!pair  "hash_table<cu_hash_table_entry_hasher>"
  (!type already_seen 1243)
  (!srcfileloc  "dwarf2out.c" 6658)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1248)
  (!srcfileloc  "dwarf2out.c" 2920)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1251)
  (!srcfileloc  "dwarf2out.c" 2868)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1254)
  (!srcfileloc  "dwarf2out.c" 2860)
  nil )
 (!pair  "vec<dw_line_info_table_p,va_gc>"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 2852)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 2818)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1270)
  (!srcfileloc  "dwarf2out.c" 2781)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 2743)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1274)
  (!srcfileloc  "dwarf2out.c" 2631)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1275)
  (!srcfileloc  "dwarf2out.c" 2623)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 435)
  (!srcfileloc  "dwarf2out.c" 2615)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 2598)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 2582)
  nil )
 (!pair  "die_node"
  (!type already_seen 432)
  (!srcfileloc  "dwarf2out.c" 2565)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 438)
  (!srcfileloc  "dwarf2out.c" 2550)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 439)
  (!srcfileloc  "dwarf2out.c" 2536)
  nil )
 (!pair  "dw_line_info_table_p"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 2525)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 2523)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1263)
  (!srcfileloc  "dwarf2out.c" 2522)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1264)
  (!srcfileloc  "dwarf2out.c" 2506)
  nil )
 (!pair  "comdat_type_node_ref"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.c" 2470)
  nil )
 (!pair  "dw_ranges_by_label_ref"
  (!type already_seen 1278)
  (!srcfileloc  "dwarf2out.c" 2469)
  nil )
 (!pair  "dw_ranges_ref"
  (!type already_seen 1280)
  (!srcfileloc  "dwarf2out.c" 2468)
  nil )
 (!pair  "pubname_ref"
  (!type already_seen 1257)
  (!srcfileloc  "dwarf2out.c" 2467)
  nil )
 (!pair  "dw_line_info_ref"
  (!type already_seen 1265)
  (!srcfileloc  "dwarf2out.c" 2466)
  nil )
 (!pair  "dw_attr_ref"
  (!type already_seen 440)
  (!srcfileloc  "dwarf2out.c" 2465)
  nil )
 (!pair  "dw_offset"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2461)
  nil )
 (!pair  "dw_loc_list_node"
  (!type already_seen 427)
  (!srcfileloc  "dwarf2out.c" 1283)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 423)
  (!srcfileloc  "dwarf2out.c" 1259)
  nil )
 (!pair  "vec<deferred_locations,va_gc>"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 1237)
  nil )
 (!pair  "deferred_locations"
  (!type already_seen 1283)
  (!srcfileloc  "dwarf2out.c" 1234)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1284)
  (!srcfileloc  "dwarf2out.c" 203)
  nil )
 (!pair  "queued_reg_save"
  (!type already_seen 1287)
  (!srcfileloc  "dwarf2cfi.c" 222)
  nil )
 (!pair  "dw_trace_info_ref"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2cfi.c" 156)
  nil )
 (!pair  "dw_trace_info"
  (!type already_seen 1289)
  (!srcfileloc  "dwarf2cfi.c" 153)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1291)
  (!srcfileloc  "dwarf2cfi.c" 80)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2cfi.c" 74)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 1295)
  (!srcfileloc  "dwarf2cfi.c" 69)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 420)
  (!srcfileloc  "dwarf2out.h" 211)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 428)
  (!srcfileloc  "dwarf2out.h" 179)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 411)
  (!srcfileloc  "dwarf2out.h" 65)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 413)
  (!srcfileloc  "dwarf2out.h" 63)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 414)
  (!srcfileloc  "dwarf2out.h" 63)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 417)
  (!srcfileloc  "dwarf2out.h" 52)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 426)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 418)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 415)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 421)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 430)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 430)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "odr_type"
  (!type already_seen 850)
  (!srcfileloc  "ipa-utils.h" 72)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 851)
  (!srcfileloc  "ipa-utils.h" 72)
  nil )
 (!pair  "const_bitmap_descriptor"
  (!type already_seen 1327)
  (!srcfileloc  "bitmap.c" 45)
  nil )
 (!pair  "bitmap_descriptor"
  (!type already_seen 1327)
  (!srcfileloc  "bitmap.c" 44)
  nil )
 (!pair  "vec<alias_set_entry,va_gc>"
  (!type already_seen 1328)
  (!srcfileloc  "alias.c" 267)
  nil )
 (!pair  "alias_set_entry"
  (!type already_seen 1330)
  (!srcfileloc  "alias.c" 149)
  nil )
 (!pair  "cgraph_2node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 833)
  nil )
 (!pair  "cgraph_2edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 831)
  nil )
 (!pair  "varpool_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 829)
  nil )
 (!pair  "cgraph_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 828)
  nil )
 (!pair  "cgraph_edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 827)
  nil )
 (!pair  "cgraph_edge_p"
  (!type already_seen 919)
  (!srcfileloc  "cgraph.h" 632)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1355)
  (!srcfileloc  "cgraph.h" 506)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1357)
  (!srcfileloc  "cgraph.h" 503)
  nil )
 (!pair  "varpool_node_ptr"
  (!type already_seen 1361)
  (!srcfileloc  "cgraph.h" 492)
  nil )
 (!pair  "varpool_node"
  (!type already_seen 1360)
  (!srcfileloc  "cgraph.h" 492)
  nil )
 (!pair  "cgraph_node_ptr"
  (!type already_seen 916)
  (!srcfileloc  "cgraph.h" 439)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 929)
  (!srcfileloc  "cgraph.h" 391)
  nil )
 (!pair  "vec<ipa_replace_map_p,va_gc>"
  (!type already_seen 937)
  (!srcfileloc  "cgraph.h" 256)
  nil )
 (!pair  "ipa_replace_map_p"
  (!type already_seen 938)
  (!srcfileloc  "cgraph.h" 252)
  nil )
 (!pair  "vec<ipa_ref_ptr>"
  (!type already_seen 948)
  (!srcfileloc  "ipa-ref.h" 58)
  nil )
 (!pair  "vec<ipa_ref_t,va_gc>"
  (!type already_seen 945)
  (!srcfileloc  "ipa-ref.h" 55)
  nil )
 (!pair  "ipa_ref_ptr"
  (!type already_seen 947)
  (!srcfileloc  "ipa-ref.h" 48)
  nil )
 (!pair  "ipa_ref_t"
  (!type already_seen 946)
  (!srcfileloc  "ipa-ref.h" 47)
  nil )
 (!pair  "symtab_node"
  (!type already_seen 941)
  (!srcfileloc  "ipa-ref.h" 38)
  nil )
 (!pair  "gcov_working_set_t"
  (!type already_seen 1362)
  (!srcfileloc  "basic-block.h" 941)
  nil )
 (!pair  "vec<basic_block,va_gc>"
  (!type already_seen 377)
  (!srcfileloc  "basic-block.h" 282)
  nil )
 (!pair  "__assert_gimple_bb_smaller_rtl_bb"
  (!type array 1486 nil  gc_unused "(int) sizeof (struct rtl_bb_info)\n               - (int) sizeof (struct gimple_bb_info)" 
   (!type already_seen 9)
  )
  (!srcfileloc  "basic-block.h" 215)
  nil )
 (!pair  "vec<edge,va_gc>"
  (!type already_seen 300)
  (!srcfileloc  "basic-block.h" 169)
  nil )
 (!pair  "edge_def"
  (!type already_seen 302)
  (!srcfileloc  "basic-block.h" 59)
  nil )
 (!pair  "cselib_expand_callback"
  (!type already_seen 9)
  (!srcfileloc  "cselib.h" 84)
  nil )
 (!pair  "vec<loop_p,va_gc>"
  (!type already_seen 307)
  (!srcfileloc  "cfgloop.h" 127)
  nil )
 (!pair  "loop_p"
  (!type already_seen 303)
  (!srcfileloc  "cfgloop.h" 90)
  nil )
 (!pair  "noswitch_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 476)
  nil )
 (!pair  "unnamed_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 450)
  nil )
 (!pair  "__gcc_host_wide_int__"
  (!type already_seen 9)
  (!srcfileloc  "hwint.h" 122)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1399)
  (!srcfileloc  "function.h" 309)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 930)
  (!srcfileloc  "function.h" 171)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 931)
  (!srcfileloc  "function.h" 171)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1218)
  (!srcfileloc  "function.h" 166)
  nil )
 (!pair  "vec<call_site_record,va_gc>"
  (!type already_seen 1391)
  (!srcfileloc  "function.h" 154)
  nil )
 (!pair  "vec<uchar,va_gc>"
  (!type already_seen 373)
  (!srcfileloc  "function.h" 152)
  nil )
 (!pair  "call_site_record"
  (!type already_seen 1392)
  (!srcfileloc  "function.h" 141)
  nil )
 (!pair  "ht_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/symtab.h" 89)
  nil )
 (!pair  "hashnode"
  (!type already_seen 34)
  (!srcfileloc  "../libcpp/include/symtab.h" 41)
  nil )
 (!pair  "cpp_hash_table"
  (!type already_seen 1402)
  (!srcfileloc  "../libcpp/include/symtab.h" 40)
  nil )
 (!pair  "ht_identifier_ptr"
  (!type already_seen 34)
  (!srcfileloc  "../libcpp/include/symtab.h" 30)
  nil )
 (!pair  "ht_identifier"
  (!type already_seen 33)
  (!srcfileloc  "../libcpp/include/symtab.h" 29)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 1406)
  (!srcfileloc  "tree-core.h" 1833)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 1405)
  (!srcfileloc  "tree-core.h" 1798)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 1403)
  (!srcfileloc  "tree-core.h" 1798)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 1423)
  (!srcfileloc  "tree-core.h" 1710)
  nil )
 (!pair  "vec<tree,va_gc>"
  (!type already_seen 46)
  (!srcfileloc  "tree-core.h" 1233)
  nil )
 (!pair  "constructor_elt"
  (!type already_seen 471)
  (!srcfileloc  "tree-core.h" 1109)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 470)
  (!srcfileloc  "tree-core.h" 1109)
  nil )
 (!pair  "walk_tree_lh"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 683)
  nil )
 (!pair  "walk_tree_fn"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 679)
  nil )
 (!pair  "priority_type"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 676)
  nil )
 (!pair  "direct_optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 28)
  nil )
 (!pair  "convert_optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 27)
  nil )
 (!pair  "optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 26)
  nil )
 (!pair  "hash_rtx_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2104)
  nil )
 (!pair  "rtx_equal_p_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2099)
  nil )
 (!pair  "for_each_inc_dec_fn"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2095)
  nil )
 (!pair  "rtx_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2084)
  nil )
 (!pair  "va_gc"
  (!type already_seen 3)
  (!srcfileloc  "rtl.h" 238)
  nil )
 (!pair  "vec<rtx,va_gc>"
  (!type already_seen 252)
  (!srcfileloc  "rtl.h" 238)
  nil )
 (!pair  "rtunion"
  (!type already_seen 242)
  (!srcfileloc  "rtl.h" 208)
  nil )
 (!pair  "counts_entry_t"
  (!type already_seen 1440)
  (!srcfileloc  "coverage.c" 90)
  nil )
 (!pair  "alias_set_type"
  (!type already_seen 9)
  (!srcfileloc  "alias.h" 29)
  nil )
 (!pair  "bitmap_obstack"
  (!type already_seen 126)
  (!srcfileloc  "bitmap.h" 187)
  nil )
 (!pair  "bitmap_element"
  (!type already_seen 123)
  (!srcfileloc  "bitmap.h" 185)
  nil )
 (!pair  "BITMAP_WORD"
  (!type already_seen 9)
  (!srcfileloc  "bitmap.h" 136)
  nil )
 (!pair  "splay_tree"
  (!type already_seen 1335)
  (!srcfileloc  "../include/splay-tree.h" 125)
  nil )
 (!pair  "splay_tree_deallocate_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 86)
  nil )
 (!pair  "splay_tree_allocate_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 80)
  nil )
 (!pair  "splay_tree_foreach_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 74)
  nil )
 (!pair  "splay_tree_delete_value_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 71)
  nil )
 (!pair  "splay_tree_delete_key_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 67)
  nil )
 (!pair  "splay_tree_compare_fn"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 63)
  nil )
 (!pair  "splay_tree_node"
  (!type already_seen 1336)
  (!srcfileloc  "../include/splay-tree.h" 59)
  nil )
 (!pair  "splay_tree_value"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 56)
  nil )
 (!pair  "splay_tree_key"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 55)
  nil )
 (!pair  "htab_t"
  (!type already_seen 50)
  (!srcfileloc  "../include/hashtab.h" 144)
  nil )
 (!pair  "htab_free_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 83)
  nil )
 (!pair  "htab_alloc_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 82)
  nil )
 (!pair  "htab_free"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 78)
  nil )
 (!pair  "htab_alloc"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 75)
  nil )
 (!pair  "htab_trav"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 69)
  nil )
 (!pair  "htab_del"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 63)
  nil )
 (!pair  "htab_eq"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 59)
  nil )
 (!pair  "htab_hash"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 52)
  nil )
 (!pair  "hashval_t"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 47)
  nil )
 (!pair  "gt_pointer_operator"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 218)
  nil )
 (!pair  "reg_class_t"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 169)
  nil )
 (!pair  "const_basic_block"
  (!type already_seen 297)
  (!srcfileloc  "coretypes.h" 156)
  nil )
 (!pair  "basic_block"
  (!type already_seen 297)
  (!srcfileloc  "coretypes.h" 155)
  nil )
 (!pair  "const_edge"
  (!type already_seen 301)
  (!srcfileloc  "coretypes.h" 153)
  nil )
 (!pair  "edge"
  (!type already_seen 301)
  (!srcfileloc  "coretypes.h" 152)
  nil )
 (!pair  "addr_space_t"
  (!type already_seen 28)
  (!srcfileloc  "coretypes.h" 80)
  nil )
 (!pair  "section"
  (!type already_seen 246)
  (!srcfileloc  "coretypes.h" 69)
  nil )
 (!pair  "gimple_seq"
  (!type already_seen 310)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "const_gimple"
  (!type already_seen 310)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "gimple"
  (!type already_seen 310)
  (!srcfileloc  "coretypes.h" 64)
  nil )
 (!pair  "const_tree"
  (!type already_seen 5)
  (!srcfileloc  "coretypes.h" 63)
  nil )
 (!pair  "tree"
  (!type already_seen 5)
  (!srcfileloc  "coretypes.h" 62)
  nil )
 (!pair  "const_rtvec"
  (!type already_seen 261)
  (!srcfileloc  "coretypes.h" 60)
  nil )
 (!pair  "rtvec"
  (!type already_seen 261)
  (!srcfileloc  "coretypes.h" 59)
  nil )
 (!pair  "const_rtx"
  (!type already_seen 136)
  (!srcfileloc  "coretypes.h" 57)
  nil )
 (!pair  "rtx"
  (!type already_seen 136)
  (!srcfileloc  "coretypes.h" 56)
  nil )
 (!pair  "const_sbitmap"
  (!type already_seen 1461)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 1461)
  (!srcfileloc  "coretypes.h" 53)
  nil )
 (!pair  "const_bitmap"
  (!type already_seen 120)
  (!srcfileloc  "coretypes.h" 51)
  nil )
 (!pair  "bitmap"
  (!type already_seen 120)
  (!srcfileloc  "coretypes.h" 50)
  nil )
 (!pair  "gcov_type_unsigned"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 47)
  nil )
 (!pair  "gcov_type"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 46)
  nil )
 (!pair  "location_t"
  (!type already_seen 9)
  (!srcfileloc  "input.h" 47)
  nil )
 (!pair  "uchar"
  (!type already_seen 28)
  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 21)
  nil )
 (!pair  "cpp_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1021)
  nil )
 (!pair  "cpp_comment_table"
  (!type already_seen 1463)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1008)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 1464)
  (!srcfileloc  "../libcpp/include/cpplib.h" 994)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 1465)
  (!srcfileloc  "../libcpp/include/cpplib.h" 823)
  nil )
 (!pair  "cpp_num_part"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 822)
  nil )
 (!pair  "missing_header_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 519)
  nil )
 (!pair  "cppchar_signed_t"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 269)
  nil )
 (!pair  "cppchar_t"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 268)
  nil )
 (!pair  "cpp_dir"
  (!type already_seen 1467)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 1468)
  (!srcfileloc  "../libcpp/include/cpplib.h" 36)
  nil )
 (!pair  "cpp_macro"
  (!type already_seen 575)
  (!srcfileloc  "../libcpp/include/cpplib.h" 35)
  nil )
 (!pair  "cpp_hashnode"
  (!type already_seen 570)
  (!srcfileloc  "../libcpp/include/cpplib.h" 34)
  nil )
 (!pair  "cpp_string"
  (!type already_seen 581)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 578)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 1469)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 1470)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 1471)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 1473)
  (!srcfileloc  "../libcpp/include/line-map.h" 640)
  nil )
 (!pair  "line_map_round_alloc_size_func"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 57)
  nil )
 (!pair  "line_map_realloc"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 53)
  nil )
 (!pair  "source_location"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 50)
  nil )
 (!pair  "linenum_type"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/line-map.h" 47)
  nil )
 (!pair  "PTR"
  (!type already_seen 10)
  (!srcfileloc  "gengtype.c" 5681)
  nil )
 (!pair  "void"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5678)
  nil )
 (!pair  "JCF_u2"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5677)
  nil )
 (!pair  "jword"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5676)
  nil )
 (!pair  "uintptr_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5675)
  nil )
 (!pair  "uint8"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5674)
  nil )
 (!pair  "uint64_t"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5673)
  nil )
 (!pair  "double_int"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5672)
  nil )
 (!pair  "FIXED_VALUE_TYPE"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5671)
  nil )
 (!pair  "REAL_VALUE_TYPE"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5670)
  nil )
 (!pair  "CUMULATIVE_ARGS"
  (!type already_seen 9)
  (!srcfileloc  "gengtype.c" 5669)
  nil )
)
(!param_structs 48
 (!type param_struct 1487 nil  gc_pointed_to
  (!type already_seen 1337)
  nil 
  (!type already_seen 9)
  
  (!type already_seen 9)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1488 nil  gc_pointed_to
  (!type already_seen 1337)
  nil 
  (!type already_seen 36)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1489 nil  gc_pointed_to
  (!type already_seen 1337)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1490 
  (!type pointer 1491 nil  gc_used
   (!type already_seen 1490)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 631)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 473)
 
 (!type already_seen 48)
 
 (!type param_struct 1492 
  (!type pointer 1493 nil  gc_used
   (!type already_seen 1492)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 673)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1494 
  (!type pointer 1495 nil  gc_used
   (!type already_seen 1494)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 686)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1496 
  (!type pointer 1497 nil  gc_used
   (!type already_seen 1496)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 714)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1498 
  (!type pointer 1499 nil  gc_used
   (!type already_seen 1498)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 715)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1500 
  (!type pointer 1501 nil  gc_used
   (!type already_seen 1500)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 726)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 107)
 
 (!type already_seen 91)
 
 (!type param_struct 1502 
  (!type pointer 1503 nil  gc_used
   (!type already_seen 1502)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 815)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1504 
  (!type pointer 1505 nil  gc_used
   (!type already_seen 1504)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1416)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1506 
  (!type pointer 1507 nil  gc_used
   (!type already_seen 1506)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 861)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 953)
 
 (!type param_struct 1508 
  (!type pointer 1509 nil  gc_used
   (!type already_seen 1508)
  )
  gc_pointed_to
  (!type already_seen 1334)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1510 
  (!type pointer 1511 nil  gc_used
   (!type already_seen 1510)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1069)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 394)
 
 (!type param_struct 1512 
  (!type pointer 1513 nil  gc_used
   (!type already_seen 1512)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1420)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1385)
 
 (!type param_struct 1514 
  (!type pointer 1515 nil  gc_used
   (!type already_seen 1514)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1344)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1516 
  (!type pointer 1517 nil  gc_used
   (!type already_seen 1516)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 243)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1518 
  (!type pointer 1519 nil  gc_used
   (!type already_seen 1518)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 245)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1520 
  (!type pointer 1521 nil  gc_used
   (!type already_seen 1520)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1414)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1522 
  (!type pointer 1523 nil  gc_used
   (!type already_seen 1522)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1412)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1524 
  (!type pointer 1525 nil  gc_used
   (!type already_seen 1524)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1418)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1526 
  (!type pointer 1527 nil  gc_used
   (!type already_seen 1526)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1154)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1528 
  (!type pointer 1529 nil  gc_used
   (!type already_seen 1528)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1217)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 368)
 
 (!type param_struct 1530 
  (!type pointer 1531 nil  gc_used
   (!type already_seen 1530)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 269)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1532 
  (!type pointer 1533 nil  gc_used
   (!type already_seen 1532)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 136)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1534 
  (!type pointer 1535 nil  gc_used
   (!type already_seen 1534)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 422)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1536 
  (!type pointer 1537 nil  gc_used
   (!type already_seen 1536)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1267)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1538 
  (!type pointer 1539 nil  gc_used
   (!type already_seen 1538)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1271)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1540 
  (!type pointer 1541 nil  gc_used
   (!type already_seen 1540)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 430)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1542 
  (!type pointer 1543 nil  gc_used
   (!type already_seen 1542)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 443)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1544 
  (!type pointer 1545 nil  gc_used
   (!type already_seen 1544)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 441)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1546 
  (!type pointer 1547 nil  gc_used
   (!type already_seen 1546)
  )
  gc_pointed_to
  (!type already_seen 1334)
  nil 
  (!type already_seen 36)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1548 
  (!type pointer 1549 nil  gc_used
   (!type already_seen 1548)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1359)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1333)
 
 (!type param_struct 1550 
  (!type pointer 1551 nil  gc_used
   (!type already_seen 1550)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 942)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 924)
 
 (!type already_seen 400)
 
 (!type param_struct 1552 
  (!type pointer 1553 nil  gc_used
   (!type already_seen 1552)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1375)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 54)
 
 (!type already_seen 546)
)
(!variables 622
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3608)
  nil )
 (!pair  "next_v2_EHTYPE_id_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3398)
  nil )
 (!pair  "next_v2_ehvtable_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3397)
  nil )
 (!pair  "objc_v2_ehtype_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3396)
  nil )
 (!pair  "ehtype_list"
  (!type already_seen 627)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 3055)
  nil )
 (!pair  "ivar_offset_refs"
  (!type already_seen 2)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
  nil )
 (!pair  "protlist"
  (!type already_seen 621)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2110)
  nil )
 (!pair  "nonlazy_category_list"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2022)
  nil )
 (!pair  "category_list"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2011)
  nil )
 (!pair  "nonlazy_class_list"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2000)
  nil )
 (!pair  "class_list"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1992)
  nil )
 (!pair  "metaclass_super_refs"
  (!type already_seen 627)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1436)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 627)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1435)
  nil )
 (!pair  "protrefs"
  (!type already_seen 621)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 624)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  nil )
 (!pair  "classrefs"
  (!type already_seen 627)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  nil )
 (!pair  "extern_names"
  (!type already_seen 639)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 236)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 1554 nil  gc_used "OCTI_V2_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 186)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1555 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 183)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 2786)
  nil )
 (!pair  "V1_Property_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1516)
  nil )
 (!pair  "V1_ProtocolExt_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1515)
  nil )
 (!pair  "V1_Protocol_OPT_CLS_METHODS_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1514)
  nil )
 (!pair  "V1_Protocol_OPT_NST_METHODS_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1513)
  nil )
 (!pair  "objc_class_ext_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1108)
  nil )
 (!pair  "objc_protocol_extension_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1074)
  nil )
 (!pair  "objc_v1_property_template"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 1044)
  nil )
 (!pair  "class_reference_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 676)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1556 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-next-runtime-abi-01.c" 107)
  nil )
 (!pair  "objc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 2137)
  nil )
 (!pair  "num_static_inst"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 858)
  nil )
 (!pair  "meta_base"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 191)
  nil )
 (!pair  "objc_meta"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-gnu-runtime-abi-01.c" 190)
  nil )
 (!pair  "property_name_attr_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 294)
  nil )
 (!pair  "meth_var_types_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 293)
  nil )
 (!pair  "meth_var_names_idx"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 292)
  nil )
 (!pair  "objc_rt_trees"
  (!type array 1557 nil  gc_used "OCTI_RT_META_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-runtime-shared-support.c" 56)
  nil )
 (!pair  "objc_parmlist"
  (!type already_seen 5)
  (!srcfileloc  "objc/objc-act.c" 8221)
  nil )
 (!pair  "interface_map"
  (!type already_seen 641)
  (!srcfileloc  "objc/objc-act.c" 3759)
  nil )
 (!pair  "string_layout_checked"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.c" 3044)
  nil )
 (!pair  "string_htab"
  (!type already_seen 1491)
  (!srcfileloc  "objc/objc-act.c" 263)
  (!options 
   (!option param_is type 
    (!type already_seen 630)
   )
  )
 )
 (!pair  "alias_name_map"
  (!type already_seen 641)
  (!srcfileloc  "objc/objc-act.c" 173)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 641)
  (!srcfileloc  "objc/objc-act.c" 172)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 641)
  (!srcfileloc  "objc/objc-act.c" 168)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 641)
  (!srcfileloc  "objc/objc-act.c" 167)
  nil )
 (!pair  "objc_global_trees"
  (!type array 1558 nil  gc_used "OCTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "objc/objc-act.h" 399)
  nil )
 (!pair  "objc_ivar_visibility"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 273)
  nil )
 (!pair  "cat_count"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 271)
  nil )
 (!pair  "imp_count"
  (!type already_seen 9)
  (!srcfileloc  "objc/objc-act.h" 270)
  nil )
 (!pair  "imp_list"
  (!type already_seen 634)
  (!srcfileloc  "objc/objc-act.h" 269)
  nil )
 (!pair  "local_variables_to_volatilize"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-act.h" 256)
  nil )
 (!pair  "lto_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 3321)
  nil )
 (!pair  "real_file_decl_data"
  (!type already_seen 950)
  (!srcfileloc  "lto/lto.c" 2880)
  (!options 
   (!option length string  "real_file_count + 1")
  )
 )
 (!pair  "all_file_decl_data"
  (!type already_seen 950)
  (!srcfileloc  "lto/lto.c" 2848)
  (!options 
   (!option length string  "lto_stats.num_input_files + 1")
  )
 )
 (!pair  "tree_with_vars"
  (!type already_seen 45)
  (!srcfileloc  "lto/lto.c" 697)
  nil )
 (!pair  "first_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 57)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 693)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 190)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 189)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 188)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 187)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 186)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 185)
  nil )
 (!pair  "builtin_types"
  (!type array 1559 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 183)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1560 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 136)
  nil )
 (!pair  "resources"
  (!type already_seen 45)
  (!srcfileloc  "java/resource.c" 41)
  nil )
 (!pair  "compression_table"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 298)
  nil )
 (!pair  "atms"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 72)
  nil )
 (!pair  "java_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 915)
  nil )
 (!pair  "last_error_function"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 483)
  nil )
 (!pair  "last_error_function_context"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 482)
  nil )
 (!pair  "all_class_list"
  (!type already_seen 45)
  (!srcfileloc  "java/jcf-parse.c" 88)
  nil )
 (!pair  "main_jcf"
  (!type already_seen 455)
  (!srcfileloc  "java/jcf-parse.c" 85)
  nil )
 (!pair  "parse_roots"
  (!type array 1561 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/jcf-parse.c" 73)
  nil )
 (!pair  "class_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 2360)
  nil )
 (!pair  "page_size"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 130)
  nil )
 (!pair  "quick_stack"
  (!type already_seen 45)
  (!srcfileloc  "java/expr.c" 126)
  nil )
 (!pair  "ncode_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 92)
  nil )
 (!pair  "methods_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 91)
  nil )
 (!pair  "operand_type"
  (!type array 1562 nil  gc_used "59" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/expr.c" 89)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "java/decl.c" 439)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "java/decl.c" 433)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "java/decl.c" 429)
  nil )
 (!pair  "pending_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 118)
  nil )
 (!pair  "base_decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 110)
  nil )
 (!pair  "decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 104)
  nil )
 (!pair  "tag_nodes"
  (!type array 1563 nil  gc_used "13" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/constants.c" 318)
  nil )
 (!pair  "alias_labelno"
  (!type already_seen 9)
  (!srcfileloc  "java/class.c" 1372)
  nil )
 (!pair  "this_classdollar"
  (!type already_seen 5)
  (!srcfileloc  "java/class.c" 106)
  nil )
 (!pair  "registered_class"
  (!type already_seen 45)
  (!srcfileloc  "java/class.c" 102)
  nil )
 (!pair  "class_roots"
  (!type array 1564 nil  gc_used "4" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/class.c" 96)
  nil )
 (!pair  "java_builtins"
  (!type array 1565 nil  gc_used "" 
   (!type already_seen 650)
  )
  (!srcfileloc  "java/builtins.c" 86)
  nil )
 (!pair  "pending_static_fields"
  (!type already_seen 45)
  (!srcfileloc  "java/java-tree.h" 1182)
  nil )
 (!pair  "soft_resolvepoolentry_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 575)
  nil )
 (!pair  "java_global_trees"
  (!type array 1566 nil  gc_used "JTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/java-tree.h" 319)
  nil )
 (!pair  "constants_data_field_decl_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 178)
  nil )
 (!pair  "constants_field_decl_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 175)
  nil )
 (!pair  "gcj_abi_version"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 172)
  nil )
 (!pair  "java_io_serializable_identifier_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 171)
  nil )
 (!pair  "java_lang_cloneable_identifier_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 170)
  nil )
 (!pair  "current_jcf"
  (!type already_seen 455)
  (!srcfileloc  "java/java-tree.h" 121)
  nil )
 (!pair  "go_non_zero_struct"
  (!type already_seen 5)
  (!srcfileloc  "go/go-c.h" 64)
  nil )
 (!pair  "go_gc_root"
  (!type already_seen 5)
  (!srcfileloc  "go/go-lang.c" 445)
  nil )
 (!pair  "gfc_rank_cst"
  (!type array 1567 nil  gc_used "GFC_MAX_DIMENSIONS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-const.h" 60)
  nil )
 (!pair  "gfor_fndecl_sr_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 778)
  nil )
 (!pair  "gfor_fndecl_si_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 777)
  nil )
 (!pair  "gfor_fndecl_sc_kind"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 776)
  nil )
 (!pair  "gfor_fndecl_iargc"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 773)
  nil )
 (!pair  "gfor_fndecl_size1"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 772)
  nil )
 (!pair  "gfor_fndecl_size0"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 771)
  nil )
 (!pair  "gfor_fndecl_convert_char4_to_char1"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 768)
  nil )
 (!pair  "gfor_fndecl_convert_char1_to_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 767)
  nil )
 (!pair  "gfor_fndecl_select_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 764)
  nil )
 (!pair  "gfor_fndecl_adjustr_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 763)
  nil )
 (!pair  "gfor_fndecl_adjustl_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 762)
  nil )
 (!pair  "gfor_fndecl_string_minmax_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 761)
  nil )
 (!pair  "gfor_fndecl_string_trim_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 760)
  nil )
 (!pair  "gfor_fndecl_string_verify_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 759)
  nil )
 (!pair  "gfor_fndecl_string_scan_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 758)
  nil )
 (!pair  "gfor_fndecl_string_index_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 757)
  nil )
 (!pair  "gfor_fndecl_string_len_trim_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 756)
  nil )
 (!pair  "gfor_fndecl_concat_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 755)
  nil )
 (!pair  "gfor_fndecl_compare_string_char4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 754)
  nil )
 (!pair  "gfor_fndecl_select_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 753)
  nil )
 (!pair  "gfor_fndecl_adjustr"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 752)
  nil )
 (!pair  "gfor_fndecl_adjustl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 751)
  nil )
 (!pair  "gfor_fndecl_string_minmax"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 750)
  nil )
 (!pair  "gfor_fndecl_string_trim"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 749)
  nil )
 (!pair  "gfor_fndecl_string_verify"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 748)
  nil )
 (!pair  "gfor_fndecl_string_scan"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 747)
  nil )
 (!pair  "gfor_fndecl_string_index"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 746)
  nil )
 (!pair  "gfor_fndecl_string_len_trim"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 745)
  nil )
 (!pair  "gfor_fndecl_concat_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 744)
  nil )
 (!pair  "gfor_fndecl_compare_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 743)
  nil )
 (!pair  "gfor_fndecl_zgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 740)
  nil )
 (!pair  "gfor_fndecl_cgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 739)
  nil )
 (!pair  "gfor_fndecl_dgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 738)
  nil )
 (!pair  "gfor_fndecl_sgemm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 737)
  nil )
 (!pair  "gfor_fndecl_math_ishftc16"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 734)
  nil )
 (!pair  "gfor_fndecl_math_ishftc8"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 733)
  nil )
 (!pair  "gfor_fndecl_math_ishftc4"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 732)
  nil )
 (!pair  "gfor_fndecl_math_powi"
  (!type array 1568 nil  gc_used "4" 
   (!type array 1569 nil  gc_used "3" 
    (!type already_seen 657)
   )
  )
  (!srcfileloc  "fortran/trans.h" 731)
  nil )
 (!pair  "gfort_gvar_caf_this_image"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 718)
  nil )
 (!pair  "gfort_gvar_caf_num_images"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 717)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop_str"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 714)
  nil )
 (!pair  "gfor_fndecl_caf_error_stop"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 713)
  nil )
 (!pair  "gfor_fndecl_caf_sync_images"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 712)
  nil )
 (!pair  "gfor_fndecl_caf_sync_all"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 711)
  nil )
 (!pair  "gfor_fndecl_caf_end_critical"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 710)
  nil )
 (!pair  "gfor_fndecl_caf_critical"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 709)
  nil )
 (!pair  "gfor_fndecl_caf_deregister"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 708)
  nil )
 (!pair  "gfor_fndecl_caf_register"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 707)
  nil )
 (!pair  "gfor_fndecl_caf_finalize"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 706)
  nil )
 (!pair  "gfor_fndecl_caf_init"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 705)
  nil )
 (!pair  "gfor_fndecl_associated"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 701)
  nil )
 (!pair  "gfor_fndecl_in_unpack"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 700)
  nil )
 (!pair  "gfor_fndecl_in_pack"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 699)
  nil )
 (!pair  "gfor_fndecl_fdate"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 698)
  nil )
 (!pair  "gfor_fndecl_ctime"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 697)
  nil )
 (!pair  "gfor_fndecl_ttynam"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 696)
  nil )
 (!pair  "gfor_fndecl_set_options"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 695)
  nil )
 (!pair  "gfor_fndecl_set_fpe"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 694)
  nil )
 (!pair  "gfor_fndecl_generate_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 693)
  nil )
 (!pair  "gfor_fndecl_os_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 692)
  nil )
 (!pair  "gfor_fndecl_runtime_warning_at"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 691)
  nil )
 (!pair  "gfor_fndecl_runtime_error_at"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 690)
  nil )
 (!pair  "gfor_fndecl_runtime_error"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 689)
  nil )
 (!pair  "gfor_fndecl_error_stop_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 688)
  nil )
 (!pair  "gfor_fndecl_error_stop_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 687)
  nil )
 (!pair  "gfor_fndecl_stop_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 686)
  nil )
 (!pair  "gfor_fndecl_stop_numeric_f08"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 685)
  nil )
 (!pair  "gfor_fndecl_stop_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 684)
  nil )
 (!pair  "gfor_fndecl_pause_string"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 683)
  nil )
 (!pair  "gfor_fndecl_pause_numeric"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 682)
  nil )
 (!pair  "gfc_static_ctors"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans.h" 585)
  nil )
 (!pair  "gfc_charlen_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 40)
  nil )
 (!pair  "complex_float128_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 34)
  nil )
 (!pair  "float128_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 33)
  nil )
 (!pair  "pchar_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 32)
  nil )
 (!pair  "prvoid_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 31)
  nil )
 (!pair  "pvoid_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 30)
  nil )
 (!pair  "ppvoid_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 29)
  nil )
 (!pair  "gfc_character1_type_node"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 28)
  nil )
 (!pair  "gfc_array_range_type"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 27)
  nil )
 (!pair  "gfc_array_index_type"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.h" 26)
  nil )
 (!pair  "gfc_pcharacter_types"
  (!type array 1570 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 103)
  nil )
 (!pair  "gfc_character_types"
  (!type array 1571 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 102)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 1572 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 98)
  nil )
 (!pair  "gfc_real_types"
  (!type array 1573 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 1574 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 93)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 1575 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 92)
  nil )
 (!pair  "gfc_array_descriptor_base_caf"
  (!type array 1576 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 84)
  nil )
 (!pair  "gfc_array_descriptor_base"
  (!type array 1577 nil  gc_used "2 * (GFC_MAX_DIMENSIONS+1)" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 83)
  nil )
 (!pair  "gfc_max_array_element_size"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.c" 82)
  nil )
 (!pair  "gfc_desc_dim_type"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-types.c" 81)
  nil )
 (!pair  "select_struct"
  (!type array 1578 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-stmt.c" 2130)
  nil )
 (!pair  "dt_parm"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-io.c" 160)
  nil )
 (!pair  "iocall"
  (!type array 1579 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-io.c" 151)
  nil )
 (!pair  "st_parameter_field"
  (!type array 1580 nil  gc_used "" 
   (!type already_seen 670)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 1581 nil  gc_used "" 
   (!type already_seen 669)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 1582 nil  gc_used "" 
   (!type already_seen 671)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 116)
  nil )
 (!pair  "module_htab"
  (!type already_seen 1493)
  (!srcfileloc  "fortran/trans-decl.c" 4112)
  (!options 
   (!option param_is type 
    (!type already_seen 672)
   )
  )
 )
 (!pair  "saved_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 71)
  nil )
 (!pair  "nonlocal_dummy_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 67)
  nil )
 (!pair  "saved_parent_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 64)
  nil )
 (!pair  "saved_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 63)
  nil )
 (!pair  "parent_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 58)
  nil )
 (!pair  "current_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 57)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "fortran/f95-lang.c" 325)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "fortran/f95-lang.c" 321)
  nil )
 (!pair  "current_translation_unit"
  (!type already_seen 5)
  (!srcfileloc  "fortran/f95-lang.c" 186)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "fortran/f95-lang.c" 180)
  nil )
 (!pair  "vlt_register_set_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 133)
  nil )
 (!pair  "vlt_register_pairs_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 132)
  nil )
 (!pair  "vlt_saved_class_info"
  (!type already_seen 45)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 131)
  nil )
 (!pair  "pending_noexcept_checks"
  (!type already_seen 677)
  (!srcfileloc  "cp/except.c" 1185)
  nil )
 (!pair  "cp_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-lang.c" 137)
  nil )
 (!pair  "shadowed_var_for_decl"
  (!type already_seen 1525)
  (!srcfileloc  "cp/cp-objcp-common.c" 186)
  (!options 
   (!option param_is type 
    (!type already_seen 1417)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 8880)
  nil )
 (!pair  "sizeof_biggest_empty_class"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 112)
  nil )
 (!pair  "abstract_pending_vars"
  (!type already_seen 1495)
  (!srcfileloc  "cp/typeck2.c" 187)
  (!options 
   (!option param_is type 
    (!type already_seen 685)
   )
  )
 )
 (!pair  "thunk_labelno"
  (!type already_seen 9)
  (!srcfileloc  "cp/method.c" 206)
  nil )
 (!pair  "generic_parm_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 31987)
  nil )
 (!pair  "the_parser"
  (!type already_seen 694)
  (!srcfileloc  "cp/parser.c" 31410)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 689)
  (!srcfileloc  "cp/parser.c" 8652)
  nil )
 (!pair  "lambda_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 8646)
  nil )
 (!pair  "lambda_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/parser.c" 8645)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 700)
  (!srcfileloc  "cp/parser.c" 1762)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "list_hash_table"
  (!type already_seen 53)
  (!srcfileloc  "cp/tree.c" 1609)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "cplus_array_htab"
  (!type already_seen 53)
  (!srcfileloc  "cp/tree.c" 757)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "constexpr_call_table"
  (!type already_seen 1497)
  (!srcfileloc  "cp/semantics.c" 8098)
  (!options 
   (!option param_is type 
    (!type already_seen 713)
   )
  )
 )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1499)
  (!srcfileloc  "cp/semantics.c" 7415)
  (!options 
   (!option param_is type 
    (!type already_seen 716)
   )
  )
 )
 (!pair  "deferred_access_no_check"
  (!type already_seen 9)
  (!srcfileloc  "cp/semantics.c" 144)
  nil )
 (!pair  "deferred_access_stack"
  (!type already_seen 719)
  (!srcfileloc  "cp/semantics.c" 143)
  nil )
 (!pair  "pending_repo"
  (!type already_seen 45)
  (!srcfileloc  "cp/repo.c" 46)
  nil )
 (!pair  "last_error_tinst_level"
  (!type already_seen 729)
  (!srcfileloc  "cp/pt.c" 8241)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 45)
  (!srcfileloc  "cp/pt.c" 101)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 1501)
  (!srcfileloc  "cp/pt.c" 95)
  (!options 
   (!option param_is type 
    (!type already_seen 725)
   )
  )
 )
 (!pair  "decl_specializations"
  (!type already_seen 1501)
  (!srcfileloc  "cp/pt.c" 92)
  (!options 
   (!option param_is type 
    (!type already_seen 725)
   )
  )
 )
 (!pair  "saved_access_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 74)
  nil )
 (!pair  "current_tinst_level"
  (!type already_seen 729)
  (!srcfileloc  "cp/pt.c" 72)
  nil )
 (!pair  "saved_trees"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 69)
  nil )
 (!pair  "last_pending_template"
  (!type already_seen 728)
  (!srcfileloc  "cp/pt.c" 64)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 728)
  (!srcfileloc  "cp/pt.c" 63)
  nil )
 (!pair  "ssdf_decls"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 3312)
  nil )
 (!pair  "ssdf_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3308)
  nil )
 (!pair  "priority_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3305)
  nil )
 (!pair  "initialize_p_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3302)
  nil )
 (!pair  "no_linkage_decls"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 108)
  nil )
 (!pair  "maybe_comdat_fns"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 104)
  nil )
 (!pair  "deferred_fns"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 100)
  nil )
 (!pair  "pending_statics"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 96)
  nil )
 (!pair  "start_cleanup_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/decl.c" 6746)
  nil )
 (!pair  "typename_htab"
  (!type already_seen 53)
  (!srcfileloc  "cp/decl.c" 3249)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "incomplete_vars"
  (!type already_seen 738)
  (!srcfileloc  "cp/decl.c" 267)
  nil )
 (!pair  "java_iface_lookup_fn"
  (!type already_seen 5)
  (!srcfileloc  "cp/call.c" 7347)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 45)
  (!srcfileloc  "cp/call.c" 6511)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 45)
  (!srcfileloc  "cp/cp-tree.h" 5634)
  nil )
 (!pair  "deferred_mark_used_calls"
  (!type already_seen 45)
  (!srcfileloc  "cp/cp-tree.h" 5303)
  nil )
 (!pair  "assignment_operator_name_info"
  (!type array 1583 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 749)
  )
  (!srcfileloc  "cp/cp-tree.h" 4752)
  nil )
 (!pair  "operator_name_info"
  (!type array 1584 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 749)
  )
  (!srcfileloc  "cp/cp-tree.h" 4749)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4494)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4492)
  nil )
 (!pair  "local_classes"
  (!type already_seen 45)
  (!srcfileloc  "cp/cp-tree.h" 4394)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4349)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 755)
  (!srcfileloc  "cp/cp-tree.h" 1114)
  nil )
 (!pair  "cp_global_trees"
  (!type array 1585 nil  gc_used "CPTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/cp-tree.h" 904)
  nil )
 (!pair  "lambda_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2088)
  nil )
 (!pair  "anon_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2069)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 94)
  (!srcfileloc  "cp/name-lookup.c" 1509)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_bindings"
  (!type already_seen 99)
  (!srcfileloc  "cp/name-lookup.c" 277)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_entry"
  (!type already_seen 493)
  (!srcfileloc  "cp/name-lookup.c" 93)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "anonymous_namespace_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.c" 66)
  nil )
 (!pair  "global_type_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 286)
  nil )
 (!pair  "global_scope_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 281)
  nil )
 (!pair  "global_namespace"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 280)
  nil )
 (!pair  "temp_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 3862)
  nil )
 (!pair  "conv_type_names"
  (!type already_seen 53)
  (!srcfileloc  "cp/mangle.c" 3734)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "subst_identifiers"
  (!type array 1586 nil  gc_used "SUBID_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/mangle.c" 137)
  nil )
 (!pair  "G"
  (!type already_seen 758)
  (!srcfileloc  "cp/mangle.c" 108)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 760)
  (!srcfileloc  "cp/rtti.c" 104)
  nil )
 (!pair  "current_omp_declare_target_attribute"
  (!type already_seen 9)
  (!srcfileloc  "c/c-lang.h" 60)
  nil )
 (!pair  "the_parser"
  (!type already_seen 765)
  (!srcfileloc  "c/c-parser.c" 223)
  nil )
 (!pair  "options_stack"
  (!type already_seen 774)
  (!srcfileloc  "c-family/c-pragma.c" 904)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 776)
  (!srcfileloc  "c-family/c-pragma.c" 433)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 779)
  (!srcfileloc  "c-family/c-pragma.c" 247)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 782)
  (!srcfileloc  "c-family/c-pragma.c" 56)
  nil )
 (!pair  "pragma_extern_prefix"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-pragma.h" 191)
  nil )
 (!pair  "lazy_hex_fp_value_count"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1180)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 1587 nil  gc_used "12" 
   (!type already_seen 785)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1179)
  nil )
 (!pair  "pending_lang_change"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 944)
  nil )
 (!pair  "c_global_trees"
  (!type array 1588 nil  gc_used "CTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.h" 439)
  nil )
 (!pair  "ridpointers"
  (!type already_seen 6)
  (!srcfileloc  "c-family/c-common.h" 232)
  (!options 
   (!option length string  "(int) RID_MAX")
  )
 )
 (!pair  "tree_vector_cache"
  (!type already_seen 793)
  (!srcfileloc  "c-family/c-common.c" 11548)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 796)
  (!srcfileloc  "c-family/c-common.c" 9013)
  nil )
 (!pair  "compound_literal_number"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.c" 5734)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1589 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.c" 5109)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 53)
  (!srcfileloc  "c-family/c-common.c" 4811)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-common.c" 3472)
  nil )
 (!pair  "ext_block"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 10306)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 803)
  (!srcfileloc  "c/c-decl.c" 493)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 587)
  (!srcfileloc  "c/c-decl.c" 445)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 593)
  (!srcfileloc  "c/c-decl.c" 441)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 593)
  (!srcfileloc  "c/c-decl.c" 437)
  nil )
 (!pair  "file_scope"
  (!type already_seen 593)
  (!srcfileloc  "c/c-decl.c" 432)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 593)
  (!srcfileloc  "c/c-decl.c" 428)
  nil )
 (!pair  "current_scope"
  (!type already_seen 593)
  (!srcfileloc  "c/c-decl.c" 422)
  nil )
 (!pair  "visible_builtins"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 126)
  nil )
 (!pair  "c_stmt_tree"
  (!type already_seen 88)
  (!srcfileloc  "c/c-decl.c" 119)
  nil )
 (!pair  "gnat_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/misc.c" 834)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1590 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5998)
  nil )
 (!pair  "builtin_types"
  (!type array 1591 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5858)
  nil )
 (!pair  "dummy_global"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5646)
  nil )
 (!pair  "pad_type_hash_table"
  (!type already_seen 1503)
  (!srcfileloc  "ada/gcc-interface/utils.c" 232)
  (!options 
   (!option param_is type 
    (!type already_seen 814)
   )
   (!option if_marked string  "pad_type_hash_marked_p")
  )
 )
 (!pair  "free_block_chain"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 217)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "global_renaming_pointers"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/utils.c" 214)
  nil )
 (!pair  "builtin_decls"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/utils.c" 211)
  nil )
 (!pair  "global_decls"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/utils.c" 208)
  nil )
 (!pair  "global_context"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 205)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 817)
  (!srcfileloc  "ada/gcc-interface/utils.c" 202)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 817)
  (!srcfileloc  "ada/gcc-interface/utils.c" 199)
  nil )
 (!pair  "float_types"
  (!type array 1592 nil  gc_used "NUM_MACHINE_MODES" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 183)
  nil )
 (!pair  "signed_and_unsigned_types"
  (!type array 1593 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 1594 nil  gc_used "2" 
    (!type already_seen 5)
   )
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 180)
  nil )
 (!pair  "dummy_node_table"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 163)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "associate_gnat_to_gnu"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 151)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "gnat_vms_condition_handler_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 2871)
  nil )
 (!pair  "vms_builtin_establish_handler_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 2870)
  nil )
 (!pair  "gnu_program_error_label_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 229)
  nil )
 (!pair  "gnu_storage_error_label_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 228)
  nil )
 (!pair  "gnu_constraint_error_label_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 227)
  nil )
 (!pair  "gnu_loop_stack"
  (!type already_seen 820)
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  nil )
 (!pair  "gnu_return_var_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 200)
  nil )
 (!pair  "gnu_return_label_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 196)
  nil )
 (!pair  "gnu_elab_proc_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 192)
  nil )
 (!pair  "gnu_incoming_exc_ptr"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 189)
  nil )
 (!pair  "gnu_except_ptr_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 186)
  nil )
 (!pair  "elab_info_list"
  (!type already_seen 828)
  (!srcfileloc  "ada/gcc-interface/trans.c" 181)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 830)
  (!srcfileloc  "ada/gcc-interface/trans.c" 168)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 830)
  (!srcfileloc  "ada/gcc-interface/trans.c" 165)
  nil )
 (!pair  "annotate_value_cache"
  (!type already_seen 1505)
  (!srcfileloc  "ada/gcc-interface/decl.c" 132)
  (!options 
   (!option param_is type 
    (!type already_seen 1415)
   )
   (!option if_marked string  "tree_int_map_marked_p")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 1595 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 451)
  nil )
 (!pair  "gnat_raise_decls"
  (!type array 1596 nil  gc_used "(int) LAST_REASON_CODE + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 450)
  nil )
 (!pair  "gnat_std_decls"
  (!type array 1597 nil  gc_used "(int) ADT_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/gigi.h" 449)
  nil )
 (!pair  "internal_fn_fnspec_array"
  (!type array 1598 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "internal-fn.h" 57)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 849)
  (!srcfileloc  "ipa-devirt.c" 276)
  nil )
 (!pair  "decl_tree_for_type"
  (!type already_seen 1507)
  (!srcfileloc  "ubsan.c" 70)
  (!options 
   (!option param_is type 
    (!type already_seen 860)
   )
   (!option if_marked string  "tree_type_map_marked_p")
  )
 )
 (!pair  "asan_ctor_statements"
  (!type already_seen 5)
  (!srcfileloc  "asan.c" 2366)
  nil )
 (!pair  "asan_detect_stack_use_after_return"
  (!type already_seen 5)
  (!srcfileloc  "asan.c" 243)
  nil )
 (!pair  "shadow_ptr_types"
  (!type array 1599 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "asan.c" 240)
  nil )
 (!pair  "verify_vtbl_ptr_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "vtable-verify.c" 160)
  nil )
 (!pair  "inline_summary_vec"
  (!type already_seen 878)
  (!srcfileloc  "ipa-inline.h" 164)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1513)
  (!srcfileloc  "trans-mem.c" 472)
  (!options 
   (!option param_is type 
    (!type already_seen 1419)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "ipa_edge_args_vector"
  (!type already_seen 977)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "ipa_node_agg_replacements"
  (!type already_seen 995)
  (!srcfileloc  "ipa-prop.h" 509)
  nil )
 (!pair  "ipa_escaped_pt"
  (!type already_seen 384)
  (!srcfileloc  "tree-ssa-alias.h" 146)
  nil )
 (!pair  "free_phinodes"
  (!type array 1600 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 382)
  )
  (!srcfileloc  "tree-phinodes.c" 79)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "varying_ssa_edges"
  (!type already_seen 382)
  (!srcfileloc  "tree-ssa-propagate.c" 172)
  nil )
 (!pair  "interesting_ssa_edges"
  (!type already_seen 382)
  (!srcfileloc  "tree-ssa-propagate.c" 156)
  nil )
 (!pair  "clone_fn_id_num"
  (!type already_seen 9)
  (!srcfileloc  "cgraphclones.c" 517)
  nil )
 (!pair  "vtable_entry_type"
  (!type already_seen 5)
  (!srcfileloc  "cgraphunit.c" 233)
  nil )
 (!pair  "asm_last_node"
  (!type already_seen 1351)
  (!srcfileloc  "cgraphunit.c" 230)
  nil )
 (!pair  "order"
  (!type already_seen 917)
  (!srcfileloc  "passes.c" 1599)
  (!options 
   (!option length string  "nnodes")
  )
 )
 (!pair  "vselect_insn"
  (!type already_seen 136)
  (!srcfileloc  "config/i386/i386.c" 42328)
  nil )
 (!pair  "ix86_builtins"
  (!type array 1601 nil  gc_used "(int) IX86_BUILTIN_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/i386/i386.c" 28754)
  nil )
 (!pair  "ix86_builtin_func_type_tab"
  (!type array 1602 nil  gc_used "(int) IX86_BT_LAST_ALIAS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/i386/i386.c" 27062)
  nil )
 (!pair  "ix86_builtin_type_tab"
  (!type array 1603 nil  gc_used "(int) IX86_BT_LAST_CPTR + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/i386/i386.c" 27012)
  nil )
 (!pair  "dllimport_map"
  (!type already_seen 1513)
  (!srcfileloc  "config/i386/i386.c" 13629)
  (!options 
   (!option param_is type 
    (!type already_seen 1419)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "ix86_tls_module_base_symbol"
  (!type already_seen 136)
  (!srcfileloc  "config/i386/i386.c" 13373)
  nil )
 (!pair  "ix86_tls_symbol"
  (!type already_seen 136)
  (!srcfileloc  "config/i386/i386.c" 13346)
  nil )
 (!pair  "split_stack_fn_large"
  (!type already_seen 136)
  (!srcfileloc  "config/i386/i386.c" 11848)
  nil )
 (!pair  "split_stack_fn"
  (!type already_seen 136)
  (!srcfileloc  "config/i386/i386.c" 11843)
  nil )
 (!pair  "queued_cfa_restores"
  (!type already_seen 136)
  (!srcfileloc  "config/i386/i386.c" 9902)
  nil )
 (!pair  "ix86_previous_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "config/i386/i386.c" 4937)
  nil )
 (!pair  "ms_va_list_type_node"
  (!type already_seen 5)
  (!srcfileloc  "config/i386/i386.c" 2359)
  nil )
 (!pair  "sysv_va_list_type_node"
  (!type already_seen 5)
  (!srcfileloc  "config/i386/i386.c" 2358)
  nil )
 (!pair  "stack_chk_fail_decl"
  (!type already_seen 5)
  (!srcfileloc  "targhooks.c" 687)
  nil )
 (!pair  "stack_chk_guard_decl"
  (!type already_seen 5)
  (!srcfileloc  "targhooks.c" 654)
  nil )
 (!pair  "critical_name_mutexes"
  (!type already_seen 1509)
  (!srcfileloc  "omp-low.c" 8942)
  (!options 
   (!option param2_is type 
    (!type already_seen 5)
   )
   (!option param1_is type 
    (!type already_seen 5)
   )
  )
 )
 (!pair  "parallelized_functions"
  (!type already_seen 120)
  (!srcfileloc  "tree-parloops.c" 1424)
  nil )
 (!pair  "trampoline_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-nested.c" 479)
  nil )
 (!pair  "ptr_void"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 72)
  nil )
 (!pair  "ic_gcov_type_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 71)
  nil )
 (!pair  "ic_void_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 70)
  nil )
 (!pair  "tree_ior_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 67)
  nil )
 (!pair  "tree_average_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 66)
  nil )
 (!pair  "tree_time_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 65)
  nil )
 (!pair  "tree_indirect_call_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 64)
  nil )
 (!pair  "tree_one_value_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 63)
  nil )
 (!pair  "tree_pow2_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 62)
  nil )
 (!pair  "tree_interval_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 61)
  nil )
 (!pair  "gcov_type_node"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 60)
  nil )
 (!pair  "scalar_evolution_info"
  (!type already_seen 1511)
  (!srcfileloc  "tree-scalar-evolution.c" 325)
  (!options 
   (!option param_is type 
    (!type already_seen 1068)
   )
  )
 )
 (!pair  "chrec_known"
  (!type already_seen 5)
  (!srcfileloc  "tree-chrec.h" 30)
  nil )
 (!pair  "chrec_dont_know"
  (!type already_seen 5)
  (!srcfileloc  "tree-chrec.h" 29)
  nil )
 (!pair  "tmp_var_id_num"
  (!type already_seen 9)
  (!srcfileloc  "gimple-expr.c" 442)
  nil )
 (!pair  "stmt_list_cache"
  (!type already_seen 45)
  (!srcfileloc  "tree-iterator.c" 32)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "mem_addr_template_list"
  (!type already_seen 1085)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "elf_fini_array_section"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 7538)
  nil )
 (!pair  "elf_init_array_section"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 7537)
  nil )
 (!pair  "tm_clone_hash"
  (!type already_seen 1513)
  (!srcfileloc  "varasm.c" 5714)
  (!options 
   (!option param_is type 
    (!type already_seen 1419)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "weakref_targets"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 5408)
  nil )
 (!pair  "const_desc_htab"
  (!type already_seen 1515)
  (!srcfileloc  "varasm.c" 2787)
  (!options 
   (!option param_is type 
    (!type already_seen 1343)
   )
  )
 )
 (!pair  "initial_trampoline"
  (!type already_seen 136)
  (!srcfileloc  "varasm.c" 2498)
  nil )
 (!pair  "weak_decls"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2276)
  nil )
 (!pair  "pending_assemble_externals"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2206)
  nil )
 (!pair  "shared_constant_pool"
  (!type already_seen 1382)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 186)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1517)
  (!srcfileloc  "varasm.c" 183)
  (!options 
   (!option param_is type 
    (!type already_seen 244)
   )
  )
 )
 (!pair  "section_htab"
  (!type already_seen 1519)
  (!srcfileloc  "varasm.c" 180)
  (!options 
   (!option param_is type 
    (!type already_seen 246)
   )
  )
 )
 (!pair  "unnamed_sections"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 172)
  nil )
 (!pair  "const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 79)
  nil )
 (!pair  "weak_global_object_name"
  (!type already_seen 36)
  (!srcfileloc  "varasm.c" 65)
  nil )
 (!pair  "first_global_object_name"
  (!type already_seen 36)
  (!srcfileloc  "varasm.c" 64)
  nil )
 (!pair  "gcc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 11754)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 1604 nil  gc_used "2 * MAX_INT_CACHED_PREC + 2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree.c" 7657)
  nil )
 (!pair  "init_priority_for_decl"
  (!type already_seen 1521)
  (!srcfileloc  "tree.c" 222)
  (!options 
   (!option param_is type 
    (!type already_seen 1413)
   )
   (!option if_marked string  "tree_priority_map_marked_p")
  )
 )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1523)
  (!srcfileloc  "tree.c" 218)
  (!options 
   (!option param_is type 
    (!type already_seen 1411)
   )
   (!option if_marked string  "tree_vec_map_marked_p")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1525)
  (!srcfileloc  "tree.c" 215)
  (!options 
   (!option param_is type 
    (!type already_seen 1417)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1525)
  (!srcfileloc  "tree.c" 212)
  (!options 
   (!option param_is type 
    (!type already_seen 1417)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 53)
  (!srcfileloc  "tree.c" 206)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "cl_target_option_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 204)
  nil )
 (!pair  "cl_optimization_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 203)
  nil )
 (!pair  "int_cst_hash_table"
  (!type already_seen 53)
  (!srcfileloc  "tree.c" 196)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "int_cst_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 194)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 1527)
  (!srcfileloc  "tree.c" 191)
  (!options 
   (!option param_is type 
    (!type already_seen 1153)
   )
   (!option if_marked string  "type_hash_marked_p")
  )
 )
 (!pair  "next_debug_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 170)
  nil )
 (!pair  "next_type_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 167)
  nil )
 (!pair  "next_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 165)
  nil )
 (!pair  "spd"
  (!type already_seen 1156)
  (!srcfileloc  "stringpool.c" 254)
  nil )
 (!pair  "size_functions"
  (!type already_seen 45)
  (!srcfileloc  "stor-layout.c" 102)
  nil )
 (!pair  "sdbout_initialized"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 68)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 67)
  nil )
 (!pair  "deferred_global_decls"
  (!type already_seen 45)
  (!srcfileloc  "sdbout.c" 61)
  nil )
 (!pair  "unnamed_struct_number"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 57)
  nil )
 (!pair  "anonymous_types"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 53)
  nil )
 (!pair  "cfg_layout_function_header"
  (!type already_seen 136)
  (!srcfileloc  "cfgrtl.c" 68)
  nil )
 (!pair  "cfg_layout_function_footer"
  (!type already_seen 136)
  (!srcfileloc  "cfgrtl.c" 67)
  nil )
 (!pair  "libfunc_decls"
  (!type already_seen 53)
  (!srcfileloc  "optabs.c" 6058)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "unused_expr_list"
  (!type already_seen 136)
  (!srcfileloc  "lists.c" 36)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "unused_insn_list"
  (!type already_seen 136)
  (!srcfileloc  "lists.c" 33)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "queue"
  (!type already_seen 45)
  (!srcfileloc  "godump.c" 59)
  nil )
 (!pair  "test_insn"
  (!type already_seen 136)
  (!srcfileloc  "gcse.c" 833)
  nil )
 (!pair  "sjlj_fc_type_node"
  (!type already_seen 5)
  (!srcfileloc  "except.c" 156)
  nil )
 (!pair  "type_to_runtime_map"
  (!type already_seen 53)
  (!srcfileloc  "except.c" 153)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "call_site_base"
  (!type already_seen 9)
  (!srcfileloc  "except.c" 151)
  nil )
 (!pair  "next_block_index"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 4332)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1529)
  (!srcfileloc  "function.c" 542)
  (!options 
   (!option param_is type 
    (!type already_seen 1216)
   )
  )
 )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1533)
  (!srcfileloc  "function.c" 105)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1533)
  (!srcfileloc  "function.c" 103)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "funcdef_no"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 92)
  nil )
 (!pair  "block_clear_fn"
  (!type already_seen 5)
  (!srcfileloc  "expr.h" 299)
  nil )
 (!pair  "block_move_fn"
  (!type already_seen 5)
  (!srcfileloc  "expr.c" 1443)
  nil )
 (!pair  "stack_check_libfunc"
  (!type already_seen 136)
  (!srcfileloc  "explow.c" 1525)
  nil )
 (!pair  "hard_reg_clobbers"
  (!type array 1605 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 1606 nil  gc_used "FIRST_PSEUDO_REGISTER" 
    (!type already_seen 136)
   )
  )
  (!srcfileloc  "emit-rtl.c" 5953)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_sequence_stack"
  (!type already_seen 1379)
  (!srcfileloc  "emit-rtl.c" 5101)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "spill_slot_decl"
  (!type already_seen 5)
  (!srcfileloc  "emit-rtl.c" 2292)
  nil )
 (!pair  "const_fixed_htab"
  (!type already_seen 1533)
  (!srcfileloc  "emit-rtl.c" 139)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1533)
  (!srcfileloc  "emit-rtl.c" 135)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1531)
  (!srcfileloc  "emit-rtl.c" 131)
  (!options 
   (!option param_is type 
    (!type already_seen 270)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1533)
  (!srcfileloc  "emit-rtl.c" 127)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "emit-rtl.c" 89)
  nil )
 (!pair  "shift_test"
  (!type already_seen 136)
  (!srcfileloc  "dojump.c" 159)
  nil )
 (!pair  "and_test"
  (!type already_seen 136)
  (!srcfileloc  "dojump.c" 158)
  nil )
 (!pair  "and_reg"
  (!type already_seen 136)
  (!srcfileloc  "dojump.c" 157)
  nil )
 (!pair  "vector_last_nunits"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 89)
  nil )
 (!pair  "vector_last_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 88)
  nil )
 (!pair  "vector_inner_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 87)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1535)
  (!srcfileloc  "dwarf2out.c" 4124)
  (!options 
   (!option param_is type 
    (!type already_seen 423)
   )
  )
 )
 (!pair  "generic_type_instances"
  (!type already_seen 45)
  (!srcfileloc  "dwarf2out.c" 2926)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1249)
  (!srcfileloc  "dwarf2out.c" 2920)
  nil )
 (!pair  "file_table_last_lookup"
  (!type already_seen 443)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2915)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 443)
  (!srcfileloc  "dwarf2out.c" 2912)
  nil )
 (!pair  "poc_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2906)
  nil )
 (!pair  "loclabel_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2903)
  nil )
 (!pair  "have_location_lists"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2900)
  nil )
 (!pair  "ranges_by_label_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2893)
  nil )
 (!pair  "ranges_by_label_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2890)
  nil )
 (!pair  "ranges_by_label"
  (!type already_seen 1278)
  (!srcfileloc  "dwarf2out.c" 2887)
  (!options 
   (!option length string  "ranges_by_label_allocated")
  )
 )
 (!pair  "ranges_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2883)
  nil )
 (!pair  "ranges_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2880)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1280)
  (!srcfileloc  "dwarf2out.c" 2877)
  (!options 
   (!option length string  "ranges_table_allocated")
  )
 )
 (!pair  "macinfo_table"
  (!type already_seen 1252)
  (!srcfileloc  "dwarf2out.c" 2868)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1255)
  (!srcfileloc  "dwarf2out.c" 2864)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1255)
  (!srcfileloc  "dwarf2out.c" 2860)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1259)
  (!srcfileloc  "dwarf2out.c" 2852)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 2849)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 2848)
  nil )
 (!pair  "abbrev_die_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2833)
  nil )
 (!pair  "abbrev_die_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2830)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 431)
  (!srcfileloc  "dwarf2out.c" 2827)
  (!options 
   (!option length string  "abbrev_die_table_allocated")
  )
 )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1537)
  (!srcfileloc  "dwarf2out.c" 2821)
  (!options 
   (!option param_is type 
    (!type already_seen 1266)
   )
  )
 )
 (!pair  "call_arg_locations"
  (!type already_seen 1269)
  (!srcfileloc  "dwarf2out.c" 2798)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1539)
  (!srcfileloc  "dwarf2out.c" 2795)
  (!options 
   (!option param_is type 
    (!type already_seen 1270)
   )
  )
 )
 (!pair  "common_block_die_table"
  (!type already_seen 1541)
  (!srcfileloc  "dwarf2out.c" 2738)
  (!options 
   (!option param_is type 
    (!type already_seen 432)
   )
  )
 )
 (!pair  "decl_die_table"
  (!type already_seen 1541)
  (!srcfileloc  "dwarf2out.c" 2734)
  (!options 
   (!option param_is type 
    (!type already_seen 432)
   )
  )
 )
 (!pair  "file_table"
  (!type already_seen 1543)
  (!srcfileloc  "dwarf2out.c" 2730)
  (!options 
   (!option param_is type 
    (!type already_seen 444)
   )
  )
 )
 (!pair  "deferred_asm_name"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 2727)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 2723)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.c" 2720)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 430)
  (!srcfileloc  "dwarf2out.c" 2717)
  nil )
 (!pair  "deferred_locations_list"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 1237)
  nil )
 (!pair  "current_unit_personality"
  (!type already_seen 136)
  (!srcfileloc  "dwarf2out.c" 264)
  nil )
 (!pair  "decltype_auto_die"
  (!type already_seen 430)
  (!srcfileloc  "dwarf2out.c" 254)
  nil )
 (!pair  "auto_die"
  (!type already_seen 430)
  (!srcfileloc  "dwarf2out.c" 251)
  nil )
 (!pair  "cold_text_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 248)
  nil )
 (!pair  "cold_text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 244)
  nil )
 (!pair  "have_multiple_function_sections"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 240)
  nil )
 (!pair  "dw2_string_counter"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 237)
  nil )
 (!pair  "skeleton_debug_str_hash"
  (!type already_seen 1545)
  (!srcfileloc  "dwarf2out.c" 235)
  (!options 
   (!option param_is type 
    (!type already_seen 442)
   )
  )
 )
 (!pair  "debug_str_hash"
  (!type already_seen 1545)
  (!srcfileloc  "dwarf2out.c" 213)
  (!options 
   (!option param_is type 
    (!type already_seen 442)
   )
  )
 )
 (!pair  "fde_vec"
  (!type already_seen 1285)
  (!srcfileloc  "dwarf2out.c" 203)
  nil )
 (!pair  "debug_frame_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 168)
  nil )
 (!pair  "debug_ranges_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 167)
  nil )
 (!pair  "debug_str_offsets_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 166)
  nil )
 (!pair  "debug_str_dwo_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 165)
  nil )
 (!pair  "debug_str_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 164)
  nil )
 (!pair  "debug_pubtypes_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 163)
  nil )
 (!pair  "debug_pubnames_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 162)
  nil )
 (!pair  "debug_loc_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 161)
  nil )
 (!pair  "debug_skeleton_line_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 160)
  nil )
 (!pair  "debug_line_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 159)
  nil )
 (!pair  "debug_macinfo_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 158)
  nil )
 (!pair  "debug_addr_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 157)
  nil )
 (!pair  "debug_aranges_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 156)
  nil )
 (!pair  "debug_skeleton_abbrev_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 155)
  nil )
 (!pair  "debug_abbrev_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 154)
  nil )
 (!pair  "debug_skeleton_info_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 153)
  nil )
 (!pair  "debug_info_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 152)
  nil )
 (!pair  "decl_scope_table"
  (!type already_seen 45)
  (!srcfileloc  "dwarf2out.c" 149)
  nil )
 (!pair  "incomplete_types"
  (!type already_seen 45)
  (!srcfileloc  "dwarf2out.c" 142)
  nil )
 (!pair  "used_rtx_array"
  (!type already_seen 251)
  (!srcfileloc  "dwarf2out.c" 136)
  nil )
 (!pair  "saved_do_cfi_asm"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 3314)
  nil )
 (!pair  "dwarf2out_cfi_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 196)
  nil )
 (!pair  "cie_return_save"
  (!type already_seen 1292)
  (!srcfileloc  "dwarf2cfi.c" 194)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1294)
  (!srcfileloc  "dwarf2cfi.c" 192)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2asm.c" 797)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1547)
  (!srcfileloc  "dwarf2asm.c" 795)
  (!options 
   (!option param2_is type 
    (!type already_seen 5)
   )
   (!option param1_is type 
    (!type already_seen 36)
   )
  )
 )
 (!pair  "cie_cfi_vec"
  (!type already_seen 413)
  (!srcfileloc  "dwarf2out.h" 238)
  nil )
 (!pair  "lastfile_is_base"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 251)
  nil )
 (!pair  "lastfile"
  (!type already_seen 36)
  (!srcfileloc  "dbxout.c" 247)
  nil )
 (!pair  "source_label_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 243)
  nil )
 (!pair  "dbxout_source_line_counter"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 238)
  nil )
 (!pair  "scope_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 234)
  nil )
 (!pair  "next_file_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 230)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "dbxout.c" 197)
  nil )
 (!pair  "next_type_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 191)
  nil )
 (!pair  "typevec_len"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 185)
  nil )
 (!pair  "typevec"
  (!type already_seen 1299)
  (!srcfileloc  "dbxout.c" 181)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1359)
  (!srcfileloc  "cgraph.c" 174)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1549)
  (!srcfileloc  "cgraph.c" 150)
  (!options 
   (!option param_is type 
    (!type already_seen 1358)
   )
  )
 )
 (!pair  "free_edges"
  (!type already_seen 919)
  (!srcfileloc  "cgraph.c" 140)
  nil )
 (!pair  "free_nodes"
  (!type already_seen 916)
  (!srcfileloc  "cgraph.c" 137)
  nil )
 (!pair  "callmem"
  (!type already_seen 136)
  (!srcfileloc  "cselib.c" 233)
  nil )
 (!pair  "bitmap_ggc_free"
  (!type already_seen 122)
  (!srcfileloc  "bitmap.c" 139)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "frame_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1051)
  nil )
 (!pair  "varargs_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1029)
  nil )
 (!pair  "alias_sets"
  (!type already_seen 1329)
  (!srcfileloc  "alias.c" 267)
  nil )
 (!pair  "reg_known_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 245)
  nil )
 (!pair  "old_reg_base_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 226)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "arg_base_value"
  (!type already_seen 136)
  (!srcfileloc  "alias.c" 218)
  nil )
 (!pair  "reg_base_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 213)
  nil )
 (!pair  "assembler_name_hash"
  (!type already_seen 1551)
  (!srcfileloc  "symtab.c" 63)
  (!options 
   (!option param_is type 
    (!type already_seen 941)
   )
  )
 )
 (!pair  "symtab_hash"
  (!type already_seen 1551)
  (!srcfileloc  "symtab.c" 61)
  (!options 
   (!option param_is type 
    (!type already_seen 941)
   )
  )
 )
 (!pair  "restinsn"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 106)
  nil )
 (!pair  "saveinsn"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 105)
  nil )
 (!pair  "test_mem"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 104)
  nil )
 (!pair  "test_reg"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 103)
  nil )
 (!pair  "restpat"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 102)
  nil )
 (!pair  "savepat"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 101)
  nil )
 (!pair  "symtab_order"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 706)
  nil )
 (!pair  "asm_nodes"
  (!type already_seen 1351)
  (!srcfileloc  "cgraph.h" 705)
  nil )
 (!pair  "cgraph_edge_max_uid"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 682)
  nil )
 (!pair  "cgraph_max_uid"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 681)
  nil )
 (!pair  "cgraph_n_nodes"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 680)
  nil )
 (!pair  "symtab_nodes"
  (!type already_seen 942)
  (!srcfileloc  "cgraph.h" 679)
  nil )
 (!pair  "in_cold_section_p"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 516)
  nil )
 (!pair  "in_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 515)
  nil )
 (!pair  "bss_noswitch_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 513)
  nil )
 (!pair  "lcomm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 512)
  nil )
 (!pair  "comm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 511)
  nil )
 (!pair  "tls_comm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 510)
  nil )
 (!pair  "eh_frame_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 509)
  nil )
 (!pair  "exception_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 508)
  nil )
 (!pair  "sbss_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 507)
  nil )
 (!pair  "bss_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 506)
  nil )
 (!pair  "dtors_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 505)
  nil )
 (!pair  "ctors_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 504)
  nil )
 (!pair  "sdata_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 503)
  nil )
 (!pair  "readonly_data_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 502)
  nil )
 (!pair  "data_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 501)
  nil )
 (!pair  "text_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 500)
  nil )
 (!pair  "types_used_by_cur_var_decl"
  (!type already_seen 45)
  (!srcfileloc  "function.h" 724)
  nil )
 (!pair  "types_used_by_vars_hash"
  (!type already_seen 1553)
  (!srcfileloc  "function.h" 716)
  (!options 
   (!option param_is type 
    (!type already_seen 1374)
   )
  )
 )
 (!pair  "cfun"
  (!type already_seen 349)
  (!srcfileloc  "function.h" 692)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1376)
  (!srcfileloc  "function.h" 480)
  nil )
 (!pair  "regno_reg_rtx"
  (!type already_seen 137)
  (!srcfileloc  "function.h" 93)
  (!options 
   (!option length string  "crtl->emit.x_reg_rtx_no")
  )
 )
 (!pair  "default_target_libfuncs"
  (!type already_seen 543)
  (!srcfileloc  "libfuncs.h" 73)
  nil )
 (!pair  "current_function_func_begin_label"
  (!type already_seen 36)
  (!srcfileloc  "tree-core.h" 1846)
  nil )
 (!pair  "current_function_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-core.h" 1843)
  nil )
 (!pair  "builtin_info"
  (!type already_seen 1406)
  (!srcfileloc  "tree-core.h" 1833)
  nil )
 (!pair  "sizetype_tab"
  (!type array 1607 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1821)
  nil )
 (!pair  "integer_types"
  (!type array 1608 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1818)
  nil )
 (!pair  "global_trees"
  (!type array 1609 nil  gc_used "TI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1814)
  nil )
 (!pair  "all_translation_units"
  (!type already_seen 45)
  (!srcfileloc  "tree-core.h" 1811)
  nil )
 (!pair  "alias_pairs"
  (!type already_seen 1404)
  (!srcfileloc  "tree-core.h" 1798)
  nil )
 (!pair  "stack_limit_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2733)
  nil )
 (!pair  "default_target_rtl"
  (!type already_seen 536)
  (!srcfileloc  "rtl.h" 2307)
  nil )
 (!pair  "simple_return_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2208)
  nil )
 (!pair  "ret_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2207)
  nil )
 (!pair  "cc0_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2206)
  nil )
 (!pair  "pc_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2205)
  nil )
 (!pair  "const_tiny_rtx"
  (!type array 1610 nil  gc_used "4" 
   (!type array 1611 nil  gc_used "(int) MAX_MACHINE_MODE" 
    (!type already_seen 136)
   )
  )
  (!srcfileloc  "rtl.h" 2192)
  nil )
 (!pair  "const_true_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2190)
  nil )
 (!pair  "const_int_rtx"
  (!type array 1612 nil  gc_used "MAX_SAVED_CONST_INT * 2 + 1" 
   (!type already_seen 136)
  )
  (!srcfileloc  "rtl.h" 2184)
  nil )
 (!pair  "gcov_fn_info_ptr_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 108)
  nil )
 (!pair  "gcov_fn_info_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 107)
  nil )
 (!pair  "gcov_info_var"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 106)
  nil )
 (!pair  "fn_v_ctrs"
  (!type array 1613 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 5)
  )
  (!srcfileloc  "coverage.c" 101)
  nil )
 (!pair  "functions_head"
  (!type already_seen 1442)
  (!srcfileloc  "coverage.c" 92)
  nil )
 (!pair  "line_table"
  (!type already_seen 1475)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
