;;;;@@@@ 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.x 20150123 (prerelease)")
(!srcdir  "/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc")
(!languages 9 ada c cp fortran go java lto objc objcp)
(!fileslist 199
 (!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  "l-ipo.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  "sancov.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 1114
 
 (!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" 1652)
         (!fields 38 
          (!pair  "base"
           (!type struct 8 nil  gc_used "tree_base"
            (!srcfileloc  "tree-core.h" 780)
            (!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" 714)
              nil )
             (!pair  "side_effects_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 716)
              nil )
             (!pair  "constant_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 717)
              nil )
             (!pair  "addressable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 718)
              nil )
             (!pair  "volatile_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 719)
              nil )
             (!pair  "readonly_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 720)
              nil )
             (!pair  "asm_written_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 721)
              nil )
             (!pair  "nowarning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 722)
              nil )
             (!pair  "visited"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 723)
              nil )
             (!pair  "used_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 725)
              nil )
             (!pair  "nothrow_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 726)
              nil )
             (!pair  "static_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 727)
              nil )
             (!pair  "public_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 728)
              nil )
             (!pair  "private_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 729)
              nil )
             (!pair  "protected_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 730)
              nil )
             (!pair  "deprecated_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 731)
              nil )
             (!pair  "default_def_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 732)
              nil )
             (!pair  "u"
              (!type union 12 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:734"
               (!srcfileloc  "tree-core.h" 779)
               (!fields 4 
                (!pair  "bits"
                 (!type struct 13 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:737"
                  (!srcfileloc  "tree-core.h" 761)
                  (!fields 17 
                   (!pair  "lang_flag_0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 738)
                    nil )
                   (!pair  "lang_flag_1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 739)
                    nil )
                   (!pair  "lang_flag_2"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 740)
                    nil )
                   (!pair  "lang_flag_3"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 741)
                    nil )
                   (!pair  "lang_flag_4"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 742)
                    nil )
                   (!pair  "lang_flag_5"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 743)
                    nil )
                   (!pair  "lang_flag_6"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 744)
                    nil )
                   (!pair  "saturating_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 745)
                    nil )
                   (!pair  "expr_folded_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 746)
                    nil )
                   (!pair  "unsigned_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 748)
                    nil )
                   (!pair  "packed_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 749)
                    nil )
                   (!pair  "user_align"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 750)
                    nil )
                   (!pair  "nameless_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 751)
                    nil )
                   (!pair  "atomic_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 752)
                    nil )
                   (!pair  "spare0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 753)
                    nil )
                   (!pair  "spare1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 755)
                    nil )
                   (!pair  "address_space"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 760)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "tree-core.h" 761)
                 nil )
                (!pair  "length"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 766)
                 nil )
                (!pair  "version"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 768)
                 nil )
                (!pair  "dependence_info"
                 (!type struct 14 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:775"
                  (!srcfileloc  "tree-core.h" 778)
                  (!fields 2 
                   (!pair  "clique"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 776)
                    nil )
                   (!pair  "base"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 777)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "tree-core.h" 778)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 779)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1610)
           (!options 
            (!option tag string  "TS_BASE")
           )
          )
          (!pair  "typed"
           (!type struct 15 nil  gc_used "tree_typed"
            (!srcfileloc  "tree-core.h" 1063)
            (!fields 2 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1061)
              nil )
             (!pair  "type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1062)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1611)
           (!options 
            (!option tag string  "TS_TYPED")
           )
          )
          (!pair  "common"
           (!type struct 16 nil  gc_used "tree_common"
            (!srcfileloc  "tree-core.h" 1068)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1066)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1067)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1612)
           (!options 
            (!option tag string  "TS_COMMON")
           )
          )
          (!pair  "int_cst"
           (!type struct 17 nil  gc_used "tree_int_cst"
            (!srcfileloc  "tree-core.h" 1073)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1071)
              nil )
             (!pair  "int_cst"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1072)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1613)
           (!options 
            (!option tag string  "TS_INT_CST")
           )
          )
          (!pair  "real_cst"
           (!type struct 18 nil  gc_used "tree_real_cst"
            (!srcfileloc  "tree-core.h" 1079)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1077)
              nil )
             (!pair  "real_cst_ptr"
              (!type pointer 19 nil  gc_used
               (!type struct 20 
                (!type already_seen 19)
                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 21 nil  gc_used "SIGSZ" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "real.h" 51)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1078)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1614)
           (!options 
            (!option tag string  "TS_REAL_CST")
           )
          )
          (!pair  "fixed_cst"
           (!type struct 22 nil  gc_used "tree_fixed_cst"
            (!srcfileloc  "tree-core.h" 1084)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1082)
              nil )
             (!pair  "fixed_cst_ptr"
              (!type pointer 23 nil  gc_used
               (!type struct 24 
                (!type already_seen 23)
                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" 1083)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1615)
           (!options 
            (!option tag string  "TS_FIXED_CST")
           )
          )
          (!pair  "vector"
           (!type struct 25 nil  gc_used "tree_vector"
            (!srcfileloc  "tree-core.h" 1101)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1099)
              nil )
             (!pair  "elts"
              (!type array 26 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1100)
              (!options 
               (!option length string  "TYPE_VECTOR_SUBPARTS (TREE_TYPE ((tree)&%h))")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1616)
           (!options 
            (!option tag string  "TS_VECTOR")
           )
          )
          (!pair  "string"
           (!type struct 27 nil  gc_used "tree_string"
            (!srcfileloc  "tree-core.h" 1090)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1087)
              nil )
             (!pair  "length"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1088)
              nil )
             (!pair  "str"
              (!type array 28 nil  gc_used "1" 
               (!type scalar_char 29 
                (!type pointer 30 
                 (!type pointer 31 nil  gc_unused
                  (!type already_seen 30)
                 )
                 gc_unused
                 (!type already_seen 29)
                )
                gc_used)
              )
              (!srcfileloc  "tree-core.h" 1089)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1617)
           (!options 
            (!option tag string  "TS_STRING")
           )
          )
          (!pair  "complex"
           (!type struct 32 nil  gc_used "tree_complex"
            (!srcfileloc  "tree-core.h" 1096)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1093)
              nil )
             (!pair  "real"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1094)
              nil )
             (!pair  "imag"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1095)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1618)
           (!options 
            (!option tag string  "TS_COMPLEX")
           )
          )
          (!pair  "identifier"
           (!type struct 33 nil  gc_used "tree_identifier"
            (!srcfileloc  "tree-core.h" 1106)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1104)
              nil )
             (!pair  "id"
              (!type struct 34 
               (!type pointer 35 
                (!type pointer 36 nil  gc_unused
                 (!type already_seen 35)
                )
                gc_unused
                (!type already_seen 34)
               )
               gc_used "ht_identifier"
               (!srcfileloc  "../libcpp/include/symtab.h" 35)
               (!fields 3 
                (!pair  "str"
                 (!type string 37 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" 1105)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1619)
           (!options 
            (!option tag string  "TS_IDENTIFIER")
           )
          )
          (!pair  "decl_minimal"
           (!type struct 38 nil  gc_used "tree_decl_minimal"
            (!srcfileloc  "tree-core.h" 1340)
            (!fields 5 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1335)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1336)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1337)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1338)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1339)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1620)
           (!options 
            (!option tag string  "TS_DECL_MINIMAL")
           )
          )
          (!pair  "decl_common"
           (!type struct 39 nil  gc_used "tree_decl_common"
            (!srcfileloc  "tree-core.h" 1406)
            (!fields 35 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1343)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1344)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1346)
              nil )
             (!pair  "nonlocal_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1348)
              nil )
             (!pair  "virtual_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1349)
              nil )
             (!pair  "ignored_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1350)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1351)
              nil )
             (!pair  "artificial_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1352)
              nil )
             (!pair  "preserve_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1353)
              nil )
             (!pair  "debug_expr_is_from"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1354)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1356)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1357)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1358)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1359)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1360)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1361)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1362)
              nil )
             (!pair  "lang_flag_7"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1363)
              nil )
             (!pair  "lang_flag_8"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1364)
              nil )
             (!pair  "decl_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1367)
              nil )
             (!pair  "decl_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1371)
              nil )
             (!pair  "decl_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1375)
              nil )
             (!pair  "decl_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1377)
              nil )
             (!pair  "gimple_reg_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1380)
              nil )
             (!pair  "decl_by_reference_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1382)
              nil )
             (!pair  "decl_read_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1384)
              nil )
             (!pair  "decl_nonshareable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1386)
              nil )
             (!pair  "off_align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1389)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1394)
              nil )
             (!pair  "pt_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1397)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1399)
              nil )
             (!pair  "initial"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1400)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1401)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1402)
              nil )
             (!pair  "lang_specific"
              (!type pointer 40 nil  gc_used
               (!type lang_struct 41 
                (!type already_seen 40)
                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 42 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 41)
                  nil )
                 
                 (!type struct 43 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 44 nil  gc_used "lang_decl_u"
                     (!srcfileloc  "java/java-tree.h" 817)
                     (!fields 2 
                      (!pair  "f"
                       (!type struct 45 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 46 nil  gc_used
                           (!type user_struct 47 
                            (!type already_seen 46)
                            gc_pointed_to "vec<tree,va_gc>"
                            (!srcfileloc  "tree-core.h" 1254)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "tree-core.h" 1254)
                              nil )
                             (!pair  "tree"
                              (!type already_seen 5)
                              (!srcfileloc  "tree-core.h" 1254)
                              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 48 nil  gc_used
                           (!type param_struct 49 
                            (!type already_seen 48)
                            gc_pointed_to
                            (!type struct 50 
                             (!type pointer 51 nil  gc_unused
                              (!type already_seen 50)
                             )
                             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 52 nil  gc_used
                             (!type struct 53 
                              (!type already_seen 52)
                              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 53)
                           )
                          )
                         )
                         (!pair  "ict"
                          (!type pointer 54 nil  gc_used
                           (!type param_struct 55 
                            (!type already_seen 54)
                            gc_pointed_to
                            (!type already_seen 50)
                            
                            (!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 56 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 57 nil  gc_used "lang_decl_u"
                      (!srcfileloc  "cp/cp-tree.h" 2084)
                      (!fields 0 )
                      (!options 
                       (!option desc string  "%h.base.selector")
                      )
                      292 
                      (!homotypes 2
                       (!type already_seen 44)
                       
                       (!type union 58 nil  gc_used "lang_decl_u"
                        (!srcfileloc  "cp/cp-tree.h" 2084)
                        (!fields 5 
                         (!pair  "base"
                          (!type struct 59 nil  gc_used "lang_decl_base"
                           (!srcfileloc  "cp/cp-tree.h" 1963)
                           (!fields 12 
                            (!pair  "selector"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1950)
                             nil )
                            (!pair  "language"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1951)
                             nil )
                            (!pair  "use_template"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1952)
                             nil )
                            (!pair  "not_really_extern"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1953)
                             nil )
                            (!pair  "initialized_in_class"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1954)
                             nil )
                            (!pair  "repo_available_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1955)
                             nil )
                            (!pair  "threadprivate_or_deleted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1956)
                             nil )
                            (!pair  "anticipated_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1957)
                             nil )
                            (!pair  "friend_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1958)
                             nil )
                            (!pair  "template_conv_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1959)
                             nil )
                            (!pair  "odr_used"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1960)
                             nil )
                            (!pair  "u2sel"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1961)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2079)
                          (!options 
                           (!option default string  "")
                          )
                         )
                         (!pair  "min"
                          (!type struct 60 nil  gc_used "lang_decl_min"
                           (!srcfileloc  "cp/cp-tree.h" 1995)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 1977)
                             nil )
                            (!pair  "template_info"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 1984)
                             nil )
                            (!pair  "u2"
                             (!type union 61 nil  gc_used "lang_decl_u2"
                              (!srcfileloc  "cp/cp-tree.h" 1994)
                              (!fields 2 
                               (!pair  "access"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 1990)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "discriminator"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 1993)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 1994)
                             (!options 
                              (!option desc string  "%0.u.base.u2sel")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2080)
                          (!options 
                           (!option tag string  "0")
                          )
                         )
                         (!pair  "fn"
                          (!type struct 62 nil  gc_used "lang_decl_fn"
                           (!srcfileloc  "cp/cp-tree.h" 2056)
                           (!fields 22 
                            (!pair  "min"
                             (!type already_seen 60)
                             (!srcfileloc  "cp/cp-tree.h" 2000)
                             nil )
                            (!pair  "operator_code"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2004)
                             nil )
                            (!pair  "global_ctor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2006)
                             nil )
                            (!pair  "global_dtor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2007)
                             nil )
                            (!pair  "constructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2008)
                             nil )
                            (!pair  "destructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2009)
                             nil )
                            (!pair  "assignment_operator_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2010)
                             nil )
                            (!pair  "static_function"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2011)
                             nil )
                            (!pair  "pure_virtual"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2012)
                             nil )
                            (!pair  "defaulted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2013)
                             nil )
                            (!pair  "has_in_charge_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2015)
                             nil )
                            (!pair  "has_vtt_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2016)
                             nil )
                            (!pair  "pending_inline_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2017)
                             nil )
                            (!pair  "nonconverting"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2018)
                             nil )
                            (!pair  "thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2019)
                             nil )
                            (!pair  "this_thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2020)
                             nil )
                            (!pair  "hidden_friend_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2021)
                             nil )
                            (!pair  "omp_declare_reduction_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2022)
                             nil )
                            (!pair  "befriending_classes"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2028)
                             nil )
                            (!pair  "context"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2036)
                             nil )
                            (!pair  "u5"
                             (!type union 63 nil  gc_used "lang_decl_u5"
                              (!srcfileloc  "cp/cp-tree.h" 2047)
                              (!fields 2 
                               (!pair  "cloned_function"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2042)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "fixed_offset"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2046)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2047)
                             (!options 
                              (!option desc string  "%1.thunk_p")
                             )
                            )
                            (!pair  "u"
                             (!type union 64 nil  gc_used "lang_decl_u3"
                              (!srcfileloc  "cp/cp-tree.h" 2054)
                              (!fields 2 
                               (!pair  "pending_inline_info"
                                (!type pointer 65 nil  gc_used
                                 (!type struct 66 
                                  (!type already_seen 65)
                                  gc_pointed_to "cp_token_cache"
                                  (!srcfileloc  "cp/parser.h" 125)
                                  (!fields 2 
                                   (!pair  "first"
                                    (!type pointer 67 nil  gc_unused
                                     (!type struct 68 
                                      (!type already_seen 67)
                                      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 29)
                                        (!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 69 nil  gc_used "cp_token_value"
                                         (!srcfileloc  "cp/parser.h" 70)
                                         (!fields 2 
                                          (!pair  "tree_check_value"
                                           (!type pointer 70 nil  gc_used
                                            (!type struct 71 
                                             (!type already_seen 70)
                                             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 72 nil  gc_used
                                                (!type user_struct 73 
                                                 (!type already_seen 72)
                                                 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 74 nil  gc_used "deferred_access_check"
                                                    (!srcfileloc  "cp/cp-tree.h" 5720)
                                                    (!fields 4 
                                                     (!pair  "binfo"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5713)
                                                      nil )
                                                     (!pair  "decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5715)
                                                      nil )
                                                     (!pair  "diag_decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5717)
                                                      nil )
                                                     (!pair  "loc"
                                                      (!type already_seen 9)
                                                      (!srcfileloc  "cp/cp-tree.h" 5719)
                                                      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 67)
                                    (!srcfileloc  "cp/parser.h" 124)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                  )
                                  nil 260 nil nil )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2051)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                               (!pair  "saved_language_function"
                                (!type pointer 75 nil  gc_used
                                 (!type lang_struct 76 
                                  (!type already_seen 75)
                                  gc_pointed_to "language_function"
                                  (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                  (!fields 0 )
                                  nil 511 
                                  (!homotypes 7
                                   (!type struct 77 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 76)
                                    nil )
                                   
                                   (!type struct 78 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 76)
                                    nil )
                                   
                                   (!type struct 79 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 76)
                                    nil )
                                   
                                   (!type struct 80 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "fortran/f95-lang.c" 75)
                                    (!fields 1 
                                     (!pair  "binding_level"
                                      (!type pointer 81 nil  gc_used
                                       (!type lang_struct 82 
                                        (!type already_seen 81)
                                        gc_pointed_to "binding_level"
                                        (!srcfileloc  "fortran/f95-lang.c" 318)
                                        (!fields 0 )
                                        nil 40 
                                        (!homotypes 2
                                         (!type struct 83 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 81)
                                            (!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 84 nil  gc_unused
                                             (!type struct 85 
                                              (!type already_seen 84)
                                              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 82)
                                          nil )
                                         
                                         (!type struct 86 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 81)
                                            (!srcfileloc  "fortran/f95-lang.c" 317)
                                            nil )
                                          )
                                          nil 8 
                                          (!type already_seen 82)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "fortran/f95-lang.c" 74)
                                      nil )
                                    )
                                    nil 8 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 87 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "cp/cp-tree.h" 1168)
                                    (!fields 21 
                                     (!pair  "base"
                                      (!type struct 88 nil  gc_used "c_language_function"
                                       (!srcfileloc  "c-family/c-common.h" 515)
                                       (!fields 2 
                                        (!pair  "x_stmt_tree"
                                         (!type struct 89 
                                          (!type pointer 90 nil  gc_unused
                                           (!type already_seen 89)
                                          )
                                          gc_used "stmt_tree_s"
                                          (!srcfileloc  "c-family/c-common.h" 500)
                                          (!fields 2 
                                           (!pair  "x_cur_stmt_list"
                                            (!type already_seen 46)
                                            (!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 46)
                                         (!srcfileloc  "c-family/c-common.h" 514)
                                         nil )
                                       )
                                       nil 390 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 1140)
                                      nil )
                                     (!pair  "x_cdtor_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1142)
                                      nil )
                                     (!pair  "x_current_class_ptr"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1143)
                                      nil )
                                     (!pair  "x_current_class_ref"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1144)
                                      nil )
                                     (!pair  "x_eh_spec_block"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1145)
                                      nil )
                                     (!pair  "x_in_charge_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1146)
                                      nil )
                                     (!pair  "x_vtt_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1147)
                                      nil )
                                     (!pair  "x_return_value"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1148)
                                      nil )
                                     (!pair  "x_auto_return_pattern"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1149)
                                      nil )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1151)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1152)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1153)
                                      nil )
                                     (!pair  "infinite_loop"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1154)
                                      nil )
                                     (!pair  "x_in_function_try_handler"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1155)
                                      nil )
                                     (!pair  "x_in_base_initializer"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1156)
                                      nil )
                                     (!pair  "can_throw"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1159)
                                      nil )
                                     (!pair  "x_named_labels"
                                      (!type pointer 91 nil  gc_used
                                       (!type param_struct 92 
                                        (!type already_seen 91)
                                        gc_pointed_to
                                        (!type already_seen 50)
                                        
                                        (!type pointer 93 nil  gc_used
                                         (!type struct 94 
                                          (!type already_seen 93)
                                          gc_pointed_to "named_label_entry"
                                          (!srcfileloc  "cp/decl.c" 238)
                                          (!fields 8 
                                           (!pair  "label_decl"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 215)
                                            nil )
                                           (!pair  "binding_level"
                                            (!type pointer 95 nil  gc_used
                                             (!type struct 96 
                                              (!type already_seen 95)
                                              gc_pointed_to "cp_binding_level"
                                              (!srcfileloc  "cp/name-lookup.h" 267)
                                              (!fields 20 
                                               (!pair  "names"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 188)
                                                nil )
                                               (!pair  "namespaces"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 191)
                                                nil )
                                               (!pair  "static_decls"
                                                (!type already_seen 46)
                                                (!srcfileloc  "cp/name-lookup.h" 194)
                                                nil )
                                               (!pair  "usings"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 197)
                                                nil )
                                               (!pair  "using_directives"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 201)
                                                nil )
                                               (!pair  "class_shadowed"
                                                (!type pointer 97 nil  gc_used
                                                 (!type user_struct 98 
                                                  (!type already_seen 97)
                                                  gc_pointed_to "vec<cp_class_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 205)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 205)
                                                    nil )
                                                   (!pair  "cp_class_binding"
                                                    (!type struct 99 nil  gc_used "cp_class_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 148)
                                                     (!fields 2 
                                                      (!pair  "base"
                                                       (!type pointer 100 nil  gc_used
                                                        (!type struct 101 
                                                         (!type already_seen 100)
                                                         gc_pointed_to "cxx_binding"
                                                         (!srcfileloc  "cp/name-lookup.h" 76)
                                                         (!fields 6 
                                                          (!pair  "previous"
                                                           (!type already_seen 100)
                                                           (!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 95)
                                                           (!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" 145)
                                                       nil )
                                                      (!pair  "identifier"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 147)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 205)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 205)
                                                nil )
                                               (!pair  "type_shadowed"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 212)
                                                nil )
                                               (!pair  "shadowed_labels"
                                                (!type pointer 102 nil  gc_used
                                                 (!type user_struct 103 
                                                  (!type already_seen 102)
                                                  gc_pointed_to "vec<cp_label_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 216)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 216)
                                                    nil )
                                                   (!pair  "cp_label_binding"
                                                    (!type struct 104 nil  gc_used "cp_label_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 156)
                                                     (!fields 2 
                                                      (!pair  "label"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 153)
                                                       nil )
                                                      (!pair  "prev_value"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 155)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 216)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 216)
                                                nil )
                                               (!pair  "blocks"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 221)
                                                nil )
                                               (!pair  "this_entity"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 225)
                                                nil )
                                               (!pair  "level_chain"
                                                (!type already_seen 95)
                                                (!srcfileloc  "cp/name-lookup.h" 228)
                                                nil )
                                               (!pair  "dead_vars_from_for"
                                                (!type already_seen 46)
                                                (!srcfileloc  "cp/name-lookup.h" 233)
                                                nil )
                                               (!pair  "statement_list"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 237)
                                                nil )
                                               (!pair  "binding_depth"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 240)
                                                nil )
                                               (!pair  "kind"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 245)
                                                nil )
                                               (!pair  "explicit_spec_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 249)
                                                nil )
                                               (!pair  "keep"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 252)
                                                nil )
                                               (!pair  "more_cleanups_ok"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 256)
                                                nil )
                                               (!pair  "have_cleanups"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 257)
                                                nil )
                                               (!pair  "defining_class_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 264)
                                                nil )
                                              )
                                              nil 260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 220)
                                            nil )
                                           (!pair  "names_in_scope"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 224)
                                            nil )
                                           (!pair  "bad_decls"
                                            (!type already_seen 46)
                                            (!srcfileloc  "cp/decl.c" 227)
                                            nil )
                                           (!pair  "uses"
                                            (!type pointer 105 nil  gc_used
                                             (!type struct 106 
                                              (!type already_seen 105)
                                              gc_pointed_to "named_label_use_entry"
                                              (!srcfileloc  "cp/decl.c" 207)
                                              (!fields 5 
                                               (!pair  "next"
                                                (!type already_seen 105)
                                                (!srcfileloc  "cp/decl.c" 192)
                                                nil )
                                               (!pair  "binding_level"
                                                (!type already_seen 95)
                                                (!srcfileloc  "cp/decl.c" 196)
                                                nil )
                                               (!pair  "names_in_scope"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/decl.c" 200)
                                                nil )
                                               (!pair  "o_goto_locus"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 202)
                                                nil )
                                               (!pair  "in_omp_scope"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 206)
                                                nil )
                                              )
                                              (!options 
                                               (!option chain_next string  "%h.next")
                                              )
                                              260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 230)
                                            nil )
                                           (!pair  "in_try_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 235)
                                            nil )
                                           (!pair  "in_catch_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 236)
                                            nil )
                                           (!pair  "in_omp_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 237)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1161)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 94)
                                       )
                                      )
                                     )
                                     (!pair  "bindings"
                                      (!type already_seen 95)
                                      (!srcfileloc  "cp/cp-tree.h" 1162)
                                      nil )
                                     (!pair  "x_local_names"
                                      (!type already_seen 46)
                                      (!srcfileloc  "cp/cp-tree.h" 1163)
                                      nil )
                                     (!pair  "infinite_loops"
                                      (!type already_seen 46)
                                      (!srcfileloc  "cp/cp-tree.h" 1166)
                                      nil )
                                     (!pair  "extern_decl_map"
                                      (!type pointer 107 nil  gc_used
                                       (!type param_struct 108 
                                        (!type already_seen 107)
                                        gc_pointed_to
                                        (!type already_seen 50)
                                        
                                        (!type pointer 109 nil  gc_used
                                         (!type struct 110 
                                          (!type already_seen 109)
                                          gc_pointed_to "cxx_int_tree_map"
                                          (!srcfileloc  "cp/cp-tree.h" 1132)
                                          (!fields 2 
                                           (!pair  "uid"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/cp-tree.h" 1130)
                                            nil )
                                           (!pair  "to"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/cp-tree.h" 1131)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1167)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 110)
                                       )
                                      )
                                     )
                                    )
                                    nil 260 
                                    (!type already_seen 76)
                                    nil )
                                   
                                   (!type struct 111 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "c/c-lang.h" 56)
                                    (!fields 9 
                                     (!pair  "base"
                                      (!type already_seen 88)
                                      (!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 112 nil  gc_unused
                                       (!type struct 113 
                                        (!type already_seen 112)
                                        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 114 nil  gc_unused
                                       (!type struct 115 
                                        (!type already_seen 114)
                                        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 76)
                                    nil )
                                   
                                   (!type struct 116 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                    (!fields 4 
                                     (!pair  "parm_attr_cache"
                                      (!type pointer 117 nil  gc_used
                                       (!type user_struct 118 
                                        (!type already_seen 117)
                                        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 119 nil  gc_used
                                           (!type struct 120 
                                            (!type already_seen 119)
                                            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 121 nil  gc_used
                                       (!type struct 122 
                                        (!type already_seen 121)
                                        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 123 nil  gc_used
                                           (!type struct 124 
                                            (!type already_seen 123)
                                            gc_pointed_to "bitmap_element"
                                            (!srcfileloc  "bitmap.h" 185)
                                            (!fields 4 
                                             (!pair  "next"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 171)
                                              nil )
                                             (!pair  "prev"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 172)
                                              nil )
                                             (!pair  "indx"
                                              (!type already_seen 9)
                                              (!srcfileloc  "bitmap.h" 173)
                                              nil )
                                             (!pair  "bits"
                                              (!type array 125 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 123)
                                          (!srcfileloc  "bitmap.h" 186)
                                          (!options 
                                           (!option skip string  "")
                                          )
                                         )
                                         (!pair  "obstack"
                                          (!type pointer 126 nil  gc_used
                                           (!type struct 127 
                                            (!type already_seen 126)
                                            gc_pointed_to "bitmap_obstack"
                                            (!srcfileloc  "bitmap.h" 187)
                                            (!fields 3 
                                             (!pair  "elements"
                                              (!type already_seen 123)
                                              (!srcfileloc  "bitmap.h" 153)
                                              nil )
                                             (!pair  "heads"
                                              (!type already_seen 121)
                                              (!srcfileloc  "bitmap.h" 154)
                                              nil )
                                             (!pair  "obstack"
                                              (!type struct 128 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 46)
                                      (!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 76)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2053)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2054)
                             (!options 
                              (!option desc string  "%1.pending_inline_p")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2081)
                          (!options 
                           (!option tag string  "1")
                          )
                         )
                         (!pair  "ns"
                          (!type struct 129 nil  gc_used "lang_decl_ns"
                           (!srcfileloc  "cp/cp-tree.h" 2063)
                           (!fields 2 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 2061)
                             nil )
                            (!pair  "level"
                             (!type already_seen 95)
                             (!srcfileloc  "cp/cp-tree.h" 2062)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2082)
                          (!options 
                           (!option tag string  "2")
                          )
                         )
                         (!pair  "parm"
                          (!type struct 130 nil  gc_used "lang_decl_parm"
                           (!srcfileloc  "cp/cp-tree.h" 2071)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 2068)
                             nil )
                            (!pair  "level"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2069)
                             nil )
                            (!pair  "index"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2070)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2083)
                          (!options 
                           (!option tag string  "3")
                          )
                         )
                        )
                        (!options 
                         (!option desc string  "%h.base.selector")
                        )
                        260 
                        (!type already_seen 57)
                       )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 817)
                    (!options 
                     (!option desc string  "%0.desc")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  32 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 131 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "go/go-lang.c" 57)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 29)
                    (!srcfileloc  "go/go-lang.c" 56)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  16 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 132 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 41)
                  nil )
                 
                 (!type struct 133 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "cp/cp-tree.h" 2085)
                  (!fields 1 
                   (!pair  "u"
                    (!type already_seen 57)
                    (!srcfileloc  "cp/cp-tree.h" 2084)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 134 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "c/c-lang.h" 40)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 29)
                    (!srcfileloc  "c/c-lang.h" 39)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  130 
                  (!type already_seen 41)
                  nil )
                 
                 (!type struct 135 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 41)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1405)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1621)
           (!options 
            (!option tag string  "TS_DECL_COMMON")
           )
          )
          (!pair  "decl_with_rtl"
           (!type struct 136 nil  gc_used "tree_decl_with_rtl"
            (!srcfileloc  "tree-core.h" 1411)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1409)
              nil )
             (!pair  "rtl"
              (!type pointer 137 
               (!type pointer 138 nil  gc_used
                (!type already_seen 137)
               )
               gc_pointed_to
               (!type struct 139 
                (!type already_seen 137)
                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 140 nil  gc_used "rtx_def_subunion"
                   (!srcfileloc  "rtl.h" 346)
                   (!fields 147 
                    (!pair  ""
                     (!type struct 141 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 142 nil  gc_used "rtx_def_entry_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 143 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 144 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 137)
                        (!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 145 nil  gc_used "rtx_def_fma"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 146 nil  gc_used "rtx_def_us_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 147 nil  gc_used "rtx_def_ss_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 148 nil  gc_used "rtx_def_us_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 149 nil  gc_used "rtx_def_us_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 150 nil  gc_used "rtx_def_ss_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 151 nil  gc_used "rtx_def_ss_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 152 nil  gc_used "rtx_def_us_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 153 nil  gc_used "rtx_def_ss_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 154 nil  gc_used "rtx_def_ss_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 155 nil  gc_used "rtx_def_us_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 156 nil  gc_used "rtx_def_ss_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 157 nil  gc_used "rtx_def_vec_duplicate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 158 nil  gc_used "rtx_def_vec_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 159 nil  gc_used "rtx_def_vec_select"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 160 nil  gc_used "rtx_def_vec_merge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 161 nil  gc_used "rtx_def_lo_sum"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 162 nil  gc_used "rtx_def_high"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 163 nil  gc_used "rtx_def_zero_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 164 nil  gc_used "rtx_def_sign_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 165 nil  gc_used "rtx_def_parity"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 166 nil  gc_used "rtx_def_popcount"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 167 nil  gc_used "rtx_def_ctz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 168 nil  gc_used "rtx_def_clz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 169 nil  gc_used "rtx_def_clrsb"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 170 nil  gc_used "rtx_def_ffs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 171 nil  gc_used "rtx_def_bswap"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 172 nil  gc_used "rtx_def_sqrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 173 nil  gc_used "rtx_def_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 174 nil  gc_used "rtx_def_unsigned_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 175 nil  gc_used "rtx_def_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 176 nil  gc_used "rtx_def_unsigned_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 177 nil  gc_used "rtx_def_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 178 nil  gc_used "rtx_def_unsigned_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 179 nil  gc_used "rtx_def_unsigned_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 180 nil  gc_used "rtx_def_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 181 nil  gc_used "rtx_def_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 182 nil  gc_used "rtx_def_float_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 183 nil  gc_used "rtx_def_float_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 184 nil  gc_used "rtx_def_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 185 nil  gc_used "rtx_def_zero_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 186 nil  gc_used "rtx_def_sign_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 187 nil  gc_used "rtx_def_ltgt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 188 nil  gc_used "rtx_def_unlt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 189 nil  gc_used "rtx_def_unle"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 190 nil  gc_used "rtx_def_ungt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 191 nil  gc_used "rtx_def_unge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 192 nil  gc_used "rtx_def_uneq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 193 nil  gc_used "rtx_def_ordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 194 nil  gc_used "rtx_def_unordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 195 nil  gc_used "rtx_def_ltu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 196 nil  gc_used "rtx_def_leu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 197 nil  gc_used "rtx_def_gtu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 198 nil  gc_used "rtx_def_geu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 199 nil  gc_used "rtx_def_lt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 200 nil  gc_used "rtx_def_le"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 201 nil  gc_used "rtx_def_gt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 202 nil  gc_used "rtx_def_ge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 203 nil  gc_used "rtx_def_eq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 204 nil  gc_used "rtx_def_ne"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 205 nil  gc_used "rtx_def_post_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 206 nil  gc_used "rtx_def_pre_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 207 nil  gc_used "rtx_def_post_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 208 nil  gc_used "rtx_def_post_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 209 nil  gc_used "rtx_def_pre_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 210 nil  gc_used "rtx_def_pre_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 211 nil  gc_used "rtx_def_umax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 212 nil  gc_used "rtx_def_umin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 213 nil  gc_used "rtx_def_smax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 214 nil  gc_used "rtx_def_smin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 215 nil  gc_used "rtx_def_rotatert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 216 nil  gc_used "rtx_def_lshiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 217 nil  gc_used "rtx_def_ashiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 218 nil  gc_used "rtx_def_rotate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 219 nil  gc_used "rtx_def_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 220 nil  gc_used "rtx_def_not"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 221 nil  gc_used "rtx_def_xor"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 222 nil  gc_used "rtx_def_ior"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 223 nil  gc_used "rtx_def_and"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 224 nil  gc_used "rtx_def_umod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 225 nil  gc_used "rtx_def_udiv"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 226 nil  gc_used "rtx_def_mod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 227 nil  gc_used "rtx_def_us_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 228 nil  gc_used "rtx_def_ss_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 229 nil  gc_used "rtx_def_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 230 nil  gc_used "rtx_def_us_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 231 nil  gc_used "rtx_def_ss_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 232 nil  gc_used "rtx_def_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 233 nil  gc_used "rtx_def_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 234 nil  gc_used "rtx_def_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 235 nil  gc_used "rtx_def_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 236 nil  gc_used "rtx_def_compare"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 237 nil  gc_used "rtx_def_if_then_else"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 238 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 239 nil  gc_used "rtx_def_symbol_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 4 
                       (!pair  "block_sym"
                        (!type union 240 nil  gc_used "fake_union_1"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 1 
                          (!pair  ""
                           (!type struct 241 nil  gc_used "block_symbol"
                            (!srcfileloc  "rtl.h" 216)
                            (!fields 3 
                             (!pair  "fld"
                              (!type array 242 nil  gc_unused "3" 
                               (!type undefined 243 nil  gc_unused "rtunion"
                                (!srcfileloc  "rtl.h" 208)
                               )
                              )
                              (!srcfileloc  "rtl.h" 208)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                             (!pair  "block"
                              (!type pointer 244 nil  gc_used
                               (!type struct 245 
                                (!type already_seen 244)
                                gc_pointed_to "object_block"
                                (!srcfileloc  "rtl.h" 249)
                                (!fields 5 
                                 (!pair  "sect"
                                  (!type pointer 246 nil  gc_used
                                   (!type union 247 
                                    (!type already_seen 246)
                                    gc_pointed_to "section"
                                    (!srcfileloc  "output.h" 492)
                                    (!fields 4 
                                     (!pair  "common"
                                      (!type struct 248 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 249 nil  gc_used "named_section"
                                       (!srcfileloc  "output.h" 446)
                                       (!fields 3 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!srcfileloc  "output.h" 438)
                                         nil )
                                        (!pair  "name"
                                         (!type already_seen 37)
                                         (!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 250 nil  gc_used "unnamed_section"
                                       (!srcfileloc  "output.h" 463)
                                       (!fields 4 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!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 246)
                                         (!srcfileloc  "output.h" 462)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 490)
                                      (!options 
                                       (!option tag string  "SECTION_UNNAMED")
                                      )
                                     )
                                     (!pair  "noswitch"
                                      (!type struct 251 nil  gc_used "noswitch_section"
                                       (!srcfileloc  "output.h" 484)
                                       (!fields 2 
                                        (!pair  "common"
                                         (!type already_seen 248)
                                         (!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 252 nil  gc_used
                                   (!type user_struct 253 
                                    (!type already_seen 252)
                                    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 137)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "rtl.h" 238)
                                  nil )
                                 (!pair  "anchors"
                                  (!type already_seen 252)
                                  (!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 254 nil  gc_used "rtx_def_symbol_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 2 
                          (!pair  "rt_constant"
                           (!type pointer 255 nil  gc_used
                            (!type struct 256 
                             (!type already_seen 255)
                             gc_pointed_to "constant_descriptor_rtx"
                             (!srcfileloc  "varasm.c" 3509)
                             (!fields 10 
                              (!pair  "next"
                               (!type already_seen 255)
                               (!srcfileloc  "varasm.c" 3499)
                               nil )
                              (!pair  "mem"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3500)
                               nil )
                              (!pair  "sym"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3501)
                               nil )
                              (!pair  "constant"
                               (!type already_seen 137)
                               (!srcfileloc  "varasm.c" 3502)
                               nil )
                              (!pair  "offset"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3503)
                               nil )
                              (!pair  "hash"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3504)
                               nil )
                              (!pair  "mode"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3505)
                               nil )
                              (!pair  "align"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3506)
                               nil )
                              (!pair  "labelno"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3507)
                               nil )
                              (!pair  "mark"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3508)
                               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 37)
                        (!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 257 nil  gc_used "rtx_def_label_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 258 nil  gc_used "rtx_def_mem"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_mem"
                        (!type pointer 259 nil  gc_used
                         (!type struct 260 
                          (!type already_seen 259)
                          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 29)
                            (!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 137)
                        (!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 261 nil  gc_used "rtx_def_concatn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type pointer 262 nil  gc_used
                         (!type struct 263 
                          (!type already_seen 262)
                          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 264 nil  gc_used "1" 
                             (!type already_seen 137)
                            )
                            (!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 265 nil  gc_used "rtx_def_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 266 nil  gc_used "rtx_def_strict_low_part"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 267 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 137)
                        (!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 268 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 269 nil  gc_used "rtx_def_reg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_reg"
                        (!type pointer 270 nil  gc_used
                         (!type struct 271 
                          (!type already_seen 270)
                          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 272 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 273 nil  gc_used "rtx_def_const"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 274 nil  gc_used "rtx_def_const_string"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!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 275 nil  gc_used "rtx_def_const_vector"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!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 276 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 277 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 278 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 279 nil  gc_used "rtx_def_trap_if"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 280 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 281 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 282 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 283 nil  gc_used "rtx_def_call"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 284 nil  gc_used "rtx_def_clobber"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 285 nil  gc_used "rtx_def_use"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 286 nil  gc_used "rtx_def_set"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 287 nil  gc_used "rtx_def_prefetch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 288 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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 289 nil  gc_used "rtx_def_addr_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!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 290 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 262)
                        (!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 291 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 262)
                        (!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 292 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 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtvec"
                        (!type already_seen 262)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtvec"
                        (!type already_seen 262)
                        (!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 37)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 37)
                        (!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 293 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 37)
                        (!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 294 nil  gc_used "rtx_def_parallel"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!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 295 nil  gc_used "rtx_def_cond_exec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 296 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 297 nil  gc_used "rtx_def_note_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 17 
                          (!pair  "rt_str"
                           (!type already_seen 37)
                           (!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 137)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_CALL_ARG_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 137)
                           (!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 37)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 37)
                           (!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 298 nil  gc_used
                         (!type struct 299 
                          (!type already_seen 298)
                          gc_pointed_to "basic_block_def"
                          (!srcfileloc  "basic-block.h" 204)
                          (!fields 12 
                           (!pair  "preds"
                            (!type pointer 300 nil  gc_used
                             (!type user_struct 301 
                              (!type already_seen 300)
                              gc_pointed_to "vec<edge,va_gc>"
                              (!srcfileloc  "basic-block.h" 169)
                              (!fields 2 
                               (!pair  "va_gc"
                                (!type already_seen 3)
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                               (!pair  "edge"
                                (!type pointer 302 nil  gc_used
                                 (!type user_struct 303 
                                  (!type already_seen 302)
                                  gc_pointed_to "edge_def"
                                  (!srcfileloc  "basic-block.h" 59)
                                  (!fields 0 )
                                 )
                                )
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                              )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 169)
                            nil )
                           (!pair  "succs"
                            (!type already_seen 300)
                            (!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 304 nil  gc_used
                             (!type struct 305 
                              (!type already_seen 304)
                              gc_pointed_to "loop"
                              (!srcfileloc  "cfgloop.h" 212)
                              (!fields 28 
                               (!pair  "num"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 114)
                                nil )
                               (!pair  "ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 117)
                                nil )
                               (!pair  "header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 120)
                                nil )
                               (!pair  "latch"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 123)
                                nil )
                               (!pair  "lpt_decision"
                                (!type struct 306 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" 126)
                                nil )
                               (!pair  "av_ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 129)
                                nil )
                               (!pair  "num_nodes"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 132)
                                nil )
                               (!pair  "superloops"
                                (!type pointer 307 nil  gc_used
                                 (!type user_struct 308 
                                  (!type already_seen 307)
                                  gc_pointed_to "vec<loop_p,va_gc>"
                                  (!srcfileloc  "cfgloop.h" 135)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "cfgloop.h" 135)
                                    nil )
                                   (!pair  "loop_p"
                                    (!type already_seen 304)
                                    (!srcfileloc  "cfgloop.h" 135)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cfgloop.h" 135)
                                nil )
                               (!pair  "inner"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 138)
                                nil )
                               (!pair  "next"
                                (!type already_seen 304)
                                (!srcfileloc  "cfgloop.h" 141)
                                nil )
                               (!pair  "aux"
                                (!type already_seen 10)
                                (!srcfileloc  "cfgloop.h" 144)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "nb_iterations"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 153)
                                nil )
                               (!pair  "nb_iterations_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 157)
                                nil )
                               (!pair  "nb_iterations_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 162)
                                nil )
                               (!pair  "any_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 164)
                                nil )
                               (!pair  "any_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 165)
                                nil )
                               (!pair  "can_be_parallel"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 168)
                                nil )
                               (!pair  "warned_aggressive_loop_optimizations"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 172)
                                nil )
                               (!pair  "estimate_state"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 176)
                                nil )
                               (!pair  "safelen"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 182)
                                nil )
                               (!pair  "force_vect"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 185)
                                nil )
                               (!pair  "dont_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 188)
                                nil )
                               (!pair  "simduid"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 193)
                                nil )
                               (!pair  "bounds"
                                (!type pointer 309 nil  gc_used
                                 (!type struct 310 
                                  (!type already_seen 309)
                                  gc_pointed_to "nb_iter_bound"
                                  (!srcfileloc  "cfgloop.h" 74)
                                  (!fields 4 
                                   (!pair  "stmt"
                                    (!type pointer 311 nil  gc_used
                                     (!type struct 312 
                                      (!type already_seen 311)
                                      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 298)
                                        (!srcfileloc  "gimple.h" 193)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 311)
                                        (!srcfileloc  "gimple.h" 201)
                                        nil )
                                       (!pair  "prev"
                                        (!type already_seen 311)
                                        (!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 309)
                                    (!srcfileloc  "cfgloop.h" 73)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 196)
                                nil )
                               (!pair  "control_ivs"
                                (!type pointer 313 nil  gc_used
                                 (!type struct 314 
                                  (!type already_seen 313)
                                  gc_pointed_to "control_iv"
                                  (!srcfileloc  "cfgloop.h" 109)
                                  (!fields 3 
                                   (!pair  "base"
                                    (!type already_seen 5)
                                    (!srcfileloc  "cfgloop.h" 106)
                                    nil )
                                   (!pair  "step"
                                    (!type already_seen 5)
                                    (!srcfileloc  "cfgloop.h" 107)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 313)
                                    (!srcfileloc  "cfgloop.h" 108)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 199)
                                nil )
                               (!pair  "exits"
                                (!type pointer 315 nil  gc_used
                                 (!type struct 316 
                                  (!type already_seen 315)
                                  gc_pointed_to "loop_exit"
                                  (!srcfileloc  "cfgloop.h" 88)
                                  (!fields 4 
                                   (!pair  "e"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 80)
                                    nil )
                                   (!pair  "prev"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 83)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 84)
                                    nil )
                                   (!pair  "next_e"
                                    (!type already_seen 315)
                                    (!srcfileloc  "cfgloop.h" 87)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 202)
                                nil )
                               (!pair  "simple_loop_desc"
                                (!type pointer 317 nil  gc_used
                                 (!type struct 318 
                                  (!type already_seen 317)
                                  gc_pointed_to "niter_desc"
                                  (!srcfileloc  "cfgloop.h" 453)
                                  (!fields 15 
                                   (!pair  "out_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 408)
                                    nil )
                                   (!pair  "in_edge"
                                    (!type already_seen 302)
                                    (!srcfileloc  "cfgloop.h" 411)
                                    nil )
                                   (!pair  "simple_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 415)
                                    nil )
                                   (!pair  "const_iter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 418)
                                    nil )
                                   (!pair  "niter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 421)
                                    nil )
                                   (!pair  "assumptions"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 424)
                                    nil )
                                   (!pair  "noloop_assumptions"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 428)
                                    nil )
                                   (!pair  "infinite"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 431)
                                    nil )
                                   (!pair  "signed_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 434)
                                    nil )
                                   (!pair  "mode"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 437)
                                    nil )
                                   (!pair  "niter_expr"
                                    (!type already_seen 137)
                                    (!srcfileloc  "cfgloop.h" 440)
                                    nil )
                                   (!pair  "num_branches"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 443)
                                    nil )
                                   (!pair  "av_num_branches"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 446)
                                    nil )
                                   (!pair  "has_call"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 449)
                                    nil )
                                   (!pair  "has_fp"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 452)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 205)
                                nil )
                               (!pair  "former_header"
                                (!type already_seen 298)
                                (!srcfileloc  "cfgloop.h" 211)
                                nil )
                              )
                              (!options 
                               (!option chain_next string  "%h.next")
                              )
                              511 nil nil )
                            )
                            (!srcfileloc  "basic-block.h" 176)
                            nil )
                           (!pair  "dom"
                            (!type array 319 nil  gc_unused "2" 
                             (!type pointer 320 nil  gc_unused
                              (!type struct 321 
                               (!type already_seen 320)
                               gc_unused "et_node"nil 
                               (!fields 0 )
                               nil 0 nil nil )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 179)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "prev_bb"
                            (!type already_seen 298)
                            (!srcfileloc  "basic-block.h" 182)
                            nil )
                           (!pair  "next_bb"
                            (!type already_seen 298)
                            (!srcfileloc  "basic-block.h" 183)
                            nil )
                           (!pair  "il"
                            (!type union 322 nil  gc_used "basic_block_il_dependent"
                             (!srcfileloc  "basic-block.h" 191)
                             (!fields 2 
                              (!pair  "gimple"
                               (!type struct 323 nil  gc_used "gimple_bb_info"
                                (!srcfileloc  "basic-block.h" 139)
                                (!fields 2 
                                 (!pair  "seq"
                                  (!type already_seen 311)
                                  (!srcfileloc  "basic-block.h" 135)
                                  nil )
                                 (!pair  "phi_nodes"
                                  (!type already_seen 311)
                                  (!srcfileloc  "basic-block.h" 138)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 186)
                               (!options 
                                (!option tag string  "0")
                               )
                              )
                              (!pair  "x"
                               (!type struct 324 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/basic-block.h:187"
                                (!srcfileloc  "basic-block.h" 190)
                                (!fields 2 
                                 (!pair  "head_"
                                  (!type already_seen 137)
                                  (!srcfileloc  "basic-block.h" 188)
                                  nil )
                                 (!pair  "rtl"
                                  (!type pointer 325 nil  gc_used
                                   (!type struct 326 
                                    (!type already_seen 325)
                                    gc_pointed_to "rtl_bb_info"
                                    (!srcfileloc  "basic-block.h" 131)
                                    (!fields 3 
                                     (!pair  "end_"
                                      (!type already_seen 137)
                                      (!srcfileloc  "basic-block.h" 125)
                                      nil )
                                     (!pair  "header_"
                                      (!type already_seen 137)
                                      (!srcfileloc  "basic-block.h" 129)
                                      nil )
                                     (!pair  "footer_"
                                      (!type already_seen 137)
                                      (!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 )
                          )
                          (!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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 327 nil  gc_used "rtx_def_code_label"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_str"
                        (!type already_seen 37)
                        (!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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 328 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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 329 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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 330 nil  gc_used "rtx_def_call_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 331 nil  gc_used "rtx_def_jump_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 332 nil  gc_used "rtx_def_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 333 nil  gc_used "rtx_def_debug_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 137)
                        (!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 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 298)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 334 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 335 nil  gc_used "rtx_def_sequence"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 262)
                        (!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 336 nil  gc_used "rtx_def_int_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!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 337 nil  gc_used "rtx_def_insn_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 338 nil  gc_used "rtx_def_expr_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 137)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 137)
                        (!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 339 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 340 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 341 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" 1410)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1622)
           (!options 
            (!option tag string  "TS_DECL_WRTL")
           )
          )
          (!pair  "decl_non_common"
           (!type struct 342 nil  gc_used "tree_decl_non_common"
            (!srcfileloc  "tree-core.h" 1494)
            (!fields 5 
             (!pair  "common"
              (!type struct 343 nil  gc_used "tree_decl_with_vis"
               (!srcfileloc  "tree-core.h" 1478)
               (!fields 22 
                (!pair  "common"
                 (!type already_seen 136)
                 (!srcfileloc  "tree-core.h" 1443)
                 nil )
                (!pair  "assembler_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1444)
                 nil )
                (!pair  "section_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1445)
                 nil )
                (!pair  "comdat_group"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1446)
                 nil )
                (!pair  "defer_output"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1449)
                 nil )
                (!pair  "hard_register"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1450)
                 nil )
                (!pair  "common_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1451)
                 nil )
                (!pair  "in_text_section"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1452)
                 nil )
                (!pair  "in_constant_pool"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1453)
                 nil )
                (!pair  "dllimport_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1454)
                 nil )
                (!pair  "weak_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1456)
                 nil )
                (!pair  "implicit_section_name_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1458)
                 nil )
                (!pair  "seen_in_bind_expr"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1460)
                 nil )
                (!pair  "comdat_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1461)
                 nil )
                (!pair  "visibility"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1462)
                 nil )
                (!pair  "visibility_specified"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1463)
                 nil )
                (!pair  "tls_model"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1465)
                 nil )
                (!pair  "init_priority_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1468)
                 nil )
                (!pair  "shadowed_for_var_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1470)
                 nil )
                (!pair  "cxx_constructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1472)
                 nil )
                (!pair  "cxx_destructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1474)
                 nil )
                (!pair  "final"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1476)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1485)
              nil )
             (!pair  "saved_tree"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1487)
              nil )
             (!pair  "arguments"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1489)
              nil )
             (!pair  "result"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1491)
              nil )
             (!pair  "vindex"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1493)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1624)
           (!options 
            (!option tag string  "TS_DECL_NON_COMMON")
           )
          )
          (!pair  "parm_decl"
           (!type struct 344 nil  gc_used "tree_parm_decl"
            (!srcfileloc  "tree-core.h" 1440)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1438)
              nil )
             (!pair  "incoming_rtl"
              (!type already_seen 137)
              (!srcfileloc  "tree-core.h" 1439)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1625)
           (!options 
            (!option tag string  "TS_PARM_DECL")
           )
          )
          (!pair  "decl_with_vis"
           (!type already_seen 343)
           (!srcfileloc  "tree-core.h" 1626)
           (!options 
            (!option tag string  "TS_DECL_WITH_VIS")
           )
          )
          (!pair  "var_decl"
           (!type struct 345 nil  gc_used "tree_var_decl"
            (!srcfileloc  "tree-core.h" 1482)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 343)
              (!srcfileloc  "tree-core.h" 1481)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1627)
           (!options 
            (!option tag string  "TS_VAR_DECL")
           )
          )
          (!pair  "field_decl"
           (!type struct 346 nil  gc_used "tree_field_decl"
            (!srcfileloc  "tree-core.h" 1421)
            (!fields 6 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1414)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1416)
              nil )
             (!pair  "bit_field_type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1417)
              nil )
             (!pair  "qualifier"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1418)
              nil )
             (!pair  "bit_offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1419)
              nil )
             (!pair  "fcontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1420)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1628)
           (!options 
            (!option tag string  "TS_FIELD_DECL")
           )
          )
          (!pair  "label_decl"
           (!type struct 347 nil  gc_used "tree_label_decl"
            (!srcfileloc  "tree-core.h" 1427)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1424)
              nil )
             (!pair  "label_decl_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1425)
              nil )
             (!pair  "eh_landing_pad_nr"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1426)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1629)
           (!options 
            (!option tag string  "TS_LABEL_DECL")
           )
          )
          (!pair  "result_decl"
           (!type struct 348 nil  gc_used "tree_result_decl"
            (!srcfileloc  "tree-core.h" 1431)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1430)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1630)
           (!options 
            (!option tag string  "TS_RESULT_DECL")
           )
          )
          (!pair  "const_decl"
           (!type struct 349 nil  gc_used "tree_const_decl"
            (!srcfileloc  "tree-core.h" 1435)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1434)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1631)
           (!options 
            (!option tag string  "TS_CONST_DECL")
           )
          )
          (!pair  "type_decl"
           (!type struct 350 nil  gc_used "tree_type_decl"
            (!srcfileloc  "tree-core.h" 1555)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 342)
              (!srcfileloc  "tree-core.h" 1553)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1632)
           (!options 
            (!option tag string  "TS_TYPE_DECL")
           )
          )
          (!pair  "function_decl"
           (!type struct 351 nil  gc_used "tree_function_decl"
            (!srcfileloc  "tree-core.h" 1542)
            (!fields 26 
             (!pair  "common"
              (!type already_seen 342)
              (!srcfileloc  "tree-core.h" 1502)
              nil )
             (!pair  "f"
              (!type pointer 352 nil  gc_used
               (!type struct 353 
                (!type already_seen 352)
                gc_pointed_to "function"
                (!srcfileloc  "function.h" 691)
                (!fields 45 
                 (!pair  "eh"
                  (!type pointer 354 nil  gc_used
                   (!type struct 355 
                    (!type already_seen 354)
                    gc_pointed_to "eh_status"
                    (!srcfileloc  "except.h" 221)
                    (!fields 6 
                     (!pair  "region_tree"
                      (!type pointer 356 nil  gc_used
                       (!type struct 357 
                        (!type already_seen 356)
                        gc_pointed_to "eh_region_d"
                        (!srcfileloc  "except.h" 183)
                        (!fields 10 
                         (!pair  "outer"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 124)
                          nil )
                         (!pair  "inner"
                          (!type already_seen 356)
                          (!srcfileloc  "except.h" 127)
                          nil )
                         (!pair  "next_peer"
                          (!type already_seen 356)
                          (!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 358 nil  gc_used "eh_region_u"
                           (!srcfileloc  "except.h" 170)
                           (!fields 3 
                            (!pair  "eh_try"
                             (!type struct 359 nil  gc_used "eh_region_u_try"
                              (!srcfileloc  "except.h" 142)
                              (!fields 2 
                               (!pair  "first_catch"
                                (!type pointer 360 nil  gc_used
                                 (!type struct 361 
                                  (!type already_seen 360)
                                  gc_pointed_to "eh_catch_d"
                                  (!srcfileloc  "except.h" 117)
                                  (!fields 5 
                                   (!pair  "next_catch"
                                    (!type already_seen 360)
                                    (!srcfileloc  "except.h" 101)
                                    nil )
                                   (!pair  "prev_catch"
                                    (!type already_seen 360)
                                    (!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 360)
                                (!srcfileloc  "except.h" 141)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 142)
                             (!options 
                              (!option tag string  "ERT_TRY")
                             )
                            )
                            (!pair  "allowed"
                             (!type struct 362 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 363 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 364 nil  gc_used
                           (!type struct 365 
                            (!type already_seen 364)
                            gc_pointed_to "eh_landing_pad_d"
                            (!srcfileloc  "except.h" 94)
                            (!fields 5 
                             (!pair  "next_lp"
                              (!type already_seen 364)
                              (!srcfileloc  "except.h" 75)
                              nil )
                             (!pair  "region"
                              (!type already_seen 356)
                              (!srcfileloc  "except.h" 78)
                              nil )
                             (!pair  "post_landing_pad"
                              (!type already_seen 5)
                              (!srcfileloc  "except.h" 83)
                              nil )
                             (!pair  "landing_pad"
                              (!type already_seen 137)
                              (!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 137)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "filter_reg"
                          (!type already_seen 137)
                          (!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 366 nil  gc_used
                       (!type user_struct 367 
                        (!type already_seen 366)
                        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 356)
                          (!srcfileloc  "except.h" 200)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 200)
                      nil )
                     (!pair  "lp_array"
                      (!type pointer 368 nil  gc_used
                       (!type user_struct 369 
                        (!type already_seen 368)
                        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 364)
                          (!srcfileloc  "except.h" 203)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 203)
                      nil )
                     (!pair  "throw_stmt_table"
                      (!type pointer 370 nil  gc_used
                       (!type param_struct 371 
                        (!type already_seen 370)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type pointer 372 nil  gc_used
                         (!type struct 373 
                          (!type already_seen 372)
                          gc_pointed_to "throw_stmt_node"
                          (!srcfileloc  "except.h" 292)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 311)
                            (!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 373)
                       )
                      )
                     )
                     (!pair  "ttype_data"
                      (!type already_seen 46)
                      (!srcfileloc  "except.h" 211)
                      nil )
                     (!pair  "ehspec_data"
                      (!type union 374 nil  gc_used "eh_status_u"
                       (!srcfileloc  "except.h" 220)
                       (!fields 2 
                        (!pair  "arm_eabi"
                         (!type already_seen 46)
                         (!srcfileloc  "except.h" 218)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                        (!pair  "other"
                         (!type pointer 375 nil  gc_used
                          (!type user_struct 376 
                           (!type already_seen 375)
                           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 29)
                             (!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" 530)
                  nil )
                 (!pair  "cfg"
                  (!type pointer 377 nil  gc_used
                   (!type struct 378 
                    (!type already_seen 377)
                    gc_pointed_to "control_flow_graph"
                    (!srcfileloc  "basic-block.h" 306)
                    (!fields 12 
                     (!pair  "x_entry_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "basic-block.h" 273)
                      nil )
                     (!pair  "x_exit_block_ptr"
                      (!type already_seen 298)
                      (!srcfileloc  "basic-block.h" 274)
                      nil )
                     (!pair  "x_basic_block_info"
                      (!type pointer 379 nil  gc_used
                       (!type user_struct 380 
                        (!type already_seen 379)
                        gc_pointed_to "vec<basic_block,va_gc>"
                        (!srcfileloc  "basic-block.h" 277)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "basic-block.h" 277)
                          nil )
                         (!pair  "basic_block"
                          (!type already_seen 298)
                          (!srcfileloc  "basic-block.h" 277)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "basic-block.h" 277)
                      nil )
                     (!pair  "x_n_basic_blocks"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 280)
                      nil )
                     (!pair  "x_n_edges"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 283)
                      nil )
                     (!pair  "x_last_basic_block"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 286)
                      nil )
                     (!pair  "last_label_uid"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 289)
                      nil )
                     (!pair  "x_label_to_block_map"
                      (!type already_seen 379)
                      (!srcfileloc  "basic-block.h" 293)
                      nil )
                     (!pair  "x_profile_status"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 295)
                      nil )
                     (!pair  "x_dom_computed"
                      (!type array 381 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 298)
                      nil )
                     (!pair  "x_n_bbs_in_dom_tree"
                      (!type array 382 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 301)
                      nil )
                     (!pair  "max_jumptable_ents"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 305)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 533)
                  nil )
                 (!pair  "gimple_body"
                  (!type already_seen 311)
                  (!srcfileloc  "function.h" 536)
                  nil )
                 (!pair  "gimple_df"
                  (!type pointer 383 nil  gc_used
                   (!type struct 384 
                    (!type already_seen 383)
                    gc_pointed_to "gimple_df"
                    (!srcfileloc  "gimple-ssa.h" 84)
                    (!fields 13 
                     (!pair  "modified_noreturn_calls"
                      (!type pointer 385 nil  gc_used
                       (!type user_struct 386 
                        (!type already_seen 385)
                        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 311)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 43)
                      nil )
                     (!pair  "ssa_names"
                      (!type already_seen 46)
                      (!srcfileloc  "gimple-ssa.h" 46)
                      nil )
                     (!pair  "vop"
                      (!type already_seen 5)
                      (!srcfileloc  "gimple-ssa.h" 49)
                      nil )
                     (!pair  "escaped"
                      (!type struct 387 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 121)
                         (!srcfileloc  "tree-ssa-alias.h" 60)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 52)
                      nil )
                     (!pair  "decls_to_pointers"
                      (!type pointer 388 nil  gc_used
                       (!type struct 389 
                        (!type already_seen 388)
                        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 46)
                      (!srcfileloc  "gimple-ssa.h" 59)
                      nil )
                     (!pair  "default_defs"
                      (!type already_seen 54)
                      (!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 390 nil  gc_used "ssa_operands"
                       (!srcfileloc  "tree-ssa-operands.h" 63)
                       (!fields 5 
                        (!pair  "operand_memory"
                         (!type pointer 391 nil  gc_used
                          (!type struct 392 
                           (!type already_seen 391)
                           gc_pointed_to "ssa_operand_memory_d"
                           (!srcfileloc  "tree-ssa-operands.h" 51)
                           (!fields 2 
                            (!pair  "next"
                             (!type already_seen 391)
                             (!srcfileloc  "tree-ssa-operands.h" 49)
                             nil )
                            (!pair  "mem"
                             (!type array 393 nil  gc_used "1" 
                              (!type already_seen 29)
                             )
                             (!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 394 nil  gc_unused
                          (!type struct 395 
                           (!type already_seen 394)
                           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 396 nil  gc_used
                       (!type param_struct 397 
                        (!type already_seen 396)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type pointer 398 nil  gc_used
                         (!type struct 399 
                          (!type already_seen 398)
                          gc_pointed_to "tm_restart_node"
                          (!srcfileloc  "gimple-ssa.h" 32)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 311)
                            (!srcfileloc  "gimple-ssa.h" 30)
                            nil )
                           (!pair  "label_or_list"
                            (!type already_seen 5)
                            (!srcfileloc  "gimple-ssa.h" 31)
                            nil )
                          )
                          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 399)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 539)
                  nil )
                 (!pair  "x_current_loops"
                  (!type pointer 400 nil  gc_used
                   (!type struct 401 
                    (!type already_seen 400)
                    gc_pointed_to "loops"
                    (!srcfileloc  "cfgloop.h" 246)
                    (!fields 4 
                     (!pair  "state"
                      (!type already_seen 9)
                      (!srcfileloc  "cfgloop.h" 234)
                      nil )
                     (!pair  "larray"
                      (!type already_seen 307)
                      (!srcfileloc  "cfgloop.h" 237)
                      nil )
                     (!pair  "exits"
                      (!type pointer 402 nil  gc_used
                       (!type param_struct 403 
                        (!type already_seen 402)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type already_seen 315)
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "cfgloop.h" 242)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 316)
                       )
                      )
                     )
                     (!pair  "tree_root"
                      (!type already_seen 304)
                      (!srcfileloc  "cfgloop.h" 245)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 542)
                  nil )
                 (!pair  "su"
                  (!type pointer 404 nil  gc_used
                   (!type struct 405 
                    (!type already_seen 404)
                    gc_pointed_to "stack_usage"
                    (!srcfileloc  "function.h" 515)
                    (!fields 4 
                     (!pair  "static_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 502)
                      nil )
                     (!pair  "dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 506)
                      nil )
                     (!pair  "pushed_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 510)
                      nil )
                     (!pair  "has_unbounded_dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 514)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 545)
                  nil )
                 (!pair  "value_histograms"
                  (!type already_seen 51)
                  (!srcfileloc  "function.h" 548)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 553)
                  nil )
                 (!pair  "static_chain_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 557)
                  nil )
                 (!pair  "nonlocal_goto_save_area"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 562)
                  nil )
                 (!pair  "local_decls"
                  (!type already_seen 46)
                  (!srcfileloc  "function.h" 565)
                  nil )
                 (!pair  "cilk_frame_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 568)
                  nil )
                 (!pair  "machine"
                  (!type pointer 406 nil  gc_unused
                   (!type struct 407 
                    (!type already_seen 406)
                    gc_maybe_pointed_to "machine_function"
                    (!srcfileloc  "config/i386/i386.h" 2529)
                    (!fields 20 
                     (!pair  "stack_locals"
                      (!type pointer 408 nil  gc_used
                       (!type struct 409 
                        (!type already_seen 408)
                        gc_pointed_to "stack_local_entry"
                        (!srcfileloc  "config/i386/i386.c" 2268)
                        (!fields 4 
                         (!pair  "mode"
                          (!type already_seen 9)
                          (!srcfileloc  "config/i386/i386.c" 2264)
                          nil )
                         (!pair  "n"
                          (!type already_seen 9)
                          (!srcfileloc  "config/i386/i386.c" 2265)
                          nil )
                         (!pair  "rtl"
                          (!type already_seen 137)
                          (!srcfileloc  "config/i386/i386.c" 2266)
                          nil )
                         (!pair  "next"
                          (!type already_seen 408)
                          (!srcfileloc  "config/i386/i386.c" 2267)
                          nil )
                        )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "config/i386/i386.h" 2461)
                      nil )
                     (!pair  "some_ld_name"
                      (!type already_seen 37)
                      (!srcfileloc  "config/i386/i386.h" 2462)
                      nil )
                     (!pair  "varargs_gpr_size"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2463)
                      nil )
                     (!pair  "varargs_fpr_size"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2464)
                      nil )
                     (!pair  "optimize_mode_switching"
                      (!type array 410 nil  gc_used "MAX_386_ENTITIES" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "config/i386/i386.h" 2465)
                      nil )
                     (!pair  "frame"
                      (!type struct 411 nil  gc_used "ix86_frame"
                       (!srcfileloc  "config/i386/i386.h" 2418)
                       (!fields 12 
                        (!pair  "nsseregs"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2401)
                         nil )
                        (!pair  "nregs"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2402)
                         nil )
                        (!pair  "va_arg_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2403)
                         nil )
                        (!pair  "red_zone_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2404)
                         nil )
                        (!pair  "outgoing_arguments_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2405)
                         nil )
                        (!pair  "frame_pointer_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2408)
                         nil )
                        (!pair  "hard_frame_pointer_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2409)
                         nil )
                        (!pair  "stack_pointer_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2410)
                         nil )
                        (!pair  "hfp_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2411)
                         nil )
                        (!pair  "reg_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2412)
                         nil )
                        (!pair  "sse_reg_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2413)
                         nil )
                        (!pair  "save_regs_using_mov"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2417)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "config/i386/i386.h" 2468)
                      nil )
                     (!pair  "use_fast_prologue_epilogue_nregs"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2472)
                      nil )
                     (!pair  "split_stack_varargs_pointer"
                      (!type already_seen 137)
                      (!srcfileloc  "config/i386/i386.h" 2479)
                      nil )
                     (!pair  "call_abi"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2483)
                      nil )
                     (!pair  "accesses_prev_frame"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2486)
                      nil )
                     (!pair  "needs_cld"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2489)
                      nil )
                     (!pair  "use_fast_prologue_epilogue"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2493)
                      nil )
                     (!pair  "tls_descriptor_call_expanded_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2504)
                      nil )
                     (!pair  "static_chain_on_stack"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2508)
                      nil )
                     (!pair  "no_drap_save_restore"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2511)
                      nil )
                     (!pair  "indirect_branch_type"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2514)
                      nil )
                     (!pair  "has_local_indirect_jump"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2518)
                      nil )
                     (!pair  "function_return_type"
                      (!type already_seen 9)
                      (!srcfileloc  "config/i386/i386.h" 2521)
                      nil )
                     (!pair  "fs"
                      (!type struct 412 nil  gc_used "machine_frame_state"
                       (!srcfileloc  "config/i386/i386.h" 2455)
                       (!fields 9 
                        (!pair  "cfa_reg"
                         (!type already_seen 137)
                         (!srcfileloc  "config/i386/i386.h" 2427)
                         nil )
                        (!pair  "cfa_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2428)
                         nil )
                        (!pair  "sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2434)
                         nil )
                        (!pair  "fp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2435)
                         nil )
                        (!pair  "red_zone_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2441)
                         nil )
                        (!pair  "sp_valid"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2447)
                         nil )
                        (!pair  "fp_valid"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2448)
                         nil )
                        (!pair  "drap_valid"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2449)
                         nil )
                        (!pair  "realigned"
                         (!type already_seen 9)
                         (!srcfileloc  "config/i386/i386.h" 2454)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "config/i386/i386.h" 2525)
                      nil )
                     (!pair  "seh"
                      (!type pointer 413 nil  gc_unused
                       (!type struct 414 
                        (!type already_seen 413)
                        gc_unused "seh_frame_state"nil 
                        (!fields 0 )
                        nil 0 nil nil )
                      )
                      (!srcfileloc  "config/i386/i386.h" 2528)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 573)
                  (!options 
                   (!option maybe_undef string  "")
                  )
                 )
                 (!pair  "language"
                  (!type already_seen 75)
                  (!srcfileloc  "function.h" 576)
                  nil )
                 (!pair  "used_types_hash"
                  (!type already_seen 54)
                  (!srcfileloc  "function.h" 579)
                  (!options 
                   (!option param_is type 
                    (!type already_seen 7)
                   )
                  )
                 )
                 (!pair  "fde"
                  (!type pointer 415 nil  gc_used
                   (!type struct 416 
                    (!type already_seen 415)
                    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 37)
                      (!srcfileloc  "dwarf2out.h" 75)
                      nil )
                     (!pair  "dw_fde_current_label"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 76)
                      nil )
                     (!pair  "dw_fde_end"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 77)
                      nil )
                     (!pair  "dw_fde_vms_end_prologue"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 78)
                      nil )
                     (!pair  "dw_fde_vms_begin_epilogue"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 79)
                      nil )
                     (!pair  "dw_fde_second_begin"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 80)
                      nil )
                     (!pair  "dw_fde_second_end"
                      (!type already_seen 37)
                      (!srcfileloc  "dwarf2out.h" 81)
                      nil )
                     (!pair  "dw_fde_cfi"
                      (!type pointer 417 nil  gc_used
                       (!type user_struct 418 
                        (!type already_seen 417)
                        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 419 nil  gc_used
                           (!type struct 420 
                            (!type already_seen 419)
                            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 421 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/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 37)
                                 (!srcfileloc  "dwarf2out.h" 50)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_addr")
                                 )
                                )
                                (!pair  "dw_cfi_loc"
                                 (!type pointer 422 nil  gc_used
                                  (!type struct 423 
                                   (!type already_seen 422)
                                   gc_pointed_to "dw_loc_descr_node"
                                   (!srcfileloc  "dwarf2out.h" 213)
                                   (!fields 6 
                                    (!pair  "dw_loc_next"
                                     (!type already_seen 422)
                                     (!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 424 
                                      (!type pointer 425 nil  gc_unused
                                       (!type already_seen 424)
                                      )
                                      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 426 nil  gc_used
                                         (!type struct 427 
                                          (!type already_seen 426)
                                          gc_pointed_to "addr_table_entry_struct"
                                          (!srcfileloc  "dwarf2out.c" 1259)
                                          (!fields 4 
                                           (!pair  "kind"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1250)
                                            nil )
                                           (!pair  "refcount"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1251)
                                            nil )
                                           (!pair  "index"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1252)
                                            nil )
                                           (!pair  "addr"
                                            (!type union 428 nil  gc_used "addr_table_entry_struct_union"
                                             (!srcfileloc  "dwarf2out.c" 1257)
                                             (!fields 2 
                                              (!pair  "rtl"
                                               (!type already_seen 137)
                                               (!srcfileloc  "dwarf2out.c" 1255)
                                               (!options 
                                                (!option tag string  "0")
                                               )
                                              )
                                              (!pair  "label"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1256)
                                               (!options 
                                                (!option tag string  "1")
                                               )
                                              )
                                             )
                                             nil 511 nil )
                                            (!srcfileloc  "dwarf2out.c" 1258)
                                            (!options 
                                             (!option desc string  "%1.kind")
                                            )
                                           )
                                          )
                                          nil 511 nil nil )
                                        )
                                        (!srcfileloc  "dwarf2out.h" 169)
                                        nil )
                                       (!pair  "v"
                                        (!type union 429 nil  gc_used "dw_val_struct_union"
                                         (!srcfileloc  "dwarf2out.h" 197)
                                         (!fields 17 
                                          (!pair  "val_addr"
                                           (!type already_seen 137)
                                           (!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 430 nil  gc_used
                                            (!type struct 431 
                                             (!type already_seen 430)
                                             gc_pointed_to "dw_loc_list_struct"
                                             (!srcfileloc  "dwarf2out.c" 1284)
                                             (!fields 12 
                                              (!pair  "dw_loc_next"
                                               (!type already_seen 430)
                                               (!srcfileloc  "dwarf2out.c" 1266)
                                               nil )
                                              (!pair  "begin"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1267)
                                               nil )
                                              (!pair  "begin_entry"
                                               (!type already_seen 426)
                                               (!srcfileloc  "dwarf2out.c" 1268)
                                               nil )
                                              (!pair  "end"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1269)
                                               nil )
                                              (!pair  "ll_symbol"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1270)
                                               nil )
                                              (!pair  "section"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1272)
                                               nil )
                                              (!pair  "expr"
                                               (!type already_seen 422)
                                               (!srcfileloc  "dwarf2out.c" 1273)
                                               nil )
                                              (!pair  "hash"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1274)
                                               nil )
                                              (!pair  "resolved_addr"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1277)
                                               nil )
                                              (!pair  "replaced"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1279)
                                               nil )
                                              (!pair  "emitted"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1280)
                                               nil )
                                              (!pair  "force"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1283)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 174)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc_list")
                                           )
                                          )
                                          (!pair  "val_loc"
                                           (!type already_seen 422)
                                           (!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 432 nil  gc_used "dw_vec_const"
                                            (!srcfileloc  "dwarf2out.h" 179)
                                            (!fields 3 
                                             (!pair  "array"
                                              (!type already_seen 37)
                                              (!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 433 nil  gc_used "dw_val_die_union"
                                            (!srcfileloc  "dwarf2out.h" 184)
                                            (!fields 2 
                                             (!pair  "die"
                                              (!type pointer 434 
                                               (!type pointer 435 nil  gc_used
                                                (!type already_seen 434)
                                               )
                                               gc_pointed_to
                                               (!type struct 436 
                                                (!type already_seen 434)
                                                gc_pointed_to "die_struct"
                                                (!srcfileloc  "dwarf2out.c" 2602)
                                                (!fields 13 
                                                 (!pair  "die_id"
                                                  (!type union 437 nil  gc_used "die_symbol_or_type_node"
                                                   (!srcfileloc  "dwarf2out.c" 2586)
                                                   (!fields 2 
                                                    (!pair  "die_symbol"
                                                     (!type already_seen 37)
                                                     (!srcfileloc  "dwarf2out.c" 2584)
                                                     (!options 
                                                      (!option tag string  "0")
                                                     )
                                                    )
                                                    (!pair  "die_type_node"
                                                     (!type pointer 438 nil  gc_used
                                                      (!type struct 439 
                                                       (!type already_seen 438)
                                                       gc_pointed_to "comdat_type_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2652)
                                                       (!fields 5 
                                                        (!pair  "root_die"
                                                         (!type already_seen 434)
                                                         (!srcfileloc  "dwarf2out.c" 2647)
                                                         nil )
                                                        (!pair  "type_die"
                                                         (!type already_seen 434)
                                                         (!srcfileloc  "dwarf2out.c" 2648)
                                                         nil )
                                                        (!pair  "skeleton_die"
                                                         (!type already_seen 434)
                                                         (!srcfileloc  "dwarf2out.c" 2649)
                                                         nil )
                                                        (!pair  "signature"
                                                         (!type array 440 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                          (!type already_seen 29)
                                                         )
                                                         (!srcfileloc  "dwarf2out.c" 2650)
                                                         nil )
                                                        (!pair  "next"
                                                         (!type already_seen 438)
                                                         (!srcfileloc  "dwarf2out.c" 2651)
                                                         nil )
                                                       )
                                                       nil 511 nil nil )
                                                     )
                                                     (!srcfileloc  "dwarf2out.c" 2585)
                                                     (!options 
                                                      (!option tag string  "1")
                                                     )
                                                    )
                                                   )
                                                   nil 511 nil )
                                                  (!srcfileloc  "dwarf2out.c" 2587)
                                                  (!options 
                                                   (!option desc string  "%0.comdat_type_p")
                                                  )
                                                 )
                                                 (!pair  "die_attr"
                                                  (!type pointer 441 nil  gc_used
                                                   (!type user_struct 442 
                                                    (!type already_seen 441)
                                                    gc_pointed_to "vec<dw_attr_node,va_gc>"
                                                    (!srcfileloc  "dwarf2out.c" 2588)
                                                    (!fields 2 
                                                     (!pair  "va_gc"
                                                      (!type already_seen 3)
                                                      (!srcfileloc  "dwarf2out.c" 2588)
                                                      nil )
                                                     (!pair  "dw_attr_node"
                                                      (!type struct 443 
                                                       (!type pointer 444 nil  gc_unused
                                                        (!type already_seen 443)
                                                       )
                                                       gc_used "dw_attr_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2573)
                                                       (!fields 2 
                                                        (!pair  "dw_attr"
                                                         (!type already_seen 9)
                                                         (!srcfileloc  "dwarf2out.c" 2571)
                                                         nil )
                                                        (!pair  "dw_attr_val"
                                                         (!type already_seen 424)
                                                         (!srcfileloc  "dwarf2out.c" 2572)
                                                         nil )
                                                       )
                                                       nil 511 nil nil )
                                                      (!srcfileloc  "dwarf2out.c" 2588)
                                                      nil )
                                                    )
                                                   )
                                                  )
                                                  (!srcfileloc  "dwarf2out.c" 2588)
                                                  nil )
                                                 (!pair  "die_parent"
                                                  (!type already_seen 434)
                                                  (!srcfileloc  "dwarf2out.c" 2589)
                                                  nil )
                                                 (!pair  "die_child"
                                                  (!type already_seen 434)
                                                  (!srcfileloc  "dwarf2out.c" 2590)
                                                  nil )
                                                 (!pair  "die_sib"
                                                  (!type already_seen 434)
                                                  (!srcfileloc  "dwarf2out.c" 2591)
                                                  nil )
                                                 (!pair  "die_definition"
                                                  (!type already_seen 434)
                                                  (!srcfileloc  "dwarf2out.c" 2592)
                                                  nil )
                                                 (!pair  "die_offset"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2593)
                                                  nil )
                                                 (!pair  "die_abbrev"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2594)
                                                  nil )
                                                 (!pair  "die_mark"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2595)
                                                  nil )
                                                 (!pair  "decl_id"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2596)
                                                  nil )
                                                 (!pair  "die_tag"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2597)
                                                  nil )
                                                 (!pair  "die_perennial_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2599)
                                                  nil )
                                                 (!pair  "comdat_type_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2600)
                                                  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 445 nil  gc_used
                                            (!type struct 446 
                                             (!type already_seen 445)
                                             gc_pointed_to "indirect_string_node"
                                             (!srcfileloc  "dwarf2out.c" 212)
                                             (!fields 5 
                                              (!pair  "str"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 207)
                                               nil )
                                              (!pair  "refcount"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 208)
                                               nil )
                                              (!pair  "form"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 209)
                                               nil )
                                              (!pair  "label"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 210)
                                               nil )
                                              (!pair  "index"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 211)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 186)
                                           (!options 
                                            (!option tag string  "dw_val_class_str")
                                           )
                                          )
                                          (!pair  "val_lbl_id"
                                           (!type already_seen 37)
                                           (!srcfileloc  "dwarf2out.h" 187)
                                           (!options 
                                            (!option tag string  "dw_val_class_lbl_id")
                                           )
                                          )
                                          (!pair  "val_flag"
                                           (!type already_seen 29)
                                           (!srcfileloc  "dwarf2out.h" 188)
                                           (!options 
                                            (!option tag string  "dw_val_class_flag")
                                           )
                                          )
                                          (!pair  "val_file"
                                           (!type pointer 447 nil  gc_used
                                            (!type struct 448 
                                             (!type already_seen 447)
                                             gc_pointed_to "dwarf_file_data"
                                             (!srcfileloc  "dwarf2out.c" 1229)
                                             (!fields 2 
                                              (!pair  "filename"
                                               (!type already_seen 37)
                                               (!srcfileloc  "dwarf2out.c" 1227)
                                               nil )
                                              (!pair  "emitted_number"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1228)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 189)
                                           (!options 
                                            (!option tag string  "dw_val_class_file")
                                           )
                                          )
                                          (!pair  "val_data8"
                                           (!type array 449 nil  gc_used "8" 
                                            (!type already_seen 29)
                                           )
                                           (!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 450 nil  gc_used "dw_val_vms_delta_union"
                                            (!srcfileloc  "dwarf2out.h" 196)
                                            (!fields 2 
                                             (!pair  "lbl1"
                                              (!type already_seen 37)
                                              (!srcfileloc  "dwarf2out.h" 194)
                                              nil )
                                             (!pair  "lbl2"
                                              (!type already_seen 37)
                                              (!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 424)
                                     (!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 421)
                              (!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" 584)
                  nil )
                 (!pair  "last_stmt_uid"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 587)
                  nil )
                 (!pair  "module_id"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 590)
                  nil )
                 (!pair  "funcdef_no"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 593)
                  nil )
                 (!pair  "function_start_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 596)
                  nil )
                 (!pair  "function_end_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 599)
                  nil )
                 (!pair  "curr_properties"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 602)
                  nil )
                 (!pair  "last_verified"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 603)
                  nil )
                 (!pair  "cannot_be_copied_reason"
                  (!type already_seen 37)
                  (!srcfileloc  "function.h" 608)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "last_clique"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 611)
                  nil )
                 (!pair  "va_list_gpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 618)
                  nil )
                 (!pair  "va_list_fpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 622)
                  nil )
                 (!pair  "calls_setjmp"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 625)
                  nil )
                 (!pair  "calls_alloca"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 629)
                  nil )
                 (!pair  "is_cilk_function"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 632)
                  nil )
                 (!pair  "calls_cilk_spawn"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 635)
                  nil )
                 (!pair  "has_nonlocal_label"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 639)
                  nil )
                 (!pair  "cannot_be_copied_set"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 644)
                  nil )
                 (!pair  "stdarg"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 647)
                  nil )
                 (!pair  "after_inlining"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 649)
                  nil )
                 (!pair  "always_inline_functions_inlined"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 650)
                  nil )
                 (!pair  "can_throw_non_call_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 654)
                  nil )
                 (!pair  "can_delete_dead_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 658)
                  nil )
                 (!pair  "returns_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 665)
                  nil )
                 (!pair  "returns_pcc_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 669)
                  nil )
                 (!pair  "has_local_explicit_reg_vars"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 673)
                  nil )
                 (!pair  "is_thunk"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 679)
                  nil )
                 (!pair  "has_force_vect_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 683)
                  nil )
                 (!pair  "has_simduid_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 687)
                  nil )
                 (!pair  "tail_call_marked"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 690)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1504)
              nil )
             (!pair  "personality"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1507)
              nil )
             (!pair  "function_specific_target"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1510)
              nil )
             (!pair  "function_specific_optimization"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1511)
              nil )
             (!pair  "function_code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1517)
              nil )
             (!pair  "built_in_class"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1518)
              nil )
             (!pair  "static_ctor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1520)
              nil )
             (!pair  "static_dtor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1521)
              nil )
             (!pair  "uninlinable"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1522)
              nil )
             (!pair  "possibly_inlined"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1524)
              nil )
             (!pair  "novops_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1525)
              nil )
             (!pair  "returns_twice_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1526)
              nil )
             (!pair  "malloc_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1527)
              nil )
             (!pair  "operator_new_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1528)
              nil )
             (!pair  "declared_inline_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1529)
              nil )
             (!pair  "regdecl_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1530)
              nil )
             (!pair  "no_inline_warning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1531)
              nil )
             (!pair  "no_instrument_function_entry_exit"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1533)
              nil )
             (!pair  "no_limit_stack"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1534)
              nil )
             (!pair  "disregard_inline_limits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1535)
              nil )
             (!pair  "pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1536)
              nil )
             (!pair  "looping_const_or_pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1537)
              nil )
             (!pair  "has_debug_args_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1538)
              nil )
             (!pair  "tm_clone_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1539)
              nil )
             (!pair  "versioned_function"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1540)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1633)
           (!options 
            (!option tag string  "TS_FUNCTION_DECL")
           )
          )
          (!pair  "translation_unit_decl"
           (!type struct 451 nil  gc_used "tree_translation_unit_decl"
            (!srcfileloc  "tree-core.h" 1550)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 39)
              (!srcfileloc  "tree-core.h" 1545)
              nil )
             (!pair  "language"
              (!type already_seen 37)
              (!srcfileloc  "tree-core.h" 1547)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1635)
           (!options 
            (!option tag string  "TS_TRANSLATION_UNIT_DECL")
           )
          )
          (!pair  "type_common"
           (!type struct 452 nil  gc_used "tree_type_common"
            (!srcfileloc  "tree-core.h" 1302)
            (!fields 30 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1264)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1265)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1266)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1267)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1268)
              nil )
             (!pair  "precision"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1270)
              nil )
             (!pair  "no_force_blk_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1271)
              nil )
             (!pair  "needs_constructing_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1272)
              nil )
             (!pair  "transparent_aggr_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1273)
              nil )
             (!pair  "restrict_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1274)
              nil )
             (!pair  "contains_placeholder_bits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1275)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1277)
              nil )
             (!pair  "string_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1279)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1280)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1281)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1282)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1283)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1284)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1285)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1286)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1288)
              nil )
             (!pair  "alias_set"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1289)
              nil )
             (!pair  "pointer_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1290)
              nil )
             (!pair  "reference_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1291)
              nil )
             (!pair  "symtab"
              (!type union 453 nil  gc_used "tree_type_symtab"
               (!srcfileloc  "tree-core.h" 1296)
               (!fields 3 
                (!pair  "address"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1293)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_ADDRESS")
                 )
                )
                (!pair  "pointer"
                 (!type already_seen 37)
                 (!srcfileloc  "tree-core.h" 1294)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_POINTER")
                 )
                )
                (!pair  "die"
                 (!type already_seen 434)
                 (!srcfileloc  "tree-core.h" 1295)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_DIE")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1296)
              (!options 
               (!option desc string  "debug_hooks->tree_type_symtab_field")
              )
             )
             (!pair  "canonical"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1297)
              nil )
             (!pair  "next_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1298)
              nil )
             (!pair  "main_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1299)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1300)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1301)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1636)
           (!options 
            (!option tag string  "TS_TYPE_COMMON")
           )
          )
          (!pair  "type_with_lang_specific"
           (!type struct 454 nil  gc_used "tree_type_with_lang_specific"
            (!srcfileloc  "tree-core.h" 1308)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 452)
              (!srcfileloc  "tree-core.h" 1305)
              nil )
             (!pair  "lang_specific"
              (!type pointer 455 nil  gc_used
               (!type lang_struct 456 
                (!type already_seen 455)
                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 457 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 456)
                  nil )
                 
                 (!type struct 458 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 459 nil  gc_used
                     (!type struct 460 
                      (!type already_seen 459)
                      gc_pointed_to "JCF"
                      (!srcfileloc  "java/jcf.h" 123)
                      (!fields 16 
                       (!pair  "buffer"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 106)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "buffer_end"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 107)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_ptr"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 108)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_end"
                        (!type already_seen 37)
                        (!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 37)
                        (!srcfileloc  "java/jcf.h" 114)
                        nil )
                       (!pair  "classname"
                        (!type already_seen 37)
                        (!srcfileloc  "java/jcf.h" 115)
                        nil )
                       (!pair  "zipd"
                        (!type pointer 461 nil  gc_unused
                         (!type struct 462 
                          (!type already_seen 461)
                          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 463 
                         (!type pointer 464 nil  gc_used
                          (!type already_seen 463)
                         )
                         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 465 nil  gc_unused
                            (!type union 466 
                             (!type already_seen 465)
                             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 467 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 468 nil  gc_unused
                            (!type struct 469 
                             (!type already_seen 468)
                             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 464)
                    (!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 470 nil  gc_used
                     (!type user_struct 471 
                      (!type already_seen 470)
                      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 472 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 470)
                    (!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 470)
                    (!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 473 nil  gc_used
                     (!type user_struct 474 
                      (!type already_seen 473)
                      gc_pointed_to "vec<constructor_elt,va_gc>"
                      (!srcfileloc  "tree-core.h" 1130)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "tree-core.h" 1130)
                        nil )
                       (!pair  "constructor_elt"
                        (!type struct 475 nil  gc_used "constructor_elt"
                         (!srcfileloc  "tree-core.h" 1130)
                         (!fields 2 
                          (!pair  "index"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1124)
                           nil )
                          (!pair  "value"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1125)
                           nil )
                         )
                         nil 511 nil nil )
                        (!srcfileloc  "tree-core.h" 1130)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 899)
                    nil )
                   (!pair  "type_to_runtime_map"
                    (!type already_seen 48)
                    (!srcfileloc  "java/java-tree.h" 901)
                    (!options 
                     (!option param_is type 
                      (!type already_seen 53)
                     )
                    )
                   )
                   (!pair  "type_assertions"
                    (!type pointer 476 nil  gc_used
                     (!type param_struct 477 
                      (!type already_seen 476)
                      gc_pointed_to
                      (!type already_seen 50)
                      
                      (!type pointer 478 nil  gc_used
                       (!type struct 479 
                        (!type already_seen 478)
                        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 479)
                     )
                    )
                   )
                   (!pair  "package"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 909)
                    nil )
                   (!pair  "reflection_data"
                    (!type already_seen 37)
                    (!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 456)
                  nil )
                 
                 (!type struct 480 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "go/go-lang.c" 50)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 29)
                    (!srcfileloc  "go/go-lang.c" 49)
                    nil )
                  )
                  nil 16 
                  (!type already_seen 456)
                  nil )
                 
                 (!type struct 481 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 482 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 806)
                    nil )
                   (!pair  "ubound"
                    (!type array 483 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 807)
                    nil )
                   (!pair  "stride"
                    (!type array 484 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 485 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 456)
                  nil )
                 
                 (!type struct 486 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "cp/cp-tree.h" 1506)
                  (!fields 1 
                   (!pair  "u"
                    (!type union 487 nil  gc_used "lang_type_u"
                     (!srcfileloc  "cp/cp-tree.h" 1505)
                     (!fields 3 
                      (!pair  "h"
                       (!type struct 488 nil  gc_used "lang_type_header"
                        (!srcfileloc  "cp/cp-tree.h" 1390)
                        (!fields 8 
                         (!pair  "is_lang_type_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1380)
                          nil )
                         (!pair  "has_type_conversion"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1382)
                          nil )
                         (!pair  "has_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1383)
                          nil )
                         (!pair  "has_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1384)
                          nil )
                         (!pair  "const_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1385)
                          nil )
                         (!pair  "ref_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1386)
                          nil )
                         (!pair  "has_const_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1387)
                          nil )
                         (!pair  "spare"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1389)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1502)
                       (!options 
                        (!option skip string  "")
                       )
                      )
                      (!pair  "c"
                       (!type struct 489 nil  gc_used "lang_type_class"
                        (!srcfileloc  "cp/cp-tree.h" 1492)
                        (!fields 63 
                         (!pair  "h"
                          (!type already_seen 488)
                          (!srcfileloc  "cp/cp-tree.h" 1406)
                          nil )
                         (!pair  "align"
                          (!type already_seen 29)
                          (!srcfileloc  "cp/cp-tree.h" 1408)
                          nil )
                         (!pair  "has_mutable"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1410)
                          nil )
                         (!pair  "com_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1411)
                          nil )
                         (!pair  "non_pod_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1412)
                          nil )
                         (!pair  "nearly_empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1413)
                          nil )
                         (!pair  "user_align"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1414)
                          nil )
                         (!pair  "has_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1415)
                          nil )
                         (!pair  "has_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1416)
                          nil )
                         (!pair  "has_array_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1417)
                          nil )
                         (!pair  "gets_delete"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1419)
                          nil )
                         (!pair  "interface_only"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1420)
                          nil )
                         (!pair  "interface_unknown"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1421)
                          nil )
                         (!pair  "contains_empty_class_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1422)
                          nil )
                         (!pair  "anon_aggr"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1423)
                          nil )
                         (!pair  "non_zero_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1424)
                          nil )
                         (!pair  "empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1425)
                          nil )
                         (!pair  "vec_new_uses_cookie"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1427)
                          nil )
                         (!pair  "declared_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1428)
                          nil )
                         (!pair  "diamond_shaped"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1429)
                          nil )
                         (!pair  "repeated_base"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1430)
                          nil )
                         (!pair  "being_defined"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1431)
                          nil )
                         (!pair  "java_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1432)
                          nil )
                         (!pair  "debug_requested"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1433)
                          nil )
                         (!pair  "fields_readonly"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1434)
                          nil )
                         (!pair  "use_template"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1436)
                          nil )
                         (!pair  "ptrmemfunc_flag"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1437)
                          nil )
                         (!pair  "was_anonymous"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1438)
                          nil )
                         (!pair  "lazy_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1439)
                          nil )
                         (!pair  "lazy_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1440)
                          nil )
                         (!pair  "lazy_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1441)
                          nil )
                         (!pair  "lazy_destructor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1442)
                          nil )
                         (!pair  "has_const_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1444)
                          nil )
                         (!pair  "has_complex_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1445)
                          nil )
                         (!pair  "has_complex_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1446)
                          nil )
                         (!pair  "non_aggregate"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1447)
                          nil )
                         (!pair  "has_complex_dflt"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1448)
                          nil )
                         (!pair  "has_list_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1449)
                          nil )
                         (!pair  "non_std_layout"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1450)
                          nil )
                         (!pair  "is_literal"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1451)
                          nil )
                         (!pair  "lazy_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1453)
                          nil )
                         (!pair  "lazy_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1454)
                          nil )
                         (!pair  "has_complex_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1455)
                          nil )
                         (!pair  "has_complex_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1456)
                          nil )
                         (!pair  "has_constexpr_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1457)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1466)
                          nil )
                         (!pair  "primary_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1468)
                          nil )
                         (!pair  "vcall_indices"
                          (!type pointer 490 nil  gc_used
                           (!type user_struct 491 
                            (!type already_seen 490)
                            gc_pointed_to "vec<tree_pair_s,va_gc>"
                            (!srcfileloc  "cp/cp-tree.h" 1469)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "cp/cp-tree.h" 1469)
                              nil )
                             (!pair  "tree_pair_s"
                              (!type struct 492 
                               (!type pointer 493 nil  gc_unused
                                (!type already_seen 492)
                               )
                               gc_used "tree_pair_s"
                               (!srcfileloc  "cp/cp-tree.h" 1373)
                               (!fields 2 
                                (!pair  "purpose"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1371)
                                 nil )
                                (!pair  "value"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1372)
                                 nil )
                               )
                               nil 260 nil nil )
                              (!srcfileloc  "cp/cp-tree.h" 1469)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1469)
                          nil )
                         (!pair  "vtables"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1470)
                          nil )
                         (!pair  "typeinfo_var"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1471)
                          nil )
                         (!pair  "vbases"
                          (!type already_seen 46)
                          (!srcfileloc  "cp/cp-tree.h" 1472)
                          nil )
                         (!pair  "nested_udts"
                          (!type pointer 494 nil  gc_used
                           (!type struct 495 
                            (!type already_seen 494)
                            gc_pointed_to "binding_table_s"
                            (!srcfileloc  "cp/name-lookup.c" 141)
                            (!fields 3 
                             (!pair  "chain"
                              (!type pointer 496 nil  gc_unused
                               (!type pointer 497 
                                (!type already_seen 496)
                                gc_used
                                (!type struct 498 
                                 (!type already_seen 497)
                                 gc_pointed_to "binding_entry_s"
                                 (!srcfileloc  "cp/name-lookup.h" 38)
                                 (!fields 3 
                                  (!pair  "chain"
                                   (!type already_seen 497)
                                   (!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" 1473)
                          nil )
                         (!pair  "as_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1474)
                          nil )
                         (!pair  "pure_virtuals"
                          (!type already_seen 46)
                          (!srcfileloc  "cp/cp-tree.h" 1475)
                          nil )
                         (!pair  "friend_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1476)
                          nil )
                         (!pair  "methods"
                          (!type already_seen 46)
                          (!srcfileloc  "cp/cp-tree.h" 1477)
                          (!options 
                           (!option reorder string  "resort_type_method_vec")
                          )
                         )
                         (!pair  "key_method"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1478)
                          nil )
                         (!pair  "decl_list"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1479)
                          nil )
                         (!pair  "template_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1480)
                          nil )
                         (!pair  "befriending_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1481)
                          nil )
                         (!pair  "objc_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1485)
                          nil )
                         (!pair  "sorted_fields"
                          (!type pointer 499 nil  gc_used
                           (!type struct 500 
                            (!type already_seen 499)
                            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 501 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" 1489)
                          (!options 
                           (!option reorder string  "resort_sorted_fields")
                          )
                         )
                         (!pair  "lambda_expr"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1491)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1503)
                       (!options 
                        (!option tag string  "1")
                       )
                      )
                      (!pair  "ptrmem"
                       (!type struct 502 nil  gc_used "lang_type_ptrmem"
                        (!srcfileloc  "cp/cp-tree.h" 1497)
                        (!fields 2 
                         (!pair  "h"
                          (!type already_seen 488)
                          (!srcfileloc  "cp/cp-tree.h" 1495)
                          nil )
                         (!pair  "record"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1496)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1504)
                       (!options 
                        (!option tag string  "0")
                       )
                      )
                     )
                     nil 260 nil )
                    (!srcfileloc  "cp/cp-tree.h" 1505)
                    (!options 
                     (!option desc string  "%h.h.is_lang_type_class")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 456)
                  nil )
                 
                 (!type struct 503 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "c/c-lang.h" 36)
                  (!fields 4 
                   (!pair  "s"
                    (!type already_seen 499)
                    (!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 456)
                  nil )
                 
                 (!type struct 504 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 456)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1307)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1638)
           (!options 
            (!option tag string  "TS_TYPE_WITH_LANG_SPECIFIC")
           )
          )
          (!pair  "type_non_common"
           (!type struct 505 nil  gc_used "tree_type_non_common"
            (!srcfileloc  "tree-core.h" 1316)
            (!fields 5 
             (!pair  "with_lang_specific"
              (!type already_seen 454)
              (!srcfileloc  "tree-core.h" 1311)
              nil )
             (!pair  "values"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1312)
              nil )
             (!pair  "minval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1313)
              nil )
             (!pair  "maxval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1314)
              nil )
             (!pair  "binfo"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1315)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1640)
           (!options 
            (!option tag string  "TS_TYPE_NON_COMMON")
           )
          )
          (!pair  "list"
           (!type struct 506 nil  gc_used "tree_list"
            (!srcfileloc  "tree-core.h" 1112)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1109)
              nil )
             (!pair  "purpose"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1110)
              nil )
             (!pair  "value"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1111)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1641)
           (!options 
            (!option tag string  "TS_LIST")
           )
          )
          (!pair  "vec"
           (!type struct 507 nil  gc_used "tree_vec"
            (!srcfileloc  "tree-core.h" 1117)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1115)
              nil )
             (!pair  "a"
              (!type array 508 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1116)
              (!options 
               (!option length string  "TREE_VEC_LENGTH ((tree)&%h)")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1642)
           (!options 
            (!option tag string  "TS_VEC")
           )
          )
          (!pair  "exp"
           (!type struct 509 nil  gc_used "tree_exp"
            (!srcfileloc  "tree-core.h" 1176)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1171)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1172)
              nil )
             (!pair  "operands"
              (!type union 510 nil  gc_used "tree_exp_subunion"
               (!srcfileloc  "tree-core.h" 1175)
               (!fields 1 
                (!pair  ""
                 (!type array 511 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" 1175)
              (!options 
               (!option desc string  "TREE_CODE ((tree) &%0)")
               (!option special string  "tree_exp")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1643)
           (!options 
            (!option tag string  "TS_EXP")
           )
          )
          (!pair  "ssa_name"
           (!type struct 512 nil  gc_used "tree_ssa_name"
            (!srcfileloc  "tree-core.h" 1212)
            (!fields 5 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1193)
              nil )
             (!pair  "var"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1196)
              nil )
             (!pair  "def_stmt"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1199)
              nil )
             (!pair  "info"
              (!type union 513 nil  gc_used "ssa_name_info_type"
               (!srcfileloc  "tree-core.h" 1207)
               (!fields 2 
                (!pair  "ptr_info"
                 (!type pointer 514 nil  gc_used
                  (!type struct 515 
                   (!type already_seen 514)
                   gc_pointed_to "ptr_info_def"
                   (!srcfileloc  "tree-ssanames.h" 46)
                   (!fields 3 
                    (!pair  "pt"
                     (!type already_seen 387)
                     (!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" 1204)
                 (!options 
                  (!option tag string  "0")
                 )
                )
                (!pair  "range_info"
                 (!type pointer 516 nil  gc_used
                  (!type struct 517 
                   (!type already_seen 516)
                   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" 1206)
                 (!options 
                  (!option tag string  "1")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1208)
              (!options 
               (!option desc string  "%1.typed.type ?!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2")
              )
             )
             (!pair  "imm_uses"
              (!type struct 518 
               (!type pointer 519 nil  gc_unused
                (!type already_seen 518)
               )
               gc_used "ssa_use_operand_t"
               (!srcfileloc  "tree-ssa-operands.h" 30)
               (!fields 4 
                (!pair  "prev"
                 (!type already_seen 519)
                 (!srcfileloc  "tree-core.h" 1181)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "next"
                 (!type already_seen 519)
                 (!srcfileloc  "tree-core.h" 1182)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "loc"
                 (!type union 520 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-core.h:1188"
                  (!srcfileloc  "tree-core.h" 1188)
                  (!fields 2 
                   (!pair  "stmt"
                    (!type already_seen 311)
                    (!srcfileloc  "tree-core.h" 1188)
                    nil )
                   (!pair  "ssa_name"
                    (!type already_seen 5)
                    (!srcfileloc  "tree-core.h" 1188)
                    nil )
                  )
                  nil 511 nil )
                 (!srcfileloc  "tree-core.h" 1188)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "use"
                 (!type already_seen 6)
                 (!srcfileloc  "tree-core.h" 1189)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1211)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1644)
           (!options 
            (!option tag string  "TS_SSA_NAME")
           )
          )
          (!pair  "block"
           (!type struct 521 nil  gc_used "tree_block"
            (!srcfileloc  "tree-core.h" 1261)
            (!fields 12 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1245)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1246)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1248)
              nil )
             (!pair  "block_num"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1249)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1251)
              nil )
             (!pair  "vars"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1253)
              nil )
             (!pair  "nonlocalized_vars"
              (!type already_seen 46)
              (!srcfileloc  "tree-core.h" 1254)
              nil )
             (!pair  "subblocks"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1256)
              nil )
             (!pair  "supercontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1257)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1258)
              nil )
             (!pair  "fragment_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1259)
              nil )
             (!pair  "fragment_chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1260)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1645)
           (!options 
            (!option tag string  "TS_BLOCK")
           )
          )
          (!pair  "binfo"
           (!type struct 522 nil  gc_used "tree_binfo"
            (!srcfileloc  "tree-core.h" 1332)
            (!fields 10 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1319)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1321)
              nil )
             (!pair  "vtable"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1322)
              nil )
             (!pair  "virtuals"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1323)
              nil )
             (!pair  "vptr_field"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1324)
              nil )
             (!pair  "base_accesses"
              (!type already_seen 46)
              (!srcfileloc  "tree-core.h" 1325)
              nil )
             (!pair  "inheritance"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1326)
              nil )
             (!pair  "vtt_subvtt"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1328)
              nil )
             (!pair  "vtt_vptr"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1329)
              nil )
             (!pair  "base_binfos"
              (!type already_seen 47)
              (!srcfileloc  "tree-core.h" 1331)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1646)
           (!options 
            (!option tag string  "TS_BINFO")
           )
          )
          (!pair  "stmt_list"
           (!type struct 523 nil  gc_used "tree_statement_list"
            (!srcfileloc  "tree-core.h" 1569)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1566)
              nil )
             (!pair  "head"
              (!type pointer 524 nil  gc_used
               (!type struct 525 
                (!type already_seen 524)
                gc_pointed_to "tree_statement_list_node"
                (!srcfileloc  "tree-core.h" 1562)
                (!fields 3 
                 (!pair  "prev"
                  (!type already_seen 524)
                  (!srcfileloc  "tree-core.h" 1559)
                  nil )
                 (!pair  "next"
                  (!type already_seen 524)
                  (!srcfileloc  "tree-core.h" 1560)
                  nil )
                 (!pair  "stmt"
                  (!type already_seen 5)
                  (!srcfileloc  "tree-core.h" 1561)
                  nil )
                )
                (!options 
                 (!option chain_prev string  "%h.prev")
                 (!option chain_next string  "%h.next")
                )
                511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1567)
              nil )
             (!pair  "tail"
              (!type already_seen 524)
              (!srcfileloc  "tree-core.h" 1568)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1647)
           (!options 
            (!option tag string  "TS_STATEMENT_LIST")
           )
          )
          (!pair  "constructor"
           (!type struct 526 nil  gc_used "tree_constructor"
            (!srcfileloc  "tree-core.h" 1131)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1129)
              nil )
             (!pair  "elts"
              (!type already_seen 473)
              (!srcfileloc  "tree-core.h" 1130)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1648)
           (!options 
            (!option tag string  "TS_CONSTRUCTOR")
           )
          )
          (!pair  "omp_clause"
           (!type struct 527 nil  gc_used "tree_omp_clause"
            (!srcfileloc  "tree-core.h" 1242)
            (!fields 7 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1223)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1224)
              nil )
             (!pair  "code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1225)
              nil )
             (!pair  "subcode"
              (!type union 528 nil  gc_unused "omp_clause_subcode"
               (!srcfileloc  "tree-core.h" 1233)
               (!fields 6 
                (!pair  "default_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1227)
                 nil )
                (!pair  "schedule_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1228)
                 nil )
                (!pair  "depend_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1229)
                 nil )
                (!pair  "map_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1230)
                 nil )
                (!pair  "proc_bind_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1231)
                 nil )
                (!pair  "reduction_code"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1232)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1233)
              (!options 
               (!option skip string  "")
              )
             )
             (!pair  "gimple_reduction_init"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1237)
              nil )
             (!pair  "gimple_reduction_merge"
              (!type already_seen 311)
              (!srcfileloc  "tree-core.h" 1238)
              nil )
             (!pair  "ops"
              (!type array 529 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1241)
              (!options 
               (!option length string  "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1649)
           (!options 
            (!option tag string  "TS_OMP_CLAUSE")
           )
          )
          (!pair  "optimization"
           (!type struct 530 nil  gc_used "tree_optimization_option"
            (!srcfileloc  "tree-core.h" 1587)
            (!fields 4 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1575)
              nil )
             (!pair  "opts"
              (!type struct 531 nil  gc_used "cl_optimization"
               (!fileloc  "options.h" 4314)
               (!fields 201 
                (!pair  "x_align_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4113)
                 nil )
                (!pair  "x_align_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4114)
                 nil )
                (!pair  "x_align_labels"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4115)
                 nil )
                (!pair  "x_align_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4116)
                 nil )
                (!pair  "x_flag_profile_gen_atomic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4117)
                 nil )
                (!pair  "x_flag_sched_stalled_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4118)
                 nil )
                (!pair  "x_flag_sched_stalled_insns_dep"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4119)
                 nil )
                (!pair  "x_flag_fp_contract_mode"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4120)
                 nil )
                (!pair  "x_optimize"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4121)
                 nil )
                (!pair  "x_optimize_size"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4122)
                 nil )
                (!pair  "x_flag_aggressive_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4123)
                 nil )
                (!pair  "x_flag_asynchronous_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4124)
                 nil )
                (!pair  "x_flag_auto_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4125)
                 nil )
                (!pair  "x_flag_auto_profile_accurate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4126)
                 nil )
                (!pair  "x_flag_auto_profile_record_coverage_in_elf"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4127)
                 nil )
                (!pair  "x_flag_branch_on_count_reg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4128)
                 nil )
                (!pair  "x_flag_branch_probabilities"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4129)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4130)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4131)
                 nil )
                (!pair  "x_flag_btr_bb_exclusive"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4132)
                 nil )
                (!pair  "x_flag_caller_saves"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4133)
                 nil )
                (!pair  "x_flag_combine_stack_adjustments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4134)
                 nil )
                (!pair  "x_flag_no_common"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4135)
                 nil )
                (!pair  "x_flag_compare_elim_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4136)
                 nil )
                (!pair  "x_flag_conserve_stack"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4137)
                 nil )
                (!pair  "x_flag_cprop_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4138)
                 nil )
                (!pair  "x_flag_crossjumping"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4139)
                 nil )
                (!pair  "x_flag_cse_follow_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4140)
                 nil )
                (!pair  "x_flag_cx_fortran_rules"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4141)
                 nil )
                (!pair  "x_flag_cx_limited_range"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4142)
                 nil )
                (!pair  "x_flag_data_sections"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4143)
                 nil )
                (!pair  "x_flag_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4144)
                 nil )
                (!pair  "x_flag_default_noexcept"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4145)
                 nil )
                (!pair  "x_flag_defer_pop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4146)
                 nil )
                (!pair  "x_flag_delayed_branch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4147)
                 nil )
                (!pair  "x_flag_delete_null_pointer_checks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4148)
                 nil )
                (!pair  "x_flag_devirtualize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4149)
                 nil )
                (!pair  "x_flag_devirtualize_speculatively"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4150)
                 nil )
                (!pair  "x_flag_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4151)
                 nil )
                (!pair  "x_flag_early_inlining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4152)
                 nil )
                (!pair  "x_flag_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4153)
                 nil )
                (!pair  "x_flag_expensive_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4154)
                 nil )
                (!pair  "x_flag_finite_math_only"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4155)
                 nil )
                (!pair  "x_flag_float_store"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4156)
                 nil )
                (!pair  "x_flag_forward_propagate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4157)
                 nil )
                (!pair  "x_flag_gcse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4158)
                 nil )
                (!pair  "x_flag_gcse_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4159)
                 nil )
                (!pair  "x_flag_gcse_las"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4160)
                 nil )
                (!pair  "x_flag_gcse_lm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4161)
                 nil )
                (!pair  "x_flag_gcse_sm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4162)
                 nil )
                (!pair  "x_flag_graphite_identity"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4163)
                 nil )
                (!pair  "x_flag_guess_branch_prob"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4164)
                 nil )
                (!pair  "x_flag_hoist_adjacent_loads"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4165)
                 nil )
                (!pair  "x_flag_if_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4166)
                 nil )
                (!pair  "x_flag_if_conversion2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4167)
                 nil )
                (!pair  "x_flag_no_inline"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4168)
                 nil )
                (!pair  "x_flag_inline_atomics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4169)
                 nil )
                (!pair  "x_flag_inline_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4170)
                 nil )
                (!pair  "x_flag_inline_functions_called_once"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4171)
                 nil )
                (!pair  "x_flag_inline_small_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4172)
                 nil )
                (!pair  "x_flag_ipa_cp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4173)
                 nil )
                (!pair  "x_flag_ipa_cp_clone"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4174)
                 nil )
                (!pair  "x_flag_ipa_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4175)
                 nil )
                (!pair  "x_flag_ipa_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4176)
                 nil )
                (!pair  "x_flag_ipa_pure_const"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4177)
                 nil )
                (!pair  "x_flag_ipa_reference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4178)
                 nil )
                (!pair  "x_flag_ipa_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4179)
                 nil )
                (!pair  "x_flag_ira_hoist_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4180)
                 nil )
                (!pair  "x_flag_ira_loop_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4181)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_attribute"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4182)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_dereference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4183)
                 nil )
                (!pair  "x_flag_ivopts"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4184)
                 nil )
                (!pair  "x_flag_jump_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4185)
                 nil )
                (!pair  "x_flag_lifetime_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4186)
                 nil )
                (!pair  "x_flag_live_range_shrinkage"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4187)
                 nil )
                (!pair  "x_flag_loop_block"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4188)
                 nil )
                (!pair  "x_flag_loop_interchange"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4189)
                 nil )
                (!pair  "x_flag_loop_optimize_isl"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4190)
                 nil )
                (!pair  "x_flag_loop_parallelize_all"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4191)
                 nil )
                (!pair  "x_flag_loop_strip_mine"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4192)
                 nil )
                (!pair  "x_flag_errno_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4193)
                 nil )
                (!pair  "x_flag_merge_constants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4194)
                 nil )
                (!pair  "x_flag_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4195)
                 nil )
                (!pair  "x_flag_move_loop_invariants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4196)
                 nil )
                (!pair  "x_flag_non_call_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4197)
                 nil )
                (!pair  "x_flag_nothrow_opt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4198)
                 nil )
                (!pair  "x_flag_omit_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4199)
                 nil )
                (!pair  "x_flag_opt_info"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4200)
                 nil )
                (!pair  "x_flag_optimize_sibling_calls"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4201)
                 nil )
                (!pair  "x_flag_optimize_strlen"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4202)
                 nil )
                (!pair  "x_flag_pack_struct"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4203)
                 nil )
                (!pair  "x_flag_peel_codesize_limit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4204)
                 nil )
                (!pair  "x_flag_peel_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4205)
                 nil )
                (!pair  "x_flag_no_peephole"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4206)
                 nil )
                (!pair  "x_flag_peephole2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4207)
                 nil )
                (!pair  "x_flag_plt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4208)
                 nil )
                (!pair  "x_flag_predictive_commoning"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4209)
                 nil )
                (!pair  "x_flag_prefetch_loop_arrays"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4210)
                 nil )
                (!pair  "x_flag_profile_dump"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4211)
                 nil )
                (!pair  "x_flag_pcc_struct_return"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4212)
                 nil )
                (!pair  "x_flag_rename_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4213)
                 nil )
                (!pair  "x_flag_reorder_blocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4214)
                 nil )
                (!pair  "x_flag_reorder_blocks_and_partition"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4215)
                 nil )
                (!pair  "x_flag_reorder_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4216)
                 nil )
                (!pair  "x_flag_rerun_cse_after_loop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4217)
                 nil )
                (!pair  "x_flag_resched_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4218)
                 nil )
                (!pair  "x_flag_rounding_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4219)
                 nil )
                (!pair  "x_flag_rtti"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4220)
                 nil )
                (!pair  "x_flag_sched_critical_path_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4221)
                 nil )
                (!pair  "x_flag_sched_dep_count_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4222)
                 nil )
                (!pair  "x_flag_sched_group_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4223)
                 nil )
                (!pair  "x_flag_schedule_interblock"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4224)
                 nil )
                (!pair  "x_flag_sched_last_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4225)
                 nil )
                (!pair  "x_flag_sched_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4226)
                 nil )
                (!pair  "x_flag_sched_rank_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4227)
                 nil )
                (!pair  "x_flag_schedule_speculative"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4228)
                 nil )
                (!pair  "x_flag_sched_spec_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4229)
                 nil )
                (!pair  "x_flag_schedule_speculative_load"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4230)
                 nil )
                (!pair  "x_flag_schedule_speculative_load_dangerous"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4231)
                 nil )
                (!pair  "x_flag_sched2_use_superblocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4232)
                 nil )
                (!pair  "x_flag_schedule_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4233)
                 nil )
                (!pair  "x_flag_schedule_insns_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4234)
                 nil )
                (!pair  "x_flag_section_anchors"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4235)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4236)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4237)
                 nil )
                (!pair  "x_flag_sel_sched_reschedule_pipelined"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4238)
                 nil )
                (!pair  "x_flag_selective_scheduling"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4239)
                 nil )
                (!pair  "x_flag_selective_scheduling2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4240)
                 nil )
                (!pair  "x_flag_short_double"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4241)
                 nil )
                (!pair  "x_flag_short_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4242)
                 nil )
                (!pair  "x_flag_short_wchar"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4243)
                 nil )
                (!pair  "x_flag_shrink_wrap"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4244)
                 nil )
                (!pair  "x_flag_shrink_wrap_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4245)
                 nil )
                (!pair  "x_flag_signaling_nans"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4246)
                 nil )
                (!pair  "x_flag_signed_zeros"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4247)
                 nil )
                (!pair  "x_flag_single_precision_constant"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4248)
                 nil )
                (!pair  "x_flag_sized_delete"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4249)
                 nil )
                (!pair  "x_flag_split_ivs_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4250)
                 nil )
                (!pair  "x_flag_split_wide_types"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4251)
                 nil )
                (!pair  "x_flag_strict_aliasing"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4252)
                 nil )
                (!pair  "x_flag_strict_enum_precision"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4253)
                 nil )
                (!pair  "x_flag_strict_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4254)
                 nil )
                (!pair  "x_flag_thread_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4255)
                 nil )
                (!pair  "x_flag_threadsafe_statics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4256)
                 nil )
                (!pair  "x_flag_toplevel_reorder"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4257)
                 nil )
                (!pair  "x_flag_trapping_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4258)
                 nil )
                (!pair  "x_flag_trapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4259)
                 nil )
                (!pair  "x_flag_tree_bit_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4260)
                 nil )
                (!pair  "x_flag_tree_builtin_call_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4261)
                 nil )
                (!pair  "x_flag_tree_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4262)
                 nil )
                (!pair  "x_flag_tree_ch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4263)
                 nil )
                (!pair  "x_flag_ssa_coalesce_vars"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4264)
                 nil )
                (!pair  "x_flag_tree_copy_prop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4265)
                 nil )
                (!pair  "x_flag_tree_copyrename"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4266)
                 nil )
                (!pair  "x_flag_tree_cselim"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4267)
                 nil )
                (!pair  "x_flag_tree_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4268)
                 nil )
                (!pair  "x_flag_tree_dom"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4269)
                 nil )
                (!pair  "x_flag_tree_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4270)
                 nil )
                (!pair  "x_flag_tree_forwprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4271)
                 nil )
                (!pair  "x_flag_tree_fre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4272)
                 nil )
                (!pair  "x_flag_tree_loop_distribute_patterns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4273)
                 nil )
                (!pair  "x_flag_tree_loop_distribution"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4274)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4275)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert_stores"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4276)
                 nil )
                (!pair  "x_flag_tree_loop_im"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4277)
                 nil )
                (!pair  "x_flag_tree_loop_ivcanon"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4278)
                 nil )
                (!pair  "x_flag_tree_loop_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4279)
                 nil )
                (!pair  "x_flag_tree_loop_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4280)
                 nil )
                (!pair  "x_flag_tree_live_range_split"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4281)
                 nil )
                (!pair  "x_flag_tree_partial_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4282)
                 nil )
                (!pair  "x_flag_tree_phiprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4283)
                 nil )
                (!pair  "x_flag_tree_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4284)
                 nil )
                (!pair  "x_flag_tree_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4285)
                 nil )
                (!pair  "x_flag_tree_reassoc"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4286)
                 nil )
                (!pair  "x_flag_tree_scev_cprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4287)
                 nil )
                (!pair  "x_flag_tree_sink"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4288)
                 nil )
                (!pair  "x_flag_tree_slp_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4289)
                 nil )
                (!pair  "x_flag_tree_slsr"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4290)
                 nil )
                (!pair  "x_flag_tree_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4291)
                 nil )
                (!pair  "x_flag_tree_switch_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4292)
                 nil )
                (!pair  "x_flag_tree_tail_merge"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4293)
                 nil )
                (!pair  "x_flag_tree_ter"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4294)
                 nil )
                (!pair  "x_flag_tree_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4295)
                 nil )
                (!pair  "x_flag_tree_vrp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4296)
                 nil )
                (!pair  "x_flag_unit_at_a_time"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4297)
                 nil )
                (!pair  "x_flag_unroll_all_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4298)
                 nil )
                (!pair  "x_flag_unroll_codesize_limit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4299)
                 nil )
                (!pair  "x_flag_unroll_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4300)
                 nil )
                (!pair  "x_flag_unsafe_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4301)
                 nil )
                (!pair  "x_flag_unsafe_math_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4302)
                 nil )
                (!pair  "x_flag_unswitch_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4303)
                 nil )
                (!pair  "x_flag_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4304)
                 nil )
                (!pair  "x_flag_var_tracking"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4305)
                 nil )
                (!pair  "x_flag_var_tracking_assignments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4306)
                 nil )
                (!pair  "x_flag_var_tracking_assignments_toggle"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4307)
                 nil )
                (!pair  "x_flag_var_tracking_uninit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4308)
                 nil )
                (!pair  "x_flag_variable_expansion_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4309)
                 nil )
                (!pair  "x_flag_value_profile_transformations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4310)
                 nil )
                (!pair  "x_flag_web"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4311)
                 nil )
                (!pair  "x_flag_whole_program"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4312)
                 nil )
                (!pair  "x_flag_wrapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4313)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1578)
              nil )
             (!pair  "optabs"
              (!type already_seen 10)
              (!srcfileloc  "tree-core.h" 1582)
              (!options 
               (!option atomic string  "")
              )
             )
             (!pair  "base_optabs"
              (!type pointer 532 nil  gc_unused
               (!type struct 533 
                (!type already_seen 532)
                gc_unused "target_optabs"nil 
                (!fields 0 )
                nil 0 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1586)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1650)
           (!options 
            (!option tag string  "TS_OPTIMIZATION")
           )
          )
          (!pair  "target_option"
           (!type struct 534 nil  gc_used "tree_target_option"
            (!srcfileloc  "tree-core.h" 1603)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 16)
              (!srcfileloc  "tree-core.h" 1596)
              nil )
             (!pair  "globals"
              (!type pointer 535 nil  gc_used
               (!type struct 536 
                (!type already_seen 535)
                gc_pointed_to "target_globals"
                (!srcfileloc  "target-globals.h" 59)
                (!fields 16 
                 (!pair  "flag_state"
                  (!type pointer 537 nil  gc_unused
                   (!type struct 538 
                    (!type already_seen 537)
                    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 539 nil  gc_used
                   (!type struct 540 
                    (!type already_seen 539)
                    gc_pointed_to "target_rtl"
                    (!srcfileloc  "rtl.h" 2306)
                    (!fields 7 
                     (!pair  "x_global_rtl"
                      (!type array 541 nil  gc_used "GR_MAX" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "rtl.h" 2281)
                      nil )
                     (!pair  "x_pic_offset_table_rtx"
                      (!type already_seen 137)
                      (!srcfileloc  "rtl.h" 2284)
                      nil )
                     (!pair  "x_return_address_pointer_rtx"
                      (!type already_seen 137)
                      (!srcfileloc  "rtl.h" 2289)
                      nil )
                     (!pair  "x_initial_regno_reg_rtx"
                      (!type array 542 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "rtl.h" 2295)
                      nil )
                     (!pair  "x_top_of_stack"
                      (!type array 543 nil  gc_used "MAX_MACHINE_MODE" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "rtl.h" 2298)
                      nil )
                     (!pair  "x_static_reg_base_value"
                      (!type array 544 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "rtl.h" 2302)
                      nil )
                     (!pair  "x_mode_mem_attrs"
                      (!type array 545 nil  gc_used "(int) MAX_MACHINE_MODE" 
                       (!type already_seen 259)
                      )
                      (!srcfileloc  "rtl.h" 2305)
                      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 532)
                  (!srcfileloc  "target-globals.h" 49)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "libfuncs"
                  (!type pointer 546 nil  gc_used
                   (!type struct 547 
                    (!type already_seen 546)
                    gc_pointed_to "target_libfuncs"
                    (!srcfileloc  "libfuncs.h" 71)
                    (!fields 2 
                     (!pair  "x_libfunc_table"
                      (!type array 548 nil  gc_used "LTI_MAX" 
                       (!type already_seen 137)
                      )
                      (!srcfileloc  "libfuncs.h" 67)
                      nil )
                     (!pair  "x_libfunc_hash"
                      (!type pointer 549 nil  gc_used
                       (!type param_struct 550 
                        (!type already_seen 549)
                        gc_pointed_to
                        (!type already_seen 50)
                        
                        (!type pointer 551 nil  gc_used
                         (!type struct 552 
                          (!type already_seen 551)
                          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 137)
                            (!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 552)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 50)
                  nil )
                 (!pair  "cfgloop"
                  (!type pointer 553 nil  gc_unused
                   (!type struct 554 
                    (!type already_seen 553)
                    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 555 nil  gc_unused
                   (!type struct 556 
                    (!type already_seen 555)
                    gc_unused "target_builtins"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 55)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "gcse"
                  (!type pointer 557 nil  gc_unused
                   (!type struct 558 
                    (!type already_seen 557)
                    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 559 nil  gc_unused
                   (!type struct 560 
                    (!type already_seen 559)
                    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 561 nil  gc_unused
                   (!type struct 562 
                    (!type already_seen 561)
                    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" 1599)
              nil )
             (!pair  "opts"
              (!type struct 563 nil  gc_used "cl_target_option"
               (!fileloc  "options.h" 4356)
               (!fields 37 
                (!pair  "x_ix86_isa_flags_explicit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4319)
                 nil )
                (!pair  "x_ix86_target_flags_explicit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4320)
                 nil )
                (!pair  "x_ix86_arch_string"
                 (!type already_seen 37)
                 (!fileloc  "options.h" 4321)
                 nil )
                (!pair  "x_ix86_recip_name"
                 (!type already_seen 37)
                 (!fileloc  "options.h" 4322)
                 nil )
                (!pair  "x_ix86_tune_ctrl_string"
                 (!type already_seen 37)
                 (!fileloc  "options.h" 4323)
                 nil )
                (!pair  "x_ix86_tune_memcpy_strategy"
                 (!type already_seen 37)
                 (!fileloc  "options.h" 4324)
                 nil )
                (!pair  "x_ix86_tune_memset_strategy"
                 (!type already_seen 37)
                 (!fileloc  "options.h" 4325)
                 nil )
                (!pair  "x_ix86_tune_string"
                 (!type already_seen 37)
                 (!fileloc  "options.h" 4326)
                 nil )
                (!pair  "x_ix86_isa_flags"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4327)
                 nil )
                (!pair  "x_ix86_fpmath"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4328)
                 nil )
                (!pair  "x_ix86_asm_dialect"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4329)
                 nil )
                (!pair  "x_ix86_abi"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4330)
                 nil )
                (!pair  "x_ix86_cmodel"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4331)
                 nil )
                (!pair  "x_ix86_veclibabi_type"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4332)
                 nil )
                (!pair  "x_ix86_pmode"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4333)
                 nil )
                (!pair  "x_ix86_stack_protector_guard"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4334)
                 nil )
                (!pair  "x_ix86_stringop_alg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4335)
                 nil )
                (!pair  "x_ix86_tls_dialect"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4336)
                 nil )
                (!pair  "x_ix86_branch_cost"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4337)
                 nil )
                (!pair  "x_ix86_dump_tunes"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4338)
                 nil )
                (!pair  "x_ix86_force_align_arg_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4339)
                 nil )
                (!pair  "x_ix86_force_drap"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4340)
                 nil )
                (!pair  "x_ix86_incoming_stack_boundary_arg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4341)
                 nil )
                (!pair  "x_ix86_preferred_stack_boundary_arg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4342)
                 nil )
                (!pair  "x_ix86_regparm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4343)
                 nil )
                (!pair  "x_ix86_section_threshold"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4344)
                 nil )
                (!pair  "x_ix86_sse2avx"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4345)
                 nil )
                (!pair  "x_ix86_tune_no_default"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4346)
                 nil )
                (!pair  "x_recip_mask_explicit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4347)
                 nil )
                (!pair  "x_recip_mask"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4348)
                 nil )
                (!pair  "x_target_flags"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4349)
                 nil )
                (!pair  "arch"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4350)
                 nil )
                (!pair  "arch_specified"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4351)
                 nil )
                (!pair  "branch_cost"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4352)
                 nil )
                (!pair  "schedule"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4353)
                 nil )
                (!pair  "tune"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4354)
                 nil )
                (!pair  "tune_defaulted"
                 (!type already_seen 29)
                 (!fileloc  "options.h" 4355)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1602)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1651)
           (!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 564 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 565 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 564)
             )
             
             (!type union 566 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 567 nil  gc_used "lang_identifier"
                 (!srcfileloc  "c/c-decl.c" 243)
                 (!fields 0 )
                 nil 510 
                 (!homotypes 6
                  (!type struct 568 nil  gc_used "lang_identifier"
                   (!srcfileloc  "lto/lto-tree.h" 29)
                   (!fields 1 
                    (!pair  "base"
                     (!type already_seen 33)
                     (!srcfileloc  "lto/lto-tree.h" 28)
                     nil )
                   )
                   nil 64 
                   (!type already_seen 567)
                   nil )
                  
                  (!type struct 569 nil  gc_used "lang_identifier"
                   (!srcfileloc  "java/java-tree.h" 585)
                   (!fields 4 
                    (!pair  "ignore"
                     (!type already_seen 33)
                     (!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 567)
                   nil )
                  
                  (!type struct 570 nil  gc_used "lang_identifier"
                   (!srcfileloc  "go/go-lang.c" 65)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 33)
                     (!srcfileloc  "go/go-lang.c" 64)
                     nil )
                   )
                   nil 16 
                   (!type already_seen 567)
                   nil )
                  
                  (!type struct 571 nil  gc_used "lang_identifier"
                   (!srcfileloc  "fortran/f95-lang.c" 55)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 33)
                     (!srcfileloc  "fortran/f95-lang.c" 54)
                     nil )
                   )
                   nil 8 
                   (!type already_seen 567)
                   nil )
                  
                  (!type struct 572 nil  gc_used "lang_identifier"
                   (!srcfileloc  "cp/cp-tree.h" 254)
                   (!fields 5 
                    (!pair  "c_common"
                     (!type struct 573 nil  gc_used "c_common_identifier"
                      (!srcfileloc  "c-family/c-common.h" 319)
                      (!fields 2 
                       (!pair  "common"
                        (!type already_seen 16)
                        (!srcfileloc  "c-family/c-common.h" 317)
                        nil )
                       (!pair  "node"
                        (!type struct 574 
                         (!type pointer 575 
                          (!type pointer 576 nil  gc_unused
                           (!type already_seen 575)
                          )
                          gc_unused
                          (!type already_seen 574)
                         )
                         gc_used "cpp_hashnode"
                         (!srcfileloc  "../libcpp/include/cpplib.h" 710)
                         (!fields 7 
                          (!pair  "ident"
                           (!type already_seen 34)
                           (!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 29)
                           (!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 577 nil  gc_used "_cpp_hashnode_value"
                            (!srcfileloc  "../libcpp/include/cpplib.h" 697)
                            (!fields 4 
                             (!pair  "macro"
                              (!type pointer 578 nil  gc_used
                               (!type struct 579 
                                (!type already_seen 578)
                                gc_pointed_to "cpp_macro"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 80)
                                (!fields 11 
                                 (!pair  "params"
                                  (!type already_seen 576)
                                  (!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 580 nil  gc_used "cpp_macro_u"
                                   (!srcfileloc  "../libcpp/include/cpp-id-data.h" 50)
                                   (!fields 2 
                                    (!pair  "tokens"
                                     (!type pointer 581 nil  gc_used
                                      (!type struct 582 
                                       (!type already_seen 581)
                                       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 583 nil  gc_used "cpp_token_u"
                                          (!srcfileloc  "../libcpp/include/cpplib.h" 247)
                                          (!fields 6 
                                           (!pair  "node"
                                            (!type struct 584 nil  gc_used "cpp_identifier"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 218)
                                             (!fields 1 
                                              (!pair  "node"
                                               (!type already_seen 575)
                                               (!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 581)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 233)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                                            )
                                           )
                                           (!pair  "str"
                                            (!type struct 585 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 37)
                                               (!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 586 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 37)
                                     (!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 587 nil  gc_used
                               (!type struct 588 
                                (!type already_seen 587)
                                gc_pointed_to "answer"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 31)
                                (!fields 3 
                                 (!pair  "next"
                                  (!type already_seen 587)
                                  (!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 589 nil  gc_used "1" 
                                   (!type already_seen 582)
                                  )
                                  (!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" 249)
                     nil )
                    (!pair  "namespace_bindings"
                     (!type already_seen 100)
                     (!srcfileloc  "cp/cp-tree.h" 250)
                     nil )
                    (!pair  "bindings"
                     (!type already_seen 100)
                     (!srcfileloc  "cp/cp-tree.h" 251)
                     nil )
                    (!pair  "class_template_info"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 252)
                     nil )
                    (!pair  "label_value"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 253)
                     nil )
                   )
                   nil 260 
                   (!type already_seen 567)
                   nil )
                  
                  (!type struct 590 nil  gc_used "lang_identifier"
                   (!srcfileloc  "c/c-decl.c" 243)
                   (!fields 4 
                    (!pair  "common_id"
                     (!type already_seen 573)
                     (!srcfileloc  "c/c-decl.c" 239)
                     nil )
                    (!pair  "symbol_binding"
                     (!type pointer 591 nil  gc_used
                      (!type struct 592 
                       (!type already_seen 591)
                       gc_pointed_to "c_binding"
                       (!srcfileloc  "c/c-decl.c" 213)
                       (!fields 11 
                        (!pair  "u"
                         (!type union 593 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c/c-decl.c:199"
                          (!srcfileloc  "c/c-decl.c" 202)
                          (!fields 2 
                           (!pair  "type"
                            (!type already_seen 5)
                            (!srcfileloc  "c/c-decl.c" 200)
                            (!options 
                             (!option tag string  "0")
                            )
                           )
                           (!pair  "label"
                            (!type pointer 594 nil  gc_used
                             (!type struct 595 
                              (!type already_seen 594)
                              gc_pointed_to "c_label_vars"
                              (!srcfileloc  "c/c-decl.c" 317)
                              (!fields 4 
                               (!pair  "shadowed"
                                (!type already_seen 594)
                                (!srcfileloc  "c/c-decl.c" 305)
                                nil )
                               (!pair  "label_bindings"
                                (!type struct 596 nil  gc_used "c_spot_bindings"
                                 (!srcfileloc  "c/c-decl.c" 284)
                                 (!fields 4 
                                  (!pair  "scope"
                                   (!type pointer 597 nil  gc_used
                                    (!type struct 598 
                                     (!type already_seen 597)
                                     gc_pointed_to "c_scope"
                                     (!srcfileloc  "c/c-decl.c" 419)
                                     (!fields 14 
                                      (!pair  "outer"
                                       (!type already_seen 597)
                                       (!srcfileloc  "c/c-decl.c" 366)
                                       nil )
                                      (!pair  "outer_function"
                                       (!type already_seen 597)
                                       (!srcfileloc  "c/c-decl.c" 369)
                                       nil )
                                      (!pair  "bindings"
                                       (!type already_seen 591)
                                       (!srcfileloc  "c/c-decl.c" 372)
                                       nil )
                                      (!pair  "blocks"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 376)
                                       nil )
                                      (!pair  "blocks_last"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 377)
                                       nil )
                                      (!pair  "depth"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 381)
                                       nil )
                                      (!pair  "parm_flag"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 385)
                                       nil )
                                      (!pair  "had_vla_unspec"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 389)
                                       nil )
                                      (!pair  "warned_forward_parm_decls"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 394)
                                       nil )
                                      (!pair  "function_body"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 400)
                                       nil )
                                      (!pair  "keep"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 403)
                                       nil )
                                      (!pair  "float_const_decimal64"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 406)
                                       nil )
                                      (!pair  "has_label_bindings"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 411)
                                       nil )
                                      (!pair  "has_jump_unsafe_decl"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 418)
                                       nil )
                                     )
                                     (!options 
                                      (!option chain_next string  "%h.outer")
                                     )
                                     130 nil nil )
                                   )
                                   (!srcfileloc  "c/c-decl.c" 269)
                                   nil )
                                  (!pair  "bindings_in_scope"
                                   (!type already_seen 591)
                                   (!srcfileloc  "c/c-decl.c" 273)
                                   nil )
                                  (!pair  "stmt_exprs"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 280)
                                   nil )
                                  (!pair  "left_stmt_expr"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 283)
                                   nil )
                                 )
                                 nil 130 nil nil )
                                (!srcfileloc  "c/c-decl.c" 307)
                                nil )
                               (!pair  "decls_in_scope"
                                (!type already_seen 46)
                                (!srcfileloc  "c/c-decl.c" 312)
                                nil )
                               (!pair  "gotos"
                                (!type pointer 599 nil  gc_used
                                 (!type user_struct 600 
                                  (!type already_seen 599)
                                  gc_pointed_to "vec<c_goto_bindings_p,va_gc>"
                                  (!srcfileloc  "c/c-decl.c" 316)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "c/c-decl.c" 316)
                                    nil )
                                   (!pair  "c_goto_bindings_p"
                                    (!type pointer 601 nil  gc_used
                                     (!type struct 602 
                                      (!type already_seen 601)
                                      gc_pointed_to "c_goto_bindings"
                                      (!srcfileloc  "c/c-decl.c" 295)
                                      (!fields 2 
                                       (!pair  "loc"
                                        (!type already_seen 9)
                                        (!srcfileloc  "c/c-decl.c" 292)
                                        nil )
                                       (!pair  "goto_bindings"
                                        (!type already_seen 596)
                                        (!srcfileloc  "c/c-decl.c" 294)
                                        nil )
                                      )
                                      nil 130 nil nil )
                                    )
                                    (!srcfileloc  "c/c-decl.c" 316)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "c/c-decl.c" 316)
                                nil )
                              )
                              nil 130 nil nil )
                            )
                            (!srcfileloc  "c/c-decl.c" 201)
                            (!options 
                             (!option tag string  "1")
                            )
                           )
                          )
                          nil 130 nil )
                         (!srcfileloc  "c/c-decl.c" 202)
                         (!options 
                          (!option desc string  "TREE_CODE (%0.decl) == LABEL_DECL")
                         )
                        )
                        (!pair  "decl"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 203)
                         nil )
                        (!pair  "id"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 204)
                         nil )
                        (!pair  "prev"
                         (!type already_seen 591)
                         (!srcfileloc  "c/c-decl.c" 205)
                         nil )
                        (!pair  "shadowed"
                         (!type already_seen 591)
                         (!srcfileloc  "c/c-decl.c" 206)
                         nil )
                        (!pair  "depth"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 207)
                         nil )
                        (!pair  "invisible"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 208)
                         nil )
                        (!pair  "nested"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 209)
                         nil )
                        (!pair  "inner_comp"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 210)
                         nil )
                        (!pair  "in_struct"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 211)
                         nil )
                        (!pair  "locus"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 212)
                         nil )
                       )
                       (!options 
                        (!option chain_next string  "%h.prev")
                       )
                       130 nil nil )
                     )
                     (!srcfileloc  "c/c-decl.c" 240)
                     nil )
                    (!pair  "tag_binding"
                     (!type already_seen 591)
                     (!srcfileloc  "c/c-decl.c" 241)
                     nil )
                    (!pair  "label_binding"
                     (!type already_seen 591)
                     (!srcfileloc  "c/c-decl.c" 242)
                     nil )
                   )
                   nil 130 
                   (!type already_seen 567)
                   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 564)
             )
             
             (!type union 603 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 567)
                (!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 564)
             )
             
             (!type union 604 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 567)
                (!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 564)
             )
             
             (!type union 605 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "cp/cp-tree.h" 832)
              (!fields 14 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "cp/cp-tree.h" 812)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "TS_CP_GENERIC")
                )
               )
               (!pair  "tpi"
                (!type struct 606 nil  gc_used "template_parm_index_s"
                 (!srcfileloc  "cp/cp-tree.h" 281)
                 (!fields 5 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 276)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 277)
                   nil )
                  (!pair  "level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 278)
                   nil )
                  (!pair  "orig_level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 279)
                   nil )
                  (!pair  "decl"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 280)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 813)
                (!options 
                 (!option tag string  "TS_CP_TPI")
                )
               )
               (!pair  "ptrmem"
                (!type struct 607 
                 (!type pointer 608 nil  gc_unused
                  (!type already_seen 607)
                 )
                 gc_used "ptrmem_cst"
                 (!srcfileloc  "cp/cp-tree.h" 287)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 285)
                   nil )
                  (!pair  "member"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 286)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 814)
                (!options 
                 (!option tag string  "TS_CP_PTRMEM")
                )
               )
               (!pair  "overload"
                (!type struct 609 nil  gc_used "tree_overload"
                 (!srcfileloc  "cp/cp-tree.h" 362)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 360)
                   nil )
                  (!pair  "function"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 361)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 815)
                (!options 
                 (!option tag string  "TS_CP_OVERLOAD")
                )
               )
               (!pair  "baselink"
                (!type struct 610 nil  gc_used "tree_baselink"
                 (!srcfileloc  "cp/cp-tree.h" 396)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 392)
                   nil )
                  (!pair  "binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 393)
                   nil )
                  (!pair  "functions"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 394)
                   nil )
                  (!pair  "access_binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 395)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 816)
                (!options 
                 (!option tag string  "TS_CP_BASELINK")
                )
               )
               (!pair  "default_arg"
                (!type struct 611 nil  gc_used "tree_default_arg"
                 (!srcfileloc  "cp/cp-tree.h" 574)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 571)
                   nil )
                  (!pair  "tokens"
                   (!type already_seen 65)
                   (!srcfileloc  "cp/cp-tree.h" 572)
                   nil )
                  (!pair  "instantiations"
                   (!type already_seen 46)
                   (!srcfileloc  "cp/cp-tree.h" 573)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 817)
                (!options 
                 (!option tag string  "TS_CP_DEFAULT_ARG")
                )
               )
               (!pair  "deferred_noexcept"
                (!type struct 612 nil  gc_used "tree_deferred_noexcept"
                 (!srcfileloc  "cp/cp-tree.h" 590)
                 (!fields 3 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "cp/cp-tree.h" 587)
                   nil )
                  (!pair  "pattern"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 588)
                   nil )
                  (!pair  "args"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 589)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 818)
                (!options 
                 (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                )
               )
               (!pair  "identifier"
                (!type already_seen 567)
                (!srcfileloc  "cp/cp-tree.h" 819)
                (!options 
                 (!option tag string  "TS_CP_IDENTIFIER")
                )
               )
               (!pair  "static_assertion"
                (!type struct 613 nil  gc_used "tree_static_assert"
                 (!srcfileloc  "cp/cp-tree.h" 613)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 609)
                   nil )
                  (!pair  "condition"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 610)
                   nil )
                  (!pair  "message"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 611)
                   nil )
                  (!pair  "location"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 612)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 821)
                (!options 
                 (!option tag string  "TS_CP_STATIC_ASSERT")
                )
               )
               (!pair  "argument_pack_select"
                (!type struct 614 nil  gc_used "tree_argument_pack_select"
                 (!srcfileloc  "cp/cp-tree.h" 619)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 616)
                   nil )
                  (!pair  "argument_pack"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 617)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 618)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 823)
                (!options 
                 (!option tag string  "TS_CP_ARGUMENT_PACK_SELECT")
                )
               )
               (!pair  "trait_expression"
                (!type struct 615 nil  gc_used "tree_trait_expr"
                 (!srcfileloc  "cp/cp-tree.h" 667)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 663)
                   nil )
                  (!pair  "type1"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 664)
                   nil )
                  (!pair  "type2"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 665)
                   nil )
                  (!pair  "kind"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 666)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 825)
                (!options 
                 (!option tag string  "TS_CP_TRAIT_EXPR")
                )
               )
               (!pair  "lambda_expression"
                (!type struct 616 nil  gc_used "tree_lambda_expr"
                 (!srcfileloc  "cp/cp-tree.h" 752)
                 (!fields 10 
                  (!pair  "typed"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 742)
                   nil )
                  (!pair  "capture_list"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 743)
                   nil )
                  (!pair  "this_capture"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 744)
                   nil )
                  (!pair  "return_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 745)
                   nil )
                  (!pair  "extra_scope"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 746)
                   nil )
                  (!pair  "closure"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 747)
                   nil )
                  (!pair  "pending_proxies"
                   (!type already_seen 46)
                   (!srcfileloc  "cp/cp-tree.h" 748)
                   nil )
                  (!pair  "locus"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 749)
                   nil )
                  (!pair  "default_capture_mode"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 750)
                   nil )
                  (!pair  "discriminator"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 751)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 827)
                (!options 
                 (!option tag string  "TS_CP_LAMBDA_EXPR")
                )
               )
               (!pair  "template_info"
                (!type struct 617 nil  gc_used "tree_template_info"
                 (!srcfileloc  "cp/cp-tree.h" 786)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 16)
                   (!srcfileloc  "cp/cp-tree.h" 784)
                   nil )
                  (!pair  "typedefs_needing_access_checking"
                   (!type pointer 618 nil  gc_used
                    (!type user_struct 619 
                     (!type already_seen 618)
                     gc_pointed_to "vec<qualified_typedef_usage_t,va_gc>"
                     (!srcfileloc  "cp/cp-tree.h" 785)
                     (!fields 2 
                      (!pair  "va_gc"
                       (!type already_seen 3)
                       (!srcfileloc  "cp/cp-tree.h" 785)
                       nil )
                      (!pair  "qualified_typedef_usage_t"
                       (!type struct 620 nil  gc_used "qualified_typedef_usage_s"
                        (!srcfileloc  "cp/cp-tree.h" 772)
                        (!fields 3 
                         (!pair  "typedef_decl"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 769)
                          nil )
                         (!pair  "context"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 770)
                          nil )
                         (!pair  "locus"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 771)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 785)
                       nil )
                     )
                    )
                   )
                   (!srcfileloc  "cp/cp-tree.h" 785)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 829)
                (!options 
                 (!option tag string  "TS_CP_TEMPLATE_INFO")
                )
               )
               (!pair  "userdef_literal"
                (!type struct 621 nil  gc_used "tree_userdef_literal"
                 (!srcfileloc  "c-family/c-common.h" 1270)
                 (!fields 5 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "c-family/c-common.h" 1265)
                   nil )
                  (!pair  "suffix_id"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1266)
                   nil )
                  (!pair  "value"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1267)
                   nil )
                  (!pair  "num_string"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1268)
                   nil )
                  (!pair  "overflow"
                   (!type already_seen 9)
                   (!srcfileloc  "c-family/c-common.h" 1269)
                   nil )
                 )
                 nil 390 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 831)
                (!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 564)
             )
             
             (!type union 622 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "c/c-decl.c" 258)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "c/c-decl.c" 256)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 567)
                (!srcfileloc  "c/c-decl.c" 257)
                (!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 564)
             )
             
             (!type union 623 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 564)
             )
            )
           )
          )
         )
         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 624 
  (!type pointer 625 nil  gc_used
   (!type already_seen 624)
  )
  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 626 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 626)
 
 (!type user_struct 627 
  (!type pointer 628 nil  gc_used
   (!type already_seen 627)
  )
  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 629 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 629)
 
 (!type user_struct 630 
  (!type pointer 631 nil  gc_used
   (!type already_seen 630)
  )
  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 632 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 632)
 
 (!type struct 633 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 634 
  (!type pointer 635 nil  gc_used
   (!type already_seen 634)
  )
  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 636 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 637 
  (!type pointer 638 nil  gc_used
   (!type already_seen 637)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 267)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 638)
    (!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 639 
  (!type pointer 640 nil  gc_used
   (!type already_seen 639)
  )
  gc_pointed_to "hashed_attribute"
  (!srcfileloc  "objc/objc-act.h" 244)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 640)
    (!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 641 
  (!type pointer 642 
   (!type pointer 643 nil  gc_used
    (!type already_seen 642)
   )
   gc_pointed_to
   (!type already_seen 641)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 250)
  (!fields 3 
   (!pair  "list"
    (!type already_seen 640)
    (!srcfileloc  "objc/objc-act.h" 247)
    nil )
   (!pair  "next"
    (!type already_seen 642)
    (!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 644 
  (!type pointer 645 nil  gc_used
   (!type already_seen 644)
  )
  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 646 nil  gc_unused "lto_file_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 647 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 648 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 649 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 650 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 651 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 652 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/java/expr.c:2060"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 653 nil  gc_unused "class_flag_node_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 654 nil  gc_used "builtin_record"
  (!srcfileloc  "java/builtins.c" 84)
  (!fields 4 
   (!pair  "class_name"
    (!type union 655 nil  gc_used "string_or_tree"
     (!srcfileloc  "java/builtins.c" 76)
     (!fields 2 
      (!pair  "s"
       (!type already_seen 37)
       (!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 655)
    (!srcfileloc  "java/builtins.c" 81)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "creator"
    (!type pointer 656 nil  gc_unused
     (!type undefined 657 
      (!type already_seen 656)
      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 657)
 
 (!type already_seen 655)
 
 (!type already_seen 462)
 
 (!type already_seen 467)
 
 (!type already_seen 469)
 
 (!type already_seen 466)
 
 (!type already_seen 85)
 
 (!type already_seen 471)
 
 (!type already_seen 472)
 
 (!type already_seen 56)
 
 (!type already_seen 479)
 
 (!type already_seen 45)
 
 (!type already_seen 53)
 
 (!type already_seen 463)
 
 (!type already_seen 460)
 
 (!type struct 658 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 659 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 660 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 661 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 662 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 663 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:340"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 664 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:328"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 665 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 666 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 667 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 668 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 669 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 670 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 671 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 672 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 673 nil  gc_used "gfc_st_parameter"
  (!srcfileloc  "fortran/trans-io.c" 79)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 37)
    (!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 674 nil  gc_used "gfc_st_parameter_field"
  (!srcfileloc  "fortran/trans-io.c" 73)
  (!fields 6 
   (!pair  "name"
    (!type already_seen 37)
    (!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 675 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 37)
    (!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 676 
  (!type pointer 677 nil  gc_used
   (!type already_seen 676)
  )
  gc_pointed_to "module_htab_entry"
  (!srcfileloc  "fortran/trans.h" 574)
  (!fields 3 
   (!pair  "name"
    (!type already_seen 37)
    (!srcfileloc  "fortran/trans.h" 571)
    nil )
   (!pair  "namespace_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 572)
    nil )
   (!pair  "decls"
    (!type already_seen 54)
    (!srcfileloc  "fortran/trans.h" 573)
    (!options 
     (!option param_is type 
      (!type already_seen 7)
     )
    )
   )
  )
  nil 8 nil nil )
 
 (!type already_seen 82)
 
 (!type struct 678 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 679 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 680 
  (!type pointer 681 nil  gc_used
   (!type already_seen 680)
  )
  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 682 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 682)
 
 (!type user_struct 683 
  (!type pointer 684 nil  gc_used
   (!type already_seen 683)
  )
  gc_pointed_to "vec<saved_builtin,va_gc>"
  (!srcfileloc  "cp/cp-objcp-common.c" 187)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-objcp-common.c" 187)
    nil )
   (!pair  "saved_builtin"
    (!type struct 685 nil  gc_used "sb"
     (!srcfileloc  "cp/cp-objcp-common.c" 185)
     (!fields 8 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 173)
       nil )
      (!pair  "decl_init_copy"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 174)
       nil )
      (!pair  "decl_fini_copy"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 175)
       nil )
      (!pair  "id"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 176)
       nil )
      (!pair  "binding"
       (!type already_seen 100)
       (!srcfileloc  "cp/cp-objcp-common.c" 177)
       nil )
      (!pair  "binding_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 181)
       nil )
      (!pair  "std_binding_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 183)
       nil )
      (!pair  "real_type_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/cp-objcp-common.c" 184)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/cp-objcp-common.c" 187)
    nil )
  )
 )
 
 (!type already_seen 685)
 
 (!type struct 686 nil  gc_unused "secondary_vptr_vtt_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 687 nil  gc_unused "find_final_overrider_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 688 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 689 nil  gc_unused "vtbl_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 690 
  (!type pointer 691 nil  gc_unused
   (!type already_seen 690)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 692 
  (!type pointer 693 nil  gc_used
   (!type already_seen 692)
  )
  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 693)
    (!srcfileloc  "cp/typeck2.c" 154)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  260 nil nil )
 
 (!type struct 694 nil  gc_unused "cleanup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 695 
  (!type pointer 696 nil  gc_used
   (!type already_seen 695)
  )
  gc_pointed_to "vec<tree_int,va_gc>"
  (!srcfileloc  "cp/parser.c" 8667)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/parser.c" 8667)
    nil )
   (!pair  "tree_int"
    (!type struct 697 nil  gc_used "tree_int"
     (!srcfileloc  "cp/parser.c" 8666)
     (!fields 2 
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "cp/parser.c" 8664)
       nil )
      (!pair  "i"
       (!type already_seen 9)
       (!srcfileloc  "cp/parser.c" 8665)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/parser.c" 8667)
    nil )
  )
 )
 
 (!type already_seen 697)
 
 (!type struct 698 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 699 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 700 
  (!type pointer 701 nil  gc_used
   (!type already_seen 700)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.h" 405)
  (!fields 35 
   (!pair  "lexer"
    (!type pointer 702 nil  gc_used
     (!type struct 703 
      (!type already_seen 702)
      gc_pointed_to "cp_lexer"
      (!srcfileloc  "cp/parser.h" 110)
      (!fields 7 
       (!pair  "buffer"
        (!type pointer 704 nil  gc_used
         (!type user_struct 705 
          (!type already_seen 704)
          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 68)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
          )
         )
        )
        (!srcfileloc  "cp/parser.h" 85)
        nil )
       (!pair  "last_token"
        (!type already_seen 67)
        (!srcfileloc  "cp/parser.h" 89)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next_token"
        (!type already_seen 67)
        (!srcfileloc  "cp/parser.h" 93)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "saved_tokens"
        (!type user_struct 706 nil  gc_unused "vec<cp_token_position>"
         (!srcfileloc  "cp/parser.h" 99)
         (!fields 1 
          (!pair  "cp_token_position"
           (!type already_seen 67)
           (!srcfileloc  "cp/parser.h" 99)
           nil )
         )
        )
        (!srcfileloc  "cp/parser.h" 99)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next"
        (!type already_seen 702)
        (!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 707 nil  gc_used
     (!type struct 708 
      (!type already_seen 707)
      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 707)
        (!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 29)
    (!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 29)
    (!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 37)
    (!srcfileloc  "cp/parser.h" 346)
    nil )
   (!pair  "unparsed_queues"
    (!type pointer 709 nil  gc_used
     (!type user_struct 710 
      (!type already_seen 709)
      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 711 nil  gc_used "cp_unparsed_functions_entry_d"
         (!srcfileloc  "cp/parser.h" 166)
         (!fields 3 
          (!pair  "funs_with_default_args"
           (!type pointer 712 nil  gc_used
            (!type user_struct 713 
             (!type already_seen 712)
             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 714 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 46)
           (!srcfileloc  "cp/parser.h" 161)
           nil )
          (!pair  "nsdmis"
           (!type already_seen 46)
           (!srcfileloc  "cp/parser.h" 165)
           nil )
         )
         nil 260 nil nil )
        (!srcfileloc  "cp/parser.h" 351)
        nil )
      )
     )
    )
    (!srcfileloc  "cp/parser.h" 351)
    nil )
   (!pair  "unparsed_attribute_args_queue"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 360)
    nil )
   (!pair  "num_classes_being_defined"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 364)
    nil )
   (!pair  "num_template_parameter_lists"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 368)
    nil )
   (!pair  "omp_declare_simd"
    (!type pointer 715 nil  gc_unused
     (!type struct 716 
      (!type already_seen 715)
      gc_unused "cp_omp_declare_simd_data"
      (!srcfileloc  "cp/parser.h" 372)
      (!fields 0 )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 372)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cilk_simd_fn_info"
    (!type already_seen 715)
    (!srcfileloc  "cp/parser.h" 379)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "auto_is_implicit_function_template_parm_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 383)
    nil )
   (!pair  "fully_implicit_function_template_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 388)
    nil )
   (!pair  "implicit_template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 396)
    nil )
   (!pair  "implicit_template_scope"
    (!type already_seen 95)
    (!srcfileloc  "cp/parser.h" 403)
    nil )
  )
  nil 260 nil nil )
 
 (!type already_seen 710)
 
 (!type already_seen 716)
 
 (!type already_seen 708)
 
 (!type already_seen 711)
 
 (!type already_seen 713)
 
 (!type already_seen 714)
 
 (!type struct 717 nil  gc_unused "cp_token_ident_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 703)
 
 (!type already_seen 706)
 
 (!type already_seen 705)
 
 (!type already_seen 68)
 
 (!type already_seen 69)
 
 (!type already_seen 71)
 
 (!type struct 718 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 719 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 720 
  (!type pointer 721 nil  gc_used
   (!type already_seen 720)
  )
  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/semantics.c" 8131)
  (!fields 4 
   (!pair  "fundef"
    (!type pointer 722 nil  gc_used
     (!type struct 723 
      (!type already_seen 722)
      gc_pointed_to "constexpr_fundef"
      (!srcfileloc  "cp/semantics.c" 7439)
      (!fields 2 
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/semantics.c" 7437)
        nil )
       (!pair  "body"
        (!type already_seen 5)
        (!srcfileloc  "cp/semantics.c" 7438)
        nil )
      )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/semantics.c" 8115)
    nil )
   (!pair  "bindings"
    (!type already_seen 5)
    (!srcfileloc  "cp/semantics.c" 8122)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/semantics.c" 8127)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cp/semantics.c" 8130)
    nil )
  )
  nil 260 nil nil )
 
 (!type already_seen 723)
 
 (!type struct 724 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 725 
  (!type pointer 726 nil  gc_used
   (!type already_seen 725)
  )
  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 727 nil  gc_used "deferred_access"
     (!srcfileloc  "cp/semantics.c" 140)
     (!fields 2 
      (!pair  "deferred_access_checks"
       (!type already_seen 72)
       (!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 727)
 
 (!type already_seen 73)
 
 (!type struct 728 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 729 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 730 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 731 
  (!type pointer 732 nil  gc_used
   (!type already_seen 731)
  )
  gc_pointed_to "spec_entry"
  (!srcfileloc  "cp/pt.c" 98)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 95)
    nil )
   (!pair  "args"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 96)
    nil )
   (!pair  "spec"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 97)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 733 
  (!type pointer 734 nil  gc_used
   (!type already_seen 733)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 63)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 734)
    (!srcfileloc  "cp/pt.c" 61)
    nil )
   (!pair  "tinst"
    (!type pointer 735 nil  gc_used
     (!type struct 736 
      (!type already_seen 735)
      gc_pointed_to "tinst_level"
      (!srcfileloc  "cp/cp-tree.h" 5010)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 735)
        (!srcfileloc  "cp/cp-tree.h" 4995)
        nil )
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/cp-tree.h" 5000)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5003)
        nil )
       (!pair  "errors"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5006)
        nil )
       (!pair  "in_system_header_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 5009)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      260 nil nil )
    )
    (!srcfileloc  "cp/pt.c" 62)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  260 nil nil )
 
 (!type struct 737 
  (!type pointer 738 nil  gc_unused
   (!type already_seen 737)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 739 nil  gc_unused "reshape_iterator_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 740 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 741 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 742 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 743 
  (!type pointer 744 nil  gc_used
   (!type already_seen 743)
  )
  gc_pointed_to "vec<incomplete_var,va_gc>"
  (!srcfileloc  "cp/decl.c" 268)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/decl.c" 268)
    nil )
   (!pair  "incomplete_var"
    (!type struct 745 nil  gc_used "incomplete_var_d"
     (!srcfileloc  "cp/decl.c" 265)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 263)
       nil )
      (!pair  "incomplete_type"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 264)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/decl.c" 268)
    nil )
  )
 )
 
 (!type already_seen 745)
 
 (!type already_seen 106)
 
 (!type struct 746 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 747 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 748 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 749 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 750 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 751 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 74)
 
 (!type struct 752 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 753 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 754 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 755 nil  gc_used "operator_name_info_t"
  (!srcfileloc  "cp/cp-tree.h" 4759)
  (!fields 4 
   (!pair  "identifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 4752)
    nil )
   (!pair  "name"
    (!type already_seen 37)
    (!srcfileloc  "cp/cp-tree.h" 4754)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 37)
    (!srcfileloc  "cp/cp-tree.h" 4756)
    nil )
   (!pair  "arity"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 4758)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 756 nil  gc_unused "aggr_init_expr_arg_iterator_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 57)
 
 (!type already_seen 130)
 
 (!type already_seen 129)
 
 (!type already_seen 62)
 
 (!type already_seen 64)
 
 (!type already_seen 63)
 
 (!type already_seen 60)
 
 (!type already_seen 61)
 
 (!type already_seen 59)
 
 (!type already_seen 487)
 
 (!type already_seen 502)
 
 (!type already_seen 489)
 
 (!type already_seen 491)
 
 (!type already_seen 488)
 
 (!type already_seen 492)
 
 (!type already_seen 94)
 
 (!type struct 757 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 758 
  (!type pointer 759 nil  gc_used
   (!type already_seen 758)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1023)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-tree.h" 1023)
    nil )
   (!pair  "cxx_saved_binding"
    (!type struct 760 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 100)
       (!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" 1023)
    nil )
  )
 )
 
 (!type already_seen 617)
 
 (!type already_seen 619)
 
 (!type already_seen 620)
 
 (!type already_seen 616)
 
 (!type already_seen 615)
 
 (!type already_seen 614)
 
 (!type already_seen 613)
 
 (!type already_seen 612)
 
 (!type already_seen 611)
 
 (!type already_seen 66)
 
 (!type already_seen 610)
 
 (!type already_seen 609)
 
 (!type already_seen 607)
 
 (!type already_seen 606)
 
 (!type struct 761 
  (!type pointer 762 nil  gc_used
   (!type already_seen 761)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1059)
  (!fields 26 
   (!pair  "old_bindings"
    (!type already_seen 759)
    (!srcfileloc  "cp/cp-tree.h" 1023)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1024)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 46)
    (!srcfileloc  "cp/cp-tree.h" 1025)
    nil )
   (!pair  "class_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1026)
    nil )
   (!pair  "class_type"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1027)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1028)
    nil )
   (!pair  "function_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1029)
    nil )
   (!pair  "lang_base"
    (!type already_seen 46)
    (!srcfileloc  "cp/cp-tree.h" 1030)
    nil )
   (!pair  "lang_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1031)
    nil )
   (!pair  "template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1032)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 95)
    (!srcfileloc  "cp/cp-tree.h" 1033)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1034)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1037)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1038)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1040)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1041)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1042)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1043)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1045)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1046)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1049)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 89)
    (!srcfileloc  "cp/cp-tree.h" 1051)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 95)
    (!srcfileloc  "cp/cp-tree.h" 1053)
    nil )
   (!pair  "bindings"
    (!type already_seen 95)
    (!srcfileloc  "cp/cp-tree.h" 1054)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 388)
    (!srcfileloc  "cp/cp-tree.h" 1056)
    nil )
   (!pair  "prev"
    (!type already_seen 762)
    (!srcfileloc  "cp/cp-tree.h" 1058)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 763 nil  gc_unused "arg_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 110)
 
 (!type struct 764 nil  gc_unused "scope_binding"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 103)
 
 (!type already_seen 98)
 
 (!type already_seen 104)
 
 (!type already_seen 99)
 
 (!type already_seen 760)
 
 (!type already_seen 96)
 
 (!type already_seen 101)
 
 (!type already_seen 498)
 
 (!type already_seen 495)
 
 (!type already_seen 736)
 
 (!type struct 765 nil  gc_used "globals"
  (!srcfileloc  "cp/mangle.c" 106)
  (!fields 4 
   (!pair  "substitutions"
    (!type already_seen 46)
    (!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 766 
  (!type pointer 767 nil  gc_used
   (!type already_seen 766)
  )
  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 768 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 768)
 
 (!type already_seen 113)
 
 (!type struct 769 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 770 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c/c-parser.c:6068"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 771 
  (!type pointer 772 nil  gc_used
   (!type already_seen 771)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 217)
  (!fields 13 
   (!pair  "tokens"
    (!type pointer 773 nil  gc_unused
     (!type struct 774 
      (!type already_seen 773)
      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 775 nil  gc_used "2" 
     (!type already_seen 774)
    )
    (!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 776 nil  gc_used
     (!type user_struct 777 
      (!type already_seen 776)
      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 774)
        (!srcfileloc  "c/c-parser.c" 216)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 216)
    nil )
  )
  nil 130 nil nil )
 
 (!type already_seen 777)
 
 (!type already_seen 774)
 
 (!type struct 778 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 779 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/c-family/c-pragma.c:1169"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 780 
  (!type pointer 781 nil  gc_used
   (!type already_seen 780)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 902)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 781)
    (!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 782 
  (!type pointer 783 nil  gc_used
   (!type already_seen 782)
  )
  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 784 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 784)
 
 (!type user_struct 785 
  (!type pointer 786 nil  gc_used
   (!type already_seen 785)
  )
  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 787 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 787)
 
 (!type struct 788 
  (!type pointer 789 nil  gc_used
   (!type already_seen 788)
  )
  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 789)
    (!srcfileloc  "c-family/c-pragma.c" 53)
    nil )
  )
  nil 390 nil nil )
 
 (!type struct 790 nil  gc_unused "internal_pragma_handler_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 791 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 792 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1207)
  (!fields 5 
   (!pair  "hex_str"
    (!type already_seen 37)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1202)
    nil )
   (!pair  "macro"
    (!type already_seen 578)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1203)
    nil )
   (!pair  "mode"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1204)
    nil )
   (!pair  "digits"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1205)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 37)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1206)
    nil )
  )
  nil 386 nil nil )
 
 (!type struct 793 nil  gc_unused "cilkplus_an_loop_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 794 nil  gc_unused "cilkplus_an_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 795 nil  gc_unused "inv_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 621)
 
 (!type struct 796 nil  gc_unused "omp_clause_mask"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 797 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 798 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 799 
  (!type pointer 800 nil  gc_used
   (!type already_seen 799)
  )
  gc_pointed_to "vec<tree_gc_vec,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 11625)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 11625)
    nil )
   (!pair  "tree_gc_vec"
    (!type already_seen 46)
    (!srcfileloc  "c-family/c-common.c" 11625)
    nil )
  )
 )
 
 (!type already_seen 88)
 
 (!type struct 801 nil  gc_unused "reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 802 
  (!type pointer 803 nil  gc_used
   (!type already_seen 802)
  )
  gc_pointed_to "vec<const_char_p,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 9089)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 9089)
    nil )
   (!pair  "const_char_p"
    (!type already_seen 37)
    (!srcfileloc  "c-family/c-common.c" 9089)
    nil )
  )
 )
 
 (!type struct 804 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 805 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 806 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 807 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 808 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 809 
  (!type pointer 810 nil  gc_used
   (!type already_seen 809)
  )
  gc_pointed_to "vec<c_saved_builtin,va_gc>"
  (!srcfileloc  "c/c-decl.c" 10527)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c/c-decl.c" 10527)
    nil )
   (!pair  "c_saved_builtin"
    (!type struct 811 nil  gc_used "c_sb"
     (!srcfileloc  "c/c-decl.c" 10525)
     (!fields 5 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "c/c-decl.c" 10520)
       nil )
      (!pair  "id"
       (!type already_seen 5)
       (!srcfileloc  "c/c-decl.c" 10521)
       nil )
      (!pair  "decl_copy_pre"
       (!type already_seen 5)
       (!srcfileloc  "c/c-decl.c" 10522)
       nil )
      (!pair  "decl_copy_post"
       (!type already_seen 5)
       (!srcfileloc  "c/c-decl.c" 10523)
       nil )
      (!pair  "invisible"
       (!type already_seen 9)
       (!srcfileloc  "c/c-decl.c" 10524)
       nil )
     )
     nil 130 nil nil )
    (!srcfileloc  "c/c-decl.c" 10527)
    nil )
  )
 )
 
 (!type already_seen 811)
 
 (!type already_seen 500)
 
 (!type struct 812 
  (!type pointer 813 nil  gc_used
   (!type already_seen 812)
  )
  gc_pointed_to "c_inline_static"
  (!srcfileloc  "c/c-decl.c" 490)
  (!fields 5 
   (!pair  "location"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 477)
    nil )
   (!pair  "function"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 480)
    nil )
   (!pair  "static_decl"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 483)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 486)
    nil )
   (!pair  "next"
    (!type already_seen 813)
    (!srcfileloc  "c/c-decl.c" 489)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  130 nil nil )
 
 (!type already_seen 600)
 
 (!type already_seen 602)
 
 (!type already_seen 598)
 
 (!type already_seen 567)
 
 (!type already_seen 573)
 
 (!type already_seen 592)
 
 (!type already_seen 593)
 
 (!type already_seen 595)
 
 (!type already_seen 89)
 
 (!type struct 814 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 596)
 
 (!type struct 815 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 816 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 817 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 818 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 115)
 
 (!type struct 819 nil  gc_unused "c_arg_tag_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 820 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 821 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 822 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 823 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 824 
  (!type pointer 825 nil  gc_used
   (!type already_seen 824)
  )
  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 826 
  (!type pointer 827 nil  gc_used
   (!type already_seen 826)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 196)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 827)
    (!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 828 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 829 
  (!type pointer 830 nil  gc_used
   (!type already_seen 829)
  )
  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 831 nil  gc_used
     (!type struct 832 
      (!type already_seen 831)
      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 833 nil  gc_used
         (!type user_struct 834 
          (!type already_seen 833)
          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 835 nil  gc_used
             (!type struct 836 
              (!type already_seen 835)
              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 832)
 
 (!type already_seen 834)
 
 (!type already_seen 836)
 
 (!type struct 837 
  (!type pointer 838 nil  gc_used
   (!type already_seen 837)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 179)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 838)
    (!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 839 
  (!type pointer 840 nil  gc_used
   (!type already_seen 839)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 163)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 840)
    (!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 118)
 
 (!type already_seen 120)
 
 (!type struct 841 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 842 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/ada/gcc-interface/decl.c:178"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 843 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 844 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 845 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 846 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 847 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 848 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 849 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 850 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 851 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 852 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 853 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 854 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 855 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 866)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type struct 856 nil  gc_unused "polymorphic_call_target_hasher"
     (!srcfileloc  "ipa-devirt.c" 866)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-devirt.c" 866)
    nil )
  )
 )
 
 (!type already_seen 856)
 
 (!type struct 857 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 858 
  (!type pointer 859 nil  gc_used
   (!type already_seen 858)
  )
  gc_pointed_to "vec<odr_type,va_gc>"
  (!srcfileloc  "ipa-devirt.c" 279)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-devirt.c" 279)
    nil )
   (!pair  "odr_type"
    (!type pointer 860 nil  gc_used
     (!type struct 861 
      (!type already_seen 860)
      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 862 nil  gc_unused "vec<odr_type>"
         (!srcfileloc  "ipa-devirt.c" 152)
         (!fields 1 
          (!pair  "odr_type"
           (!type already_seen 860)
           (!srcfileloc  "ipa-devirt.c" 152)
           nil )
         )
        )
        (!srcfileloc  "ipa-devirt.c" 152)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "derived_types"
        (!type already_seen 862)
        (!srcfileloc  "ipa-devirt.c" 154)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "types"
        (!type already_seen 46)
        (!srcfileloc  "ipa-devirt.c" 157)
        nil )
       (!pair  "types_set"
        (!type pointer 863 nil  gc_unused
         (!type struct 864 
          (!type already_seen 863)
          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" 279)
    nil )
  )
 )
 
 (!type user_struct 865 nil  gc_unused "hash_table<odr_hasher>"
  (!srcfileloc  "ipa-devirt.c" 272)
  (!fields 1 
   (!pair  "odr_hasher"
    (!type struct 866 nil  gc_unused "odr_hasher"
     (!srcfileloc  "ipa-devirt.c" 272)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-devirt.c" 272)
    nil )
  )
 )
 
 (!type already_seen 866)
 
 (!type already_seen 862)
 
 (!type struct 867 nil  gc_unused "pass_sancov_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 868 nil  gc_unused "pass_sancov"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 869 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 870 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 871 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 872 
  (!type pointer 873 nil  gc_used
   (!type already_seen 872)
  )
  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 57)
  (!fields 2 
   (!pair  "type"
    (!type struct 874 nil  gc_used "tree_map_base"
     (!srcfileloc  "tree-core.h" 1741)
     (!fields 1 
      (!pair  "from"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 1740)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "ubsan.c" 55)
    nil )
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "ubsan.c" 56)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 875 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 876 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 877 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 878 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 879 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 880 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 881 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 882 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 883 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 311)
 )
 
 (!type user_struct 884 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 310)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type struct 885 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 885)
 
 (!type struct 886 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 887 nil  gc_unused "edge_growth_cache_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 888 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 889 
  (!type pointer 890 nil  gc_used
   (!type already_seen 889)
  )
  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 891 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 892 nil  gc_used
        (!type user_struct 893 
         (!type already_seen 892)
         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 894 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 895 nil  gc_used
        (!type user_struct 896 
         (!type already_seen 895)
         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 897 nil  gc_used "size_time_entry"
            (!srcfileloc  "ipa-inline.h" 141)
            (!fields 3 
             (!pair  "predicate"
              (!type struct 898 
               (!type pointer 899 nil  gc_unused
                (!type already_seen 898)
               )
               gc_used "predicate"
               (!srcfileloc  "ipa-inline.h" 92)
               (!fields 1 
                (!pair  "clause"
                 (!type array 900 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 899)
       (!srcfileloc  "ipa-inline.h" 145)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "loop_stride"
       (!type already_seen 899)
       (!srcfileloc  "ipa-inline.h" 148)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "array_index"
       (!type already_seen 899)
       (!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 896)
 
 (!type already_seen 897)
 
 (!type already_seen 898)
 
 (!type already_seen 893)
 
 (!type already_seen 894)
 
 (!type already_seen 562)
 
 (!type already_seen 560)
 
 (!type already_seen 556)
 
 (!type already_seen 538)
 
 (!type struct 901 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 902 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 903 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 904 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 905 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 906 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 907 nil  gc_unused "gcov_ctr_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 908 nil  gc_unused "vec<res_pair>"
  (!srcfileloc  "lto-streamer.h" 563)
  (!fields 1 
   (!pair  "res_pair"
    (!type struct 909 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 909)
 
 (!type struct 910 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 911 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 912 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 913 
  (!type pointer 914 nil  gc_unused
   (!type already_seen 913)
  )
  gc_unused "lto_symtab_encoder_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 915 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 916 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 917 nil  gc_unused "lto_asm_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 918 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 919 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 920 nil  gc_unused "lto_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 921 
  (!type pointer 922 nil  gc_used
   (!type already_seen 921)
  )
  gc_pointed_to "lto_in_decl_state"
  (!srcfileloc  "lto-streamer.h" 495)
  (!fields 2 
   (!pair  "streams"
    (!type array 923 nil  gc_used "LTO_N_DECL_STREAMS" 
     (!type already_seen 911)
    )
    (!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 924 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 925 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 926 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 927 nil  gc_unused "vec<cgraph_node_ptr>"
  (!srcfileloc  "trans-mem.c" 4067)
  (!fields 1 
   (!pair  "cgraph_node_ptr"
    (!type pointer 928 
     (!type pointer 929 nil  gc_used
      (!type already_seen 928)
     )
     gc_pointed_to
     (!type struct 930 
      (!type already_seen 928)
      gc_pointed_to "cgraph_node"
      (!srcfileloc  "cgraph.h" 444)
      (!fields 36 
       (!pair  "callees"
        (!type pointer 931 nil  gc_used
         (!type struct 932 
          (!type already_seen 931)
          gc_pointed_to "cgraph_edge"
          (!srcfileloc  "cgraph.h" 635)
          (!fields 19 
           (!pair  "count"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 583)
            nil )
           (!pair  "caller"
            (!type already_seen 928)
            (!srcfileloc  "cgraph.h" 584)
            nil )
           (!pair  "callee"
            (!type already_seen 928)
            (!srcfileloc  "cgraph.h" 585)
            nil )
           (!pair  "prev_caller"
            (!type already_seen 931)
            (!srcfileloc  "cgraph.h" 586)
            nil )
           (!pair  "next_caller"
            (!type already_seen 931)
            (!srcfileloc  "cgraph.h" 587)
            nil )
           (!pair  "prev_callee"
            (!type already_seen 931)
            (!srcfileloc  "cgraph.h" 588)
            nil )
           (!pair  "next_callee"
            (!type already_seen 931)
            (!srcfileloc  "cgraph.h" 589)
            nil )
           (!pair  "call_stmt"
            (!type already_seen 311)
            (!srcfileloc  "cgraph.h" 590)
            nil )
           (!pair  "indirect_info"
            (!type pointer 933 nil  gc_used
             (!type struct 934 
              (!type already_seen 933)
              gc_pointed_to "cgraph_indirect_call_info"
              (!srcfileloc  "cgraph.h" 579)
              (!fields 14 
               (!pair  "offset"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 552)
                nil )
               (!pair  "otr_token"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 554)
                nil )
               (!pair  "otr_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 556)
                nil )
               (!pair  "outer_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 556)
                nil )
               (!pair  "param_index"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 558)
                nil )
               (!pair  "ecf_flags"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 560)
                nil )
               (!pair  "common_target_id"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 562)
                nil )
               (!pair  "common_target_probability"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 564)
                nil )
               (!pair  "polymorphic"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 568)
                nil )
               (!pair  "agg_contents"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 571)
                nil )
               (!pair  "member_ptr"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 573)
                nil )
               (!pair  "by_ref"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 576)
                nil )
               (!pair  "maybe_in_construction"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 577)
                nil )
               (!pair  "maybe_derived_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 578)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "cgraph.h" 593)
            nil )
           (!pair  "aux"
            (!type already_seen 10)
            (!srcfileloc  "cgraph.h" 594)
            (!options 
             (!option skip string  "")
            )
           )
           (!pair  "inline_failed"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 597)
            nil )
           (!pair  "lto_stmt_uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 600)
            nil )
           (!pair  "frequency"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 604)
            nil )
           (!pair  "uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 606)
            nil )
           (!pair  "indirect_inlining_edge"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 608)
            nil )
           (!pair  "indirect_unknown_callee"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 611)
            nil )
           (!pair  "call_stmt_cannot_inline_p"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 614)
            nil )
           (!pair  "can_throw_external"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 616)
            nil )
           (!pair  "speculative"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 634)
            nil )
          )
          (!options 
           (!option chain_prev string  "%h.prev_caller")
           (!option chain_next string  "%h.next_caller")
          )
          511 nil nil )
        )
        (!srcfileloc  "cgraph.h" 364)
        nil )
       (!pair  "callers"
        (!type already_seen 931)
        (!srcfileloc  "cgraph.h" 365)
        nil )
       (!pair  "indirect_calls"
        (!type already_seen 931)
        (!srcfileloc  "cgraph.h" 368)
        nil )
       (!pair  "origin"
        (!type already_seen 928)
        (!srcfileloc  "cgraph.h" 370)
        nil )
       (!pair  "nested"
        (!type already_seen 928)
        (!srcfileloc  "cgraph.h" 372)
        nil )
       (!pair  "next_nested"
        (!type already_seen 928)
        (!srcfileloc  "cgraph.h" 374)
        nil )
       (!pair  "next_sibling_clone"
        (!type already_seen 928)
        (!srcfileloc  "cgraph.h" 376)
        nil )
       (!pair  "prev_sibling_clone"
        (!type already_seen 928)
        (!srcfileloc  "cgraph.h" 377)
        nil )
       (!pair  "clones"
        (!type already_seen 928)
        (!srcfileloc  "cgraph.h" 378)
        nil )
       (!pair  "clone_of"
        (!type already_seen 928)
        (!srcfileloc  "cgraph.h" 379)
        nil )
       (!pair  "call_site_hash"
        (!type pointer 935 nil  gc_used
         (!type param_struct 936 
          (!type already_seen 935)
          gc_pointed_to
          (!type already_seen 50)
          
          (!type already_seen 931)
          nil nil nil nil nil nil nil nil nil nil )
        )
        (!srcfileloc  "cgraph.h" 382)
        (!options 
         (!option param_is type 
          (!type already_seen 932)
         )
        )
       )
       (!pair  "former_clone_of"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 384)
        nil )
       (!pair  "simdclone"
        (!type pointer 937 nil  gc_used
         (!type struct 938 
          (!type already_seen 937)
          gc_pointed_to "cgraph_simd_clone"
          (!srcfileloc  "cgraph.h" 356)
          (!fields 11 
           (!pair  "simdlen"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 324)
            nil )
           (!pair  "nargs"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 328)
            nil )
           (!pair  "vecsize_int"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 331)
            nil )
           (!pair  "vecsize_float"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 334)
            nil )
           (!pair  "vecsize_mangle"
            (!type already_seen 29)
            (!srcfileloc  "cgraph.h" 339)
            nil )
           (!pair  "inbranch"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 343)
            nil )
           (!pair  "cilk_elemental"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 346)
            nil )
           (!pair  "prev_clone"
            (!type already_seen 928)
            (!srcfileloc  "cgraph.h" 349)
            nil )
           (!pair  "next_clone"
            (!type already_seen 928)
            (!srcfileloc  "cgraph.h" 349)
            nil )
           (!pair  "origin"
            (!type already_seen 928)
            (!srcfileloc  "cgraph.h" 352)
            nil )
           (!pair  "args"
            (!type array 939 nil  gc_used "1" 
             (!type struct 940 nil  gc_used "cgraph_simd_clone_arg"
              (!srcfileloc  "cgraph.h" 318)
              (!fields 8 
               (!pair  "orig_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 280)
                nil )
               (!pair  "orig_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 284)
                nil )
               (!pair  "vector_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 292)
                nil )
               (!pair  "vector_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 295)
                nil )
               (!pair  "simd_array"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 304)
                nil )
               (!pair  "arg_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 308)
                nil )
               (!pair  "linear_step"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 314)
                nil )
               (!pair  "alignment"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 317)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "cgraph.h" 355)
            (!options 
             (!option length string  "%h.nargs")
            )
           )
          )
          nil 511 nil nil )
        )
        (!srcfileloc  "cgraph.h" 388)
        nil )
       (!pair  "simd_clones"
        (!type already_seen 928)
        (!srcfileloc  "cgraph.h" 390)
        nil )
       (!pair  "ipa_transforms_to_apply"
        (!type user_struct 941 nil  gc_unused "vec<ipa_opt_pass>"
         (!srcfileloc  "cgraph.h" 395)
         (!fields 1 
          (!pair  "ipa_opt_pass"
           (!type pointer 942 nil  gc_unused
            (!type struct 943 
             (!type already_seen 942)
             gc_unused "ipa_opt_pass_d"
             (!srcfileloc  "function.h" 171)
             (!fields 0 )
             nil 511 nil nil )
           )
           (!srcfileloc  "cgraph.h" 395)
           nil )
         )
        )
        (!srcfileloc  "cgraph.h" 395)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "local"
        (!type struct 944 nil  gc_used "cgraph_local_info"
         (!srcfileloc  "cgraph.h" 220)
         (!fields 5 
          (!pair  "local"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 205)
           nil )
          (!pair  "versionable"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 208)
           nil )
          (!pair  "can_change_signature"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 212)
           nil )
          (!pair  "redefined_extern_inline"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 216)
           nil )
          (!pair  "tm_may_enter_irr"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 219)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 397)
        nil )
       (!pair  "global"
        (!type struct 945 nil  gc_used "cgraph_global_info"
         (!srcfileloc  "cgraph.h" 232)
         (!fields 2 
          (!pair  "estimated_stack_size"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 227)
           nil )
          (!pair  "inlined_to"
           (!type already_seen 928)
           (!srcfileloc  "cgraph.h" 231)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 398)
        nil )
       (!pair  "rtl"
        (!type struct 946 nil  gc_used "cgraph_rtl_info"
         (!srcfileloc  "cgraph.h" 239)
         (!fields 1 
          (!pair  "preferred_incoming_stack_boundary"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 238)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 399)
        nil )
       (!pair  "clone"
        (!type struct 947 nil  gc_used "cgraph_clone_info"
         (!srcfileloc  "cgraph.h" 263)
         (!fields 3 
          (!pair  "tree_map"
           (!type pointer 948 nil  gc_used
            (!type user_struct 949 
             (!type already_seen 948)
             gc_pointed_to "vec<ipa_replace_map_p,va_gc>"
             (!srcfileloc  "cgraph.h" 260)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cgraph.h" 260)
               nil )
              (!pair  "ipa_replace_map_p"
               (!type pointer 950 nil  gc_used
                (!type struct 951 
                 (!type already_seen 950)
                 gc_pointed_to "ipa_replace_map"
                 (!srcfileloc  "cgraph.h" 255)
                 (!fields 5 
                  (!pair  "old_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 246)
                   nil )
                  (!pair  "new_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 248)
                   nil )
                  (!pair  "parm_num"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 250)
                   nil )
                  (!pair  "replace_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 252)
                   nil )
                  (!pair  "ref_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 254)
                   nil )
                 )
                 nil 511 nil nil )
               )
               (!srcfileloc  "cgraph.h" 260)
               nil )
             )
            )
           )
           (!srcfileloc  "cgraph.h" 260)
           nil )
          (!pair  "args_to_skip"
           (!type already_seen 121)
           (!srcfileloc  "cgraph.h" 261)
           nil )
          (!pair  "combined_args_to_skip"
           (!type already_seen 121)
           (!srcfileloc  "cgraph.h" 262)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 400)
        nil )
       (!pair  "thunk"
        (!type struct 952 nil  gc_used "cgraph_thunk_info"
         (!srcfileloc  "cgraph.h" 197)
         (!fields 6 
          (!pair  "fixed_offset"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 190)
           nil )
          (!pair  "virtual_value"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 191)
           nil )
          (!pair  "alias"
           (!type already_seen 5)
           (!srcfileloc  "cgraph.h" 192)
           nil )
          (!pair  "this_adjusting"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 193)
           nil )
          (!pair  "virtual_offset_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 194)
           nil )
          (!pair  "thunk_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 196)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 401)
        nil )
       (!pair  "count"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 404)
        nil )
       (!pair  "max_bb_count"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 406)
        nil )
       (!pair  "count_materialization_scale"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 409)
        nil )
       (!pair  "uid"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 411)
        nil )
       (!pair  "profile_id"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 413)
        nil )
       (!pair  "tp_first_run"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 415)
        nil )
       (!pair  "used_as_abstract_origin"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 419)
        nil )
       (!pair  "lowered"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 421)
        nil )
       (!pair  "process"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 424)
        nil )
       (!pair  "is_versioned_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 426)
        nil )
       (!pair  "frequency"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 429)
        nil )
       (!pair  "only_called_at_startup"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 431)
        nil )
       (!pair  "only_called_at_exit"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 433)
        nil )
       (!pair  "tm_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 438)
        nil )
       (!pair  "dispatcher_function"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 440)
        nil )
       (!pair  "calls_comdat_local"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 443)
        nil )
      )
      (!options 
       (!option tag string  "SYMTAB_FUNCTION")
      )
      511 nil 
      (!type struct 953 
       (!type pointer 954 nil  gc_used
        (!type already_seen 953)
       )
       gc_pointed_to "symtab_node"
       (!srcfileloc  "cgraph.h" 155)
       (!fields 26 
        (!pair  "type"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 55)
         nil )
        (!pair  "resolution"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 58)
         nil )
        (!pair  "definition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 64)
         nil )
        (!pair  "alias"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 67)
         nil )
        (!pair  "weakref"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 69)
         nil )
        (!pair  "cpp_implicit_alias"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 76)
         nil )
        (!pair  "analyzed"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 79)
         nil )
        (!pair  "externally_visible"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 85)
         nil )
        (!pair  "force_output"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 88)
         nil )
        (!pair  "forced_by_abi"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 92)
         nil )
        (!pair  "unique_name"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 94)
         nil )
        (!pair  "body_removed"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 97)
         nil )
        (!pair  "used_from_other_partition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 104)
         nil )
        (!pair  "in_other_partition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 108)
         nil )
        (!pair  "address_taken"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 115)
         nil )
        (!pair  "order"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 119)
         nil )
        (!pair  "decl"
         (!type already_seen 5)
         (!srcfileloc  "cgraph.h" 122)
         nil )
        (!pair  "next"
         (!type already_seen 954)
         (!srcfileloc  "cgraph.h" 125)
         nil )
        (!pair  "previous"
         (!type already_seen 954)
         (!srcfileloc  "cgraph.h" 126)
         nil )
        (!pair  "next_sharing_asm_name"
         (!type already_seen 954)
         (!srcfileloc  "cgraph.h" 137)
         nil )
        (!pair  "previous_sharing_asm_name"
         (!type already_seen 954)
         (!srcfileloc  "cgraph.h" 138)
         nil )
        (!pair  "same_comdat_group"
         (!type already_seen 954)
         (!srcfileloc  "cgraph.h" 141)
         nil )
        (!pair  "ref_list"
         (!type struct 955 nil  gc_used "ipa_ref_list"
          (!srcfileloc  "ipa-ref.h" 59)
          (!fields 2 
           (!pair  "references"
            (!type pointer 956 nil  gc_used
             (!type user_struct 957 
              (!type already_seen 956)
              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 958 
                 (!type pointer 959 nil  gc_unused
                  (!type already_seen 958)
                 )
                 gc_used "ipa_ref"
                 (!srcfileloc  "ipa-ref.h" 45)
                 (!fields 7 
                  (!pair  "referring"
                   (!type already_seen 954)
                   (!srcfileloc  "ipa-ref.h" 38)
                   nil )
                  (!pair  "referred"
                   (!type already_seen 954)
                   (!srcfileloc  "ipa-ref.h" 39)
                   nil )
                  (!pair  "stmt"
                   (!type already_seen 311)
                   (!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 960 nil  gc_unused "vec<ipa_ref_ptr>"
             (!srcfileloc  "ipa-ref.h" 58)
             (!fields 1 
              (!pair  "ipa_ref_ptr"
               (!type already_seen 959)
               (!srcfileloc  "ipa-ref.h" 58)
               nil )
             )
            )
            (!srcfileloc  "ipa-ref.h" 58)
            (!options 
             (!option skip string  "")
            )
           )
          )
          nil 511 nil nil )
         (!srcfileloc  "cgraph.h" 144)
         nil )
        (!pair  "alias_target"
         (!type already_seen 5)
         (!srcfileloc  "cgraph.h" 149)
         nil )
        (!pair  "lto_file_data"
         (!type pointer 961 
          (!type pointer 962 nil  gc_used
           (!type already_seen 961)
          )
          gc_pointed_to
          (!type struct 963 
           (!type already_seen 961)
           gc_pointed_to "lto_file_decl_data"
           (!srcfileloc  "lto-streamer.h" 570)
           (!fields 13 
            (!pair  "current_decl_state"
             (!type already_seen 922)
             (!srcfileloc  "lto-streamer.h" 535)
             nil )
            (!pair  "global_decl_state"
             (!type already_seen 922)
             (!srcfileloc  "lto-streamer.h" 539)
             nil )
            (!pair  "symtab_node_encoder"
             (!type already_seen 914)
             (!srcfileloc  "lto-streamer.h" 542)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "function_decl_states"
             (!type pointer 964 nil  gc_used
              (!type param_struct 965 
               (!type already_seen 964)
               gc_pointed_to
               (!type already_seen 50)
               
               (!type already_seen 922)
               nil nil nil nil nil nil nil nil nil nil )
             )
             (!srcfileloc  "lto-streamer.h" 545)
             (!options 
              (!option param_is type 
               (!type already_seen 921)
              )
             )
            )
            (!pair  "file_name"
             (!type already_seen 37)
             (!srcfileloc  "lto-streamer.h" 548)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "section_hash_table"
             (!type already_seen 51)
             (!srcfileloc  "lto-streamer.h" 551)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "renaming_hash_table"
             (!type already_seen 51)
             (!srcfileloc  "lto-streamer.h" 554)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "next"
             (!type already_seen 961)
             (!srcfileloc  "lto-streamer.h" 557)
             nil )
            (!pair  "id"
             (!type already_seen 9)
             (!srcfileloc  "lto-streamer.h" 560)
             nil )
            (!pair  "respairs"
             (!type already_seen 908)
             (!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 907)
             (!srcfileloc  "lto-streamer.h" 566)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "resolution_map"
             (!type already_seen 388)
             (!srcfileloc  "lto-streamer.h" 569)
             (!options 
              (!option skip string  "")
             )
            )
           )
           nil 511 nil nil )
         )
         (!srcfileloc  "cgraph.h" 152)
         nil )
        (!pair  "aux"
         (!type already_seen 10)
         (!srcfileloc  "cgraph.h" 154)
         (!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" 4067)
    nil )
  )
 )
 
 (!type struct 966 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 967 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 968 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 969 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 970 
  (!type pointer 971 nil  gc_unused
   (!type already_seen 970)
  )
  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 972 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 973 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 974 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 975 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 976 
  (!type pointer 977 nil  gc_unused
   (!type already_seen 976)
  )
  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 978 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 979 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 980 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 981 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 982 
  (!type pointer 983 nil  gc_unused
   (!type already_seen 982)
  )
  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 984 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 985 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 986 nil  gc_unused "vec<ipa_parm_adjustment>"
  (!srcfileloc  "ipa-prop.h" 686)
  (!fields 1 
   (!pair  "ipa_parm_adjustment"
    (!type struct 987 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 988 
  (!type pointer 989 nil  gc_used
   (!type already_seen 988)
  )
  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 990 nil  gc_used "ipa_edge_args"
     (!srcfileloc  "ipa-prop.h" 511)
     (!fields 1 
      (!pair  "jump_functions"
       (!type pointer 991 nil  gc_used
        (!type user_struct 992 
         (!type already_seen 991)
         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 993 nil  gc_used "ipa_jump_func"
            (!srcfileloc  "ipa-prop.h" 480)
            (!fields 3 
             (!pair  "agg"
              (!type struct 994 
               (!type pointer 995 nil  gc_unused
                (!type already_seen 994)
               )
               gc_used "ipa_agg_jump_function"
               (!srcfileloc  "ipa-prop.h" 176)
               (!fields 2 
                (!pair  "items"
                 (!type pointer 996 nil  gc_used
                  (!type user_struct 997 
                   (!type already_seen 996)
                   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 998 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 999 nil  gc_used "jump_func_value"
               (!srcfileloc  "ipa-prop.h" 199)
               (!fields 4 
                (!pair  "known_type"
                 (!type struct 1000 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 1001 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 1002 nil  gc_unused
                     (!type struct 1003 
                      (!type already_seen 1002)
                      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 1004 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 1005 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 1006 
  (!type pointer 1007 nil  gc_used
   (!type already_seen 1006)
  )
  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 1008 nil  gc_used
     (!type struct 1009 
      (!type already_seen 1008)
      gc_pointed_to "ipa_agg_replacement_value"
      (!srcfileloc  "ipa-prop.h" 468)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 1008)
        (!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 992)
 
 (!type struct 1010 nil  gc_unused "ipa_param_descriptor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 999)
 
 (!type already_seen 997)
 
 (!type already_seen 1005)
 
 (!type already_seen 1004)
 
 (!type already_seen 1001)
 
 (!type already_seen 1000)
 
 (!type struct 1011 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1012 nil  gc_unused "prop_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1013 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1014 
  (!type pointer 1015 nil  gc_unused
   (!type already_seen 1014)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1016 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1017 
  (!type pointer 1018 nil  gc_unused
   (!type already_seen 1017)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1019 nil  gc_unused "pass_registry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "pass_registry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1021 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1022 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1025 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1026 nil  gc_unused "pass_early_local_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1027 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1028 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1029 nil  gc_unused "imm_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1030 nil  gc_unused "dispatch_windows_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1031 nil  gc_unused "sched_insn_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1032 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1033 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/i386/i386.c:35267"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1034 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/i386/i386.c:35056"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1035 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/i386/i386.c:34221"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1036 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/config/i386/i386.c:33533"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1037 nil  gc_unused "_function_version_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1038 nil  gc_unused "builtin_description"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1039 nil  gc_unused "builtin_isa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1040 
  (!type pointer 1041 nil  gc_unused
   (!type already_seen 1040)
  )
  gc_unused "ix86_first_cycle_multipass_data_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1042 nil  gc_unused "ix86_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "scratch_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1044 nil  gc_unused "operand_alternative"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1045 nil  gc_unused "stringop_size_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1046 nil  gc_unused "ix86_target_opts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1047 nil  gc_unused "pass_insert_vzeroupper"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1048 nil  gc_unused "ptt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1049 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1050 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1051 nil  gc_unused "pass_omp_simd_clone"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1052 nil  gc_unused "modify_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1053 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1054 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1055 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1056 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1057 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1058 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1059 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1060 nil  gc_unused "pass_parallelize_loops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1061 nil  gc_unused "clsn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1062 nil  gc_unused "elv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1063 nil  gc_unused "int_tree_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1064 nil  gc_unused "data_dependence_relation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1065 
  (!type pointer 1066 nil  gc_unused
   (!type already_seen 1065)
  )
  gc_unused "lambda_trans_matrix_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1067 nil  gc_unused "hash_table<name_to_copy_hasher>"
  (!srcfileloc  "tree-parloops.c" 282)
  (!fields 1 
   (!pair  "name_to_copy_hasher"
    (!type struct 1068 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 1068)
 
 (!type struct 1069 nil  gc_unused "name_to_copy_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1070 nil  gc_unused "hash_table<reduction_hasher>"
  (!srcfileloc  "tree-parloops.c" 230)
  (!fields 1 
   (!pair  "reduction_hasher"
    (!type struct 1071 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 1071)
 
 (!type struct 1072 nil  gc_unused "reduction_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1073 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1074 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1075 nil  gc_unused "pass_direct_call_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 392)
 
 (!type struct 1077 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1078 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1079 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1080 
  (!type pointer 1081 nil  gc_used
   (!type already_seen 1080)
  )
  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 1082 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 1083 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1084 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1085 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1086 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1087 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1088 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1089 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1090 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1091 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1092 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1093 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1094 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1095 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1096 
  (!type pointer 1097 nil  gc_used
   (!type already_seen 1096)
  )
  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 1098 nil  gc_used "mem_addr_template"
     (!srcfileloc  "tree-ssa-address.c" 91)
     (!fields 3 
      (!pair  "ref"
       (!type already_seen 137)
       (!srcfileloc  "tree-ssa-address.c" 86)
       nil )
      (!pair  "step_p"
       (!type already_seen 138)
       (!srcfileloc  "tree-ssa-address.c" 87)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "off_p"
       (!type already_seen 138)
       (!srcfileloc  "tree-ssa-address.c" 89)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "tree-ssa-address.c" 98)
    nil )
  )
 )
 
 (!type already_seen 1098)
 
 (!type struct 1099 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1100 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1101 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1102 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1103 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1104 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1105 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1106 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1107 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1108 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1109 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1110 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/tree-eh.c:59"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1111 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 390)
 
 (!type already_seen 386)
 
 (!type already_seen 399)
 
 (!type struct 1112 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1113 nil  gc_pointed_to "gimple_statement_transaction"
  (!srcfileloc  "gimple.h" 759)
  (!fields 2 
   (!pair  "body"
    (!type already_seen 311)
    (!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 1114 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 1115 nil  gc_pointed_to "gimple_statement_with_ops_base"
    (!srcfileloc  "gimple.h" 220)
    (!fields 1 
     (!pair  "use_ops"
      (!type already_seen 394)
      (!srcfileloc  "gimple.h" 219)
      (!options 
       (!option skip string  "")
      )
     )
    )
    nil 511 nil 
    (!type already_seen 312)
   )
  )
 )
 
 (!type struct 1116 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 1117 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 312)
  )
 )
 
 (!type struct 1118 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 1117)
 )
 
 (!type already_seen 1117)
 
 (!type struct 1119 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 312)
 )
 
 (!type struct 1120 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 1121 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 1122 nil  gc_pointed_to "gimple_statement_omp"
    (!srcfileloc  "gimple.h" 303)
    (!fields 1 
     (!pair  "body"
      (!type already_seen 311)
      (!srcfileloc  "gimple.h" 302)
      nil )
    )
    (!options 
     (!option tag string  "GSS_OMP")
    )
    511 nil 
    (!type already_seen 312)
   )
  )
 )
 
 (!type struct 1123 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 1121)
 )
 
 (!type already_seen 1121)
 
 (!type struct 1124 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 312)
 )
 
 (!type struct 1125 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 1122)
 )
 
 (!type struct 1126 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 1127 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 1128 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 1122)
   )
  )
 )
 
 (!type struct 1129 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 1128)
 )
 
 (!type struct 1130 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 1127)
 )
 
 (!type already_seen 1127)
 
 (!type already_seen 1128)
 
 (!type struct 1131 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 1132 nil  gc_unused
     (!type struct 1133 
      (!type already_seen 1132)
      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 311)
    (!srcfileloc  "gimple.h" 551)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_FOR")
  )
  511 nil 
  (!type already_seen 1122)
 )
 
 (!type already_seen 1133)
 
 (!type struct 1134 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 1122)
 )
 
 (!type struct 1135 nil  gc_pointed_to "gimple_statement_asm"
  (!srcfileloc  "gimple.h" 500)
  (!fields 6 
   (!pair  "string"
    (!type already_seen 37)
    (!srcfileloc  "gimple.h" 486)
    nil )
   (!pair  "ni"
    (!type already_seen 29)
    (!srcfileloc  "gimple.h" 490)
    nil )
   (!pair  "no"
    (!type already_seen 29)
    (!srcfileloc  "gimple.h" 491)
    nil )
   (!pair  "nc"
    (!type already_seen 29)
    (!srcfileloc  "gimple.h" 492)
    nil )
   (!pair  "nl"
    (!type already_seen 29)
    (!srcfileloc  "gimple.h" 493)
    nil )
   (!pair  "op"
    (!type array 1136 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 1114)
 )
 
 (!type struct 1137 nil  gc_pointed_to "gimple_statement_wce"
  (!srcfileloc  "gimple.h" 474)
  (!fields 1 
   (!pair  "cleanup"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 473)
    nil )
  )
  (!options 
   (!option tag string  "GSS_WCE")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1138 nil  gc_pointed_to "gimple_statement_try"
  (!srcfileloc  "gimple.h" 443)
  (!fields 2 
   (!pair  "eval"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 438)
    nil )
   (!pair  "cleanup"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 442)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRY")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1139 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 1140 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 312)
  )
 )
 
 (!type struct 1141 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 1140)
 )
 
 (!type already_seen 1140)
 
 (!type struct 1142 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 1143 nil  gc_used "1" 
     (!type struct 1144 nil  gc_used "phi_arg_d"
      (!srcfileloc  "tree-core.h" 1220)
      (!fields 3 
       (!pair  "imm_use"
        (!type already_seen 518)
        (!srcfileloc  "tree-core.h" 1217)
        nil )
       (!pair  "def"
        (!type already_seen 5)
        (!srcfileloc  "tree-core.h" 1218)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "tree-core.h" 1219)
        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 312)
 )
 
 (!type struct 1145 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 312)
 )
 
 (!type struct 1146 nil  gc_pointed_to "gimple_statement_eh_else"
  (!srcfileloc  "gimple.h" 370)
  (!fields 2 
   (!pair  "n_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 369)
    nil )
   (!pair  "e_body"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 369)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_ELSE")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1147 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 311)
    (!srcfileloc  "gimple.h" 358)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_FILTER")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1148 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 311)
    (!srcfileloc  "gimple.h" 341)
    nil )
  )
  (!options 
   (!option tag string  "GSS_CATCH")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type struct 1149 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 311)
    (!srcfileloc  "gimple.h" 326)
    nil )
  )
  (!options 
   (!option tag string  "GSS_BIND")
  )
  511 nil 
  (!type already_seen 312)
 )
 
 (!type already_seen 1122)
 
 (!type struct 1150 nil  gc_pointed_to "gimple_statement_call"
  (!srcfileloc  "gimple.h" 291)
  (!fields 4 
   (!pair  "call_used"
    (!type already_seen 387)
    (!srcfileloc  "gimple.h" 277)
    nil )
   (!pair  "call_clobbered"
    (!type already_seen 387)
    (!srcfileloc  "gimple.h" 278)
    nil )
   (!pair  "u"
    (!type union 1151 nil  gc_used "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/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 1152 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 1114)
 )
 
 (!type already_seen 1151)
 
 (!type already_seen 387)
 
 (!type struct 1153 nil  gc_pointed_to "gimple_statement_with_memory_ops"
  (!srcfileloc  "gimple.h" 266)
  (!fields 1 
   (!pair  "op"
    (!type array 1154 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 1114)
 )
 
 (!type already_seen 1114)
 
 (!type struct 1155 nil  gc_pointed_to "gimple_statement_with_ops"
  (!srcfileloc  "gimple.h" 235)
  (!fields 1 
   (!pair  "op"
    (!type array 1156 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 1115)
 )
 
 (!type already_seen 1115)
 
 (!type already_seen 395)
 
 (!type user_struct 1157 nil  gc_unused "vec<gimple>"
  (!srcfileloc  "gimple.h" 29)
  (!fields 1 
   (!pair  "gimple"
    (!type already_seen 311)
    (!srcfileloc  "gimple.h" 29)
    nil )
  )
 )
 
 (!type struct 1158 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1159 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/varasm.c:4839"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1160 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/varasm.c:4595"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1161 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1162 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1163 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1164 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1165 
  (!type pointer 1166 nil  gc_used
   (!type already_seen 1165)
  )
  gc_pointed_to "type_hash"
  (!srcfileloc  "tree.c" 179)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree.c" 177)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "tree.c" 178)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1167 
  (!type pointer 1168 nil  gc_used
   (!type already_seen 1167)
  )
  gc_pointed_to "string_pool_data"
  (!srcfileloc  "stringpool.c" 252)
  (!fields 3 
   (!pair  "entries"
    (!type already_seen 36)
    (!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 1169 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1171 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1172 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1173 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1175 
  (!type pointer 1176 nil  gc_unused
   (!type already_seen 1175)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 
  (!type pointer 1178 nil  gc_unused
   (!type already_seen 1177)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1179 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/mcf.c:355"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1180 nil  gc_unused "augmenting_path_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1181 nil  gc_unused "queue_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_unused "fixup_graph_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1183 
  (!type pointer 1184 nil  gc_unused
   (!type already_seen 1183)
  )
  gc_unused "fixup_vertex_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1185 
  (!type pointer 1186 nil  gc_unused
   (!type already_seen 1185)
  )
  gc_unused "fixup_edge_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1187 nil  gc_unused "edge_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1188 nil  gc_unused "bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1189 nil  gc_unused "atomic_op_functions"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1190 nil  gc_unused "no_conflict_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1191 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1193 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1194 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1195 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1196 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1197 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1198 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 635)
  (!fields 1 
   (!pair  "modify_pair"
    (!type struct 1199 nil  gc_unused "modify_pair_s"nil 
     (!fields 0 )
     nil 0 nil nil )
    (!srcfileloc  "gcse.c" 635)
    nil )
  )
 )
 
 (!type user_struct 1200 nil  gc_unused "vec<rtx>"
  (!srcfileloc  "gcse.c" 634)
  (!fields 1 
   (!pair  "rtx"
    (!type already_seen 137)
    (!srcfileloc  "gcse.c" 634)
    nil )
  )
 )
 
 (!type struct 1201 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1199)
 
 (!type struct 1202 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1203 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1204 nil  gc_unused "hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1205 
  (!type pointer 1206 nil  gc_unused
   (!type already_seen 1205)
  )
  gc_unused "occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1207 nil  gc_unused "expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 558)
 
 (!type struct 1208 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1209 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1210 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 786)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type struct 1211 nil  gc_unused "ehspec_hasher"
     (!srcfileloc  "except.c" 786)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 786)
    nil )
  )
 )
 
 (!type already_seen 1211)
 
 (!type user_struct 1212 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 749)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type struct 1213 nil  gc_unused "ttypes_filter_hasher"
     (!srcfileloc  "except.c" 749)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 749)
    nil )
  )
 )
 
 (!type already_seen 1213)
 
 (!type struct 1214 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1215 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1216 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 211)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type struct 1217 nil  gc_unused "action_record_hasher"
     (!srcfileloc  "except.c" 211)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 211)
    nil )
  )
 )
 
 (!type already_seen 1217)
 
 (!type struct 1218 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1219 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1220 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1221 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1222 nil  gc_unused "hard_reg_set_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1223 nil  gc_unused "promote_fpset_dom_walker"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1224 nil  gc_unused "bb_fpset"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1225 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1226 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1227 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1228 
  (!type pointer 1229 nil  gc_unused
   (!type already_seen 1228)
  )
  gc_used "initial_value_pair"
  (!srcfileloc  "function.c" 1214)
  (!fields 2 
   (!pair  "hard_reg"
    (!type already_seen 137)
    (!srcfileloc  "function.c" 1212)
    nil )
   (!pair  "pseudo"
    (!type already_seen 137)
    (!srcfileloc  "function.c" 1213)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1230 
  (!type pointer 1231 nil  gc_used
   (!type already_seen 1230)
  )
  gc_pointed_to "temp_slot_address_entry"
  (!srcfileloc  "function.c" 553)
  (!fields 3 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "function.c" 550)
    nil )
   (!pair  "address"
    (!type already_seen 137)
    (!srcfileloc  "function.c" 551)
    nil )
   (!pair  "temp_slot"
    (!type pointer 1232 nil  gc_used
     (!type struct 1233 
      (!type already_seen 1232)
      gc_pointed_to "temp_slot"
      (!srcfileloc  "function.c" 541)
      (!fields 10 
       (!pair  "next"
        (!type already_seen 1232)
        (!srcfileloc  "function.c" 517)
        nil )
       (!pair  "prev"
        (!type already_seen 1232)
        (!srcfileloc  "function.c" 519)
        nil )
       (!pair  "slot"
        (!type already_seen 137)
        (!srcfileloc  "function.c" 521)
        nil )
       (!pair  "size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 523)
        nil )
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "function.c" 528)
        nil )
       (!pair  "align"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 530)
        nil )
       (!pair  "in_use"
        (!type already_seen 29)
        (!srcfileloc  "function.c" 532)
        nil )
       (!pair  "level"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 534)
        nil )
       (!pair  "base_offset"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 537)
        nil )
       (!pair  "full_size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 540)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.c" 552)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1234 nil  gc_unused "saved_pending_stack_adjust"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1235 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1236 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1237 
  (!type pointer 1238 nil  gc_unused
   (!type already_seen 1237)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1239 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1240 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 374)
 
 (!type already_seen 373)
 
 (!type already_seen 369)
 
 (!type already_seen 367)
 
 (!type already_seen 358)
 
 (!type already_seen 363)
 
 (!type already_seen 362)
 
 (!type already_seen 359)
 
 (!type already_seen 361)
 
 (!type already_seen 365)
 
 (!type already_seen 389)
 
 (!type already_seen 357)
 
 (!type struct 1241 nil  gc_unused "promo_ent"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1242 
  (!type pointer 1243 nil  gc_used
   (!type already_seen 1242)
  )
  gc_pointed_to "type_ent"
  (!srcfileloc  "l-ipo.c" 525)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "l-ipo.c" 521)
    nil )
   (!pair  "eq_id"
    (!type already_seen 9)
    (!srcfileloc  "l-ipo.c" 522)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1244 nil  gc_unused "type_ec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1245 
  (!type pointer 1246 nil  gc_used
   (!type already_seen 1245)
  )
  gc_pointed_to "saved_module_scope"
  (!srcfileloc  "l-ipo.c" 62)
  (!fields 2 
   (!pair  "module_decls"
    (!type already_seen 46)
    (!srcfileloc  "l-ipo.c" 57)
    nil )
   (!pair  "module_id"
    (!type already_seen 9)
    (!srcfileloc  "l-ipo.c" 58)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1247 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1248 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1249 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 24412)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type struct 1250 nil  gc_unused "loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 24412)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 24412)
    nil )
  )
 )
 
 (!type already_seen 1250)
 
 (!type struct 1251 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1252 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 22217)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type struct 1253 nil  gc_unused "macinfo_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 22217)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 22217)
    nil )
  )
 )
 
 (!type already_seen 1253)
 
 (!type struct 1254 nil  gc_unused "logical_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1255 nil  gc_unused "logical_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1256 nil  gc_unused "block_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1257 nil  gc_unused "block_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1258 nil  gc_unused "subprog_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1259 nil  gc_unused "subprog_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1260 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1261 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1262 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1263 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 7578)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type struct 1264 nil  gc_unused "external_ref_hasher"
     (!srcfileloc  "dwarf2out.c" 7578)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 7578)
    nil )
  )
 )
 
 (!type already_seen 1264)
 
 (!type struct 1265 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1266 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 7021)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type struct 1267 nil  gc_unused "decl_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 7021)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 7021)
    nil )
  )
 )
 
 (!type already_seen 1267)
 
 (!type struct 1268 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1269 nil  gc_unused "hash_table<cu_hash_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 6696)
  (!fields 1 
   (!pair  "cu_hash_table_entry_hasher"
    (!type struct 1270 nil  gc_unused "cu_hash_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 6696)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 6696)
    nil )
  )
 )
 
 (!type already_seen 1270)
 
 (!type struct 1271 nil  gc_unused "cu_hash_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1272 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1273 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1274 
  (!type pointer 1275 nil  gc_used
   (!type already_seen 1274)
  )
  gc_pointed_to "vec<die_arg_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2958)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2958)
    nil )
   (!pair  "die_arg_entry"
    (!type struct 1276 nil  gc_used "die_arg_entry_struct"
     (!srcfileloc  "dwarf2out.c" 2781)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 434)
       (!srcfileloc  "dwarf2out.c" 2779)
       nil )
      (!pair  "arg"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 2780)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2958)
    nil )
  )
 )
 
 (!type user_struct 1277 
  (!type pointer 1278 nil  gc_used
   (!type already_seen 1277)
  )
  gc_pointed_to "vec<macinfo_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2906)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2906)
    nil )
   (!pair  "macinfo_entry"
    (!type struct 1279 nil  gc_used "macinfo_struct"
     (!srcfileloc  "dwarf2out.c" 2635)
     (!fields 3 
      (!pair  "code"
       (!type already_seen 29)
       (!srcfileloc  "dwarf2out.c" 2632)
       nil )
      (!pair  "lineno"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.c" 2633)
       nil )
      (!pair  "info"
       (!type already_seen 37)
       (!srcfileloc  "dwarf2out.c" 2634)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2906)
    nil )
  )
 )
 
 (!type user_struct 1280 
  (!type pointer 1281 nil  gc_used
   (!type already_seen 1280)
  )
  gc_pointed_to "vec<pubname_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2898)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2898)
    nil )
   (!pair  "pubname_entry"
    (!type struct 1282 
     (!type pointer 1283 nil  gc_unused
      (!type already_seen 1282)
     )
     gc_used "pubname_struct"
     (!srcfileloc  "dwarf2out.c" 2619)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 434)
       (!srcfileloc  "dwarf2out.c" 2617)
       nil )
      (!pair  "name"
       (!type already_seen 37)
       (!srcfileloc  "dwarf2out.c" 2618)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2898)
    nil )
  )
 )
 
 (!type user_struct 1284 
  (!type pointer 1285 nil  gc_used
   (!type already_seen 1284)
  )
  gc_pointed_to "vec<dw_line_info_table_p,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2890)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2890)
    nil )
   (!pair  "dw_line_info_table_p"
    (!type pointer 1286 nil  gc_used
     (!type struct 1287 
      (!type already_seen 1286)
      gc_pointed_to "dw_line_info_table_struct"
      (!srcfileloc  "dwarf2out.c" 2561)
      (!fields 10 
       (!pair  "end_label"
        (!type already_seen 37)
        (!srcfileloc  "dwarf2out.c" 2547)
        nil )
       (!pair  "file_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2551)
        nil )
       (!pair  "line_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2552)
        nil )
       (!pair  "column_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2553)
        nil )
       (!pair  "discrim_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2554)
        nil )
       (!pair  "subprog_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2555)
        nil )
       (!pair  "context"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2556)
        nil )
       (!pair  "is_stmt"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2557)
        nil )
       (!pair  "in_use"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2558)
        nil )
       (!pair  "entries"
        (!type pointer 1288 nil  gc_used
         (!type user_struct 1289 
          (!type already_seen 1288)
          gc_pointed_to "vec<dw_line_info_entry,va_gc>"
          (!srcfileloc  "dwarf2out.c" 2560)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "dwarf2out.c" 2560)
            nil )
           (!pair  "dw_line_info_entry"
            (!type struct 1290 
             (!type pointer 1291 nil  gc_unused
              (!type already_seen 1290)
             )
             gc_used "dw_line_info_struct"
             (!srcfileloc  "dwarf2out.c" 2542)
             (!fields 2 
              (!pair  "opcode"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2540)
               nil )
              (!pair  "val"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2541)
               nil )
             )
             nil 511 nil nil )
            (!srcfileloc  "dwarf2out.c" 2560)
            nil )
          )
         )
        )
        (!srcfileloc  "dwarf2out.c" 2560)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2890)
    nil )
  )
 )
 
 (!type struct 1292 
  (!type pointer 1293 nil  gc_used
   (!type already_seen 1292)
  )
  gc_pointed_to "cached_dw_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2855)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2851)
    nil )
   (!pair  "loc_list"
    (!type already_seen 430)
    (!srcfileloc  "dwarf2out.c" 2854)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1294 
  (!type pointer 1295 nil  gc_used
   (!type already_seen 1294)
  )
  gc_pointed_to "call_arg_loc_node"
  (!srcfileloc  "dwarf2out.c" 2829)
  (!fields 6 
   (!pair  "call_arg_loc_note"
    (!type already_seen 137)
    (!srcfileloc  "dwarf2out.c" 2823)
    nil )
   (!pair  "label"
    (!type already_seen 37)
    (!srcfileloc  "dwarf2out.c" 2824)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2825)
    nil )
   (!pair  "tail_call_p"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2826)
    nil )
   (!pair  "symbol_ref"
    (!type already_seen 137)
    (!srcfileloc  "dwarf2out.c" 2827)
    nil )
   (!pair  "next"
    (!type already_seen 1295)
    (!srcfileloc  "dwarf2out.c" 2828)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1296 
  (!type pointer 1297 nil  gc_used
   (!type already_seen 1296)
  )
  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2818)
  (!fields 4 
   (!pair  "first"
    (!type pointer 1298 nil  gc_used
     (!type struct 1299 
      (!type already_seen 1298)
      gc_pointed_to "var_loc_node"
      (!srcfileloc  "dwarf2out.c" 2797)
      (!fields 3 
       (!pair  "loc"
        (!type already_seen 137)
        (!srcfileloc  "dwarf2out.c" 2794)
        nil )
       (!pair  "label"
        (!type already_seen 37)
        (!srcfileloc  "dwarf2out.c" 2795)
        nil )
       (!pair  "next"
        (!type already_seen 1298)
        (!srcfileloc  "dwarf2out.c" 2796)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      511 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2801)
    nil )
   (!pair  "last"
    (!type already_seen 1298)
    (!srcfileloc  "dwarf2out.c" 2809)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1298)
    (!srcfileloc  "dwarf2out.c" 2814)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2817)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1299)
 
 (!type already_seen 1276)
 
 (!type struct 1300 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1301 
  (!type pointer 1302 nil  gc_used
   (!type already_seen 1301)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 2660)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 434)
    (!srcfileloc  "dwarf2out.c" 2657)
    nil )
   (!pair  "created_for"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2658)
    nil )
   (!pair  "next"
    (!type already_seen 1302)
    (!srcfileloc  "dwarf2out.c" 2659)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1279)
 
 (!type already_seen 442)
 
 (!type already_seen 437)
 
 (!type already_seen 1287)
 
 (!type already_seen 1289)
 
 (!type already_seen 439)
 
 (!type struct 1303 
  (!type pointer 1304 nil  gc_used
   (!type already_seen 1303)
  )
  gc_pointed_to "dw_ranges_by_label_struct"
  (!srcfileloc  "dwarf2out.c" 2642)
  (!fields 2 
   (!pair  "begin"
    (!type already_seen 37)
    (!srcfileloc  "dwarf2out.c" 2640)
    nil )
   (!pair  "end"
    (!type already_seen 37)
    (!srcfileloc  "dwarf2out.c" 2641)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1305 
  (!type pointer 1306 nil  gc_used
   (!type already_seen 1305)
  )
  gc_pointed_to "dw_ranges_struct"
  (!srcfileloc  "dwarf2out.c" 2627)
  (!fields 1 
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2626)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1282)
 
 (!type already_seen 1290)
 
 (!type already_seen 443)
 
 (!type already_seen 428)
 
 (!type user_struct 1307 
  (!type pointer 1308 nil  gc_used
   (!type already_seen 1307)
  )
  gc_pointed_to "vec<deferred_locations,va_gc>"
  (!srcfileloc  "dwarf2out.c" 1238)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 1238)
    nil )
   (!pair  "deferred_locations"
    (!type struct 1309 nil  gc_used "deferred_locations_struct"
     (!srcfileloc  "dwarf2out.c" 1235)
     (!fields 2 
      (!pair  "variable"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 1233)
       nil )
      (!pair  "die"
       (!type already_seen 434)
       (!srcfileloc  "dwarf2out.c" 1234)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 1238)
    nil )
  )
 )
 
 (!type already_seen 1309)
 
 (!type user_struct 1310 
  (!type pointer 1311 nil  gc_used
   (!type already_seen 1310)
  )
  gc_pointed_to "vec<dw_fde_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 204)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 204)
    nil )
   (!pair  "dw_fde_ref"
    (!type already_seen 415)
    (!srcfileloc  "dwarf2out.c" 204)
    nil )
  )
 )
 
 (!type struct 1312 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1313 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/dwarf2cfi.c:218"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1314 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1315 
  (!type pointer 1316 nil  gc_unused
   (!type already_seen 1315)
  )
  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/dwarf2cfi.c:101"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1317 
  (!type pointer 1318 nil  gc_used
   (!type already_seen 1317)
  )
  gc_pointed_to "reg_saved_in_data_struct"
  (!srcfileloc  "dwarf2cfi.c" 80)
  (!fields 2 
   (!pair  "orig_reg"
    (!type already_seen 137)
    (!srcfileloc  "dwarf2cfi.c" 78)
    nil )
   (!pair  "saved_in_reg"
    (!type already_seen 137)
    (!srcfileloc  "dwarf2cfi.c" 79)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1319 
  (!type pointer 1320 nil  gc_used
   (!type already_seen 1319)
  )
  gc_pointed_to "dw_cfi_row_struct"
  (!srcfileloc  "dwarf2cfi.c" 74)
  (!fields 3 
   (!pair  "cfa"
    (!type struct 1321 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 419)
    (!srcfileloc  "dwarf2cfi.c" 70)
    nil )
   (!pair  "reg_save"
    (!type already_seen 417)
    (!srcfileloc  "dwarf2cfi.c" 73)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1322 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 429)
 
 (!type already_seen 450)
 
 (!type already_seen 448)
 
 (!type already_seen 446)
 
 (!type already_seen 433)
 
 (!type already_seen 427)
 
 (!type already_seen 432)
 
 (!type already_seen 1321)
 
 (!type already_seen 418)
 
 (!type already_seen 421)
 
 (!type already_seen 431)
 
 (!type already_seen 423)
 
 (!type already_seen 420)
 
 (!type already_seen 424)
 
 (!type struct 1323 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1324 
  (!type pointer 1325 nil  gc_used
   (!type already_seen 1324)
  )
  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 861)
 
 (!type struct 1326 nil  gc_unused "ipa_polymorphic_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1327 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1328 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 891)
 
 (!type already_seen 994)
 
 (!type struct 1329 nil  gc_unused "topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1330 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1331 nil  gc_unused "ipcp_param_lattices"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1332 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1333 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1334 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1335 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1336 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1337 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1338 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1339 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 987)
 
 (!type already_seen 1009)
 
 (!type struct 1340 nil  gc_unused "inline_edge_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 990)
 
 (!type struct 1341 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1342 nil  gc_unused "type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 998)
 
 (!type already_seen 993)
 
 (!type struct 1343 nil  gc_unused "ipa_node_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1003)
 
 (!type struct 1344 nil  gc_unused "param_analysis_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1345 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1346 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1347 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1348 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1349 nil  gc_unused "output_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1350 nil  gc_unused "bitmap_desc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1351 nil  gc_unused "loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1352 
  (!type pointer 1353 nil  gc_unused
   (!type already_seen 1352)
  )
  gc_unused "bitmap_descriptor_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1354 
  (!type pointer 1355 nil  gc_used
   (!type already_seen 1354)
  )
  gc_pointed_to "vec<alias_set_entry,va_gc>"
  (!srcfileloc  "alias.c" 266)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "alias.c" 266)
    nil )
   (!pair  "alias_set_entry"
    (!type pointer 1356 nil  gc_used
     (!type struct 1357 
      (!type already_seen 1356)
      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 1358 nil  gc_used
         (!type param_struct 1359 
          (!type already_seen 1358)
          gc_pointed_to
          (!type struct 1360 
           (!type pointer 1361 nil  gc_unused
            (!type already_seen 1360)
           )
           gc_used "splay_tree_s"
           (!srcfileloc  "../include/splay-tree.h" 123)
           (!fields 7 
            (!pair  "root"
             (!type pointer 1362 nil  gc_unused
              (!type struct 1363 
               (!type already_seen 1362)
               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 1362)
                 (!srcfileloc  "../include/splay-tree.h" 97)
                 (!options 
                  (!option use_params string  "")
                 )
                )
                (!pair  "right"
                 (!type already_seen 1362)
                 (!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" 266)
    nil )
  )
 )
 
 (!type already_seen 1357)
 
 (!type struct 1364 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1365 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1366 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1367 nil  gc_unused "target_reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1368 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1369 
  (!type pointer 1370 nil  gc_used
   (!type already_seen 1369)
  )
  gc_pointed_to "constant_descriptor_tree"
  (!srcfileloc  "cgraph.h" 1402)
  (!fields 3 
   (!pair  "rtl"
    (!type already_seen 137)
    (!srcfileloc  "cgraph.h" 1393)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 1396)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1401)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1371 nil  gc_unused "cgraph_2node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1372 nil  gc_unused "cgraph_2edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1373 nil  gc_unused "varpool_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1374 nil  gc_unused "cgraph_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1375 nil  gc_unused "cgraph_edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1376 
  (!type pointer 1377 nil  gc_used
   (!type already_seen 1376)
  )
  gc_pointed_to "cgraph_sym"
  (!srcfileloc  "l-ipo.c" 1183)
  (!fields 5 
   (!pair  "assembler_name"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 855)
    nil )
   (!pair  "rep_node"
    (!type already_seen 928)
    (!srcfileloc  "cgraph.h" 856)
    nil )
   (!pair  "rep_decl"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 857)
    nil )
   (!pair  "def_module_hash"
    (!type pointer 1378 nil  gc_used
     (!type param_struct 1379 
      (!type already_seen 1378)
      gc_pointed_to
      (!type already_seen 50)
      
      (!type pointer 1380 nil  gc_used
       (!type struct 1381 
        (!type already_seen 1380)
        gc_pointed_to "cgraph_mod_info"
        (!srcfileloc  "cgraph.h" 850)
        (!fields 1 
         (!pair  "module_id"
          (!type already_seen 9)
          (!srcfileloc  "cgraph.h" 849)
          nil )
        )
        nil 511 nil nil )
      )
      nil nil nil nil nil nil nil nil nil nil )
    )
    (!srcfileloc  "cgraph.h" 858)
    (!options 
     (!option param_is type 
      (!type already_seen 1381)
     )
    )
   )
   (!pair  "is_promoted_static"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 859)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1381)
 
 (!type struct 1382 
  (!type pointer 1383 nil  gc_used
   (!type already_seen 1382)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 667)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1383)
    (!srcfileloc  "cgraph.h" 662)
    nil )
   (!pair  "asm_str"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 664)
    nil )
   (!pair  "order"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 666)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 934)
 
 (!type struct 1384 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1385 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1386 
  (!type pointer 1387 nil  gc_unused
   (!type already_seen 1386)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1388 
  (!type pointer 1389 nil  gc_unused
   (!type already_seen 1388)
  )
  gc_unused "cgraph_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1390 
  (!type pointer 1391 nil  gc_used
   (!type already_seen 1390)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 472)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 928)
    (!srcfileloc  "cgraph.h" 453)
    nil )
   (!pair  "prev"
    (!type already_seen 1391)
    (!srcfileloc  "cgraph.h" 457)
    nil )
   (!pair  "next"
    (!type already_seen 1391)
    (!srcfileloc  "cgraph.h" 461)
    nil )
   (!pair  "dispatcher_resolver"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 471)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 941)
 
 (!type already_seen 932)
 
 (!type already_seen 938)
 
 (!type already_seen 940)
 
 (!type already_seen 947)
 
 (!type already_seen 949)
 
 (!type already_seen 951)
 
 (!type already_seen 946)
 
 (!type already_seen 945)
 
 (!type already_seen 944)
 
 (!type already_seen 952)
 
 (!type already_seen 963)
 
 (!type already_seen 955)
 
 (!type already_seen 960)
 
 (!type already_seen 957)
 
 (!type already_seen 958)
 
 (!type already_seen 953)
 
 (!type struct 1392 
  (!type pointer 1393 nil  gc_unused
   (!type already_seen 1392)
  )
  gc_pointed_to "varpool_node"
  (!srcfileloc  "cgraph.h" 656)
  (!fields 3 
   (!pair  "module_id"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 649)
    nil )
   (!pair  "output"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 651)
    nil )
   (!pair  "dynamically_initialized"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 655)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_VARIABLE")
  )
  511 nil 
  (!type already_seen 953)
 )
 
 (!type already_seen 930)
 
 (!type struct 1394 nil  gc_unused "gcov_working_set_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1395 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1396 nil  gc_unused "control_dependences"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1397 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1398 nil  gc_unused "ce_if_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 380)
 
 (!type already_seen 322)
 
 (!type already_seen 324)
 
 (!type already_seen 321)
 
 (!type already_seen 301)
 
 (!type already_seen 323)
 
 (!type already_seen 326)
 
 (!type struct 1399 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1400 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1401 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1402 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 554)
 
 (!type struct 1403 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1404 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1405 nil  gc_unused "eni_weights_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 318)
 
 (!type already_seen 308)
 
 (!type already_seen 314)
 
 (!type already_seen 305)
 
 (!type already_seen 316)
 
 (!type already_seen 310)
 
 (!type already_seen 306)
 
 (!type already_seen 251)
 
 (!type already_seen 250)
 
 (!type already_seen 249)
 
 (!type already_seen 248)
 
 (!type struct 1406 
  (!type pointer 1407 nil  gc_used
   (!type already_seen 1406)
  )
  gc_pointed_to "types_used_by_vars_entry"
  (!srcfileloc  "function.h" 766)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 764)
    nil )
   (!pair  "var_decl"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 765)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 76)
 
 (!type already_seen 401)
 
 (!type already_seen 378)
 
 (!type already_seen 355)
 
 (!type already_seen 405)
 
 (!type struct 1408 nil  gc_used "rtl_data"
  (!srcfileloc  "function.h" 472)
  (!fields 60 
   (!pair  "expr"
    (!type struct 1409 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 137)
       (!srcfileloc  "function.h" 132)
       nil )
      (!pair  "x_apply_args_value"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 135)
       nil )
      (!pair  "x_forced_labels"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 138)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 237)
    nil )
   (!pair  "emit"
    (!type struct 1410 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 137)
       (!srcfileloc  "function.h" 55)
       nil )
      (!pair  "x_last_insn"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 56)
       nil )
      (!pair  "sequence_stack"
       (!type pointer 1411 nil  gc_used
        (!type struct 1412 
         (!type already_seen 1411)
         gc_pointed_to "sequence_stack"
         (!srcfileloc  "function.h" 40)
         (!fields 3 
          (!pair  "first"
           (!type already_seen 137)
           (!srcfileloc  "function.h" 37)
           nil )
          (!pair  "last"
           (!type already_seen 137)
           (!srcfileloc  "function.h" 38)
           nil )
          (!pair  "next"
           (!type already_seen 1411)
           (!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 37)
       (!srcfileloc  "function.h" 81)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 238)
    nil )
   (!pair  "varasm"
    (!type struct 1413 nil  gc_used "varasm_status"
     (!srcfileloc  "function.h" 181)
     (!fields 2 
      (!pair  "pool"
       (!type pointer 1414 nil  gc_used
        (!type struct 1415 
         (!type already_seen 1414)
         gc_pointed_to "rtx_constant_pool"
         (!srcfileloc  "varasm.c" 3496)
         (!fields 4 
          (!pair  "first"
           (!type already_seen 255)
           (!srcfileloc  "varasm.c" 3484)
           nil )
          (!pair  "last"
           (!type already_seen 255)
           (!srcfileloc  "varasm.c" 3485)
           nil )
          (!pair  "const_rtx_htab"
           (!type pointer 1416 nil  gc_used
            (!type param_struct 1417 
             (!type already_seen 1416)
             gc_pointed_to
             (!type already_seen 50)
             
             (!type already_seen 255)
             nil nil nil nil nil nil nil nil nil nil )
           )
           (!srcfileloc  "varasm.c" 3491)
           (!options 
            (!option param_is type 
             (!type already_seen 256)
            )
           )
          )
          (!pair  "offset"
           (!type already_seen 9)
           (!srcfileloc  "varasm.c" 3495)
           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 1418 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 137)
       (!srcfileloc  "function.h" 202)
       nil )
      (!pair  "info"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 206)
       nil )
      (!pair  "internal_arg_pointer"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 209)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 240)
    nil )
   (!pair  "subsections"
    (!type struct 1419 nil  gc_used "function_subsections"
     (!srcfileloc  "function.h" 222)
     (!fields 4 
      (!pair  "hot_section_label"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 218)
       nil )
      (!pair  "cold_section_label"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 219)
       nil )
      (!pair  "hot_section_end_label"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 220)
       nil )
      (!pair  "cold_section_end_label"
       (!type already_seen 37)
       (!srcfileloc  "function.h" 221)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 241)
    nil )
   (!pair  "eh"
    (!type struct 1420 nil  gc_used "rtl_eh"
     (!srcfileloc  "function.h" 155)
     (!fields 7 
      (!pair  "ehr_stackadj"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 145)
       nil )
      (!pair  "ehr_handler"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 146)
       nil )
      (!pair  "ehr_label"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 147)
       nil )
      (!pair  "sjlj_fc"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 149)
       nil )
      (!pair  "sjlj_exit_after"
       (!type already_seen 137)
       (!srcfileloc  "function.h" 150)
       nil )
      (!pair  "action_record_data"
       (!type already_seen 375)
       (!srcfileloc  "function.h" 152)
       nil )
      (!pair  "call_site_record_v"
       (!type array 1421 nil  gc_used "2" 
        (!type pointer 1422 nil  gc_used
         (!type user_struct 1423 
          (!type already_seen 1422)
          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 1424 nil  gc_used
             (!type struct 1425 
              (!type already_seen 1424)
              gc_pointed_to "call_site_record_d"
              (!srcfileloc  "except.c" 168)
              (!fields 2 
               (!pair  "landing_pad"
                (!type already_seen 137)
                (!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 137)
    (!srcfileloc  "function.h" 254)
    nil )
   (!pair  "hard_reg_initial_vals"
    (!type pointer 1426 nil  gc_used
     (!type struct 1427 
      (!type already_seen 1426)
      gc_pointed_to "initial_value_struct"
      (!srcfileloc  "function.c" 1222)
      (!fields 3 
       (!pair  "num_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1219)
        nil )
       (!pair  "max_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1220)
        nil )
       (!pair  "entries"
        (!type already_seen 1229)
        (!srcfileloc  "function.c" 1221)
        (!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 137)
    (!srcfileloc  "function.h" 269)
    nil )
   (!pair  "x_return_label"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 274)
    nil )
   (!pair  "x_naked_return_label"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 279)
    nil )
   (!pair  "x_stack_slot_list"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 283)
    nil )
   (!pair  "frame_space_list"
    (!type pointer 1428 nil  gc_used
     (!type struct 1429 
      (!type already_seen 1428)
      gc_pointed_to "frame_space"
      (!srcfileloc  "function.h" 233)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1428)
        (!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 137)
    (!srcfileloc  "function.h" 289)
    nil )
   (!pair  "x_arg_pointer_save_area"
    (!type already_seen 137)
    (!srcfileloc  "function.h" 295)
    nil )
   (!pair  "drap_reg"
    (!type already_seen 137)
    (!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 137)
    (!srcfileloc  "function.h" 306)
    nil )
   (!pair  "x_used_temp_slots"
    (!type pointer 1430 nil  gc_used
     (!type user_struct 1431 
      (!type already_seen 1430)
      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 1232)
        (!srcfileloc  "function.h" 309)
        nil )
      )
     )
    )
    (!srcfileloc  "function.h" 309)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1232)
    (!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  "frame_pointer_partially_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 397)
    nil )
   (!pair  "fpset_needed_in_prologue"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 399)
    nil )
   (!pair  "any_fp_def"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 401)
    nil )
   (!pair  "maybe_hot_insn_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 404)
    nil )
   (!pair  "stack_realign_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 411)
    nil )
   (!pair  "stack_realign_tried"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 416)
    nil )
   (!pair  "need_drap"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 420)
    nil )
   (!pair  "stack_realign_processed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 425)
    nil )
   (!pair  "stack_realign_finalized"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 429)
    nil )
   (!pair  "dbr_scheduled_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 432)
    nil )
   (!pair  "nothrow"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 437)
    nil )
   (!pair  "shrink_wrapped"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 440)
    nil )
   (!pair  "sp_is_unchanging"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 445)
    nil )
   (!pair  "is_leaf"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 451)
    nil )
   (!pair  "uses_only_leaf_regs"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 456)
    nil )
   (!pair  "has_bb_partition"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 461)
    nil )
   (!pair  "bb_reorder_complete"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 465)
    nil )
   (!pair  "asm_clobbers"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 471)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1431)
 
 (!type already_seen 1427)
 
 (!type already_seen 1429)
 
 (!type already_seen 1419)
 
 (!type already_seen 1418)
 
 (!type already_seen 1413)
 
 (!type already_seen 1415)
 
 (!type already_seen 943)
 
 (!type already_seen 416)
 
 (!type already_seen 1233)
 
 (!type already_seen 384)
 
 (!type already_seen 1420)
 
 (!type already_seen 1423)
 
 (!type already_seen 376)
 
 (!type already_seen 1425)
 
 (!type already_seen 1409)
 
 (!type already_seen 1410)
 
 (!type already_seen 1412)
 
 (!type struct 1432 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1433 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1434 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 547)
 
 (!type already_seen 552)
 
 (!type user_struct 1435 
  (!type pointer 1436 nil  gc_used
   (!type already_seen 1435)
  )
  gc_pointed_to "vec<alias_pair,va_gc>"
  (!srcfileloc  "tree-core.h" 1819)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-core.h" 1819)
    nil )
   (!pair  "alias_pair"
    (!type struct 1437 nil  gc_used "alias_pair"
     (!srcfileloc  "tree-core.h" 1819)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 674)
       nil )
      (!pair  "target"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 675)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "tree-core.h" 1819)
    nil )
  )
 )
 
 (!type struct 1438 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 1854)
  (!fields 2 
   (!pair  "decl"
    (!type array 1439 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "tree-core.h" 1797)
    nil )
   (!pair  "implicit_p"
    (!type array 1440 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 9)
    )
    (!srcfileloc  "tree-core.h" 1798)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1441 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1442 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1443 
  (!type pointer 1444 nil  gc_used
   (!type already_seen 1443)
  )
  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 1774)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 874)
    (!srcfileloc  "tree-core.h" 1772)
    nil )
   (!pair  "to"
    (!type already_seen 46)
    (!srcfileloc  "tree-core.h" 1773)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1445 
  (!type pointer 1446 nil  gc_used
   (!type already_seen 1445)
  )
  gc_pointed_to "tree_priority_map"
  (!srcfileloc  "tree-core.h" 1768)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 874)
    (!srcfileloc  "tree-core.h" 1765)
    nil )
   (!pair  "init"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1766)
    nil )
   (!pair  "fini"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1767)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1447 
  (!type pointer 1448 nil  gc_used
   (!type already_seen 1447)
  )
  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 1761)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 874)
    (!srcfileloc  "tree-core.h" 1759)
    nil )
   (!pair  "to"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1760)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1449 
  (!type pointer 1450 nil  gc_used
   (!type already_seen 1449)
  )
  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 1755)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 874)
    (!srcfileloc  "tree-core.h" 1753)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1754)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1451 
  (!type pointer 1452 nil  gc_used
   (!type already_seen 1451)
  )
  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 1749)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 874)
    (!srcfileloc  "tree-core.h" 1746)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1747)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1748)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 874)
 
 (!type struct 1453 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1454 
  (!type pointer 1455 nil  gc_unused
   (!type already_seen 1454)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1456 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 564)
 
 (!type already_seen 534)
 
 (!type already_seen 536)
 
 (!type already_seen 530)
 
 (!type already_seen 523)
 
 (!type already_seen 525)
 
 (!type already_seen 350)
 
 (!type already_seen 451)
 
 (!type already_seen 351)
 
 (!type already_seen 342)
 
 (!type already_seen 345)
 
 (!type already_seen 343)
 
 (!type already_seen 344)
 
 (!type already_seen 349)
 
 (!type already_seen 348)
 
 (!type already_seen 347)
 
 (!type already_seen 346)
 
 (!type already_seen 136)
 
 (!type already_seen 39)
 
 (!type already_seen 41)
 
 (!type already_seen 38)
 
 (!type already_seen 522)
 
 (!type already_seen 505)
 
 (!type already_seen 454)
 
 (!type already_seen 456)
 
 (!type already_seen 452)
 
 (!type already_seen 453)
 
 (!type already_seen 521)
 
 (!type already_seen 47)
 
 (!type already_seen 527)
 
 (!type already_seen 528)
 
 (!type already_seen 1144)
 
 (!type already_seen 512)
 
 (!type already_seen 513)
 
 (!type already_seen 520)
 
 (!type already_seen 518)
 
 (!type already_seen 509)
 
 (!type already_seen 510)
 
 (!type already_seen 526)
 
 (!type already_seen 474)
 
 (!type already_seen 475)
 
 (!type already_seen 507)
 
 (!type already_seen 506)
 
 (!type already_seen 33)
 
 (!type already_seen 25)
 
 (!type already_seen 32)
 
 (!type already_seen 27)
 
 (!type already_seen 22)
 
 (!type already_seen 18)
 
 (!type already_seen 17)
 
 (!type already_seen 16)
 
 (!type already_seen 15)
 
 (!type already_seen 8)
 
 (!type already_seen 12)
 
 (!type already_seen 14)
 
 (!type already_seen 13)
 
 (!type already_seen 1437)
 
 (!type already_seen 436)
 
 (!type already_seen 517)
 
 (!type already_seen 515)
 
 (!type struct 1457 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1458 nil  gc_unused "extraction_insn"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 533)
 
 (!type struct 1459 nil  gc_unused "convert_optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1460 nil  gc_unused "optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1461 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 540)
 
 (!type struct 1462 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1463 nil  gc_unused "replace_label_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 353)
 
 (!type struct 1464 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1465 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!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 240)
 
 (!type already_seen 257)
 
 (!type already_seen 258)
 
 (!type already_seen 261)
 
 (!type already_seen 265)
 
 (!type already_seen 266)
 
 (!type already_seen 267)
 
 (!type already_seen 268)
 
 (!type already_seen 269)
 
 (!type already_seen 272)
 
 (!type already_seen 273)
 
 (!type already_seen 274)
 
 (!type already_seen 275)
 
 (!type already_seen 276)
 
 (!type already_seen 277)
 
 (!type already_seen 278)
 
 (!type already_seen 279)
 
 (!type already_seen 280)
 
 (!type already_seen 281)
 
 (!type already_seen 282)
 
 (!type already_seen 283)
 
 (!type already_seen 284)
 
 (!type already_seen 285)
 
 (!type already_seen 286)
 
 (!type already_seen 287)
 
 (!type already_seen 288)
 
 (!type already_seen 289)
 
 (!type already_seen 290)
 
 (!type already_seen 291)
 
 (!type already_seen 292)
 
 (!type already_seen 293)
 
 (!type already_seen 294)
 
 (!type already_seen 295)
 
 (!type already_seen 296)
 
 (!type already_seen 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 339)
 
 (!type already_seen 340)
 
 (!type already_seen 341)
 
 (!type already_seen 254)
 
 (!type already_seen 297)
 
 (!type already_seen 256)
 
 (!type union 1466 nil  gc_unused "u"
  (!srcfileloc  "rtl.h" 346)
  (!fields 5 
   (!pair  "fld"
    (!type array 1467 nil  gc_unused "1" 
     (!type already_seen 243)
    )
    (!srcfileloc  "rtl.h" 341)
    nil )
   (!pair  "hwint"
    (!type array 1468 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "rtl.h" 342)
    nil )
   (!pair  "block_sym"
    (!type already_seen 241)
    (!srcfileloc  "rtl.h" 343)
    nil )
   (!pair  "rv"
    (!type already_seen 20)
    (!srcfileloc  "rtl.h" 344)
    nil )
   (!pair  "fv"
    (!type already_seen 24)
    (!srcfileloc  "rtl.h" 345)
    nil )
  )
  nil 511 nil )
 
 (!type already_seen 24)
 
 (!type already_seen 20)
 
 (!type already_seen 3)
 
 (!type already_seen 253)
 
 (!type already_seen 241)
 
 (!type already_seen 245)
 
 (!type already_seen 243)
 
 (!type union 1469 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type already_seen 271)
 
 (!type already_seen 260)
 
 (!type struct 1470 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 864)
 
 (!type struct 1471 nil  gc_unused "gcov_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1472 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/coverage.c:658"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "module_name_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "opt_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1475 nil  gc_unused "string_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1476 nil  gc_unused "gcov_module_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1477 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1478 nil  gc_unused "str_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1479 
  (!type pointer 1480 nil  gc_used
   (!type already_seen 1479)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 88)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1480)
    (!srcfileloc  "coverage.c" 82)
    nil )
   (!pair  "ident"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 83)
    nil )
   (!pair  "lineno_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 84)
    nil )
   (!pair  "cfg_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 85)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 5)
    (!srcfileloc  "coverage.c" 86)
    nil )
   (!pair  "ctr_vars"
    (!type array 1481 nil  gc_used "GCOV_COUNTERS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "coverage.c" 87)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1482 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 127)
 
 (!type already_seen 128)
 
 (!type already_seen 124)
 
 (!type already_seen 1360)
 
 (!type already_seen 1363)
 
 (!type already_seen 407)
 
 (!type already_seen 409)
 
 (!type already_seen 414)
 
 (!type already_seen 412)
 
 (!type already_seen 411)
 
 (!type struct 1483 nil  gc_unused "ix86_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1484 nil  gc_unused "processor_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1485 nil  gc_unused "stringop_algs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1486 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1487 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1488 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1489 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1490 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 299)
 
 (!type already_seen 303)
 
 (!type struct 1491 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1492 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1493 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1494 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1495 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 531)
 
 (!type already_seen 563)
 
 (!type struct 1496 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 247)
 
 (!type struct 1497 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 312)
 
 (!type already_seen 263)
 
 (!type already_seen 139)
 
 (!type struct 1498 
  (!type pointer 1499 nil  gc_unused
   (!type already_seen 1498)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 122)
 
 (!type already_seen 580)
 
 (!type struct 1500 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1501 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/cpplib.h:999"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1502 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/cpplib.h:988"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1503 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 34)
 
 (!type already_seen 577)
 
 (!type already_seen 583)
 
 (!type already_seen 584)
 
 (!type already_seen 586)
 
 (!type struct 1504 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 588)
 
 (!type struct 1505 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1506 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 579)
 
 (!type already_seen 585)
 
 (!type already_seen 582)
 
 (!type struct 1507 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1508 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1509 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1510 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1511 nil  gc_unused "anonymous:/var/tmp/portage/cross-x86_64-cros-linux-gnu/gcc-4.9.2-r278/work/gcc-4.9.2/gcc-4.9/gcc/../libcpp/include/line-map.h:627"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1512 
  (!type pointer 1513 nil  gc_used
   (!type already_seen 1512)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 318)
  (!fields 10 
   (!pair  "info_ordinary"
    (!type struct 1514 nil  gc_used "maps_info"
     (!srcfileloc  "../libcpp/include/line-map.h" 259)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1515 nil  gc_unused
        (!type struct 1516 
         (!type already_seen 1515)
         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 1517 nil  gc_used "map_u"
            (!srcfileloc  "../libcpp/include/line-map.h" 212)
            (!fields 2 
             (!pair  "ordinary"
              (!type struct 1518 nil  gc_used "line_map_ordinary"
               (!srcfileloc  "../libcpp/include/line-map.h" 87)
               (!fields 5 
                (!pair  "to_file"
                 (!type already_seen 37)
                 (!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 29)
                 (!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 1519 nil  gc_used "line_map_macro"
               (!srcfileloc  "../libcpp/include/line-map.h" 175)
               (!fields 4 
                (!pair  "macro"
                 (!type already_seen 575)
                 (!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 1514)
    (!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 1520 nil  gc_used "location_adhoc_data_map"
     (!srcfileloc  "../libcpp/include/line-map.h" 284)
     (!fields 4 
      (!pair  "htab"
       (!type already_seen 51)
       (!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 1521 nil  gc_unused
        (!type struct 1522 
         (!type already_seen 1521)
         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 1520)
 
 (!type already_seen 50)
 
 (!type already_seen 1522)
 
 (!type already_seen 1514)
 
 (!type already_seen 1516)
 
 (!type already_seen 1517)
 
 (!type already_seen 1519)
 
 (!type already_seen 7)
 
 (!type already_seen 574)
 
 (!type already_seen 1518)
)
(!typedefs 550
 (!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 624)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 626)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1258)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 627)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 629)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1203)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 630)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 632)
  (!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 640)
  (!srcfileloc  "objc/objc-act.h" 239)
  nil )
 (!pair  "hash"
  (!type already_seen 642)
  (!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 645)
  (!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 646)
  (!srcfileloc  "lto/lto.h" 34)
  nil )
 (!pair  "rewrite_rule"
  (!type already_seen 652)
  (!srcfileloc  "java/expr.c" 2068)
  nil )
 (!pair  "class_flag_node"
  (!type already_seen 653)
  (!srcfileloc  "java/class.c" 85)
  nil )
 (!pair  "builtin_creator_function"
  (!type already_seen 657)
  (!srcfileloc  "java/builtins.c" 82)
  nil )
 (!pair  "JCF"
  (!type already_seen 460)
  (!srcfileloc  "java/jcf.h" 123)
  nil )
 (!pair  "BootstrapMethods"
  (!type already_seen 467)
  (!srcfileloc  "java/jcf.h" 99)
  nil )
 (!pair  "bootstrap_method"
  (!type already_seen 469)
  (!srcfileloc  "java/jcf.h" 94)
  nil )
 (!pair  "CPool"
  (!type already_seen 463)
  (!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 471)
  (!srcfileloc  "java/java-tree.h" 882)
  nil )
 (!pair  "method_entry"
  (!type already_seen 472)
  (!srcfileloc  "java/java-tree.h" 869)
  nil )
 (!pair  "type_assertion"
  (!type already_seen 479)
  (!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 463)
  (!srcfileloc  "java/java-tree.h" 135)
  nil )
 (!pair  "go_char_p"
  (!type already_seen 30)
  (!srcfileloc  "go/go-lang.c" 163)
  nil )
 (!pair  "gfc_interface_mapping"
  (!type already_seen 659)
  (!srcfileloc  "fortran/trans.h" 963)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 660)
  (!srcfileloc  "fortran/trans.h" 948)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 661)
  (!srcfileloc  "fortran/trans.h" 729)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 663)
  (!srcfileloc  "fortran/trans.h" 345)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 664)
  (!srcfileloc  "fortran/trans.h" 332)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 665)
  (!srcfileloc  "fortran/trans.h" 322)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 666)
  (!srcfileloc  "fortran/trans.h" 273)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 667)
  (!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 668)
  (!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 669)
  (!srcfileloc  "fortran/trans.h" 101)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 670)
  (!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 671)
  (!srcfileloc  "fortran/trans-stmt.c" 59)
  nil )
 (!pair  "iter_info"
  (!type already_seen 672)
  (!srcfileloc  "fortran/trans-stmt.c" 47)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 673)
  (!srcfileloc  "fortran/trans-io.c" 80)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 674)
  (!srcfileloc  "fortran/trans-io.c" 74)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 675)
  (!srcfileloc  "fortran/trans-intrinsic.c" 87)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 680)
  (!srcfileloc  "cp/except.c" 1185)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 682)
  (!srcfileloc  "cp/except.c" 1184)
  nil )
 (!pair  "vec<saved_builtin,va_gc>"
  (!type already_seen 683)
  (!srcfileloc  "cp/cp-objcp-common.c" 187)
  nil )
 (!pair  "saved_builtin"
  (!type already_seen 685)
  (!srcfileloc  "cp/cp-objcp-common.c" 185)
  nil )
 (!pair  "secondary_vptr_vtt_init_data"
  (!type already_seen 686)
  (!srcfileloc  "cp/class.c" 8495)
  nil )
 (!pair  "find_final_overrider_data"
  (!type already_seen 687)
  (!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 689)
  (!srcfileloc  "cp/class.c" 101)
  nil )
 (!pair  "class_stack_node_t"
  (!type already_seen 691)
  (!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 695)
  (!srcfileloc  "cp/parser.c" 8667)
  nil )
 (!pair  "tree_int"
  (!type already_seen 697)
  (!srcfileloc  "cp/parser.c" 8666)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 1523 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 698)
  )
  (!srcfileloc  "cp/parser.c" 1751)
  nil )
 (!pair  "cp_parser_expression_stack_entry"
  (!type already_seen 698)
  (!srcfileloc  "cp/parser.c" 1745)
  nil )
 (!pair  "cp_parser_binary_operations_map_node"
  (!type already_seen 699)
  (!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 700)
  (!srcfileloc  "cp/parser.h" 405)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 716)
  (!srcfileloc  "cp/parser.h" 372)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 710)
  (!srcfileloc  "cp/parser.h" 351)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 708)
  (!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 711)
  (!srcfileloc  "cp/parser.h" 166)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 713)
  (!srcfileloc  "cp/parser.h" 157)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 714)
  (!srcfileloc  "cp/parser.h" 149)
  nil )
 (!pair  "cp_token_ident"
  (!type already_seen 717)
  (!srcfileloc  "cp/parser.h" 139)
  nil )
 (!pair  "cp_token_cache_ptr"
  (!type already_seen 65)
  (!srcfileloc  "cp/parser.h" 127)
  nil )
 (!pair  "cp_token_cache"
  (!type already_seen 66)
  (!srcfileloc  "cp/parser.h" 125)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 703)
  (!srcfileloc  "cp/parser.h" 110)
  nil )
 (!pair  "vec<cp_token_position>"
  (!type already_seen 706)
  (!srcfileloc  "cp/parser.h" 99)
  nil )
 (!pair  "vec<cp_token,va_gc>"
  (!type already_seen 705)
  (!srcfileloc  "cp/parser.h" 85)
  nil )
 (!pair  "cp_token_position"
  (!type already_seen 67)
  (!srcfileloc  "cp/parser.h" 75)
  nil )
 (!pair  "cp_token"
  (!type already_seen 68)
  (!srcfileloc  "cp/parser.h" 71)
  nil )
 (!pair  "cplus_array_info"
  (!type already_seen 719)
  (!srcfileloc  "cp/tree.c" 741)
  nil )
 (!pair  "constexpr_call"
  (!type already_seen 720)
  (!srcfileloc  "cp/semantics.c" 8131)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 723)
  (!srcfileloc  "cp/semantics.c" 7439)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 725)
  (!srcfileloc  "cp/semantics.c" 143)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 727)
  (!srcfileloc  "cp/semantics.c" 140)
  nil )
 (!pair  "vec<deferred_access_check,va_gc>"
  (!type already_seen 73)
  (!srcfileloc  "cp/semantics.c" 135)
  nil )
 (!pair  "spec_entry"
  (!type already_seen 731)
  (!srcfileloc  "cp/pt.c" 98)
  nil )
 (!pair  "tree_fn_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/pt.c" 55)
  nil )
 (!pair  "priority_info"
  (!type already_seen 738)
  (!srcfileloc  "cp/decl2.c" 70)
  nil )
 (!pair  "reshape_iter"
  (!type already_seen 739)
  (!srcfileloc  "cp/decl.c" 5131)
  nil )
 (!pair  "predefined_identifier"
  (!type already_seen 740)
  (!srcfileloc  "cp/decl.c" 3666)
  nil )
 (!pair  "typename_info"
  (!type already_seen 741)
  (!srcfileloc  "cp/decl.c" 3246)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 743)
  (!srcfileloc  "cp/decl.c" 268)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 745)
  (!srcfileloc  "cp/decl.c" 265)
  nil )
 (!pair  "candidate_warning"
  (!type already_seen 747)
  (!srcfileloc  "cp/call.c" 438)
  nil )
 (!pair  "z_candidate"
  (!type already_seen 748)
  (!srcfileloc  "cp/call.c" 436)
  nil )
 (!pair  "conversion"
  (!type already_seen 750)
  (!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 74)
  (!srcfileloc  "cp/cp-tree.h" 5720)
  nil )
 (!pair  "walk_namespaces_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5294)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 752)
  (!srcfileloc  "cp/cp-tree.h" 4905)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 753)
  (!srcfileloc  "cp/cp-tree.h" 4903)
  nil )
 (!pair  "cp_declarator_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4899)
  nil )
 (!pair  "cp_decl_specifier_seq"
  (!type already_seen 754)
  (!srcfileloc  "cp/cp-tree.h" 4887)
  nil )
 (!pair  "cp_decl_spec"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4843)
  nil )
 (!pair  "cp_storage_class"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4812)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4782)
  nil )
 (!pair  "operator_name_info_t"
  (!type already_seen 755)
  (!srcfileloc  "cp/cp-tree.h" 4759)
  nil )
 (!pair  "unification_kind_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4400)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4376)
  nil )
 (!pair  "base_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4354)
  nil )
 (!pair  "deferring_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4341)
  nil )
 (!pair  "base_access"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4334)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4320)
  nil )
 (!pair  "duration_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4291)
  nil )
 (!pair  "linkage_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4284)
  nil )
 (!pair  "special_function_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4261)
  nil )
 (!pair  "access_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4240)
  nil )
 (!pair  "tmpl_spec_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4229)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4211)
  nil )
 (!pair  "aggr_init_expr_arg_iterator"
  (!type already_seen 756)
  (!srcfileloc  "cp/cp-tree.h" 3098)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 491)
  (!srcfileloc  "cp/cp-tree.h" 1469)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 493)
  (!srcfileloc  "cp/cp-tree.h" 1374)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 492)
  (!srcfileloc  "cp/cp-tree.h" 1373)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 758)
  (!srcfileloc  "cp/cp-tree.h" 1023)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 619)
  (!srcfileloc  "cp/cp-tree.h" 785)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 620)
  (!srcfileloc  "cp/cp-tree.h" 773)
  nil )
 (!pair  "cp_trait_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 649)
  nil )
 (!pair  "abstract_class_use"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 502)
  nil )
 (!pair  "impl_conv_void"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 489)
  nil )
 (!pair  "impl_conv_rhs"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 478)
  nil )
 (!pair  "expr_list_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 468)
  nil )
 (!pair  "composite_pointer_operation"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 461)
  nil )
 (!pair  "cpp0x_warn_str"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 449)
  nil )
 (!pair  "cp_id_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 412)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 608)
  (!srcfileloc  "cp/cp-tree.h" 288)
  nil )
 (!pair  "template_parm_index"
  (!type already_seen 606)
  (!srcfileloc  "cp/cp-tree.h" 282)
  nil )
 (!pair  "vec<cp_label_binding,va_gc>"
  (!type already_seen 103)
  (!srcfileloc  "cp/name-lookup.h" 216)
  nil )
 (!pair  "vec<cp_class_binding,va_gc>"
  (!type already_seen 98)
  (!srcfileloc  "cp/name-lookup.h" 205)
  nil )
 (!pair  "cp_label_binding"
  (!type already_seen 104)
  (!srcfileloc  "cp/name-lookup.h" 156)
  nil )
 (!pair  "cp_class_binding"
  (!type already_seen 99)
  (!srcfileloc  "cp/name-lookup.h" 148)
  nil )
 (!pair  "tag_scope"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 142)
  nil )
 (!pair  "scope_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 125)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 760)
  (!srcfileloc  "cp/name-lookup.h" 86)
  nil )
 (!pair  "cp_binding_level"
  (!type already_seen 96)
  (!srcfileloc  "cp/name-lookup.h" 55)
  nil )
 (!pair  "cxx_binding"
  (!type already_seen 101)
  (!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 497)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 494)
  (!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 765)
  (!srcfileloc  "cp/mangle.c" 106)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 766)
  (!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 768)
  (!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 771)
  (!srcfileloc  "c/c-parser.c" 217)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 777)
  (!srcfileloc  "c/c-parser.c" 216)
  nil )
 (!pair  "c_token"
  (!type already_seen 774)
  (!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 779)
  (!srcfileloc  "c-family/c-pragma.c" 1172)
  nil )
 (!pair  "opt_stack"
  (!type already_seen 780)
  (!srcfileloc  "c-family/c-pragma.c" 902)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 782)
  (!srcfileloc  "c-family/c-pragma.c" 433)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 784)
  (!srcfileloc  "c-family/c-pragma.c" 430)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 785)
  (!srcfileloc  "c-family/c-pragma.c" 247)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 787)
  (!srcfileloc  "c-family/c-pragma.c" 244)
  nil )
 (!pair  "align_stack"
  (!type already_seen 788)
  (!srcfileloc  "c-family/c-pragma.c" 54)
  nil )
 (!pair  "internal_pragma_handler"
  (!type already_seen 790)
  (!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 793)
  (!srcfileloc  "c-family/c-common.h" 1354)
  nil )
 (!pair  "an_parts"
  (!type already_seen 794)
  (!srcfileloc  "c-family/c-common.h" 1343)
  nil )
 (!pair  "omp_clause_mask"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 1053)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 90)
  (!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 799)
  (!srcfileloc  "c-family/c-common.c" 11625)
  nil )
 (!pair  "tree_gc_vec"
  (!type already_seen 46)
  (!srcfileloc  "c-family/c-common.c" 11624)
  nil )
 (!pair  "vec<const_char_p,va_gc>"
  (!type already_seen 802)
  (!srcfileloc  "c-family/c-common.c" 9089)
  nil )
 (!pair  "const_char_p"
  (!type already_seen 30)
  (!srcfileloc  "c-family/c-common.c" 9088)
  nil )
 (!pair  "disabled_builtin"
  (!type already_seen 804)
  (!srcfileloc  "c-family/c-common.c" 5780)
  nil )
 (!pair  "vec<c_saved_builtin,va_gc>"
  (!type already_seen 809)
  (!srcfileloc  "c/c-decl.c" 10527)
  nil )
 (!pair  "c_saved_builtin"
  (!type already_seen 811)
  (!srcfileloc  "c/c-decl.c" 10525)
  nil )
 (!pair  "c_binding_ptr"
  (!type already_seen 591)
  (!srcfileloc  "c/c-decl.c" 508)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 600)
  (!srcfileloc  "c/c-decl.c" 316)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 601)
  (!srcfileloc  "c/c-decl.c" 297)
  nil )
 (!pair  "c_arg_tag"
  (!type already_seen 819)
  (!srcfileloc  "c/c-tree.h" 355)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 822)
  (!srcfileloc  "c/c-tree.h" 133)
  nil )
 (!pair  "builtin_type"
  (!type already_seen 9)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5854)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 829)
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  nil )
 (!pair  "loop_info"
  (!type already_seen 831)
  (!srcfileloc  "ada/gcc-interface/trans.c" 220)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 834)
  (!srcfileloc  "ada/gcc-interface/trans.c" 217)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 835)
  (!srcfileloc  "ada/gcc-interface/trans.c" 210)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 118)
  (!srcfileloc  "ada/gcc-interface/trans.c" 135)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 119)
  (!srcfileloc  "ada/gcc-interface/trans.c" 131)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 841)
  (!srcfileloc  "ada/gcc-interface/decl.c" 6911)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 842)
  (!srcfileloc  "ada/gcc-interface/decl.c" 182)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 843)
  (!srcfileloc  "ada/gcc-interface/decl.c" 127)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 844)
  (!srcfileloc  "ada/gcc-interface/decl.c" 112)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 855)
  (!srcfileloc  "ipa-devirt.c" 867)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 856)
  (!srcfileloc  "ipa-devirt.c" 866)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 855)
  (!srcfileloc  "ipa-devirt.c" 866)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 858)
  (!srcfileloc  "ipa-devirt.c" 279)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 865)
  (!srcfileloc  "ipa-devirt.c" 272)
  nil )
 (!pair  "odr_hasher"
  (!type already_seen 866)
  (!srcfileloc  "ipa-devirt.c" 272)
  nil )
 (!pair  "hash_table<odr_hasher>"
  (!type already_seen 865)
  (!srcfileloc  "ipa-devirt.c" 272)
  nil )
 (!pair  "pointer_set_t"
  (!type already_seen 864)
  (!srcfileloc  "ipa-devirt.c" 159)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 862)
  (!srcfileloc  "ipa-devirt.c" 152)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 883)
  (!srcfileloc  "vtable-verify.c" 311)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 883)
  (!srcfileloc  "vtable-verify.c" 311)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 884)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 885)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 884)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "inline_edge_summary_t"
  (!type already_seen 1340)
  (!srcfileloc  "ipa-inline.h" 196)
  nil )
 (!pair  "vec<inline_summary_t,va_gc>"
  (!type already_seen 889)
  (!srcfileloc  "ipa-inline.h" 164)
  nil )
 (!pair  "inline_summary_t"
  (!type already_seen 891)
  (!srcfileloc  "ipa-inline.h" 163)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 897)
  (!srcfileloc  "ipa-inline.h" 141)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 896)
  (!srcfileloc  "ipa-inline.h" 141)
  nil )
 (!pair  "clause_t"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 88)
  nil )
 (!pair  "conditions"
  (!type already_seen 892)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "condition"
  (!type already_seen 894)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 893)
  (!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 961)
  (!srcfileloc  "lto-streamer.h" 572)
  nil )
 (!pair  "pointer_map_t"
  (!type already_seen 389)
  (!srcfileloc  "lto-streamer.h" 569)
  nil )
 (!pair  "res_pair"
  (!type already_seen 909)
  (!srcfileloc  "lto-streamer.h" 563)
  nil )
 (!pair  "vec<res_pair>"
  (!type already_seen 908)
  (!srcfileloc  "lto-streamer.h" 563)
  nil )
 (!pair  "lto_out_decl_state_ptr"
  (!type already_seen 1015)
  (!srcfileloc  "lto-streamer.h" 516)
  nil )
 (!pair  "lto_in_decl_state_ptr"
  (!type already_seen 922)
  (!srcfileloc  "lto-streamer.h" 497)
  nil )
 (!pair  "lto_symtab_encoder_t"
  (!type already_seen 914)
  (!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 29)
  (!srcfileloc  "lto-streamer.h" 146)
  nil )
 (!pair  "cgraph_node_queue"
  (!type already_seen 927)
  (!srcfileloc  "trans-mem.c" 4067)
  nil )
 (!pair  "vec<cgraph_node_ptr>"
  (!type already_seen 927)
  (!srcfileloc  "trans-mem.c" 4067)
  nil )
 (!pair  "tm_memop_t"
  (!type already_seen 971)
  (!srcfileloc  "trans-mem.c" 3302)
  nil )
 (!pair  "tm_region_p"
  (!type already_seen 977)
  (!srcfileloc  "trans-mem.c" 1850)
  nil )
 (!pair  "tm_new_mem_map_t"
  (!type already_seen 980)
  (!srcfileloc  "trans-mem.c" 1016)
  nil )
 (!pair  "tm_log_entry_t"
  (!type already_seen 983)
  (!srcfileloc  "trans-mem.c" 940)
  nil )
 (!pair  "ipa_parm_adjustment_vec"
  (!type already_seen 986)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "ipa_parm_adjustment"
  (!type already_seen 987)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "vec<ipa_parm_adjustment>"
  (!type already_seen 986)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 990)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "vec<ipa_edge_args,va_gc>"
  (!type already_seen 988)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "vec<ipa_agg_replacement_value_p,va_gc>"
  (!type already_seen 1006)
  (!srcfileloc  "ipa-prop.h" 509)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 993)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 992)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "ipa_agg_replacement_value_p"
  (!type already_seen 1008)
  (!srcfileloc  "ipa-prop.h" 470)
  nil )
 (!pair  "ipa_agg_jump_function_p"
  (!type already_seen 995)
  (!srcfileloc  "ipa-prop.h" 178)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 998)
  (!srcfileloc  "ipa-prop.h" 173)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 997)
  (!srcfileloc  "ipa-prop.h" 173)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1018)
  (!srcfileloc  "passes.c" 965)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 30)
  (!srcfileloc  "passes.c" 828)
  nil )
 (!pair  "imm_info"
  (!type already_seen 1029)
  (!srcfileloc  "config/i386/i386.c" 46446)
  nil )
 (!pair  "dispatch_windows"
  (!type already_seen 1030)
  (!srcfileloc  "config/i386/i386.c" 46438)
  nil )
 (!pair  "sched_insn_info"
  (!type already_seen 1031)
  (!srcfileloc  "config/i386/i386.c" 46416)
  nil )
 (!pair  "function_version_info"
  (!type already_seen 1037)
  (!srcfileloc  "config/i386/i386.c" 32302)
  nil )
 (!pair  "const_ix86_first_cycle_multipass_data_t"
  (!type already_seen 1041)
  (!srcfileloc  "config/i386/i386.c" 27062)
  nil )
 (!pair  "ix86_first_cycle_multipass_data_t"
  (!type already_seen 1041)
  (!srcfileloc  "config/i386/i386.c" 27060)
  nil )
 (!pair  "omp_context"
  (!type already_seen 1059)
  (!srcfileloc  "omp-low.c" 178)
  nil )
 (!pair  "lambda_trans_matrix"
  (!type already_seen 1066)
  (!srcfileloc  "tree-parloops.c" 293)
  nil )
 (!pair  "name_to_copy_table_type"
  (!type already_seen 1067)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "name_to_copy_hasher"
  (!type already_seen 1068)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "hash_table<name_to_copy_hasher>"
  (!type already_seen 1067)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "reduction_info_table_type"
  (!type already_seen 1070)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "reduction_hasher"
  (!type already_seen 1071)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "hash_table<reduction_hasher>"
  (!type already_seen 1070)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 394)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 519)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 518)
  (!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 1082)
  (!srcfileloc  "tree-dfa.c" 704)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1096)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1098)
  (!srcfileloc  "tree-ssa-address.c" 91)
  nil )
 (!pair  "treemple"
  (!type already_seen 1110)
  (!srcfileloc  "tree-eh.c" 59)
  nil )
 (!pair  "vec<gimple,va_gc>"
  (!type already_seen 386)
  (!srcfileloc  "gimple-ssa.h" 43)
  nil )
 (!pair  "elt_t"
  (!type already_seen 1112)
  (!srcfileloc  "gimple.h" 1279)
  nil )
 (!pair  "gimple_vec"
  (!type already_seen 1157)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "vec<gimple>"
  (!type already_seen 1157)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "gimple_seq_node"
  (!type already_seen 311)
  (!srcfileloc  "gimple.h" 25)
  nil )
 (!pair  "tm_alias_pair"
  (!type already_seen 1158)
  (!srcfileloc  "varasm.c" 5788)
  nil )
 (!pair  "oc_local_state"
  (!type already_seen 1159)
  (!srcfileloc  "varasm.c" 4860)
  nil )
 (!pair  "oc_outer_state"
  (!type already_seen 1160)
  (!srcfileloc  "varasm.c" 4598)
  nil )
 (!pair  "block_info"
  (!type already_seen 1176)
  (!srcfileloc  "reg-stack.c" 215)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1178)
  (!srcfileloc  "reg-stack.c" 202)
  nil )
 (!pair  "augmenting_path_type"
  (!type already_seen 1180)
  (!srcfileloc  "mcf.c" 147)
  nil )
 (!pair  "queue_type"
  (!type already_seen 1181)
  (!srcfileloc  "mcf.c" 136)
  nil )
 (!pair  "fixup_graph_type"
  (!type already_seen 1182)
  (!srcfileloc  "mcf.c" 128)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1184)
  (!srcfileloc  "mcf.c" 111)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1183)
  (!srcfileloc  "mcf.c" 109)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1186)
  (!srcfileloc  "mcf.c" 102)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1185)
  (!srcfileloc  "mcf.c" 100)
  nil )
 (!pair  "edge_type"
  (!type already_seen 9)
  (!srcfileloc  "mcf.c" 81)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1198)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1198)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1200)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "vec<rtx>"
  (!type already_seen 1200)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1199)
  (!srcfileloc  "gcse.c" 405)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1206)
  (!srcfileloc  "gcse.c" 309)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1210)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1211)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1210)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1212)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1213)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1212)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1216)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1217)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1216)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "initial_value_struct"
  (!type already_seen 1427)
  (!srcfileloc  "function.c" 1222)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1228)
  (!srcfileloc  "function.c" 1214)
  nil )
 (!pair  "function_p"
  (!type already_seen 352)
  (!srcfileloc  "function.c" 134)
  nil )
 (!pair  "sepops"
  (!type already_seen 1238)
  (!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 369)
  (!srcfileloc  "except.h" 203)
  nil )
 (!pair  "vec<eh_region,va_gc>"
  (!type already_seen 367)
  (!srcfileloc  "except.h" 200)
  nil )
 (!pair  "eh_region"
  (!type already_seen 356)
  (!srcfileloc  "except.h" 187)
  nil )
 (!pair  "eh_catch"
  (!type already_seen 360)
  (!srcfileloc  "except.h" 186)
  nil )
 (!pair  "eh_landing_pad"
  (!type already_seen 364)
  (!srcfileloc  "except.h" 185)
  nil )
 (!pair  "cgraph_sym"
  (!type already_seen 1376)
  (!srcfileloc  "l-ipo.c" 1183)
  nil )
 (!pair  "type_ent"
  (!type already_seen 1242)
  (!srcfileloc  "l-ipo.c" 525)
  nil )
 (!pair  "saved_module_scope"
  (!type already_seen 1245)
  (!srcfileloc  "l-ipo.c" 62)
  nil )
 (!pair  "elem_op_func"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 114)
  nil )
 (!pair  "loc_list_hash_type"
  (!type already_seen 1249)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1249)
  (!srcfileloc  "dwarf2out.c" 24412)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1252)
  (!srcfileloc  "dwarf2out.c" 22217)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 22217)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1252)
  (!srcfileloc  "dwarf2out.c" 22217)
  nil )
 (!pair  "dchar_p"
  (!type already_seen 30)
  (!srcfileloc  "dwarf2out.c" 19160)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1263)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1264)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1263)
  (!srcfileloc  "dwarf2out.c" 7578)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1267)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 7021)
  nil )
 (!pair  "cu_hash_type"
  (!type already_seen 1269)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "cu_hash_table_entry_hasher"
  (!type already_seen 1270)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "hash_table<cu_hash_table_entry_hasher>"
  (!type already_seen 1269)
  (!srcfileloc  "dwarf2out.c" 6696)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1274)
  (!srcfileloc  "dwarf2out.c" 2958)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1277)
  (!srcfileloc  "dwarf2out.c" 2906)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1280)
  (!srcfileloc  "dwarf2out.c" 2898)
  nil )
 (!pair  "vec<dw_line_info_table_p,va_gc>"
  (!type already_seen 1284)
  (!srcfileloc  "dwarf2out.c" 2890)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1292)
  (!srcfileloc  "dwarf2out.c" 2856)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1296)
  (!srcfileloc  "dwarf2out.c" 2819)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 2781)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1300)
  (!srcfileloc  "dwarf2out.c" 2669)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1301)
  (!srcfileloc  "dwarf2out.c" 2661)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 439)
  (!srcfileloc  "dwarf2out.c" 2653)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 2636)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 2620)
  nil )
 (!pair  "die_node"
  (!type already_seen 436)
  (!srcfileloc  "dwarf2out.c" 2603)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 442)
  (!srcfileloc  "dwarf2out.c" 2588)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 443)
  (!srcfileloc  "dwarf2out.c" 2574)
  nil )
 (!pair  "dw_line_info_table_p"
  (!type already_seen 1286)
  (!srcfileloc  "dwarf2out.c" 2563)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1287)
  (!srcfileloc  "dwarf2out.c" 2561)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1289)
  (!srcfileloc  "dwarf2out.c" 2560)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2out.c" 2542)
  nil )
 (!pair  "comdat_type_node_ref"
  (!type already_seen 438)
  (!srcfileloc  "dwarf2out.c" 2506)
  nil )
 (!pair  "dw_ranges_by_label_ref"
  (!type already_seen 1304)
  (!srcfileloc  "dwarf2out.c" 2505)
  nil )
 (!pair  "dw_ranges_ref"
  (!type already_seen 1306)
  (!srcfileloc  "dwarf2out.c" 2504)
  nil )
 (!pair  "pubname_ref"
  (!type already_seen 1283)
  (!srcfileloc  "dwarf2out.c" 2503)
  nil )
 (!pair  "dw_line_info_ref"
  (!type already_seen 1291)
  (!srcfileloc  "dwarf2out.c" 2502)
  nil )
 (!pair  "dw_attr_ref"
  (!type already_seen 444)
  (!srcfileloc  "dwarf2out.c" 2501)
  nil )
 (!pair  "dw_offset"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2497)
  nil )
 (!pair  "dw_loc_list_node"
  (!type already_seen 431)
  (!srcfileloc  "dwarf2out.c" 1284)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 427)
  (!srcfileloc  "dwarf2out.c" 1260)
  nil )
 (!pair  "vec<deferred_locations,va_gc>"
  (!type already_seen 1307)
  (!srcfileloc  "dwarf2out.c" 1238)
  nil )
 (!pair  "deferred_locations"
  (!type already_seen 1309)
  (!srcfileloc  "dwarf2out.c" 1235)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1310)
  (!srcfileloc  "dwarf2out.c" 204)
  nil )
 (!pair  "queued_reg_save"
  (!type already_seen 1313)
  (!srcfileloc  "dwarf2cfi.c" 222)
  nil )
 (!pair  "dw_trace_info_ref"
  (!type already_seen 1316)
  (!srcfileloc  "dwarf2cfi.c" 156)
  nil )
 (!pair  "dw_trace_info"
  (!type already_seen 1315)
  (!srcfileloc  "dwarf2cfi.c" 153)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1317)
  (!srcfileloc  "dwarf2cfi.c" 80)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1319)
  (!srcfileloc  "dwarf2cfi.c" 74)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 1321)
  (!srcfileloc  "dwarf2cfi.c" 69)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 424)
  (!srcfileloc  "dwarf2out.h" 211)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 432)
  (!srcfileloc  "dwarf2out.h" 179)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 415)
  (!srcfileloc  "dwarf2out.h" 65)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 417)
  (!srcfileloc  "dwarf2out.h" 63)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 418)
  (!srcfileloc  "dwarf2out.h" 63)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 421)
  (!srcfileloc  "dwarf2out.h" 52)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 430)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 422)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 419)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 425)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "odr_type"
  (!type already_seen 860)
  (!srcfileloc  "ipa-utils.h" 76)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 861)
  (!srcfileloc  "ipa-utils.h" 76)
  nil )
 (!pair  "const_bitmap_descriptor"
  (!type already_seen 1353)
  (!srcfileloc  "bitmap.c" 45)
  nil )
 (!pair  "bitmap_descriptor"
  (!type already_seen 1353)
  (!srcfileloc  "bitmap.c" 44)
  nil )
 (!pair  "vec<alias_set_entry,va_gc>"
  (!type already_seen 1354)
  (!srcfileloc  "alias.c" 266)
  nil )
 (!pair  "alias_set_entry"
  (!type already_seen 1356)
  (!srcfileloc  "alias.c" 149)
  nil )
 (!pair  "cgraph_2node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 896)
  nil )
 (!pair  "cgraph_2edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 894)
  nil )
 (!pair  "varpool_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 892)
  nil )
 (!pair  "cgraph_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 891)
  nil )
 (!pair  "cgraph_edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 890)
  nil )
 (!pair  "cgraph_edge_p"
  (!type already_seen 931)
  (!srcfileloc  "cgraph.h" 640)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1387)
  (!srcfileloc  "cgraph.h" 514)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1389)
  (!srcfileloc  "cgraph.h" 511)
  nil )
 (!pair  "varpool_node_ptr"
  (!type already_seen 1393)
  (!srcfileloc  "cgraph.h" 500)
  nil )
 (!pair  "varpool_node"
  (!type already_seen 1392)
  (!srcfileloc  "cgraph.h" 500)
  nil )
 (!pair  "cgraph_node_ptr"
  (!type already_seen 928)
  (!srcfileloc  "cgraph.h" 447)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 941)
  (!srcfileloc  "cgraph.h" 395)
  nil )
 (!pair  "vec<ipa_replace_map_p,va_gc>"
  (!type already_seen 949)
  (!srcfileloc  "cgraph.h" 260)
  nil )
 (!pair  "ipa_replace_map_p"
  (!type already_seen 950)
  (!srcfileloc  "cgraph.h" 256)
  nil )
 (!pair  "vec<ipa_ref_ptr>"
  (!type already_seen 960)
  (!srcfileloc  "ipa-ref.h" 58)
  nil )
 (!pair  "vec<ipa_ref_t,va_gc>"
  (!type already_seen 957)
  (!srcfileloc  "ipa-ref.h" 55)
  nil )
 (!pair  "ipa_ref_ptr"
  (!type already_seen 959)
  (!srcfileloc  "ipa-ref.h" 48)
  nil )
 (!pair  "ipa_ref_t"
  (!type already_seen 958)
  (!srcfileloc  "ipa-ref.h" 47)
  nil )
 (!pair  "symtab_node"
  (!type already_seen 953)
  (!srcfileloc  "ipa-ref.h" 38)
  nil )
 (!pair  "gcov_working_set_t"
  (!type already_seen 1394)
  (!srcfileloc  "basic-block.h" 937)
  nil )
 (!pair  "vec<basic_block,va_gc>"
  (!type already_seen 380)
  (!srcfileloc  "basic-block.h" 277)
  nil )
 (!pair  "__assert_gimple_bb_smaller_rtl_bb"
  (!type array 1524 nil  gc_unused "(int) sizeof (struct rtl_bb_info)\n               - (int) sizeof (struct gimple_bb_info)" 
   (!type already_seen 9)
  )
  (!srcfileloc  "basic-block.h" 210)
  nil )
 (!pair  "vec<edge,va_gc>"
  (!type already_seen 301)
  (!srcfileloc  "basic-block.h" 169)
  nil )
 (!pair  "edge_def"
  (!type already_seen 303)
  (!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 308)
  (!srcfileloc  "cfgloop.h" 135)
  nil )
 (!pair  "loop_p"
  (!type already_seen 304)
  (!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 1431)
  (!srcfileloc  "function.h" 309)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 942)
  (!srcfileloc  "function.h" 171)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 943)
  (!srcfileloc  "function.h" 171)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1232)
  (!srcfileloc  "function.h" 166)
  nil )
 (!pair  "vec<call_site_record,va_gc>"
  (!type already_seen 1423)
  (!srcfileloc  "function.h" 154)
  nil )
 (!pair  "vec<uchar,va_gc>"
  (!type already_seen 376)
  (!srcfileloc  "function.h" 152)
  nil )
 (!pair  "call_site_record"
  (!type already_seen 1424)
  (!srcfileloc  "function.h" 141)
  nil )
 (!pair  "ht_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/symtab.h" 89)
  nil )
 (!pair  "hashnode"
  (!type already_seen 35)
  (!srcfileloc  "../libcpp/include/symtab.h" 41)
  nil )
 (!pair  "cpp_hash_table"
  (!type already_seen 1434)
  (!srcfileloc  "../libcpp/include/symtab.h" 40)
  nil )
 (!pair  "ht_identifier_ptr"
  (!type already_seen 35)
  (!srcfileloc  "../libcpp/include/symtab.h" 30)
  nil )
 (!pair  "ht_identifier"
  (!type already_seen 34)
  (!srcfileloc  "../libcpp/include/symtab.h" 29)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 1438)
  (!srcfileloc  "tree-core.h" 1854)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 1437)
  (!srcfileloc  "tree-core.h" 1819)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 1435)
  (!srcfileloc  "tree-core.h" 1819)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 1455)
  (!srcfileloc  "tree-core.h" 1731)
  nil )
 (!pair  "vec<tree,va_gc>"
  (!type already_seen 47)
  (!srcfileloc  "tree-core.h" 1254)
  nil )
 (!pair  "constructor_elt"
  (!type already_seen 475)
  (!srcfileloc  "tree-core.h" 1130)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 474)
  (!srcfileloc  "tree-core.h" 1130)
  nil )
 (!pair  "walk_tree_lh"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 686)
  nil )
 (!pair  "walk_tree_fn"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 682)
  nil )
 (!pair  "priority_type"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 679)
  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" 2105)
  nil )
 (!pair  "rtx_equal_p_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2100)
  nil )
 (!pair  "for_each_inc_dec_fn"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2096)
  nil )
 (!pair  "rtx_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2085)
  nil )
 (!pair  "va_gc"
  (!type already_seen 3)
  (!srcfileloc  "rtl.h" 238)
  nil )
 (!pair  "vec<rtx,va_gc>"
  (!type already_seen 253)
  (!srcfileloc  "rtl.h" 238)
  nil )
 (!pair  "rtunion"
  (!type already_seen 243)
  (!srcfileloc  "rtl.h" 208)
  nil )
 (!pair  "mod_id_to_name_t"
  (!type already_seen 1472)
  (!srcfileloc  "coverage.c" 661)
  nil )
 (!pair  "counts_entry_t"
  (!type already_seen 1477)
  (!srcfileloc  "coverage.c" 118)
  nil )
 (!pair  "alias_set_type"
  (!type already_seen 9)
  (!srcfileloc  "alias.h" 29)
  nil )
 (!pair  "bitmap_obstack"
  (!type already_seen 127)
  (!srcfileloc  "bitmap.h" 187)
  nil )
 (!pair  "bitmap_element"
  (!type already_seen 124)
  (!srcfileloc  "bitmap.h" 185)
  nil )
 (!pair  "BITMAP_WORD"
  (!type already_seen 9)
  (!srcfileloc  "bitmap.h" 136)
  nil )
 (!pair  "splay_tree"
  (!type already_seen 1361)
  (!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 1362)
  (!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 51)
  (!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 298)
  (!srcfileloc  "coretypes.h" 156)
  nil )
 (!pair  "basic_block"
  (!type already_seen 298)
  (!srcfileloc  "coretypes.h" 155)
  nil )
 (!pair  "const_edge"
  (!type already_seen 302)
  (!srcfileloc  "coretypes.h" 153)
  nil )
 (!pair  "edge"
  (!type already_seen 302)
  (!srcfileloc  "coretypes.h" 152)
  nil )
 (!pair  "addr_space_t"
  (!type already_seen 29)
  (!srcfileloc  "coretypes.h" 80)
  nil )
 (!pair  "section"
  (!type already_seen 247)
  (!srcfileloc  "coretypes.h" 69)
  nil )
 (!pair  "gimple_seq"
  (!type already_seen 311)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "const_gimple"
  (!type already_seen 311)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "gimple"
  (!type already_seen 311)
  (!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 262)
  (!srcfileloc  "coretypes.h" 60)
  nil )
 (!pair  "rtvec"
  (!type already_seen 262)
  (!srcfileloc  "coretypes.h" 59)
  nil )
 (!pair  "const_rtx"
  (!type already_seen 137)
  (!srcfileloc  "coretypes.h" 57)
  nil )
 (!pair  "rtx"
  (!type already_seen 137)
  (!srcfileloc  "coretypes.h" 56)
  nil )
 (!pair  "const_sbitmap"
  (!type already_seen 1499)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 1499)
  (!srcfileloc  "coretypes.h" 53)
  nil )
 (!pair  "const_bitmap"
  (!type already_seen 121)
  (!srcfileloc  "coretypes.h" 51)
  nil )
 (!pair  "bitmap"
  (!type already_seen 121)
  (!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 29)
  (!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 1501)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1008)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 1502)
  (!srcfileloc  "../libcpp/include/cpplib.h" 994)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 1503)
  (!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 1505)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 1506)
  (!srcfileloc  "../libcpp/include/cpplib.h" 36)
  nil )
 (!pair  "cpp_macro"
  (!type already_seen 579)
  (!srcfileloc  "../libcpp/include/cpplib.h" 35)
  nil )
 (!pair  "cpp_hashnode"
  (!type already_seen 574)
  (!srcfileloc  "../libcpp/include/cpplib.h" 34)
  nil )
 (!pair  "cpp_string"
  (!type already_seen 585)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 582)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 1507)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 1508)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 1509)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 1511)
  (!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 52
 (!type param_struct 1525 nil  gc_pointed_to
  (!type already_seen 1363)
  nil 
  (!type already_seen 9)
  
  (!type already_seen 9)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1526 nil  gc_pointed_to
  (!type already_seen 1363)
  nil 
  (!type already_seen 37)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1527 nil  gc_pointed_to
  (!type already_seen 1363)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  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 50)
  
  (!type already_seen 635)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 477)
 
 (!type already_seen 49)
 
 (!type param_struct 1530 
  (!type pointer 1531 nil  gc_used
   (!type already_seen 1530)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 677)
  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 50)
  
  (!type already_seen 693)
  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 50)
  
  (!type already_seen 721)
  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 50)
  
  (!type already_seen 722)
  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 50)
  
  (!type already_seen 732)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 108)
 
 (!type already_seen 92)
 
 (!type param_struct 1540 
  (!type pointer 1541 nil  gc_used
   (!type already_seen 1540)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 825)
  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 50)
  
  (!type already_seen 1448)
  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 50)
  
  (!type already_seen 873)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 965)
 
 (!type param_struct 1546 
  (!type pointer 1547 nil  gc_used
   (!type already_seen 1546)
  )
  gc_pointed_to
  (!type already_seen 1360)
  nil 
  (!type already_seen 5)
  
  (!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 50)
  
  (!type already_seen 1081)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 397)
 
 (!type param_struct 1550 
  (!type pointer 1551 nil  gc_used
   (!type already_seen 1550)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1452)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1417)
 
 (!type param_struct 1552 
  (!type pointer 1553 nil  gc_used
   (!type already_seen 1552)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1370)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1554 
  (!type pointer 1555 nil  gc_used
   (!type already_seen 1554)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 244)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1556 
  (!type pointer 1557 nil  gc_used
   (!type already_seen 1556)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 246)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1558 
  (!type pointer 1559 nil  gc_used
   (!type already_seen 1558)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1446)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1560 
  (!type pointer 1561 nil  gc_used
   (!type already_seen 1560)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1444)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1562 
  (!type pointer 1563 nil  gc_used
   (!type already_seen 1562)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1450)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1564 
  (!type pointer 1565 nil  gc_used
   (!type already_seen 1564)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1166)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1566 
  (!type pointer 1567 nil  gc_used
   (!type already_seen 1566)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1231)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 371)
 
 (!type param_struct 1568 
  (!type pointer 1569 nil  gc_used
   (!type already_seen 1568)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 270)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1570 
  (!type pointer 1571 nil  gc_used
   (!type already_seen 1570)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 137)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1572 
  (!type pointer 1573 nil  gc_used
   (!type already_seen 1572)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1377)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1574 
  (!type pointer 1575 nil  gc_used
   (!type already_seen 1574)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1243)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1576 
  (!type pointer 1577 nil  gc_used
   (!type already_seen 1576)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1246)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1578 
  (!type pointer 1579 nil  gc_used
   (!type already_seen 1578)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 426)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1580 
  (!type pointer 1581 nil  gc_used
   (!type already_seen 1580)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1293)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1582 
  (!type pointer 1583 nil  gc_used
   (!type already_seen 1582)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1297)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1584 
  (!type pointer 1585 nil  gc_used
   (!type already_seen 1584)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 434)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1586 
  (!type pointer 1587 nil  gc_used
   (!type already_seen 1586)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 447)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1588 
  (!type pointer 1589 nil  gc_used
   (!type already_seen 1588)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 445)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1590 
  (!type pointer 1591 nil  gc_used
   (!type already_seen 1590)
  )
  gc_pointed_to
  (!type already_seen 1360)
  nil 
  (!type already_seen 37)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1592 
  (!type pointer 1593 nil  gc_used
   (!type already_seen 1592)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1391)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1359)
 
 (!type param_struct 1594 
  (!type pointer 1595 nil  gc_used
   (!type already_seen 1594)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 954)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1379)
 
 (!type already_seen 936)
 
 (!type already_seen 403)
 
 (!type param_struct 1596 
  (!type pointer 1597 nil  gc_used
   (!type already_seen 1596)
  )
  gc_pointed_to
  (!type already_seen 50)
  
  (!type already_seen 1407)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 55)
 
 (!type already_seen 550)
)
(!variables 639
 (!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 631)
  (!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 625)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2110)
  nil )
 (!pair  "nonlazy_category_list"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2022)
  nil )
 (!pair  "category_list"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2011)
  nil )
 (!pair  "nonlazy_class_list"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2000)
  nil )
 (!pair  "class_list"
  (!type already_seen 46)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1992)
  nil )
 (!pair  "metaclass_super_refs"
  (!type already_seen 631)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1436)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 631)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1435)
  nil )
 (!pair  "protrefs"
  (!type already_seen 625)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 628)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  nil )
 (!pair  "classrefs"
  (!type already_seen 631)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  nil )
 (!pair  "extern_names"
  (!type already_seen 643)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 236)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 1598 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 1599 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 1600 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 1601 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 645)
  (!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 1529)
  (!srcfileloc  "objc/objc-act.c" 263)
  (!options 
   (!option param_is type 
    (!type already_seen 634)
   )
  )
 )
 (!pair  "alias_name_map"
  (!type already_seen 645)
  (!srcfileloc  "objc/objc-act.c" 173)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 645)
  (!srcfileloc  "objc/objc-act.c" 172)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 645)
  (!srcfileloc  "objc/objc-act.c" 168)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 645)
  (!srcfileloc  "objc/objc-act.c" 167)
  nil )
 (!pair  "objc_global_trees"
  (!type array 1602 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 638)
  (!srcfileloc  "objc/objc-act.h" 269)
  nil )
 (!pair  "local_variables_to_volatilize"
  (!type already_seen 46)
  (!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 962)
  (!srcfileloc  "lto/lto.c" 2880)
  (!options 
   (!option length string  "real_file_count + 1")
  )
 )
 (!pair  "all_file_decl_data"
  (!type already_seen 962)
  (!srcfileloc  "lto/lto.c" 2848)
  (!options 
   (!option length string  "lto_stats.num_input_files + 1")
  )
 )
 (!pair  "tree_with_vars"
  (!type already_seen 46)
  (!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 1603 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 183)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1604 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 136)
  nil )
 (!pair  "resources"
  (!type already_seen 46)
  (!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 46)
  (!srcfileloc  "java/jcf-parse.c" 88)
  nil )
 (!pair  "main_jcf"
  (!type already_seen 459)
  (!srcfileloc  "java/jcf-parse.c" 85)
  nil )
 (!pair  "parse_roots"
  (!type array 1605 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 46)
  (!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 1606 nil  gc_used "59" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/expr.c" 89)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 81)
  (!srcfileloc  "java/decl.c" 439)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 81)
  (!srcfileloc  "java/decl.c" 433)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 81)
  (!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 1607 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 46)
  (!srcfileloc  "java/class.c" 102)
  nil )
 (!pair  "class_roots"
  (!type array 1608 nil  gc_used "4" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/class.c" 96)
  nil )
 (!pair  "java_builtins"
  (!type array 1609 nil  gc_used "" 
   (!type already_seen 654)
  )
  (!srcfileloc  "java/builtins.c" 86)
  nil )
 (!pair  "pending_static_fields"
  (!type already_seen 46)
  (!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 1610 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 459)
  (!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 1611 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 1612 nil  gc_used "4" 
   (!type array 1613 nil  gc_used "3" 
    (!type already_seen 661)
   )
  )
  (!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 1614 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 103)
  nil )
 (!pair  "gfc_character_types"
  (!type array 1615 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 102)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 1616 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 98)
  nil )
 (!pair  "gfc_real_types"
  (!type array 1617 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 1618 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 93)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 1619 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 1620 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 1621 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 1622 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 1623 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-io.c" 151)
  nil )
 (!pair  "st_parameter_field"
  (!type array 1624 nil  gc_used "" 
   (!type already_seen 674)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 1625 nil  gc_used "" 
   (!type already_seen 673)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 1626 nil  gc_used "" 
   (!type already_seen 675)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 116)
  nil )
 (!pair  "module_htab"
  (!type already_seen 1531)
  (!srcfileloc  "fortran/trans-decl.c" 4113)
  (!options 
   (!option param_is type 
    (!type already_seen 676)
   )
  )
 )
 (!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 81)
  (!srcfileloc  "fortran/f95-lang.c" 325)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 81)
  (!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 81)
  (!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 46)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 131)
  nil )
 (!pair  "pending_noexcept_checks"
  (!type already_seen 681)
  (!srcfileloc  "cp/except.c" 1185)
  nil )
 (!pair  "cp_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-lang.c" 180)
  nil )
 (!pair  "shadowed_var_for_decl"
  (!type already_seen 1563)
  (!srcfileloc  "cp/cp-objcp-common.c" 649)
  (!options 
   (!option param_is type 
    (!type already_seen 1449)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "saved_builtins"
  (!type already_seen 684)
  (!srcfileloc  "cp/cp-objcp-common.c" 187)
  nil )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 8875)
  nil )
 (!pair  "sizeof_biggest_empty_class"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 112)
  nil )
 (!pair  "abstract_pending_vars"
  (!type already_seen 1533)
  (!srcfileloc  "cp/typeck2.c" 187)
  (!options 
   (!option param_is type 
    (!type already_seen 692)
   )
  )
 )
 (!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" 32011)
  nil )
 (!pair  "the_parser"
  (!type already_seen 701)
  (!srcfileloc  "cp/parser.c" 31442)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 696)
  (!srcfileloc  "cp/parser.c" 8667)
  nil )
 (!pair  "lambda_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 8661)
  nil )
 (!pair  "lambda_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/parser.c" 8660)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 707)
  (!srcfileloc  "cp/parser.c" 1762)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "list_hash_table"
  (!type already_seen 54)
  (!srcfileloc  "cp/tree.c" 1609)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "cplus_array_htab"
  (!type already_seen 54)
  (!srcfileloc  "cp/tree.c" 757)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "constexpr_call_table"
  (!type already_seen 1535)
  (!srcfileloc  "cp/semantics.c" 8136)
  (!options 
   (!option param_is type 
    (!type already_seen 720)
   )
  )
 )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1537)
  (!srcfileloc  "cp/semantics.c" 7444)
  (!options 
   (!option param_is type 
    (!type already_seen 723)
   )
  )
 )
 (!pair  "deferred_access_no_check"
  (!type already_seen 9)
  (!srcfileloc  "cp/semantics.c" 144)
  nil )
 (!pair  "deferred_access_stack"
  (!type already_seen 726)
  (!srcfileloc  "cp/semantics.c" 143)
  nil )
 (!pair  "pending_repo"
  (!type already_seen 46)
  (!srcfileloc  "cp/repo.c" 46)
  nil )
 (!pair  "last_error_tinst_level"
  (!type already_seen 735)
  (!srcfileloc  "cp/pt.c" 8250)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 46)
  (!srcfileloc  "cp/pt.c" 110)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 1539)
  (!srcfileloc  "cp/pt.c" 104)
  (!options 
   (!option param_is type 
    (!type already_seen 731)
   )
  )
 )
 (!pair  "decl_specializations"
  (!type already_seen 1539)
  (!srcfileloc  "cp/pt.c" 101)
  (!options 
   (!option param_is type 
    (!type already_seen 731)
   )
  )
 )
 (!pair  "saved_access_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 83)
  nil )
 (!pair  "current_tinst_level"
  (!type already_seen 735)
  (!srcfileloc  "cp/pt.c" 81)
  nil )
 (!pair  "saved_trees"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 78)
  nil )
 (!pair  "last_pending_template"
  (!type already_seen 734)
  (!srcfileloc  "cp/pt.c" 66)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 734)
  (!srcfileloc  "cp/pt.c" 65)
  nil )
 (!pair  "ssdf_decls"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 3348)
  nil )
 (!pair  "ssdf_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3344)
  nil )
 (!pair  "priority_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3341)
  nil )
 (!pair  "initialize_p_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3338)
  nil )
 (!pair  "no_linkage_decls"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 108)
  nil )
 (!pair  "maybe_comdat_fns"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 104)
  nil )
 (!pair  "deferred_fns"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 100)
  nil )
 (!pair  "pending_statics"
  (!type already_seen 46)
  (!srcfileloc  "cp/decl2.c" 96)
  nil )
 (!pair  "start_cleanup_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/decl.c" 6794)
  nil )
 (!pair  "typename_htab"
  (!type already_seen 54)
  (!srcfileloc  "cp/decl.c" 3269)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "incomplete_vars"
  (!type already_seen 744)
  (!srcfileloc  "cp/decl.c" 268)
  nil )
 (!pair  "java_iface_lookup_fn"
  (!type already_seen 5)
  (!srcfileloc  "cp/call.c" 7363)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 46)
  (!srcfileloc  "cp/call.c" 6527)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 46)
  (!srcfileloc  "cp/cp-tree.h" 5654)
  nil )
 (!pair  "deferred_mark_used_calls"
  (!type already_seen 46)
  (!srcfileloc  "cp/cp-tree.h" 5318)
  nil )
 (!pair  "assignment_operator_name_info"
  (!type array 1627 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 755)
  )
  (!srcfileloc  "cp/cp-tree.h" 4766)
  nil )
 (!pair  "operator_name_info"
  (!type array 1628 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 755)
  )
  (!srcfileloc  "cp/cp-tree.h" 4763)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4508)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4506)
  nil )
 (!pair  "local_classes"
  (!type already_seen 46)
  (!srcfileloc  "cp/cp-tree.h" 4408)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4362)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 762)
  (!srcfileloc  "cp/cp-tree.h" 1127)
  nil )
 (!pair  "cp_global_trees"
  (!type array 1629 nil  gc_used "CPTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/cp-tree.h" 905)
  nil )
 (!pair  "lambda_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2119)
  nil )
 (!pair  "anon_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2092)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 95)
  (!srcfileloc  "cp/name-lookup.c" 1532)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_bindings"
  (!type already_seen 100)
  (!srcfileloc  "cp/name-lookup.c" 277)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_entry"
  (!type already_seen 497)
  (!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" 287)
  nil )
 (!pair  "global_scope_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 282)
  nil )
 (!pair  "global_namespace"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 281)
  nil )
 (!pair  "temp_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 3876)
  nil )
 (!pair  "conv_type_names"
  (!type already_seen 54)
  (!srcfileloc  "cp/mangle.c" 3740)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "subst_identifiers"
  (!type array 1630 nil  gc_used "SUBID_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/mangle.c" 137)
  nil )
 (!pair  "G"
  (!type already_seen 765)
  (!srcfileloc  "cp/mangle.c" 108)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 767)
  (!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 772)
  (!srcfileloc  "c/c-parser.c" 223)
  nil )
 (!pair  "options_stack"
  (!type already_seen 781)
  (!srcfileloc  "c-family/c-pragma.c" 904)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 783)
  (!srcfileloc  "c-family/c-pragma.c" 433)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 786)
  (!srcfileloc  "c-family/c-pragma.c" 247)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 789)
  (!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" 1209)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 1631 nil  gc_used "12" 
   (!type already_seen 792)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1208)
  nil )
 (!pair  "pending_lang_change"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 945)
  nil )
 (!pair  "c_global_trees"
  (!type array 1632 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 800)
  (!srcfileloc  "c-family/c-common.c" 11625)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 803)
  (!srcfileloc  "c-family/c-common.c" 9089)
  nil )
 (!pair  "compound_literal_number"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.c" 5751)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1633 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.c" 5126)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 54)
  (!srcfileloc  "c-family/c-common.c" 4828)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-common.c" 3489)
  nil )
 (!pair  "saved_builtins"
  (!type already_seen 810)
  (!srcfileloc  "c/c-decl.c" 10527)
  nil )
 (!pair  "ext_block"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 10393)
  nil )
 (!pair  "ext_blocks"
  (!type already_seen 46)
  (!srcfileloc  "c/c-decl.c" 546)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 813)
  (!srcfileloc  "c/c-decl.c" 494)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 591)
  (!srcfileloc  "c/c-decl.c" 446)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 597)
  (!srcfileloc  "c/c-decl.c" 442)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 597)
  (!srcfileloc  "c/c-decl.c" 438)
  nil )
 (!pair  "file_scope"
  (!type already_seen 597)
  (!srcfileloc  "c/c-decl.c" 433)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 597)
  (!srcfileloc  "c/c-decl.c" 429)
  nil )
 (!pair  "current_scope"
  (!type already_seen 597)
  (!srcfileloc  "c/c-decl.c" 423)
  nil )
 (!pair  "visible_builtins"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 127)
  nil )
 (!pair  "c_stmt_tree"
  (!type already_seen 89)
  (!srcfileloc  "c/c-decl.c" 120)
  nil )
 (!pair  "gnat_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/misc.c" 834)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1634 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5997)
  nil )
 (!pair  "builtin_types"
  (!type array 1635 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5857)
  nil )
 (!pair  "dummy_global"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5645)
  nil )
 (!pair  "pad_type_hash_table"
  (!type already_seen 1541)
  (!srcfileloc  "ada/gcc-interface/utils.c" 232)
  (!options 
   (!option param_is type 
    (!type already_seen 824)
   )
   (!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 46)
  (!srcfileloc  "ada/gcc-interface/utils.c" 214)
  nil )
 (!pair  "builtin_decls"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/utils.c" 211)
  nil )
 (!pair  "global_decls"
  (!type already_seen 46)
  (!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 827)
  (!srcfileloc  "ada/gcc-interface/utils.c" 202)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 827)
  (!srcfileloc  "ada/gcc-interface/utils.c" 199)
  nil )
 (!pair  "float_types"
  (!type array 1636 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 1637 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 1638 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" 2870)
  nil )
 (!pair  "vms_builtin_establish_handler_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 2869)
  nil )
 (!pair  "gnu_program_error_label_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 229)
  nil )
 (!pair  "gnu_storage_error_label_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 228)
  nil )
 (!pair  "gnu_constraint_error_label_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 227)
  nil )
 (!pair  "gnu_loop_stack"
  (!type already_seen 830)
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  nil )
 (!pair  "gnu_return_var_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 200)
  nil )
 (!pair  "gnu_return_label_stack"
  (!type already_seen 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 196)
  nil )
 (!pair  "gnu_elab_proc_stack"
  (!type already_seen 46)
  (!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 46)
  (!srcfileloc  "ada/gcc-interface/trans.c" 186)
  nil )
 (!pair  "elab_info_list"
  (!type already_seen 838)
  (!srcfileloc  "ada/gcc-interface/trans.c" 181)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 840)
  (!srcfileloc  "ada/gcc-interface/trans.c" 168)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 840)
  (!srcfileloc  "ada/gcc-interface/trans.c" 165)
  nil )
 (!pair  "annotate_value_cache"
  (!type already_seen 1543)
  (!srcfileloc  "ada/gcc-interface/decl.c" 132)
  (!options 
   (!option param_is type 
    (!type already_seen 1447)
   )
   (!option if_marked string  "tree_int_map_marked_p")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 1639 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 1640 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 1641 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 1642 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "internal-fn.h" 57)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 859)
  (!srcfileloc  "ipa-devirt.c" 279)
  nil )
 (!pair  "decl_tree_for_type"
  (!type already_seen 1545)
  (!srcfileloc  "ubsan.c" 71)
  (!options 
   (!option param_is type 
    (!type already_seen 872)
   )
   (!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 1643 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 890)
  (!srcfileloc  "ipa-inline.h" 164)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1551)
  (!srcfileloc  "trans-mem.c" 475)
  (!options 
   (!option param_is type 
    (!type already_seen 1451)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "ipa_edge_args_vector"
  (!type already_seen 989)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "ipa_node_agg_replacements"
  (!type already_seen 1007)
  (!srcfileloc  "ipa-prop.h" 509)
  nil )
 (!pair  "ipa_escaped_pt"
  (!type already_seen 387)
  (!srcfileloc  "tree-ssa-alias.h" 146)
  nil )
 (!pair  "free_phinodes"
  (!type array 1644 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 385)
  )
  (!srcfileloc  "tree-phinodes.c" 79)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "varying_ssa_edges"
  (!type already_seen 385)
  (!srcfileloc  "tree-ssa-propagate.c" 172)
  nil )
 (!pair  "interesting_ssa_edges"
  (!type already_seen 385)
  (!srcfileloc  "tree-ssa-propagate.c" 156)
  nil )
 (!pair  "clone_fn_id_num"
  (!type already_seen 9)
  (!srcfileloc  "cgraphclones.c" 534)
  nil )
 (!pair  "output_node_hash"
  (!type already_seen 1595)
  (!srcfileloc  "cgraphunit.c" 1245)
  (!options 
   (!option param_is type 
    (!type already_seen 953)
   )
  )
 )
 (!pair  "vtable_entry_type"
  (!type already_seen 5)
  (!srcfileloc  "cgraphunit.c" 235)
  nil )
 (!pair  "asm_last_node"
  (!type already_seen 1383)
  (!srcfileloc  "cgraphunit.c" 232)
  nil )
 (!pair  "order"
  (!type already_seen 929)
  (!srcfileloc  "passes.c" 1613)
  (!options 
   (!option length string  "nnodes")
  )
 )
 (!pair  "vselect_insn"
  (!type already_seen 137)
  (!srcfileloc  "config/i386/i386.c" 43125)
  nil )
 (!pair  "ix86_builtins"
  (!type array 1645 nil  gc_used "(int) IX86_BUILTIN_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/i386/i386.c" 29501)
  nil )
 (!pair  "ix86_builtin_func_type_tab"
  (!type array 1646 nil  gc_used "(int) IX86_BT_LAST_ALIAS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/i386/i386.c" 27809)
  nil )
 (!pair  "ix86_builtin_type_tab"
  (!type array 1647 nil  gc_used "(int) IX86_BT_LAST_CPTR + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/i386/i386.c" 27759)
  nil )
 (!pair  "dllimport_map"
  (!type already_seen 1551)
  (!srcfileloc  "config/i386/i386.c" 14047)
  (!options 
   (!option param_is type 
    (!type already_seen 1451)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "ix86_tls_module_base_symbol"
  (!type already_seen 137)
  (!srcfileloc  "config/i386/i386.c" 13791)
  nil )
 (!pair  "ix86_tls_symbol"
  (!type already_seen 137)
  (!srcfileloc  "config/i386/i386.c" 13764)
  nil )
 (!pair  "split_stack_fn_large"
  (!type already_seen 137)
  (!srcfileloc  "config/i386/i386.c" 12256)
  nil )
 (!pair  "split_stack_fn"
  (!type already_seen 137)
  (!srcfileloc  "config/i386/i386.c" 12251)
  nil )
 (!pair  "queued_cfa_restores"
  (!type already_seen 137)
  (!srcfileloc  "config/i386/i386.c" 10236)
  nil )
 (!pair  "ix86_previous_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "config/i386/i386.c" 4921)
  nil )
 (!pair  "ms_va_list_type_node"
  (!type already_seen 5)
  (!srcfileloc  "config/i386/i386.c" 2314)
  nil )
 (!pair  "sysv_va_list_type_node"
  (!type already_seen 5)
  (!srcfileloc  "config/i386/i386.c" 2313)
  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 1547)
  (!srcfileloc  "omp-low.c" 8943)
  (!options 
   (!option param2_is type 
    (!type already_seen 5)
   )
   (!option param1_is type 
    (!type already_seen 5)
   )
  )
 )
 (!pair  "parallelized_functions"
  (!type already_seen 121)
  (!srcfileloc  "tree-parloops.c" 1424)
  nil )
 (!pair  "trampoline_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-nested.c" 479)
  nil )
 (!pair  "gcov_sampling_period_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 232)
  nil )
 (!pair  "gcov_sample_counter_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 223)
  nil )
 (!pair  "gcov_info_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 97)
  nil )
 (!pair  "ptr_void"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 96)
  nil )
 (!pair  "dc_gcov_type_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 95)
  nil )
 (!pair  "dc_void_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 94)
  nil )
 (!pair  "ic_gcov_type_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 93)
  nil )
 (!pair  "ic_void_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 92)
  nil )
 (!pair  "tree_ior_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 89)
  nil )
 (!pair  "tree_average_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 88)
  nil )
 (!pair  "tree_time_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 87)
  nil )
 (!pair  "tree_direct_call_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 86)
  nil )
 (!pair  "tree_indirect_call_topn_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 85)
  nil )
 (!pair  "tree_indirect_call_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 84)
  nil )
 (!pair  "tree_one_value_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 83)
  nil )
 (!pair  "tree_pow2_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 82)
  nil )
 (!pair  "tree_interval_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 81)
  nil )
 (!pair  "gcov_type_node"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 80)
  nil )
 (!pair  "scalar_evolution_info"
  (!type already_seen 1549)
  (!srcfileloc  "tree-scalar-evolution.c" 325)
  (!options 
   (!option param_is type 
    (!type already_seen 1080)
   )
  )
 )
 (!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" 445)
  nil )
 (!pair  "stmt_list_cache"
  (!type already_seen 46)
  (!srcfileloc  "tree-iterator.c" 32)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "mem_addr_template_list"
  (!type already_seen 1097)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "elf_fini_array_section"
  (!type already_seen 246)
  (!srcfileloc  "varasm.c" 7569)
  nil )
 (!pair  "elf_init_array_section"
  (!type already_seen 246)
  (!srcfileloc  "varasm.c" 7568)
  nil )
 (!pair  "tm_clone_hash"
  (!type already_seen 1551)
  (!srcfileloc  "varasm.c" 5746)
  (!options 
   (!option param_is type 
    (!type already_seen 1451)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "weakref_targets"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 5429)
  nil )
 (!pair  "const_desc_htab"
  (!type already_seen 1553)
  (!srcfileloc  "varasm.c" 2809)
  (!options 
   (!option param_is type 
    (!type already_seen 1369)
   )
  )
 )
 (!pair  "initial_trampoline"
  (!type already_seen 137)
  (!srcfileloc  "varasm.c" 2520)
  nil )
 (!pair  "weak_decls"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2291)
  nil )
 (!pair  "pending_assemble_externals"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2221)
  nil )
 (!pair  "shared_constant_pool"
  (!type already_seen 1414)
  (!srcfileloc  "varasm.c" 192)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1555)
  (!srcfileloc  "varasm.c" 186)
  (!options 
   (!option param_is type 
    (!type already_seen 245)
   )
  )
 )
 (!pair  "section_htab"
  (!type already_seen 1557)
  (!srcfileloc  "varasm.c" 183)
  (!options 
   (!option param_is type 
    (!type already_seen 247)
   )
  )
 )
 (!pair  "unnamed_sections"
  (!type already_seen 246)
  (!srcfileloc  "varasm.c" 175)
  nil )
 (!pair  "const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 80)
  nil )
 (!pair  "weak_global_object_name"
  (!type already_seen 37)
  (!srcfileloc  "varasm.c" 66)
  nil )
 (!pair  "first_global_object_name"
  (!type already_seen 37)
  (!srcfileloc  "varasm.c" 65)
  nil )
 (!pair  "gcc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 11760)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 1648 nil  gc_used "2 * MAX_INT_CACHED_PREC + 2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree.c" 7663)
  nil )
 (!pair  "init_priority_for_decl"
  (!type already_seen 1559)
  (!srcfileloc  "tree.c" 223)
  (!options 
   (!option param_is type 
    (!type already_seen 1445)
   )
   (!option if_marked string  "tree_priority_map_marked_p")
  )
 )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1561)
  (!srcfileloc  "tree.c" 219)
  (!options 
   (!option param_is type 
    (!type already_seen 1443)
   )
   (!option if_marked string  "tree_vec_map_marked_p")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1563)
  (!srcfileloc  "tree.c" 216)
  (!options 
   (!option param_is type 
    (!type already_seen 1449)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1563)
  (!srcfileloc  "tree.c" 213)
  (!options 
   (!option param_is type 
    (!type already_seen 1449)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 54)
  (!srcfileloc  "tree.c" 207)
  (!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" 205)
  nil )
 (!pair  "cl_optimization_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 204)
  nil )
 (!pair  "int_cst_hash_table"
  (!type already_seen 54)
  (!srcfileloc  "tree.c" 197)
  (!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" 195)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 1565)
  (!srcfileloc  "tree.c" 192)
  (!options 
   (!option param_is type 
    (!type already_seen 1165)
   )
   (!option if_marked string  "type_hash_marked_p")
  )
 )
 (!pair  "next_debug_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 171)
  nil )
 (!pair  "next_type_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 168)
  nil )
 (!pair  "next_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 166)
  nil )
 (!pair  "spd"
  (!type already_seen 1168)
  (!srcfileloc  "stringpool.c" 254)
  nil )
 (!pair  "size_functions"
  (!type already_seen 46)
  (!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 46)
  (!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 137)
  (!srcfileloc  "cfgrtl.c" 68)
  nil )
 (!pair  "cfg_layout_function_footer"
  (!type already_seen 137)
  (!srcfileloc  "cfgrtl.c" 67)
  nil )
 (!pair  "libfunc_decls"
  (!type already_seen 54)
  (!srcfileloc  "optabs.c" 6061)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "unused_expr_list"
  (!type already_seen 137)
  (!srcfileloc  "lists.c" 36)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "unused_insn_list"
  (!type already_seen 137)
  (!srcfileloc  "lists.c" 33)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "queue"
  (!type already_seen 46)
  (!srcfileloc  "godump.c" 59)
  nil )
 (!pair  "test_insn"
  (!type already_seen 137)
  (!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 54)
  (!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" 4335)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1567)
  (!srcfileloc  "function.c" 545)
  (!options 
   (!option param_is type 
    (!type already_seen 1230)
   )
  )
 )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1571)
  (!srcfileloc  "function.c" 108)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1571)
  (!srcfileloc  "function.c" 106)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "funcdef_no"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 95)
  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 137)
  (!srcfileloc  "explow.c" 1527)
  nil )
 (!pair  "hard_reg_clobbers"
  (!type array 1649 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 1650 nil  gc_used "FIRST_PSEUDO_REGISTER" 
    (!type already_seen 137)
   )
  )
  (!srcfileloc  "emit-rtl.c" 5953)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_sequence_stack"
  (!type already_seen 1411)
  (!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 1571)
  (!srcfileloc  "emit-rtl.c" 139)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1571)
  (!srcfileloc  "emit-rtl.c" 135)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1569)
  (!srcfileloc  "emit-rtl.c" 131)
  (!options 
   (!option param_is type 
    (!type already_seen 271)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1571)
  (!srcfileloc  "emit-rtl.c" 127)
  (!options 
   (!option param_is type 
    (!type already_seen 139)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "emit-rtl.c" 89)
  nil )
 (!pair  "varpool_symtab"
  (!type already_seen 1595)
  (!srcfileloc  "l-ipo.c" 2157)
  (!options 
   (!option param_is type 
    (!type already_seen 953)
   )
  )
 )
 (!pair  "cgraph_symtab"
  (!type already_seen 1573)
  (!srcfileloc  "l-ipo.c" 1183)
  (!options 
   (!option param_is type 
    (!type already_seen 1376)
   )
  )
 )
 (!pair  "l_ipo_type_tab"
  (!type already_seen 1575)
  (!srcfileloc  "l-ipo.c" 525)
  (!options 
   (!option param_is type 
    (!type already_seen 1242)
   )
  )
 )
 (!pair  "referenced_asm_ids"
  (!type already_seen 46)
  (!srcfileloc  "l-ipo.c" 72)
  nil )
 (!pair  "saved_module_scope_map"
  (!type already_seen 1577)
  (!srcfileloc  "l-ipo.c" 62)
  (!options 
   (!option param_is type 
    (!type already_seen 1245)
   )
  )
 )
 (!pair  "current_module_scope"
  (!type already_seen 1246)
  (!srcfileloc  "l-ipo.c" 61)
  nil )
 (!pair  "shift_test"
  (!type already_seen 137)
  (!srcfileloc  "dojump.c" 159)
  nil )
 (!pair  "and_test"
  (!type already_seen 137)
  (!srcfileloc  "dojump.c" 158)
  nil )
 (!pair  "and_reg"
  (!type already_seen 137)
  (!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 1579)
  (!srcfileloc  "dwarf2out.c" 4162)
  (!options 
   (!option param_is type 
    (!type already_seen 427)
   )
  )
 )
 (!pair  "generic_type_instances"
  (!type already_seen 46)
  (!srcfileloc  "dwarf2out.c" 2964)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1275)
  (!srcfileloc  "dwarf2out.c" 2958)
  nil )
 (!pair  "file_table_last_lookup"
  (!type already_seen 447)
  (!srcfileloc  "dwarf2out.c" 2956)
  nil )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2953)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 447)
  (!srcfileloc  "dwarf2out.c" 2950)
  nil )
 (!pair  "poc_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2944)
  nil )
 (!pair  "loclabel_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2941)
  nil )
 (!pair  "have_location_lists"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2938)
  nil )
 (!pair  "ranges_by_label_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2931)
  nil )
 (!pair  "ranges_by_label_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2928)
  nil )
 (!pair  "ranges_by_label"
  (!type already_seen 1304)
  (!srcfileloc  "dwarf2out.c" 2925)
  (!options 
   (!option length string  "ranges_by_label_allocated")
  )
 )
 (!pair  "ranges_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2921)
  nil )
 (!pair  "ranges_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1306)
  (!srcfileloc  "dwarf2out.c" 2915)
  (!options 
   (!option length string  "ranges_table_allocated")
  )
 )
 (!pair  "macinfo_table"
  (!type already_seen 1278)
  (!srcfileloc  "dwarf2out.c" 2906)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 2902)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 2898)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1285)
  (!srcfileloc  "dwarf2out.c" 2890)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1286)
  (!srcfileloc  "dwarf2out.c" 2887)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1286)
  (!srcfileloc  "dwarf2out.c" 2886)
  nil )
 (!pair  "abbrev_die_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2871)
  nil )
 (!pair  "abbrev_die_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2868)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 435)
  (!srcfileloc  "dwarf2out.c" 2865)
  (!options 
   (!option length string  "abbrev_die_table_allocated")
  )
 )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1581)
  (!srcfileloc  "dwarf2out.c" 2859)
  (!options 
   (!option param_is type 
    (!type already_seen 1292)
   )
  )
 )
 (!pair  "call_arg_locations"
  (!type already_seen 1295)
  (!srcfileloc  "dwarf2out.c" 2836)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1583)
  (!srcfileloc  "dwarf2out.c" 2833)
  (!options 
   (!option param_is type 
    (!type already_seen 1296)
   )
  )
 )
 (!pair  "common_block_die_table"
  (!type already_seen 1585)
  (!srcfileloc  "dwarf2out.c" 2776)
  (!options 
   (!option param_is type 
    (!type already_seen 436)
   )
  )
 )
 (!pair  "decl_die_table"
  (!type already_seen 1585)
  (!srcfileloc  "dwarf2out.c" 2772)
  (!options 
   (!option param_is type 
    (!type already_seen 436)
   )
  )
 )
 (!pair  "file_table"
  (!type already_seen 1587)
  (!srcfileloc  "dwarf2out.c" 2768)
  (!options 
   (!option param_is type 
    (!type already_seen 448)
   )
  )
 )
 (!pair  "deferred_asm_name"
  (!type already_seen 1302)
  (!srcfileloc  "dwarf2out.c" 2765)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1302)
  (!srcfileloc  "dwarf2out.c" 2761)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 438)
  (!srcfileloc  "dwarf2out.c" 2758)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.c" 2755)
  nil )
 (!pair  "deferred_locations_list"
  (!type already_seen 1308)
  (!srcfileloc  "dwarf2out.c" 1238)
  nil )
 (!pair  "current_unit_personality"
  (!type already_seen 137)
  (!srcfileloc  "dwarf2out.c" 265)
  nil )
 (!pair  "decltype_auto_die"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.c" 255)
  nil )
 (!pair  "auto_die"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.c" 252)
  nil )
 (!pair  "cold_text_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 249)
  nil )
 (!pair  "cold_text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 246)
  nil )
 (!pair  "text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "have_multiple_function_sections"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 241)
  nil )
 (!pair  "dw2_string_counter"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 238)
  nil )
 (!pair  "skeleton_debug_str_hash"
  (!type already_seen 1589)
  (!srcfileloc  "dwarf2out.c" 236)
  (!options 
   (!option param_is type 
    (!type already_seen 446)
   )
  )
 )
 (!pair  "debug_str_hash"
  (!type already_seen 1589)
  (!srcfileloc  "dwarf2out.c" 214)
  (!options 
   (!option param_is type 
    (!type already_seen 446)
   )
  )
 )
 (!pair  "fde_vec"
  (!type already_seen 1311)
  (!srcfileloc  "dwarf2out.c" 204)
  nil )
 (!pair  "debug_frame_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 169)
  nil )
 (!pair  "debug_ranges_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 168)
  nil )
 (!pair  "debug_str_offsets_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 167)
  nil )
 (!pair  "debug_str_dwo_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 166)
  nil )
 (!pair  "debug_str_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 165)
  nil )
 (!pair  "debug_pubtypes_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 164)
  nil )
 (!pair  "debug_pubnames_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 163)
  nil )
 (!pair  "debug_loc_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 162)
  nil )
 (!pair  "debug_skeleton_line_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 161)
  nil )
 (!pair  "debug_line_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 160)
  nil )
 (!pair  "debug_macinfo_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 159)
  nil )
 (!pair  "debug_addr_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 158)
  nil )
 (!pair  "debug_aranges_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 157)
  nil )
 (!pair  "debug_skeleton_abbrev_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 156)
  nil )
 (!pair  "debug_abbrev_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 155)
  nil )
 (!pair  "debug_skeleton_info_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 154)
  nil )
 (!pair  "debug_info_section"
  (!type already_seen 246)
  (!srcfileloc  "dwarf2out.c" 153)
  nil )
 (!pair  "decl_scope_table"
  (!type already_seen 46)
  (!srcfileloc  "dwarf2out.c" 150)
  nil )
 (!pair  "incomplete_types"
  (!type already_seen 46)
  (!srcfileloc  "dwarf2out.c" 143)
  nil )
 (!pair  "used_rtx_array"
  (!type already_seen 252)
  (!srcfileloc  "dwarf2out.c" 137)
  nil )
 (!pair  "saved_do_cfi_asm"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 3312)
  nil )
 (!pair  "dwarf2out_cfi_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 196)
  nil )
 (!pair  "cie_return_save"
  (!type already_seen 1318)
  (!srcfileloc  "dwarf2cfi.c" 194)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1320)
  (!srcfileloc  "dwarf2cfi.c" 192)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2asm.c" 797)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1591)
  (!srcfileloc  "dwarf2asm.c" 795)
  (!options 
   (!option param2_is type 
    (!type already_seen 5)
   )
   (!option param1_is type 
    (!type already_seen 37)
   )
  )
 )
 (!pair  "cie_cfi_vec"
  (!type already_seen 417)
  (!srcfileloc  "dwarf2out.h" 238)
  nil )
 (!pair  "lastfile_is_base"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 251)
  nil )
 (!pair  "lastfile"
  (!type already_seen 37)
  (!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 1325)
  (!srcfileloc  "dbxout.c" 181)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1391)
  (!srcfileloc  "cgraph.c" 176)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1593)
  (!srcfileloc  "cgraph.c" 152)
  (!options 
   (!option param_is type 
    (!type already_seen 1390)
   )
  )
 )
 (!pair  "free_edges"
  (!type already_seen 931)
  (!srcfileloc  "cgraph.c" 142)
  nil )
 (!pair  "free_nodes"
  (!type already_seen 928)
  (!srcfileloc  "cgraph.c" 139)
  nil )
 (!pair  "callmem"
  (!type already_seen 137)
  (!srcfileloc  "cselib.c" 233)
  nil )
 (!pair  "bitmap_ggc_free"
  (!type already_seen 123)
  (!srcfileloc  "bitmap.c" 139)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "frame_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1042)
  nil )
 (!pair  "varargs_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1020)
  nil )
 (!pair  "alias_sets"
  (!type already_seen 1355)
  (!srcfileloc  "alias.c" 266)
  nil )
 (!pair  "reg_known_value"
  (!type already_seen 252)
  (!srcfileloc  "alias.c" 244)
  nil )
 (!pair  "old_reg_base_value"
  (!type already_seen 252)
  (!srcfileloc  "alias.c" 225)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "arg_base_value"
  (!type already_seen 137)
  (!srcfileloc  "alias.c" 217)
  nil )
 (!pair  "reg_base_value"
  (!type already_seen 252)
  (!srcfileloc  "alias.c" 212)
  nil )
 (!pair  "assembler_name_hash"
  (!type already_seen 1595)
  (!srcfileloc  "symtab.c" 63)
  (!options 
   (!option param_is type 
    (!type already_seen 953)
   )
  )
 )
 (!pair  "symtab_hash"
  (!type already_seen 1595)
  (!srcfileloc  "symtab.c" 61)
  (!options 
   (!option param_is type 
    (!type already_seen 953)
   )
  )
 )
 (!pair  "restinsn"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 106)
  nil )
 (!pair  "saveinsn"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 105)
  nil )
 (!pair  "test_mem"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 104)
  nil )
 (!pair  "test_reg"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 103)
  nil )
 (!pair  "restpat"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 102)
  nil )
 (!pair  "savepat"
  (!type already_seen 137)
  (!srcfileloc  "caller-save.c" 101)
  nil )
 (!pair  "symtab_order"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 716)
  nil )
 (!pair  "asm_nodes"
  (!type already_seen 1383)
  (!srcfileloc  "cgraph.h" 715)
  nil )
 (!pair  "cgraph_edge_max_uid"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 692)
  nil )
 (!pair  "cgraph_max_uid"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 691)
  nil )
 (!pair  "cgraph_n_nodes"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 690)
  nil )
 (!pair  "symtab_nodes"
  (!type already_seen 954)
  (!srcfileloc  "cgraph.h" 689)
  nil )
 (!pair  "in_cold_section_p"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 516)
  nil )
 (!pair  "in_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 515)
  nil )
 (!pair  "bss_noswitch_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 513)
  nil )
 (!pair  "lcomm_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 512)
  nil )
 (!pair  "comm_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 511)
  nil )
 (!pair  "tls_comm_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 510)
  nil )
 (!pair  "eh_frame_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 509)
  nil )
 (!pair  "exception_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 508)
  nil )
 (!pair  "sbss_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 507)
  nil )
 (!pair  "bss_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 506)
  nil )
 (!pair  "dtors_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 505)
  nil )
 (!pair  "ctors_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 504)
  nil )
 (!pair  "sdata_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 503)
  nil )
 (!pair  "readonly_data_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 502)
  nil )
 (!pair  "data_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 501)
  nil )
 (!pair  "text_section"
  (!type already_seen 246)
  (!srcfileloc  "output.h" 500)
  nil )
 (!pair  "types_used_by_cur_var_decl"
  (!type already_seen 46)
  (!srcfileloc  "function.h" 782)
  nil )
 (!pair  "types_used_by_vars_hash"
  (!type already_seen 1597)
  (!srcfileloc  "function.h" 774)
  (!options 
   (!option param_is type 
    (!type already_seen 1406)
   )
  )
 )
 (!pair  "cfun"
  (!type already_seen 352)
  (!srcfileloc  "function.h" 750)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1408)
  (!srcfileloc  "function.h" 492)
  nil )
 (!pair  "regno_reg_rtx"
  (!type already_seen 138)
  (!srcfileloc  "function.h" 93)
  (!options 
   (!option length string  "crtl->emit.x_reg_rtx_no")
  )
 )
 (!pair  "default_target_libfuncs"
  (!type already_seen 547)
  (!srcfileloc  "libfuncs.h" 73)
  nil )
 (!pair  "current_function_func_begin_label"
  (!type already_seen 37)
  (!srcfileloc  "tree-core.h" 1867)
  nil )
 (!pair  "current_function_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-core.h" 1864)
  nil )
 (!pair  "builtin_info"
  (!type already_seen 1438)
  (!srcfileloc  "tree-core.h" 1854)
  nil )
 (!pair  "sizetype_tab"
  (!type array 1651 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1842)
  nil )
 (!pair  "integer_types"
  (!type array 1652 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1839)
  nil )
 (!pair  "global_trees"
  (!type array 1653 nil  gc_used "TI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1835)
  nil )
 (!pair  "all_translation_units"
  (!type already_seen 46)
  (!srcfileloc  "tree-core.h" 1832)
  nil )
 (!pair  "alias_pairs"
  (!type already_seen 1436)
  (!srcfileloc  "tree-core.h" 1819)
  nil )
 (!pair  "stack_limit_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2734)
  nil )
 (!pair  "default_target_rtl"
  (!type already_seen 540)
  (!srcfileloc  "rtl.h" 2308)
  nil )
 (!pair  "simple_return_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2209)
  nil )
 (!pair  "ret_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2208)
  nil )
 (!pair  "cc0_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2207)
  nil )
 (!pair  "pc_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2206)
  nil )
 (!pair  "const_tiny_rtx"
  (!type array 1654 nil  gc_used "4" 
   (!type array 1655 nil  gc_used "(int) MAX_MACHINE_MODE" 
    (!type already_seen 137)
   )
  )
  (!srcfileloc  "rtl.h" 2193)
  nil )
 (!pair  "const_true_rtx"
  (!type already_seen 137)
  (!srcfileloc  "rtl.h" 2191)
  nil )
 (!pair  "const_int_rtx"
  (!type array 1656 nil  gc_used "MAX_SAVED_CONST_INT * 2 + 1" 
   (!type already_seen 137)
  )
  (!srcfileloc  "rtl.h" 2185)
  nil )
 (!pair  "gcov_fn_info_ptr_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 136)
  nil )
 (!pair  "gcov_fn_info_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 135)
  nil )
 (!pair  "gcov_info_var"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 134)
  nil )
 (!pair  "fn_v_ctrs"
  (!type array 1657 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 5)
  )
  (!srcfileloc  "coverage.c" 129)
  nil )
 (!pair  "functions_head"
  (!type already_seen 1480)
  (!srcfileloc  "coverage.c" 120)
  nil )
 (!pair  "line_table"
  (!type already_seen 1513)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
