;;;;@@@@ GCC gengtype state
;;; DON'T EDIT THIS FILE, since generated by GCC's gengtype
;;; The format of this file is tied to a particular version of GCC.
;;; Don't parse this file wihout knowing GCC gengtype internals.
;;; This file should be parsed by the same gengtype which wrote it.

(!version  "4.9.2")
(!srcdir  "/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc")
(!languages 9 ada c cp fortran go java lto objc objcp)
(!fileslist 192
 (!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/dbxelf.h")
 (!srcfile 511  "config/elfos.h")
 (!srcfile 511  "config/gnu-user.h")
 (!srcfile 511  "config/linux.h")
 (!srcfile 511  "config/linux-android.h")
 (!srcfile 511  "config/glibc-stdint.h")
 (!srcfile 511  "config/vxworks-dummy.h")
 (!srcfile 511  "config/mips/mips.h")
 (!srcfile 511  "config/mips/gnu-user.h")
 (!srcfile 511  "config/mips/linux.h")
 (!srcfile 511  "config/mips/linux-common.h")
 (!srcfile 511  "config/initfini-array.h")
 (!srcfile 511  "defaults.h")
 (!srcfile 511  "../include/hashtab.h")
 (!srcfile 511  "../include/splay-tree.h")
 (!srcfile 511  "bitmap.h")
 (!srcfile 511  "alias.h")
 (!srcfile 511  "coverage.c")
 (!srcfile 511  "rtl.h")
 (!srcfile 511  "optabs.h")
 (!srcfile 511  "tree.h")
 (!srcfile 511  "tree-core.h")
 (!srcfile 511  "libfuncs.h")
 (!srcfile 511  "../libcpp/include/symtab.h")
 (!srcfile 511  "../include/obstack.h")
 (!srcfile 511  "real.h")
 (!srcfile 511  "function.h")
 (!srcfile 511  "insn-addr.h")
 (!srcfile 511  "hwint.h")
 (!srcfile 511  "fixed-value.h")
 (!srcfile 511  "output.h")
 (!srcfile 511  "cfgloop.h")
 (!srcfile 511  "cselib.h")
 (!srcfile 511  "basic-block.h")
 (!srcfile 511  "ipa-ref.h")
 (!srcfile 511  "cgraph.h")
 (!srcfile 511  "reload.h")
 (!srcfile 511  "caller-save.c")
 (!srcfile 511  "symtab.c")
 (!srcfile 511  "alias.c")
 (!srcfile 511  "bitmap.c")
 (!srcfile 511  "cselib.c")
 (!srcfile 511  "cgraph.c")
 (!srcfile 511  "ipa-prop.c")
 (!srcfile 511  "ipa-cp.c")
 (!srcfile 511  "ipa-utils.h")
 (!srcfile 511  "dbxout.c")
 (!srcfile 511  "dwarf2out.h")
 (!srcfile 511  "dwarf2asm.c")
 (!srcfile 511  "dwarf2cfi.c")
 (!srcfile 511  "dwarf2out.c")
 (!srcfile 511  "tree-vect-generic.c")
 (!srcfile 511  "dojump.c")
 (!srcfile 511  "emit-rtl.c")
 (!srcfile 511  "except.h")
 (!srcfile 511  "explow.c")
 (!srcfile 511  "expr.c")
 (!srcfile 511  "expr.h")
 (!srcfile 511  "function.c")
 (!srcfile 511  "except.c")
 (!srcfile 511  "gcse.c")
 (!srcfile 511  "godump.c")
 (!srcfile 511  "lists.c")
 (!srcfile 511  "optabs.c")
 (!srcfile 511  "profile.c")
 (!srcfile 511  "mcf.c")
 (!srcfile 511  "reg-stack.c")
 (!srcfile 511  "cfgrtl.c")
 (!srcfile 511  "sdbout.c")
 (!srcfile 511  "stor-layout.c")
 (!srcfile 511  "stringpool.c")
 (!srcfile 511  "tree.c")
 (!srcfile 511  "varasm.c")
 (!srcfile 511  "gimple.h")
 (!srcfile 511  "gimple-ssa.h")
 (!srcfile 511  "tree-ssanames.c")
 (!srcfile 511  "tree-eh.c")
 (!srcfile 511  "tree-ssa-address.c")
 (!srcfile 511  "tree-cfg.c")
 (!srcfile 511  "tree-dfa.c")
 (!srcfile 511  "tree-iterator.c")
 (!srcfile 511  "gimple-expr.c")
 (!srcfile 511  "tree-chrec.h")
 (!srcfile 511  "tree-scalar-evolution.c")
 (!srcfile 511  "tree-ssa-operands.h")
 (!srcfile 511  "tree-profile.c")
 (!srcfile 511  "tree-nested.c")
 (!srcfile 511  "tree-parloops.c")
 (!srcfile 511  "omp-low.c")
 (!srcfile 511  "targhooks.c")
 (!srcfile 511  "config/mips/mips.c")
 (!srcfile 511  "passes.c")
 (!srcfile 511  "cgraphunit.c")
 (!srcfile 511  "cgraphclones.c")
 (!srcfile 511  "tree-ssa-propagate.c")
 (!srcfile 511  "tree-phinodes.c")
 (!srcfile 511  "tree-ssa-alias.h")
 (!srcfile 511  "tree-ssanames.h")
 (!srcfile 511  "ipa-prop.h")
 (!srcfile 511  "trans-mem.c")
 (!srcfile 511  "lto-streamer.h")
 (!srcfile 511  "target-globals.h")
 (!srcfile 511  "ipa-inline.h")
 (!srcfile 511  "vtable-verify.c")
 (!srcfile 511  "asan.c")
 (!srcfile 511  "ubsan.c")
 (!srcfile 511  "tsan.c")
 (!srcfile 511  "ipa-devirt.c")
 (!srcfile 511  "internal-fn.h")
 (!srcfile 1  "ada/gcc-interface/ada-tree.h")
 (!srcfile 1  "ada/gcc-interface/gigi.h")
 (!srcfile 1  "ada/gcc-interface/decl.c")
 (!srcfile 1  "ada/gcc-interface/trans.c")
 (!srcfile 1  "ada/gcc-interface/utils.c")
 (!srcfile 1  "ada/gcc-interface/misc.c")
 (!srcfile 2  "c/c-lang.c")
 (!srcfile 130  "c/c-tree.h")
 (!srcfile 130  "c/c-decl.c")
 (!srcfile 390  "c-family/c-common.c")
 (!srcfile 390  "c-family/c-common.h")
 (!srcfile 390  "c-family/c-objc.h")
 (!srcfile 386  "c-family/c-cppbuiltin.c")
 (!srcfile 390  "c-family/c-pragma.h")
 (!srcfile 390  "c-family/c-pragma.c")
 (!srcfile 130  "c/c-objc-common.c")
 (!srcfile 130  "c/c-parser.c")
 (!srcfile 130  "c/c-lang.h")
 (!srcfile 260  "cp/rtti.c")
 (!srcfile 260  "cp/mangle.c")
 (!srcfile 260  "cp/name-lookup.h")
 (!srcfile 260  "cp/name-lookup.c")
 (!srcfile 260  "cp/cp-tree.h")
 (!srcfile 260  "cp/decl.h")
 (!srcfile 260  "cp/call.c")
 (!srcfile 260  "cp/decl.c")
 (!srcfile 260  "cp/decl2.c")
 (!srcfile 260  "cp/pt.c")
 (!srcfile 260  "cp/repo.c")
 (!srcfile 260  "cp/semantics.c")
 (!srcfile 260  "cp/tree.c")
 (!srcfile 260  "cp/parser.h")
 (!srcfile 260  "cp/parser.c")
 (!srcfile 260  "cp/method.c")
 (!srcfile 260  "cp/typeck2.c")
 (!srcfile 260  "c-family/c-lex.c")
 (!srcfile 260  "cp/class.c")
 (!srcfile 260  "cp/cp-objcp-common.c")
 (!srcfile 4  "cp/cp-lang.c")
 (!srcfile 4  "cp/except.c")
 (!srcfile 4  "cp/vtable-class-hierarchy.c")
 (!srcfile 8  "fortran/f95-lang.c")
 (!srcfile 8  "fortran/trans-decl.c")
 (!srcfile 8  "fortran/trans-intrinsic.c")
 (!srcfile 8  "fortran/trans-io.c")
 (!srcfile 8  "fortran/trans-stmt.c")
 (!srcfile 8  "fortran/trans-types.c")
 (!srcfile 8  "fortran/trans-types.h")
 (!srcfile 8  "fortran/trans.h")
 (!srcfile 8  "fortran/trans-const.h")
 (!srcfile 16  "go/go-lang.c")
 (!srcfile 16  "go/go-c.h")
 (!srcfile 32  "java/java-tree.h")
 (!srcfile 32  "java/jcf.h")
 (!srcfile 32  "java/parse.h")
 (!srcfile 32  "java/builtins.c")
 (!srcfile 32  "java/class.c")
 (!srcfile 32  "java/constants.c")
 (!srcfile 32  "java/decl.c")
 (!srcfile 32  "java/expr.c")
 (!srcfile 32  "java/jcf-parse.c")
 (!srcfile 32  "java/lang.c")
 (!srcfile 32  "java/mangle.c")
 (!srcfile 32  "java/resource.c")
 (!srcfile 64  "lto/lto-tree.h")
 (!srcfile 64  "lto/lto-lang.c")
 (!srcfile 64  "lto/lto.c")
 (!srcfile 64  "lto/lto.h")
 (!srcfile 384  "objc/objc-map.h")
 (!srcfile 384  "objc/objc-act.h")
 (!srcfile 384  "objc/objc-act.c")
 (!srcfile 384  "objc/objc-runtime-shared-support.c")
 (!srcfile 384  "objc/objc-gnu-runtime-abi-01.c")
 (!srcfile 384  "objc/objc-next-runtime-abi-01.c")
 (!srcfile 384  "objc/objc-next-runtime-abi-02.c")
)
(!structures 1088
 
 (!type user_struct 1 
  (!type pointer 2 nil  gc_used
   (!type already_seen 1)
  )
  gc_pointed_to "vec<ivarref_entry,va_gc>"
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
  (!fields 2 
   (!pair  "va_gc"
    (!type undefined 3 nil  gc_unused "va_gc"
     (!srcfileloc  "rtl.h" 238)
    )
    (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2765)
    nil )
   (!pair  "ivarref_entry"
    (!type struct 4 nil  gc_used "ivarref_entry"
     (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2763)
     (!fields 2 
      (!pair  "decl"
       (!type pointer 5 
        (!type pointer 6 nil  gc_used
         (!type already_seen 5)
        )
        gc_pointed_to
        (!type union 7 
         (!type already_seen 5)
         gc_pointed_to "tree_node"
         (!srcfileloc  "tree-core.h" 1631)
         (!fields 38 
          (!pair  "base"
           (!type struct 8 nil  gc_used "tree_base"
            (!srcfileloc  "tree-core.h" 766)
            (!fields 18 
             (!pair  "code"
              (!type scalar_nonchar 9 
               (!type pointer 10 
                (!type pointer 11 nil  gc_unused
                 (!type already_seen 10)
                )
                gc_used
                (!type already_seen 9)
               )
               gc_pointed_to)
              (!srcfileloc  "tree-core.h" 711)
              nil )
             (!pair  "side_effects_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 713)
              nil )
             (!pair  "constant_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 714)
              nil )
             (!pair  "addressable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 715)
              nil )
             (!pair  "volatile_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 716)
              nil )
             (!pair  "readonly_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 717)
              nil )
             (!pair  "asm_written_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 718)
              nil )
             (!pair  "nowarning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 719)
              nil )
             (!pair  "visited"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 720)
              nil )
             (!pair  "used_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 722)
              nil )
             (!pair  "nothrow_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 723)
              nil )
             (!pair  "static_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 724)
              nil )
             (!pair  "public_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 725)
              nil )
             (!pair  "private_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 726)
              nil )
             (!pair  "protected_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 727)
              nil )
             (!pair  "deprecated_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 728)
              nil )
             (!pair  "default_def_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 729)
              nil )
             (!pair  "u"
              (!type union 12 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/tree-core.h:731"
               (!srcfileloc  "tree-core.h" 765)
               (!fields 3 
                (!pair  "bits"
                 (!type struct 13 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/tree-core.h:734"
                  (!srcfileloc  "tree-core.h" 757)
                  (!fields 16 
                   (!pair  "lang_flag_0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 735)
                    nil )
                   (!pair  "lang_flag_1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 736)
                    nil )
                   (!pair  "lang_flag_2"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 737)
                    nil )
                   (!pair  "lang_flag_3"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 738)
                    nil )
                   (!pair  "lang_flag_4"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 739)
                    nil )
                   (!pair  "lang_flag_5"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 740)
                    nil )
                   (!pair  "lang_flag_6"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 741)
                    nil )
                   (!pair  "saturating_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 742)
                    nil )
                   (!pair  "unsigned_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 744)
                    nil )
                   (!pair  "packed_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 745)
                    nil )
                   (!pair  "user_align"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 746)
                    nil )
                   (!pair  "nameless_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 747)
                    nil )
                   (!pair  "atomic_flag"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 748)
                    nil )
                   (!pair  "spare0"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 749)
                    nil )
                   (!pair  "spare1"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 751)
                    nil )
                   (!pair  "address_space"
                    (!type already_seen 9)
                    (!srcfileloc  "tree-core.h" 756)
                    nil )
                  )
                  nil 511 nil nil )
                 (!srcfileloc  "tree-core.h" 757)
                 nil )
                (!pair  "length"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 762)
                 nil )
                (!pair  "version"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 764)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 765)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1589)
           (!options 
            (!option tag string  "TS_BASE")
           )
          )
          (!pair  "typed"
           (!type struct 14 nil  gc_used "tree_typed"
            (!srcfileloc  "tree-core.h" 1042)
            (!fields 2 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1040)
              nil )
             (!pair  "type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1041)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1590)
           (!options 
            (!option tag string  "TS_TYPED")
           )
          )
          (!pair  "common"
           (!type struct 15 nil  gc_used "tree_common"
            (!srcfileloc  "tree-core.h" 1047)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1045)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1046)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1591)
           (!options 
            (!option tag string  "TS_COMMON")
           )
          )
          (!pair  "int_cst"
           (!type struct 16 nil  gc_used "tree_int_cst"
            (!srcfileloc  "tree-core.h" 1052)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1050)
              nil )
             (!pair  "int_cst"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1051)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1592)
           (!options 
            (!option tag string  "TS_INT_CST")
           )
          )
          (!pair  "real_cst"
           (!type struct 17 nil  gc_used "tree_real_cst"
            (!srcfileloc  "tree-core.h" 1058)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1056)
              nil )
             (!pair  "real_cst_ptr"
              (!type pointer 18 nil  gc_used
               (!type struct 19 
                (!type already_seen 18)
                gc_pointed_to "real_value"
                (!srcfileloc  "real.h" 52)
                (!fields 7 
                 (!pair  "cl"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 45)
                  nil )
                 (!pair  "decimal"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 46)
                  nil )
                 (!pair  "sign"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 47)
                  nil )
                 (!pair  "signalling"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 48)
                  nil )
                 (!pair  "canonical"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 49)
                  nil )
                 (!pair  "uexp"
                  (!type already_seen 9)
                  (!srcfileloc  "real.h" 50)
                  nil )
                 (!pair  "sig"
                  (!type array 20 nil  gc_used "SIGSZ" 
                   (!type already_seen 9)
                  )
                  (!srcfileloc  "real.h" 51)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1057)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1593)
           (!options 
            (!option tag string  "TS_REAL_CST")
           )
          )
          (!pair  "fixed_cst"
           (!type struct 21 nil  gc_used "tree_fixed_cst"
            (!srcfileloc  "tree-core.h" 1063)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1061)
              nil )
             (!pair  "fixed_cst_ptr"
              (!type pointer 22 nil  gc_used
               (!type struct 23 
                (!type already_seen 22)
                gc_pointed_to "fixed_value"
                (!srcfileloc  "fixed-value.h" 31)
                (!fields 2 
                 (!pair  "data"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 29)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "fixed-value.h" 30)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1062)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1594)
           (!options 
            (!option tag string  "TS_FIXED_CST")
           )
          )
          (!pair  "vector"
           (!type struct 24 nil  gc_used "tree_vector"
            (!srcfileloc  "tree-core.h" 1080)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1078)
              nil )
             (!pair  "elts"
              (!type array 25 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1079)
              (!options 
               (!option length string  "TYPE_VECTOR_SUBPARTS (TREE_TYPE ((tree)&%h))")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1595)
           (!options 
            (!option tag string  "TS_VECTOR")
           )
          )
          (!pair  "string"
           (!type struct 26 nil  gc_used "tree_string"
            (!srcfileloc  "tree-core.h" 1069)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1066)
              nil )
             (!pair  "length"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1067)
              nil )
             (!pair  "str"
              (!type array 27 nil  gc_used "1" 
               (!type scalar_char 28 
                (!type pointer 29 
                 (!type pointer 30 nil  gc_unused
                  (!type already_seen 29)
                 )
                 gc_unused
                 (!type already_seen 28)
                )
                gc_used)
              )
              (!srcfileloc  "tree-core.h" 1068)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1596)
           (!options 
            (!option tag string  "TS_STRING")
           )
          )
          (!pair  "complex"
           (!type struct 31 nil  gc_used "tree_complex"
            (!srcfileloc  "tree-core.h" 1075)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1072)
              nil )
             (!pair  "real"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1073)
              nil )
             (!pair  "imag"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1074)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1597)
           (!options 
            (!option tag string  "TS_COMPLEX")
           )
          )
          (!pair  "identifier"
           (!type struct 32 nil  gc_used "tree_identifier"
            (!srcfileloc  "tree-core.h" 1085)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1083)
              nil )
             (!pair  "id"
              (!type struct 33 
               (!type pointer 34 
                (!type pointer 35 nil  gc_unused
                 (!type already_seen 34)
                )
                gc_unused
                (!type already_seen 33)
               )
               gc_used "ht_identifier"
               (!srcfileloc  "../libcpp/include/symtab.h" 35)
               (!fields 3 
                (!pair  "str"
                 (!type string 36 nil  gc_used)
                 (!srcfileloc  "../libcpp/include/symtab.h" 32)
                 nil )
                (!pair  "len"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 33)
                 nil )
                (!pair  "hash_value"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/symtab.h" 34)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1084)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1598)
           (!options 
            (!option tag string  "TS_IDENTIFIER")
           )
          )
          (!pair  "decl_minimal"
           (!type struct 37 nil  gc_used "tree_decl_minimal"
            (!srcfileloc  "tree-core.h" 1319)
            (!fields 5 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1314)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1315)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1316)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1317)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1318)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1599)
           (!options 
            (!option tag string  "TS_DECL_MINIMAL")
           )
          )
          (!pair  "decl_common"
           (!type struct 38 nil  gc_used "tree_decl_common"
            (!srcfileloc  "tree-core.h" 1385)
            (!fields 35 
             (!pair  "common"
              (!type already_seen 37)
              (!srcfileloc  "tree-core.h" 1322)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1323)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1325)
              nil )
             (!pair  "nonlocal_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1327)
              nil )
             (!pair  "virtual_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1328)
              nil )
             (!pair  "ignored_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1329)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1330)
              nil )
             (!pair  "artificial_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1331)
              nil )
             (!pair  "preserve_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1332)
              nil )
             (!pair  "debug_expr_is_from"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1333)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1335)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1336)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1337)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1338)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1339)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1340)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1341)
              nil )
             (!pair  "lang_flag_7"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1342)
              nil )
             (!pair  "lang_flag_8"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1343)
              nil )
             (!pair  "decl_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1346)
              nil )
             (!pair  "decl_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1350)
              nil )
             (!pair  "decl_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1354)
              nil )
             (!pair  "decl_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1356)
              nil )
             (!pair  "gimple_reg_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1359)
              nil )
             (!pair  "decl_by_reference_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1361)
              nil )
             (!pair  "decl_read_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1363)
              nil )
             (!pair  "decl_nonshareable_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1365)
              nil )
             (!pair  "off_align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1368)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1373)
              nil )
             (!pair  "pt_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1376)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1378)
              nil )
             (!pair  "initial"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1379)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1380)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1381)
              nil )
             (!pair  "lang_specific"
              (!type pointer 39 nil  gc_used
               (!type lang_struct 40 
                (!type already_seen 39)
                gc_pointed_to "lang_decl"
                (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                (!fields 0 )
                (!options 
                 (!option variable_size string  "")
                )
                511 
                (!homotypes 7
                 (!type struct 41 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "lto/lto-tree.h" 34)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 9)
                    (!srcfileloc  "lto/lto-tree.h" 33)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  64 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 42 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "java/java-tree.h" 818)
                  (!fields 2 
                   (!pair  "desc"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 812)
                    nil )
                   (!pair  "u"
                    (!type union 43 nil  gc_used "lang_decl_u"
                     (!srcfileloc  "java/java-tree.h" 817)
                     (!fields 2 
                      (!pair  "f"
                       (!type struct 44 nil  gc_used "lang_decl_func"
                        (!srcfileloc  "java/java-tree.h" 744)
                        (!fields 20 
                         (!pair  "code_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 717)
                          nil )
                         (!pair  "code_length"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 718)
                          nil )
                         (!pair  "linenumbers_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 719)
                          nil )
                         (!pair  "localvariables_offset"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 720)
                          nil )
                         (!pair  "arg_slots"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 721)
                          nil )
                         (!pair  "max_locals"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 722)
                          nil )
                         (!pair  "max_stack"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 723)
                          nil )
                         (!pair  "arg_slot_count"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 724)
                          nil )
                         (!pair  "last_line"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 725)
                          nil )
                         (!pair  "throws_list"
                          (!type pointer 45 nil  gc_used
                           (!type user_struct 46 
                            (!type already_seen 45)
                            gc_pointed_to "vec<tree,va_gc>"
                            (!srcfileloc  "tree-core.h" 1233)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "tree-core.h" 1233)
                              nil )
                             (!pair  "tree"
                              (!type already_seen 5)
                              (!srcfileloc  "tree-core.h" 1233)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "java/java-tree.h" 726)
                          nil )
                         (!pair  "exc_obj"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 727)
                          nil )
                         (!pair  "init_test_table"
                          (!type pointer 47 nil  gc_used
                           (!type param_struct 48 
                            (!type already_seen 47)
                            gc_pointed_to
                            (!type struct 49 
                             (!type pointer 50 nil  gc_unused
                              (!type already_seen 49)
                             )
                             gc_used "htab"
                             (!srcfileloc  "../include/hashtab.h" 142)
                             (!fields 15 
                              (!pair  "hash_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 102)
                               nil )
                              (!pair  "eq_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 105)
                               nil )
                              (!pair  "del_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 108)
                               nil )
                              (!pair  "entries"
                               (!type already_seen 11)
                               (!srcfileloc  "../include/hashtab.h" 111)
                               (!options 
                                (!option length string  "%h.size")
                                (!option use_param string  "")
                               )
                              )
                              (!pair  "size"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 114)
                               nil )
                              (!pair  "n_elements"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 117)
                               nil )
                              (!pair  "n_deleted"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 120)
                               nil )
                              (!pair  "searches"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 124)
                               nil )
                              (!pair  "collisions"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 128)
                               nil )
                              (!pair  "alloc_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 131)
                               nil )
                              (!pair  "free_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 132)
                               nil )
                              (!pair  "alloc_arg"
                               (!type already_seen 10)
                               (!srcfileloc  "../include/hashtab.h" 135)
                               (!options 
                                (!option skip string  "")
                               )
                              )
                              (!pair  "alloc_with_arg_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 136)
                               nil )
                              (!pair  "free_with_arg_f"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 137)
                               nil )
                              (!pair  "size_prime_index"
                               (!type already_seen 9)
                               (!srcfileloc  "../include/hashtab.h" 141)
                               nil )
                             )
                             nil 511 nil nil )
                            
                            (!type pointer 51 nil  gc_used
                             (!type struct 52 
                              (!type already_seen 51)
                              gc_pointed_to "treetreehash_entry"
                              (!srcfileloc  "java/java-tree.h" 749)
                              (!fields 2 
                               (!pair  "key"
                                (!type already_seen 5)
                                (!srcfileloc  "java/java-tree.h" 747)
                                nil )
                               (!pair  "value"
                                (!type already_seen 5)
                                (!srcfileloc  "java/java-tree.h" 748)
                                nil )
                              )
                              nil 32 nil nil )
                            )
                            nil nil nil nil nil nil nil nil nil nil )
                          )
                          (!srcfileloc  "java/java-tree.h" 730)
                          (!options 
                           (!option param_is type 
                            (!type already_seen 52)
                           )
                          )
                         )
                         (!pair  "ict"
                          (!type pointer 53 nil  gc_used
                           (!type param_struct 54 
                            (!type already_seen 53)
                            gc_pointed_to
                            (!type already_seen 49)
                            
                            (!type already_seen 5)
                            nil nil nil nil nil nil nil nil nil nil )
                          )
                          (!srcfileloc  "java/java-tree.h" 733)
                          (!options 
                           (!option param_is type 
                            (!type already_seen 7)
                           )
                          )
                         )
                         (!pair  "native"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 735)
                          nil )
                         (!pair  "strictfp"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 736)
                          nil )
                         (!pair  "invisible"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 737)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 740)
                          nil )
                         (!pair  "local_cni"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 741)
                          nil )
                         (!pair  "bridge"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 742)
                          nil )
                         (!pair  "varargs"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 743)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 815)
                       (!options 
                        (!option tag string  "LANG_DECL_FUNC")
                       )
                      )
                      (!pair  "v"
                       (!type struct 55 nil  gc_used "lang_decl_var"
                        (!srcfileloc  "java/java-tree.h" 805)
                        (!fields 10 
                         (!pair  "slot_number"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 795)
                          nil )
                         (!pair  "start_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 796)
                          nil )
                         (!pair  "end_pc"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 797)
                          nil )
                         (!pair  "slot_chain"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 798)
                          nil )
                         (!pair  "owner"
                          (!type already_seen 5)
                          (!srcfileloc  "java/java-tree.h" 799)
                          nil )
                         (!pair  "freed"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 800)
                          nil )
                         (!pair  "local_slot"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 801)
                          nil )
                         (!pair  "class_field"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 802)
                          nil )
                         (!pair  "vtable"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 803)
                          nil )
                         (!pair  "field_enum"
                          (!type already_seen 9)
                          (!srcfileloc  "java/java-tree.h" 804)
                          nil )
                        )
                        nil 32 nil nil )
                       (!srcfileloc  "java/java-tree.h" 816)
                       (!options 
                        (!option tag string  "LANG_DECL_VAR")
                       )
                      )
                     )
                     nil 32 
                     (!type lang_struct 56 nil  gc_used "lang_decl_u"
                      (!srcfileloc  "cp/cp-tree.h" 2071)
                      (!fields 0 )
                      (!options 
                       (!option desc string  "%h.base.selector")
                      )
                      292 
                      (!homotypes 2
                       (!type already_seen 43)
                       
                       (!type union 57 nil  gc_used "lang_decl_u"
                        (!srcfileloc  "cp/cp-tree.h" 2071)
                        (!fields 5 
                         (!pair  "base"
                          (!type struct 58 nil  gc_used "lang_decl_base"
                           (!srcfileloc  "cp/cp-tree.h" 1950)
                           (!fields 12 
                            (!pair  "selector"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1937)
                             nil )
                            (!pair  "language"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1938)
                             nil )
                            (!pair  "use_template"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1939)
                             nil )
                            (!pair  "not_really_extern"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1940)
                             nil )
                            (!pair  "initialized_in_class"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1941)
                             nil )
                            (!pair  "repo_available_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1942)
                             nil )
                            (!pair  "threadprivate_or_deleted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1943)
                             nil )
                            (!pair  "anticipated_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1944)
                             nil )
                            (!pair  "friend_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1945)
                             nil )
                            (!pair  "template_conv_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1946)
                             nil )
                            (!pair  "odr_used"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1947)
                             nil )
                            (!pair  "u2sel"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1948)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2066)
                          (!options 
                           (!option default string  "")
                          )
                         )
                         (!pair  "min"
                          (!type struct 59 nil  gc_used "lang_decl_min"
                           (!srcfileloc  "cp/cp-tree.h" 1982)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 58)
                             (!srcfileloc  "cp/cp-tree.h" 1964)
                             nil )
                            (!pair  "template_info"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 1971)
                             nil )
                            (!pair  "u2"
                             (!type union 60 nil  gc_used "lang_decl_u2"
                              (!srcfileloc  "cp/cp-tree.h" 1981)
                              (!fields 2 
                               (!pair  "access"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 1977)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "discriminator"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 1980)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 1981)
                             (!options 
                              (!option desc string  "%0.u.base.u2sel")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2067)
                          (!options 
                           (!option tag string  "0")
                          )
                         )
                         (!pair  "fn"
                          (!type struct 61 nil  gc_used "lang_decl_fn"
                           (!srcfileloc  "cp/cp-tree.h" 2043)
                           (!fields 22 
                            (!pair  "min"
                             (!type already_seen 59)
                             (!srcfileloc  "cp/cp-tree.h" 1987)
                             nil )
                            (!pair  "operator_code"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1991)
                             nil )
                            (!pair  "global_ctor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1993)
                             nil )
                            (!pair  "global_dtor_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1994)
                             nil )
                            (!pair  "constructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1995)
                             nil )
                            (!pair  "destructor_attr"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1996)
                             nil )
                            (!pair  "assignment_operator_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1997)
                             nil )
                            (!pair  "static_function"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1998)
                             nil )
                            (!pair  "pure_virtual"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 1999)
                             nil )
                            (!pair  "defaulted_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2000)
                             nil )
                            (!pair  "has_in_charge_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2002)
                             nil )
                            (!pair  "has_vtt_parm_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2003)
                             nil )
                            (!pair  "pending_inline_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2004)
                             nil )
                            (!pair  "nonconverting"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2005)
                             nil )
                            (!pair  "thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2006)
                             nil )
                            (!pair  "this_thunk_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2007)
                             nil )
                            (!pair  "hidden_friend_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2008)
                             nil )
                            (!pair  "omp_declare_reduction_p"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2009)
                             nil )
                            (!pair  "befriending_classes"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2015)
                             nil )
                            (!pair  "context"
                             (!type already_seen 5)
                             (!srcfileloc  "cp/cp-tree.h" 2023)
                             nil )
                            (!pair  "u5"
                             (!type union 62 nil  gc_used "lang_decl_u5"
                              (!srcfileloc  "cp/cp-tree.h" 2034)
                              (!fields 2 
                               (!pair  "cloned_function"
                                (!type already_seen 5)
                                (!srcfileloc  "cp/cp-tree.h" 2029)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                               (!pair  "fixed_offset"
                                (!type already_seen 9)
                                (!srcfileloc  "cp/cp-tree.h" 2033)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2034)
                             (!options 
                              (!option desc string  "%1.thunk_p")
                             )
                            )
                            (!pair  "u"
                             (!type union 63 nil  gc_used "lang_decl_u3"
                              (!srcfileloc  "cp/cp-tree.h" 2041)
                              (!fields 2 
                               (!pair  "pending_inline_info"
                                (!type pointer 64 nil  gc_used
                                 (!type struct 65 
                                  (!type already_seen 64)
                                  gc_pointed_to "cp_token_cache"
                                  (!srcfileloc  "cp/parser.h" 125)
                                  (!fields 2 
                                   (!pair  "first"
                                    (!type pointer 66 nil  gc_unused
                                     (!type struct 67 
                                      (!type already_seen 66)
                                      gc_used "cp_token"
                                      (!srcfileloc  "cp/parser.h" 71)
                                      (!fields 9 
                                       (!pair  "type"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 44)
                                        nil )
                                       (!pair  "keyword"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 47)
                                        nil )
                                       (!pair  "flags"
                                        (!type already_seen 28)
                                        (!srcfileloc  "cp/parser.h" 49)
                                        nil )
                                       (!pair  "pragma_kind"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 51)
                                        nil )
                                       (!pair  "implicit_extern_c"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 53)
                                        nil )
                                       (!pair  "ambiguous_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 57)
                                        nil )
                                       (!pair  "purged_p"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 61)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "cp/parser.h" 63)
                                        nil )
                                       (!pair  "u"
                                        (!type union 68 nil  gc_used "cp_token_value"
                                         (!srcfileloc  "cp/parser.h" 70)
                                         (!fields 2 
                                          (!pair  "tree_check_value"
                                           (!type pointer 69 nil  gc_used
                                            (!type struct 70 
                                             (!type already_seen 69)
                                             gc_pointed_to "tree_check"
                                             (!srcfileloc  "cp/parser.h" 38)
                                             (!fields 3 
                                              (!pair  "value"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 32)
                                               nil )
                                              (!pair  "checks"
                                               (!type pointer 71 nil  gc_used
                                                (!type user_struct 72 
                                                 (!type already_seen 71)
                                                 gc_pointed_to "vec<deferred_access_check,va_gc>"
                                                 (!srcfileloc  "cp/semantics.c" 135)
                                                 (!fields 2 
                                                  (!pair  "va_gc"
                                                   (!type already_seen 3)
                                                   (!srcfileloc  "cp/semantics.c" 135)
                                                   nil )
                                                  (!pair  "deferred_access_check"
                                                   (!type struct 73 nil  gc_used "deferred_access_check"
                                                    (!srcfileloc  "cp/cp-tree.h" 5700)
                                                    (!fields 4 
                                                     (!pair  "binfo"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5693)
                                                      nil )
                                                     (!pair  "decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5695)
                                                      nil )
                                                     (!pair  "diag_decl"
                                                      (!type already_seen 5)
                                                      (!srcfileloc  "cp/cp-tree.h" 5697)
                                                      nil )
                                                     (!pair  "loc"
                                                      (!type already_seen 9)
                                                      (!srcfileloc  "cp/cp-tree.h" 5699)
                                                      nil )
                                                    )
                                                    nil 260 nil nil )
                                                   (!srcfileloc  "cp/semantics.c" 135)
                                                   nil )
                                                 )
                                                )
                                               )
                                               (!srcfileloc  "cp/parser.h" 34)
                                               nil )
                                              (!pair  "qualifying_scope"
                                               (!type already_seen 5)
                                               (!srcfileloc  "cp/parser.h" 37)
                                               nil )
                                             )
                                             nil 260 nil nil )
                                           )
                                           (!srcfileloc  "cp/parser.h" 67)
                                           (!options 
                                            (!option tag string  "1")
                                           )
                                          )
                                          (!pair  "value"
                                           (!type already_seen 5)
                                           (!srcfileloc  "cp/parser.h" 69)
                                           (!options 
                                            (!option tag string  "0")
                                           )
                                          )
                                         )
                                         nil 260 nil )
                                        (!srcfileloc  "cp/parser.h" 70)
                                        (!options 
                                         (!option desc string  "(%1.type == CPP_TEMPLATE_ID) || (%1.type == CPP_NESTED_NAME_SPECIFIER)")
                                        )
                                       )
                                      )
                                      nil 260 nil nil )
                                    )
                                    (!srcfileloc  "cp/parser.h" 121)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                   (!pair  "last"
                                    (!type already_seen 66)
                                    (!srcfileloc  "cp/parser.h" 124)
                                    (!options 
                                     (!option skip string  "")
                                    )
                                   )
                                  )
                                  nil 260 nil nil )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2038)
                                (!options 
                                 (!option tag string  "1")
                                )
                               )
                               (!pair  "saved_language_function"
                                (!type pointer 74 nil  gc_used
                                 (!type lang_struct 75 
                                  (!type already_seen 74)
                                  gc_pointed_to "language_function"
                                  (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                  (!fields 0 )
                                  nil 511 
                                  (!homotypes 7
                                   (!type struct 76 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "lto/lto-tree.h" 44)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "lto/lto-tree.h" 43)
                                      nil )
                                    )
                                    nil 64 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 77 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "java/lang.c" 119)
                                    (!fields 1 
                                     (!pair  "unused"
                                      (!type already_seen 9)
                                      (!srcfileloc  "java/lang.c" 118)
                                      nil )
                                    )
                                    nil 32 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 78 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "go/go-lang.c" 83)
                                    (!fields 1 
                                     (!pair  "dummy"
                                      (!type already_seen 9)
                                      (!srcfileloc  "go/go-lang.c" 82)
                                      nil )
                                    )
                                    nil 16 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 79 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "fortran/f95-lang.c" 75)
                                    (!fields 1 
                                     (!pair  "binding_level"
                                      (!type pointer 80 nil  gc_used
                                       (!type lang_struct 81 
                                        (!type already_seen 80)
                                        gc_pointed_to "binding_level"
                                        (!srcfileloc  "fortran/f95-lang.c" 318)
                                        (!fields 0 )
                                        nil 40 
                                        (!homotypes 2
                                         (!type struct 82 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "java/decl.c" 423)
                                          (!fields 10 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 391)
                                            nil )
                                           (!pair  "shadowed"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 397)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 402)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 80)
                                            (!srcfileloc  "java/decl.c" 405)
                                            nil )
                                           (!pair  "end_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 408)
                                            nil )
                                           (!pair  "start_pc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 410)
                                            nil )
                                           (!pair  "stmts"
                                            (!type already_seen 5)
                                            (!srcfileloc  "java/decl.c" 413)
                                            nil )
                                           (!pair  "exception_range"
                                            (!type pointer 83 nil  gc_unused
                                             (!type struct 84 
                                              (!type already_seen 83)
                                              gc_unused "eh_range"nil 
                                              (!fields 0 )
                                              nil 0 nil nil )
                                            )
                                            (!srcfileloc  "java/decl.c" 416)
                                            (!options 
                                             (!option skip string  "")
                                            )
                                           )
                                           (!pair  "binding_depth"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 419)
                                            nil )
                                           (!pair  "loc"
                                            (!type already_seen 9)
                                            (!srcfileloc  "java/decl.c" 422)
                                            nil )
                                          )
                                          nil 32 
                                          (!type already_seen 81)
                                          nil )
                                         
                                         (!type struct 85 nil  gc_pointed_to "binding_level"
                                          (!srcfileloc  "fortran/f95-lang.c" 318)
                                          (!fields 3 
                                           (!pair  "names"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 312)
                                            nil )
                                           (!pair  "blocks"
                                            (!type already_seen 5)
                                            (!srcfileloc  "fortran/f95-lang.c" 315)
                                            nil )
                                           (!pair  "level_chain"
                                            (!type already_seen 80)
                                            (!srcfileloc  "fortran/f95-lang.c" 317)
                                            nil )
                                          )
                                          nil 8 
                                          (!type already_seen 81)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "fortran/f95-lang.c" 74)
                                      nil )
                                    )
                                    nil 8 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 86 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "cp/cp-tree.h" 1155)
                                    (!fields 21 
                                     (!pair  "base"
                                      (!type struct 87 nil  gc_used "c_language_function"
                                       (!srcfileloc  "c-family/c-common.h" 515)
                                       (!fields 2 
                                        (!pair  "x_stmt_tree"
                                         (!type struct 88 
                                          (!type pointer 89 nil  gc_unused
                                           (!type already_seen 88)
                                          )
                                          gc_used "stmt_tree_s"
                                          (!srcfileloc  "c-family/c-common.h" 500)
                                          (!fields 2 
                                           (!pair  "x_cur_stmt_list"
                                            (!type already_seen 45)
                                            (!srcfileloc  "c-family/c-common.h" 488)
                                            nil )
                                           (!pair  "stmts_are_full_exprs_p"
                                            (!type already_seen 9)
                                            (!srcfileloc  "c-family/c-common.h" 499)
                                            nil )
                                          )
                                          nil 390 nil nil )
                                         (!srcfileloc  "c-family/c-common.h" 510)
                                         nil )
                                        (!pair  "local_typedefs"
                                         (!type already_seen 45)
                                         (!srcfileloc  "c-family/c-common.h" 514)
                                         nil )
                                       )
                                       nil 390 nil nil )
                                      (!srcfileloc  "cp/cp-tree.h" 1127)
                                      nil )
                                     (!pair  "x_cdtor_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1129)
                                      nil )
                                     (!pair  "x_current_class_ptr"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1130)
                                      nil )
                                     (!pair  "x_current_class_ref"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1131)
                                      nil )
                                     (!pair  "x_eh_spec_block"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1132)
                                      nil )
                                     (!pair  "x_in_charge_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1133)
                                      nil )
                                     (!pair  "x_vtt_parm"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1134)
                                      nil )
                                     (!pair  "x_return_value"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1135)
                                      nil )
                                     (!pair  "x_auto_return_pattern"
                                      (!type already_seen 5)
                                      (!srcfileloc  "cp/cp-tree.h" 1136)
                                      nil )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1138)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1139)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1140)
                                      nil )
                                     (!pair  "infinite_loop"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1141)
                                      nil )
                                     (!pair  "x_in_function_try_handler"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1142)
                                      nil )
                                     (!pair  "x_in_base_initializer"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1143)
                                      nil )
                                     (!pair  "can_throw"
                                      (!type already_seen 9)
                                      (!srcfileloc  "cp/cp-tree.h" 1146)
                                      nil )
                                     (!pair  "x_named_labels"
                                      (!type pointer 90 nil  gc_used
                                       (!type param_struct 91 
                                        (!type already_seen 90)
                                        gc_pointed_to
                                        (!type already_seen 49)
                                        
                                        (!type pointer 92 nil  gc_used
                                         (!type struct 93 
                                          (!type already_seen 92)
                                          gc_pointed_to "named_label_entry"
                                          (!srcfileloc  "cp/decl.c" 237)
                                          (!fields 8 
                                           (!pair  "label_decl"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 214)
                                            nil )
                                           (!pair  "binding_level"
                                            (!type pointer 94 nil  gc_used
                                             (!type struct 95 
                                              (!type already_seen 94)
                                              gc_pointed_to "cp_binding_level"
                                              (!srcfileloc  "cp/name-lookup.h" 266)
                                              (!fields 20 
                                               (!pair  "names"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 187)
                                                nil )
                                               (!pair  "namespaces"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 190)
                                                nil )
                                               (!pair  "static_decls"
                                                (!type already_seen 45)
                                                (!srcfileloc  "cp/name-lookup.h" 193)
                                                nil )
                                               (!pair  "usings"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 196)
                                                nil )
                                               (!pair  "using_directives"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 200)
                                                nil )
                                               (!pair  "class_shadowed"
                                                (!type pointer 96 nil  gc_used
                                                 (!type user_struct 97 
                                                  (!type already_seen 96)
                                                  gc_pointed_to "vec<cp_class_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 204)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 204)
                                                    nil )
                                                   (!pair  "cp_class_binding"
                                                    (!type struct 98 nil  gc_used "cp_class_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 147)
                                                     (!fields 2 
                                                      (!pair  "base"
                                                       (!type pointer 99 nil  gc_used
                                                        (!type struct 100 
                                                         (!type already_seen 99)
                                                         gc_pointed_to "cxx_binding"
                                                         (!srcfileloc  "cp/name-lookup.h" 76)
                                                         (!fields 6 
                                                          (!pair  "previous"
                                                           (!type already_seen 99)
                                                           (!srcfileloc  "cp/name-lookup.h" 67)
                                                           nil )
                                                          (!pair  "value"
                                                           (!type already_seen 5)
                                                           (!srcfileloc  "cp/name-lookup.h" 69)
                                                           nil )
                                                          (!pair  "type"
                                                           (!type already_seen 5)
                                                           (!srcfileloc  "cp/name-lookup.h" 71)
                                                           nil )
                                                          (!pair  "scope"
                                                           (!type already_seen 94)
                                                           (!srcfileloc  "cp/name-lookup.h" 73)
                                                           nil )
                                                          (!pair  "value_is_inherited"
                                                           (!type already_seen 9)
                                                           (!srcfileloc  "cp/name-lookup.h" 74)
                                                           nil )
                                                          (!pair  "is_local"
                                                           (!type already_seen 9)
                                                           (!srcfileloc  "cp/name-lookup.h" 75)
                                                           nil )
                                                         )
                                                         nil 260 nil nil )
                                                       )
                                                       (!srcfileloc  "cp/name-lookup.h" 144)
                                                       nil )
                                                      (!pair  "identifier"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 146)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 204)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 204)
                                                nil )
                                               (!pair  "type_shadowed"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 211)
                                                nil )
                                               (!pair  "shadowed_labels"
                                                (!type pointer 101 nil  gc_used
                                                 (!type user_struct 102 
                                                  (!type already_seen 101)
                                                  gc_pointed_to "vec<cp_label_binding,va_gc>"
                                                  (!srcfileloc  "cp/name-lookup.h" 215)
                                                  (!fields 2 
                                                   (!pair  "va_gc"
                                                    (!type already_seen 3)
                                                    (!srcfileloc  "cp/name-lookup.h" 215)
                                                    nil )
                                                   (!pair  "cp_label_binding"
                                                    (!type struct 103 nil  gc_used "cp_label_binding"
                                                     (!srcfileloc  "cp/name-lookup.h" 155)
                                                     (!fields 2 
                                                      (!pair  "label"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 152)
                                                       nil )
                                                      (!pair  "prev_value"
                                                       (!type already_seen 5)
                                                       (!srcfileloc  "cp/name-lookup.h" 154)
                                                       nil )
                                                     )
                                                     nil 260 nil nil )
                                                    (!srcfileloc  "cp/name-lookup.h" 215)
                                                    nil )
                                                  )
                                                 )
                                                )
                                                (!srcfileloc  "cp/name-lookup.h" 215)
                                                nil )
                                               (!pair  "blocks"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 220)
                                                nil )
                                               (!pair  "this_entity"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 224)
                                                nil )
                                               (!pair  "level_chain"
                                                (!type already_seen 94)
                                                (!srcfileloc  "cp/name-lookup.h" 227)
                                                nil )
                                               (!pair  "dead_vars_from_for"
                                                (!type already_seen 45)
                                                (!srcfileloc  "cp/name-lookup.h" 232)
                                                nil )
                                               (!pair  "statement_list"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/name-lookup.h" 236)
                                                nil )
                                               (!pair  "binding_depth"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 239)
                                                nil )
                                               (!pair  "kind"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 244)
                                                nil )
                                               (!pair  "explicit_spec_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 248)
                                                nil )
                                               (!pair  "keep"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 251)
                                                nil )
                                               (!pair  "more_cleanups_ok"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 255)
                                                nil )
                                               (!pair  "have_cleanups"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 256)
                                                nil )
                                               (!pair  "defining_class_p"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/name-lookup.h" 263)
                                                nil )
                                              )
                                              nil 260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 219)
                                            nil )
                                           (!pair  "names_in_scope"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/decl.c" 223)
                                            nil )
                                           (!pair  "bad_decls"
                                            (!type already_seen 45)
                                            (!srcfileloc  "cp/decl.c" 226)
                                            nil )
                                           (!pair  "uses"
                                            (!type pointer 104 nil  gc_used
                                             (!type struct 105 
                                              (!type already_seen 104)
                                              gc_pointed_to "named_label_use_entry"
                                              (!srcfileloc  "cp/decl.c" 206)
                                              (!fields 5 
                                               (!pair  "next"
                                                (!type already_seen 104)
                                                (!srcfileloc  "cp/decl.c" 191)
                                                nil )
                                               (!pair  "binding_level"
                                                (!type already_seen 94)
                                                (!srcfileloc  "cp/decl.c" 195)
                                                nil )
                                               (!pair  "names_in_scope"
                                                (!type already_seen 5)
                                                (!srcfileloc  "cp/decl.c" 199)
                                                nil )
                                               (!pair  "o_goto_locus"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 201)
                                                nil )
                                               (!pair  "in_omp_scope"
                                                (!type already_seen 9)
                                                (!srcfileloc  "cp/decl.c" 205)
                                                nil )
                                              )
                                              (!options 
                                               (!option chain_next string  "%h.next")
                                              )
                                              260 nil nil )
                                            )
                                            (!srcfileloc  "cp/decl.c" 229)
                                            nil )
                                           (!pair  "in_try_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 234)
                                            nil )
                                           (!pair  "in_catch_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 235)
                                            nil )
                                           (!pair  "in_omp_scope"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/decl.c" 236)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1148)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 93)
                                       )
                                      )
                                     )
                                     (!pair  "bindings"
                                      (!type already_seen 94)
                                      (!srcfileloc  "cp/cp-tree.h" 1149)
                                      nil )
                                     (!pair  "x_local_names"
                                      (!type already_seen 45)
                                      (!srcfileloc  "cp/cp-tree.h" 1150)
                                      nil )
                                     (!pair  "infinite_loops"
                                      (!type already_seen 45)
                                      (!srcfileloc  "cp/cp-tree.h" 1153)
                                      nil )
                                     (!pair  "extern_decl_map"
                                      (!type pointer 106 nil  gc_used
                                       (!type param_struct 107 
                                        (!type already_seen 106)
                                        gc_pointed_to
                                        (!type already_seen 49)
                                        
                                        (!type pointer 108 nil  gc_used
                                         (!type struct 109 
                                          (!type already_seen 108)
                                          gc_pointed_to "cxx_int_tree_map"
                                          (!srcfileloc  "cp/cp-tree.h" 1119)
                                          (!fields 2 
                                           (!pair  "uid"
                                            (!type already_seen 9)
                                            (!srcfileloc  "cp/cp-tree.h" 1117)
                                            nil )
                                           (!pair  "to"
                                            (!type already_seen 5)
                                            (!srcfileloc  "cp/cp-tree.h" 1118)
                                            nil )
                                          )
                                          nil 260 nil nil )
                                        )
                                        nil nil nil nil nil nil nil nil nil nil )
                                      )
                                      (!srcfileloc  "cp/cp-tree.h" 1154)
                                      (!options 
                                       (!option param_is type 
                                        (!type already_seen 109)
                                       )
                                      )
                                     )
                                    )
                                    nil 260 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 110 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "c/c-lang.h" 56)
                                    (!fields 9 
                                     (!pair  "base"
                                      (!type already_seen 87)
                                      (!srcfileloc  "c/c-lang.h" 47)
                                      nil )
                                     (!pair  "x_break_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 48)
                                      nil )
                                     (!pair  "x_cont_label"
                                      (!type already_seen 5)
                                      (!srcfileloc  "c/c-lang.h" 49)
                                      nil )
                                     (!pair  "x_switch_stack"
                                      (!type pointer 111 nil  gc_unused
                                       (!type struct 112 
                                        (!type already_seen 111)
                                        gc_unused "c_switch"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 50)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "arg_info"
                                      (!type pointer 113 nil  gc_unused
                                       (!type struct 114 
                                        (!type already_seen 113)
                                        gc_unused "c_arg_info"nil 
                                        (!fields 0 )
                                        nil 0 nil nil )
                                      )
                                      (!srcfileloc  "c/c-lang.h" 51)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "returns_value"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 52)
                                      nil )
                                     (!pair  "returns_null"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 53)
                                      nil )
                                     (!pair  "returns_abnormally"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 54)
                                      nil )
                                     (!pair  "warn_about_return_type"
                                      (!type already_seen 9)
                                      (!srcfileloc  "c/c-lang.h" 55)
                                      nil )
                                    )
                                    nil 130 
                                    (!type already_seen 75)
                                    nil )
                                   
                                   (!type struct 115 nil  gc_pointed_to "language_function"
                                    (!srcfileloc  "ada/gcc-interface/trans.c" 139)
                                    (!fields 4 
                                     (!pair  "parm_attr_cache"
                                      (!type pointer 116 nil  gc_used
                                       (!type user_struct 117 
                                        (!type already_seen 116)
                                        gc_pointed_to "vec<parm_attr,va_gc>"
                                        (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                        (!fields 2 
                                         (!pair  "va_gc"
                                          (!type already_seen 3)
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                          nil )
                                         (!pair  "parm_attr"
                                          (!type pointer 118 nil  gc_used
                                           (!type struct 119 
                                            (!type already_seen 118)
                                            gc_pointed_to "parm_attr_d"
                                            (!srcfileloc  "ada/gcc-interface/trans.c" 129)
                                            (!fields 5 
                                             (!pair  "id"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 124)
                                              nil )
                                             (!pair  "dim"
                                              (!type already_seen 9)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 125)
                                              nil )
                                             (!pair  "first"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 126)
                                              nil )
                                             (!pair  "last"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 127)
                                              nil )
                                             (!pair  "length"
                                              (!type already_seen 5)
                                              (!srcfileloc  "ada/gcc-interface/trans.c" 128)
                                              nil )
                                            )
                                            nil 1 nil nil )
                                          )
                                          (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                          nil )
                                        )
                                       )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 135)
                                      nil )
                                     (!pair  "named_ret_val"
                                      (!type pointer 120 nil  gc_used
                                       (!type struct 121 
                                        (!type already_seen 120)
                                        gc_pointed_to "bitmap_head"
                                        (!srcfileloc  "bitmap.h" 189)
                                        (!fields 5 
                                         (!pair  "indx"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 181)
                                          nil )
                                         (!pair  "descriptor_id"
                                          (!type already_seen 9)
                                          (!srcfileloc  "bitmap.h" 182)
                                          nil )
                                         (!pair  "first"
                                          (!type pointer 122 nil  gc_used
                                           (!type struct 123 
                                            (!type already_seen 122)
                                            gc_pointed_to "bitmap_element"
                                            (!srcfileloc  "bitmap.h" 185)
                                            (!fields 4 
                                             (!pair  "next"
                                              (!type already_seen 122)
                                              (!srcfileloc  "bitmap.h" 171)
                                              nil )
                                             (!pair  "prev"
                                              (!type already_seen 122)
                                              (!srcfileloc  "bitmap.h" 172)
                                              nil )
                                             (!pair  "indx"
                                              (!type already_seen 9)
                                              (!srcfileloc  "bitmap.h" 173)
                                              nil )
                                             (!pair  "bits"
                                              (!type array 124 nil  gc_used "BITMAP_ELEMENT_WORDS" 
                                               (!type already_seen 9)
                                              )
                                              (!srcfileloc  "bitmap.h" 174)
                                              nil )
                                            )
                                            (!options 
                                             (!option chain_prev string  "%h.prev")
                                             (!option chain_next string  "%h.next")
                                            )
                                            511 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 185)
                                          nil )
                                         (!pair  "current"
                                          (!type already_seen 122)
                                          (!srcfileloc  "bitmap.h" 186)
                                          (!options 
                                           (!option skip string  "")
                                          )
                                         )
                                         (!pair  "obstack"
                                          (!type pointer 125 nil  gc_used
                                           (!type struct 126 
                                            (!type already_seen 125)
                                            gc_pointed_to "bitmap_obstack"
                                            (!srcfileloc  "bitmap.h" 187)
                                            (!fields 3 
                                             (!pair  "elements"
                                              (!type already_seen 122)
                                              (!srcfileloc  "bitmap.h" 153)
                                              nil )
                                             (!pair  "heads"
                                              (!type already_seen 120)
                                              (!srcfileloc  "bitmap.h" 154)
                                              nil )
                                             (!pair  "obstack"
                                              (!type struct 127 nil  gc_unused "obstack"nil 
                                               (!fields 0 )
                                               nil 0 nil nil )
                                              (!srcfileloc  "bitmap.h" 155)
                                              (!options 
                                               (!option skip string  "")
                                              )
                                             )
                                            )
                                            nil 511 nil nil )
                                          )
                                          (!srcfileloc  "bitmap.h" 187)
                                          nil )
                                        )
                                        nil 511 nil nil )
                                      )
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 136)
                                      nil )
                                     (!pair  "other_ret_val"
                                      (!type already_seen 45)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 137)
                                      nil )
                                     (!pair  "gnat_ret"
                                      (!type already_seen 9)
                                      (!srcfileloc  "ada/gcc-interface/trans.c" 138)
                                      nil )
                                    )
                                    nil 1 
                                    (!type already_seen 75)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cp/cp-tree.h" 2040)
                                (!options 
                                 (!option tag string  "0")
                                )
                               )
                              )
                              nil 260 nil )
                             (!srcfileloc  "cp/cp-tree.h" 2041)
                             (!options 
                              (!option desc string  "%1.pending_inline_p")
                             )
                            )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2068)
                          (!options 
                           (!option tag string  "1")
                          )
                         )
                         (!pair  "ns"
                          (!type struct 128 nil  gc_used "lang_decl_ns"
                           (!srcfileloc  "cp/cp-tree.h" 2050)
                           (!fields 2 
                            (!pair  "base"
                             (!type already_seen 58)
                             (!srcfileloc  "cp/cp-tree.h" 2048)
                             nil )
                            (!pair  "level"
                             (!type already_seen 94)
                             (!srcfileloc  "cp/cp-tree.h" 2049)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2069)
                          (!options 
                           (!option tag string  "2")
                          )
                         )
                         (!pair  "parm"
                          (!type struct 129 nil  gc_used "lang_decl_parm"
                           (!srcfileloc  "cp/cp-tree.h" 2058)
                           (!fields 3 
                            (!pair  "base"
                             (!type already_seen 58)
                             (!srcfileloc  "cp/cp-tree.h" 2055)
                             nil )
                            (!pair  "level"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2056)
                             nil )
                            (!pair  "index"
                             (!type already_seen 9)
                             (!srcfileloc  "cp/cp-tree.h" 2057)
                             nil )
                           )
                           nil 260 nil nil )
                          (!srcfileloc  "cp/cp-tree.h" 2070)
                          (!options 
                           (!option tag string  "3")
                          )
                         )
                        )
                        (!options 
                         (!option desc string  "%h.base.selector")
                        )
                        260 
                        (!type already_seen 56)
                       )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 817)
                    (!options 
                     (!option desc string  "%0.desc")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  32 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 130 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "go/go-lang.c" 57)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 28)
                    (!srcfileloc  "go/go-lang.c" 56)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  16 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 131 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "fortran/trans.h" 834)
                  (!fields 8 
                   (!pair  "saved_descriptor"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 822)
                    nil )
                   (!pair  "stringlen"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 827)
                    nil )
                   (!pair  "addr"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 828)
                    nil )
                   (!pair  "span"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 829)
                    nil )
                   (!pair  "token"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 831)
                    nil )
                   (!pair  "caf_offset"
                    (!type already_seen 5)
                    (!srcfileloc  "fortran/trans.h" 831)
                    nil )
                   (!pair  "scalar_allocatable"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 832)
                    nil )
                   (!pair  "scalar_pointer"
                    (!type already_seen 9)
                    (!srcfileloc  "fortran/trans.h" 833)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  8 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 132 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "cp/cp-tree.h" 2072)
                  (!fields 1 
                   (!pair  "u"
                    (!type already_seen 56)
                    (!srcfileloc  "cp/cp-tree.h" 2071)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 133 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "c/c-lang.h" 40)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 28)
                    (!srcfileloc  "c/c-lang.h" 39)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  130 
                  (!type already_seen 40)
                  nil )
                 
                 (!type struct 134 nil  gc_pointed_to "lang_decl"
                  (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                  (!fields 1 
                   (!pair  "t"
                    (!type already_seen 5)
                    (!srcfileloc  "ada/gcc-interface/ada-tree.h" 41)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  1 
                  (!type already_seen 40)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1384)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1600)
           (!options 
            (!option tag string  "TS_DECL_COMMON")
           )
          )
          (!pair  "decl_with_rtl"
           (!type struct 135 nil  gc_used "tree_decl_with_rtl"
            (!srcfileloc  "tree-core.h" 1390)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1388)
              nil )
             (!pair  "rtl"
              (!type pointer 136 
               (!type pointer 137 nil  gc_used
                (!type already_seen 136)
               )
               gc_pointed_to
               (!type struct 138 
                (!type already_seen 136)
                gc_pointed_to "rtx_def"
                (!srcfileloc  "rtl.h" 347)
                (!fields 11 
                 (!pair  "code"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 256)
                  nil )
                 (!pair  "mode"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 259)
                  nil )
                 (!pair  "jump"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 269)
                  nil )
                 (!pair  "call"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 274)
                  nil )
                 (!pair  "unchanging"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 285)
                  nil )
                 (!pair  "volatil"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 298)
                  nil )
                 (!pair  "in_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 312)
                  nil )
                 (!pair  "used"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 321)
                  nil )
                 (!pair  "frame_related"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 329)
                  nil )
                 (!pair  "return_val"
                  (!type already_seen 9)
                  (!srcfileloc  "rtl.h" 335)
                  nil )
                 (!pair  "u"
                  (!type union 139 nil  gc_used "rtx_def_subunion"
                   (!srcfileloc  "rtl.h" 346)
                   (!fields 147 
                    (!pair  ""
                     (!type struct 140 nil  gc_used "rtx_def_debug_parameter_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_PARAMETER_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 141 nil  gc_used "rtx_def_entry_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ENTRY_VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 142 nil  gc_used "rtx_def_debug_implicit_ptr"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_IMPLICIT_PTR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 143 nil  gc_used "rtx_def_var_location"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VAR_LOCATION")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 144 nil  gc_used "rtx_def_fma"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FMA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 145 nil  gc_used "rtx_def_us_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 146 nil  gc_used "rtx_def_ss_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 147 nil  gc_used "rtx_def_us_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 148 nil  gc_used "rtx_def_us_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 149 nil  gc_used "rtx_def_ss_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 150 nil  gc_used "rtx_def_ss_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 151 nil  gc_used "rtx_def_us_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 152 nil  gc_used "rtx_def_ss_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 153 nil  gc_used "rtx_def_ss_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 154 nil  gc_used "rtx_def_us_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 155 nil  gc_used "rtx_def_ss_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 156 nil  gc_used "rtx_def_vec_duplicate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_DUPLICATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 157 nil  gc_used "rtx_def_vec_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 158 nil  gc_used "rtx_def_vec_select"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_SELECT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 159 nil  gc_used "rtx_def_vec_merge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VEC_MERGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 160 nil  gc_used "rtx_def_lo_sum"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LO_SUM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 161 nil  gc_used "rtx_def_high"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "HIGH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 162 nil  gc_used "rtx_def_zero_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ZERO_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 163 nil  gc_used "rtx_def_sign_extract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIGN_EXTRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 164 nil  gc_used "rtx_def_parity"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PARITY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 165 nil  gc_used "rtx_def_popcount"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POPCOUNT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 166 nil  gc_used "rtx_def_ctz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CTZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 167 nil  gc_used "rtx_def_clz"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLZ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 168 nil  gc_used "rtx_def_clrsb"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLRSB")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 169 nil  gc_used "rtx_def_ffs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FFS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 170 nil  gc_used "rtx_def_bswap"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "BSWAP")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 171 nil  gc_used "rtx_def_sqrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SQRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 172 nil  gc_used "rtx_def_abs"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ABS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 173 nil  gc_used "rtx_def_unsigned_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 174 nil  gc_used "rtx_def_sat_fract"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SAT_FRACT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 175 nil  gc_used "rtx_def_unsigned_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 176 nil  gc_used "rtx_def_fract_convert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FRACT_CONVERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 177 nil  gc_used "rtx_def_unsigned_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 178 nil  gc_used "rtx_def_unsigned_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSIGNED_FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 179 nil  gc_used "rtx_def_fix"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FIX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 180 nil  gc_used "rtx_def_float"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 181 nil  gc_used "rtx_def_float_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT_TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 182 nil  gc_used "rtx_def_float_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "FLOAT_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 183 nil  gc_used "rtx_def_truncate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "TRUNCATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 184 nil  gc_used "rtx_def_zero_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ZERO_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 185 nil  gc_used "rtx_def_sign_extend"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIGN_EXTEND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 186 nil  gc_used "rtx_def_ltgt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LTGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 187 nil  gc_used "rtx_def_unlt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNLT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 188 nil  gc_used "rtx_def_unle"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 189 nil  gc_used "rtx_def_ungt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNGT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 190 nil  gc_used "rtx_def_unge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNGE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 191 nil  gc_used "rtx_def_uneq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNEQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 192 nil  gc_used "rtx_def_ordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 193 nil  gc_used "rtx_def_unordered"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNORDERED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 194 nil  gc_used "rtx_def_ltu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 195 nil  gc_used "rtx_def_leu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 196 nil  gc_used "rtx_def_gtu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GTU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 197 nil  gc_used "rtx_def_geu"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GEU")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 198 nil  gc_used "rtx_def_lt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 199 nil  gc_used "rtx_def_le"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 200 nil  gc_used "rtx_def_gt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 201 nil  gc_used "rtx_def_ge"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "GE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 202 nil  gc_used "rtx_def_eq"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EQ")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 203 nil  gc_used "rtx_def_ne"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 204 nil  gc_used "rtx_def_post_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 205 nil  gc_used "rtx_def_pre_modify"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_MODIFY")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 206 nil  gc_used "rtx_def_post_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 207 nil  gc_used "rtx_def_post_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "POST_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 208 nil  gc_used "rtx_def_pre_inc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_INC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 209 nil  gc_used "rtx_def_pre_dec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PRE_DEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 210 nil  gc_used "rtx_def_umax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 211 nil  gc_used "rtx_def_umin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 212 nil  gc_used "rtx_def_smax"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SMAX")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 213 nil  gc_used "rtx_def_smin"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SMIN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 214 nil  gc_used "rtx_def_rotatert"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ROTATERT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 215 nil  gc_used "rtx_def_lshiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LSHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 216 nil  gc_used "rtx_def_ashiftrt"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASHIFTRT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 217 nil  gc_used "rtx_def_rotate"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ROTATE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 218 nil  gc_used "rtx_def_ashift"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASHIFT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 219 nil  gc_used "rtx_def_not"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NOT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 220 nil  gc_used "rtx_def_xor"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "XOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 221 nil  gc_used "rtx_def_ior"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "IOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 222 nil  gc_used "rtx_def_and"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "AND")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 223 nil  gc_used "rtx_def_umod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UMOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 224 nil  gc_used "rtx_def_udiv"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UDIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 225 nil  gc_used "rtx_def_mod"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MOD")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 226 nil  gc_used "rtx_def_us_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 227 nil  gc_used "rtx_def_ss_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 228 nil  gc_used "rtx_def_div"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DIV")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 229 nil  gc_used "rtx_def_us_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "US_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 230 nil  gc_used "rtx_def_ss_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SS_MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 231 nil  gc_used "rtx_def_mult"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MULT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 232 nil  gc_used "rtx_def_neg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NEG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 233 nil  gc_used "rtx_def_minus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MINUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 234 nil  gc_used "rtx_def_plus"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PLUS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 235 nil  gc_used "rtx_def_compare"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "COMPARE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 236 nil  gc_used "rtx_def_if_then_else"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "IF_THEN_ELSE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 237 nil  gc_used "rtx_def_cc0"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CC0")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 238 nil  gc_used "rtx_def_symbol_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 4 
                       (!pair  "block_sym"
                        (!type union 239 nil  gc_used "fake_union_1"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 1 
                          (!pair  ""
                           (!type struct 240 nil  gc_used "block_symbol"
                            (!srcfileloc  "rtl.h" 216)
                            (!fields 3 
                             (!pair  "fld"
                              (!type array 241 nil  gc_unused "3" 
                               (!type undefined 242 nil  gc_unused "rtunion"
                                (!srcfileloc  "rtl.h" 208)
                               )
                              )
                              (!srcfileloc  "rtl.h" 208)
                              (!options 
                               (!option skip string  "")
                              )
                             )
                             (!pair  "block"
                              (!type pointer 243 nil  gc_used
                               (!type struct 244 
                                (!type already_seen 243)
                                gc_pointed_to "object_block"
                                (!srcfileloc  "rtl.h" 249)
                                (!fields 5 
                                 (!pair  "sect"
                                  (!type pointer 245 nil  gc_used
                                   (!type union 246 
                                    (!type already_seen 245)
                                    gc_pointed_to "section"
                                    (!srcfileloc  "output.h" 492)
                                    (!fields 4 
                                     (!pair  "common"
                                      (!type struct 247 nil  gc_used "section_common"
                                       (!srcfileloc  "output.h" 434)
                                       (!fields 1 
                                        (!pair  "flags"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 433)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 488)
                                      (!options 
                                       (!option skip string  "")
                                      )
                                     )
                                     (!pair  "named"
                                      (!type struct 248 nil  gc_used "named_section"
                                       (!srcfileloc  "output.h" 446)
                                       (!fields 3 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 438)
                                         nil )
                                        (!pair  "name"
                                         (!type already_seen 36)
                                         (!srcfileloc  "output.h" 441)
                                         nil )
                                        (!pair  "decl"
                                         (!type already_seen 5)
                                         (!srcfileloc  "output.h" 445)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 489)
                                      (!options 
                                       (!option tag string  "SECTION_NAMED")
                                      )
                                     )
                                     (!pair  "unnamed"
                                      (!type struct 249 nil  gc_used "unnamed_section"
                                       (!srcfileloc  "output.h" 463)
                                       (!fields 4 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 454)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 458)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "data"
                                         (!type already_seen 10)
                                         (!srcfileloc  "output.h" 459)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                        (!pair  "next"
                                         (!type already_seen 245)
                                         (!srcfileloc  "output.h" 462)
                                         nil )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 490)
                                      (!options 
                                       (!option tag string  "SECTION_UNNAMED")
                                      )
                                     )
                                     (!pair  "noswitch"
                                      (!type struct 250 nil  gc_used "noswitch_section"
                                       (!srcfileloc  "output.h" 484)
                                       (!fields 2 
                                        (!pair  "common"
                                         (!type already_seen 247)
                                         (!srcfileloc  "output.h" 480)
                                         nil )
                                        (!pair  "callback"
                                         (!type already_seen 9)
                                         (!srcfileloc  "output.h" 483)
                                         (!options 
                                          (!option skip string  "")
                                         )
                                        )
                                       )
                                       nil 511 nil nil )
                                      (!srcfileloc  "output.h" 491)
                                      (!options 
                                       (!option tag string  "SECTION_NOSWITCH")
                                      )
                                     )
                                    )
                                    (!options 
                                     (!option desc string  "SECTION_STYLE (&(%h))")
                                    )
                                    511 nil )
                                  )
                                  (!srcfileloc  "rtl.h" 222)
                                  nil )
                                 (!pair  "alignment"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 225)
                                  nil )
                                 (!pair  "size"
                                  (!type already_seen 9)
                                  (!srcfileloc  "rtl.h" 228)
                                  nil )
                                 (!pair  "objects"
                                  (!type pointer 251 nil  gc_used
                                   (!type user_struct 252 
                                    (!type already_seen 251)
                                    gc_pointed_to "vec<rtx,va_gc>"
                                    (!srcfileloc  "rtl.h" 238)
                                    (!fields 2 
                                     (!pair  "va_gc"
                                      (!type already_seen 3)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                     (!pair  "rtx"
                                      (!type already_seen 136)
                                      (!srcfileloc  "rtl.h" 238)
                                      nil )
                                    )
                                   )
                                  )
                                  (!srcfileloc  "rtl.h" 238)
                                  nil )
                                 (!pair  "anchors"
                                  (!type already_seen 251)
                                  (!srcfileloc  "rtl.h" 248)
                                  nil )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "rtl.h" 211)
                              nil )
                             (!pair  "offset"
                              (!type already_seen 9)
                              (!srcfileloc  "rtl.h" 215)
                              nil )
                            )
                            nil 511 nil nil )
                           (!srcfileloc  "gengtype.c" 995)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1340)
                        (!options 
                         (!option desc string  "SYMBOL_REF_HAS_BLOCK_INFO_P (&%0)")
                        )
                       )
                       (!pair  ".fld[2]."
                        (!type union 253 nil  gc_used "rtx_def_symbol_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 2 
                          (!pair  "rt_constant"
                           (!type pointer 254 nil  gc_used
                            (!type struct 255 
                             (!type already_seen 254)
                             gc_pointed_to "constant_descriptor_rtx"
                             (!srcfileloc  "varasm.c" 3488)
                             (!fields 10 
                              (!pair  "next"
                               (!type already_seen 254)
                               (!srcfileloc  "varasm.c" 3478)
                               nil )
                              (!pair  "mem"
                               (!type already_seen 136)
                               (!srcfileloc  "varasm.c" 3479)
                               nil )
                              (!pair  "sym"
                               (!type already_seen 136)
                               (!srcfileloc  "varasm.c" 3480)
                               nil )
                              (!pair  "constant"
                               (!type already_seen 136)
                               (!srcfileloc  "varasm.c" 3481)
                               nil )
                              (!pair  "offset"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3482)
                               nil )
                              (!pair  "hash"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3483)
                               nil )
                              (!pair  "mode"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3484)
                               nil )
                              (!pair  "align"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3485)
                               nil )
                              (!pair  "labelno"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3486)
                               nil )
                              (!pair  "mark"
                               (!type already_seen 9)
                               (!srcfileloc  "varasm.c" 3487)
                               nil )
                             )
                             (!options 
                              (!option chain_next string  "%h.next")
                             )
                             511 nil nil )
                           )
                           (!srcfileloc  "gengtype.c" 1200)
                           (!options 
                            (!option tag string  "1")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1198)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option desc string  "CONSTANT_POOL_ADDRESS_P (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SYMBOL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 256 nil  gc_used "rtx_def_label_ref"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "LABEL_REF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 257 nil  gc_used "rtx_def_mem"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_mem"
                        (!type pointer 258 nil  gc_used
                         (!type struct 259 
                          (!type already_seen 258)
                          gc_pointed_to "mem_attrs"
                          (!srcfileloc  "rtl.h" 169)
                          (!fields 8 
                           (!pair  "expr"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 143)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 147)
                            nil )
                           (!pair  "size"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 151)
                            nil )
                           (!pair  "alias"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 154)
                            nil )
                           (!pair  "align"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 159)
                            nil )
                           (!pair  "addrspace"
                            (!type already_seen 28)
                            (!srcfileloc  "rtl.h" 162)
                            nil )
                           (!pair  "offset_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 165)
                            nil )
                           (!pair  "size_known_p"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 168)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "MEM")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 260 nil  gc_used "rtx_def_concatn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type pointer 261 nil  gc_used
                         (!type struct 262 
                          (!type already_seen 261)
                          gc_pointed_to "rtvec_def"
                          (!srcfileloc  "rtl.h" 388)
                          (!fields 2 
                           (!pair  "num_elem"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 386)
                            nil )
                           (!pair  "elem"
                            (!type array 263 nil  gc_used "1" 
                             (!type already_seen 136)
                            )
                            (!srcfileloc  "rtl.h" 387)
                            (!options 
                             (!option length string  "%h.num_elem")
                            )
                           )
                          )
                          (!options 
                           (!option variable_size string  "")
                          )
                          511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONCATN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 264 nil  gc_used "rtx_def_concat"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONCAT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 265 nil  gc_used "rtx_def_strict_low_part"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "STRICT_LOW_PART")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 266 nil  gc_used "rtx_def_subreg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SUBREG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 267 nil  gc_used "rtx_def_scratch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SCRATCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 268 nil  gc_used "rtx_def_reg"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_reg"
                        (!type pointer 269 nil  gc_used
                         (!type struct 270 
                          (!type already_seen 269)
                          gc_pointed_to "reg_attrs"
                          (!srcfileloc  "rtl.h" 181)
                          (!fields 2 
                           (!pair  "decl"
                            (!type already_seen 5)
                            (!srcfileloc  "rtl.h" 179)
                            nil )
                           (!pair  "offset"
                            (!type already_seen 9)
                            (!srcfileloc  "rtl.h" 180)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "REG")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 271 nil  gc_used "rtx_def_pc"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 272 nil  gc_used "rtx_def_const"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 273 nil  gc_used "rtx_def_const_string"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_STRING")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 274 nil  gc_used "rtx_def_const_vector"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_VECTOR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 275 nil  gc_used "rtx_def_const_double"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_DOUBLE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 276 nil  gc_used "rtx_def_const_fixed"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_FIXED")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 277 nil  gc_used "rtx_def_const_int"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CONST_INT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 278 nil  gc_used "rtx_def_trap_if"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "TRAP_IF")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 279 nil  gc_used "rtx_def_eh_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EH_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 280 nil  gc_used "rtx_def_simple_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SIMPLE_RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 281 nil  gc_used "rtx_def_return"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 0 )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "RETURN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 282 nil  gc_used "rtx_def_call"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CALL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 283 nil  gc_used "rtx_def_clobber"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CLOBBER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 284 nil  gc_used "rtx_def_use"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "USE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 285 nil  gc_used "rtx_def_set"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SET")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 286 nil  gc_used "rtx_def_prefetch"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 3 
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PREFETCH")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 287 nil  gc_used "rtx_def_addr_diff_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 5 
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDR_DIFF_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 288 nil  gc_used "rtx_def_addr_vec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDR_VEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 289 nil  gc_used "rtx_def_unspec_volatile"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSPEC_VOLATILE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 290 nil  gc_used "rtx_def_unspec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNSPEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 291 nil  gc_used "rtx_def_asm_operands"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASM_OPERANDS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 292 nil  gc_used "rtx_def_asm_input"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ASM_INPUT")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 293 nil  gc_used "rtx_def_parallel"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "PARALLEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 294 nil  gc_used "rtx_def_cond_exec"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "COND_EXEC")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 295 nil  gc_used "rtx_def_note"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 7 
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4]."
                        (!type union 296 nil  gc_used "rtx_def_note_subunion"
                         (!srcfileloc  "rtl.h" 346)
                         (!fields 17 
                          (!pair  "rt_str"
                           (!type already_seen 36)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option default string  "")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_CFI")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_SWITCH_TEXT_SECTIONS")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_BASIC_BLOCK")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 136)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_CALL_ARG_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_rtx"
                           (!type already_seen 136)
                           (!srcfileloc  "gengtype.c" 1176)
                           (!options 
                            (!option tag string  "NOTE_INSN_VAR_LOCATION")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EH_REGION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_EPILOGUE_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_PROLOGUE_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_FUNCTION_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1171)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_END")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_tree"
                           (!type already_seen 5)
                           (!srcfileloc  "gengtype.c" 1171)
                           (!options 
                            (!option tag string  "NOTE_INSN_BLOCK_BEG")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 36)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_DEBUG_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_str"
                           (!type already_seen 36)
                           (!srcfileloc  "gengtype.c" 1166)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED_LABEL")
                            (!option dot string  "")
                           )
                          )
                          (!pair  "rt_int"
                           (!type already_seen 9)
                           (!srcfileloc  "gengtype.c" 1180)
                           (!options 
                            (!option tag string  "NOTE_INSN_DELETED")
                            (!option dot string  "")
                           )
                          )
                         )
                         nil 511 nil )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option desc string  "NOTE_KIND (&%0)")
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type pointer 297 nil  gc_used
                         (!type struct 298 
                          (!type already_seen 297)
                          gc_pointed_to "basic_block_def"
                          (!srcfileloc  "basic-block.h" 209)
                          (!fields 13 
                           (!pair  "preds"
                            (!type pointer 299 nil  gc_used
                             (!type user_struct 300 
                              (!type already_seen 299)
                              gc_pointed_to "vec<edge,va_gc>"
                              (!srcfileloc  "basic-block.h" 169)
                              (!fields 2 
                               (!pair  "va_gc"
                                (!type already_seen 3)
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                               (!pair  "edge"
                                (!type pointer 301 nil  gc_used
                                 (!type user_struct 302 
                                  (!type already_seen 301)
                                  gc_pointed_to "edge_def"
                                  (!srcfileloc  "basic-block.h" 59)
                                  (!fields 0 )
                                 )
                                )
                                (!srcfileloc  "basic-block.h" 169)
                                nil )
                              )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 169)
                            nil )
                           (!pair  "succs"
                            (!type already_seen 299)
                            (!srcfileloc  "basic-block.h" 170)
                            nil )
                           (!pair  "aux"
                            (!type already_seen 10)
                            (!srcfileloc  "basic-block.h" 173)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "loop_father"
                            (!type pointer 303 nil  gc_used
                             (!type struct 304 
                              (!type already_seen 303)
                              gc_pointed_to "loop"
                              (!srcfileloc  "cfgloop.h" 195)
                              (!fields 26 
                               (!pair  "num"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 106)
                                nil )
                               (!pair  "ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 109)
                                nil )
                               (!pair  "header"
                                (!type already_seen 297)
                                (!srcfileloc  "cfgloop.h" 112)
                                nil )
                               (!pair  "latch"
                                (!type already_seen 297)
                                (!srcfileloc  "cfgloop.h" 115)
                                nil )
                               (!pair  "lpt_decision"
                                (!type struct 305 nil  gc_used "lpt_decision"
                                 (!srcfileloc  "cfgloop.h" 42)
                                 (!fields 2 
                                  (!pair  "decision"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 40)
                                   nil )
                                  (!pair  "times"
                                   (!type already_seen 9)
                                   (!srcfileloc  "cfgloop.h" 41)
                                   nil )
                                 )
                                 nil 511 nil nil )
                                (!srcfileloc  "cfgloop.h" 118)
                                nil )
                               (!pair  "av_ninsns"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 121)
                                nil )
                               (!pair  "num_nodes"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 124)
                                nil )
                               (!pair  "superloops"
                                (!type pointer 306 nil  gc_used
                                 (!type user_struct 307 
                                  (!type already_seen 306)
                                  gc_pointed_to "vec<loop_p,va_gc>"
                                  (!srcfileloc  "cfgloop.h" 127)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "cfgloop.h" 127)
                                    nil )
                                   (!pair  "loop_p"
                                    (!type already_seen 303)
                                    (!srcfileloc  "cfgloop.h" 127)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "cfgloop.h" 127)
                                nil )
                               (!pair  "inner"
                                (!type already_seen 303)
                                (!srcfileloc  "cfgloop.h" 130)
                                nil )
                               (!pair  "next"
                                (!type already_seen 303)
                                (!srcfileloc  "cfgloop.h" 133)
                                nil )
                               (!pair  "aux"
                                (!type already_seen 10)
                                (!srcfileloc  "cfgloop.h" 136)
                                (!options 
                                 (!option skip string  "")
                                )
                               )
                               (!pair  "nb_iterations"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 145)
                                nil )
                               (!pair  "nb_iterations_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 149)
                                nil )
                               (!pair  "nb_iterations_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 154)
                                nil )
                               (!pair  "any_upper_bound"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 156)
                                nil )
                               (!pair  "any_estimate"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 157)
                                nil )
                               (!pair  "can_be_parallel"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 160)
                                nil )
                               (!pair  "warned_aggressive_loop_optimizations"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 164)
                                nil )
                               (!pair  "estimate_state"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 168)
                                nil )
                               (!pair  "safelen"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 174)
                                nil )
                               (!pair  "force_vect"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 177)
                                nil )
                               (!pair  "dont_vectorize"
                                (!type already_seen 9)
                                (!srcfileloc  "cfgloop.h" 180)
                                nil )
                               (!pair  "simduid"
                                (!type already_seen 5)
                                (!srcfileloc  "cfgloop.h" 185)
                                nil )
                               (!pair  "bounds"
                                (!type pointer 308 nil  gc_used
                                 (!type struct 309 
                                  (!type already_seen 308)
                                  gc_pointed_to "nb_iter_bound"
                                  (!srcfileloc  "cfgloop.h" 74)
                                  (!fields 4 
                                   (!pair  "stmt"
                                    (!type pointer 310 nil  gc_used
                                     (!type struct 311 
                                      (!type already_seen 310)
                                      gc_pointed_to "gimple_statement_base"
                                      (!srcfileloc  "gimple.h" 203)
                                      (!fields 15 
                                       (!pair  "code"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 144)
                                        nil )
                                       (!pair  "no_warning"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 147)
                                        nil )
                                       (!pair  "visited"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 151)
                                        nil )
                                       (!pair  "nontemporal_move"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 154)
                                        nil )
                                       (!pair  "plf"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 161)
                                        nil )
                                       (!pair  "modified"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 165)
                                        nil )
                                       (!pair  "has_volatile_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 168)
                                        nil )
                                       (!pair  "pad"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 171)
                                        nil )
                                       (!pair  "subcode"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 177)
                                        nil )
                                       (!pair  "uid"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 182)
                                        nil )
                                       (!pair  "location"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 186)
                                        nil )
                                       (!pair  "num_ops"
                                        (!type already_seen 9)
                                        (!srcfileloc  "gimple.h" 189)
                                        nil )
                                       (!pair  "bb"
                                        (!type already_seen 297)
                                        (!srcfileloc  "gimple.h" 193)
                                        nil )
                                       (!pair  "next"
                                        (!type already_seen 310)
                                        (!srcfileloc  "gimple.h" 201)
                                        nil )
                                       (!pair  "prev"
                                        (!type already_seen 310)
                                        (!srcfileloc  "gimple.h" 202)
                                        (!options 
                                         (!option skip string  "")
                                        )
                                       )
                                      )
                                      (!options 
                                       (!option variable_size string  "")
                                       (!option chain_next string  "%h.next")
                                       (!option tag string  "GSS_BASE")
                                       (!option desc string  "gimple_statement_structure (&%h)")
                                      )
                                      511 nil nil )
                                    )
                                    (!srcfileloc  "cfgloop.h" 56)
                                    nil )
                                   (!pair  "bound"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 65)
                                    nil )
                                   (!pair  "is_exit"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 70)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 308)
                                    (!srcfileloc  "cfgloop.h" 73)
                                    nil )
                                  )
                                  (!options 
                                   (!option chain_next string  "%h.next")
                                  )
                                  511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 188)
                                nil )
                               (!pair  "exits"
                                (!type pointer 312 nil  gc_used
                                 (!type struct 313 
                                  (!type already_seen 312)
                                  gc_pointed_to "loop_exit"
                                  (!srcfileloc  "cfgloop.h" 88)
                                  (!fields 4 
                                   (!pair  "e"
                                    (!type already_seen 301)
                                    (!srcfileloc  "cfgloop.h" 80)
                                    nil )
                                   (!pair  "prev"
                                    (!type already_seen 312)
                                    (!srcfileloc  "cfgloop.h" 83)
                                    nil )
                                   (!pair  "next"
                                    (!type already_seen 312)
                                    (!srcfileloc  "cfgloop.h" 84)
                                    nil )
                                   (!pair  "next_e"
                                    (!type already_seen 312)
                                    (!srcfileloc  "cfgloop.h" 87)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 191)
                                nil )
                               (!pair  "simple_loop_desc"
                                (!type pointer 314 nil  gc_used
                                 (!type struct 315 
                                  (!type already_seen 314)
                                  gc_pointed_to "niter_desc"
                                  (!srcfileloc  "cfgloop.h" 422)
                                  (!fields 11 
                                   (!pair  "out_edge"
                                    (!type already_seen 301)
                                    (!srcfileloc  "cfgloop.h" 389)
                                    nil )
                                   (!pair  "in_edge"
                                    (!type already_seen 301)
                                    (!srcfileloc  "cfgloop.h" 392)
                                    nil )
                                   (!pair  "simple_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 396)
                                    nil )
                                   (!pair  "const_iter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 399)
                                    nil )
                                   (!pair  "niter"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 402)
                                    nil )
                                   (!pair  "assumptions"
                                    (!type already_seen 136)
                                    (!srcfileloc  "cfgloop.h" 405)
                                    nil )
                                   (!pair  "noloop_assumptions"
                                    (!type already_seen 136)
                                    (!srcfileloc  "cfgloop.h" 409)
                                    nil )
                                   (!pair  "infinite"
                                    (!type already_seen 136)
                                    (!srcfileloc  "cfgloop.h" 412)
                                    nil )
                                   (!pair  "signed_p"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 415)
                                    nil )
                                   (!pair  "mode"
                                    (!type already_seen 9)
                                    (!srcfileloc  "cfgloop.h" 418)
                                    nil )
                                   (!pair  "niter_expr"
                                    (!type already_seen 136)
                                    (!srcfileloc  "cfgloop.h" 421)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "cfgloop.h" 194)
                                nil )
                              )
                              (!options 
                               (!option chain_next string  "%h.next")
                              )
                              511 nil nil )
                            )
                            (!srcfileloc  "basic-block.h" 176)
                            nil )
                           (!pair  "dom"
                            (!type array 316 nil  gc_unused "2" 
                             (!type pointer 317 nil  gc_unused
                              (!type struct 318 
                               (!type already_seen 317)
                               gc_unused "et_node"nil 
                               (!fields 0 )
                               nil 0 nil nil )
                             )
                            )
                            (!srcfileloc  "basic-block.h" 179)
                            (!options 
                             (!option skip string  "")
                            )
                           )
                           (!pair  "prev_bb"
                            (!type already_seen 297)
                            (!srcfileloc  "basic-block.h" 182)
                            nil )
                           (!pair  "next_bb"
                            (!type already_seen 297)
                            (!srcfileloc  "basic-block.h" 183)
                            nil )
                           (!pair  "il"
                            (!type union 319 nil  gc_used "basic_block_il_dependent"
                             (!srcfileloc  "basic-block.h" 191)
                             (!fields 2 
                              (!pair  "gimple"
                               (!type struct 320 nil  gc_used "gimple_bb_info"
                                (!srcfileloc  "basic-block.h" 139)
                                (!fields 2 
                                 (!pair  "seq"
                                  (!type already_seen 310)
                                  (!srcfileloc  "basic-block.h" 135)
                                  nil )
                                 (!pair  "phi_nodes"
                                  (!type already_seen 310)
                                  (!srcfileloc  "basic-block.h" 138)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 186)
                               (!options 
                                (!option tag string  "0")
                               )
                              )
                              (!pair  "x"
                               (!type struct 321 nil  gc_used "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/basic-block.h:187"
                                (!srcfileloc  "basic-block.h" 190)
                                (!fields 2 
                                 (!pair  "head_"
                                  (!type already_seen 136)
                                  (!srcfileloc  "basic-block.h" 188)
                                  nil )
                                 (!pair  "rtl"
                                  (!type pointer 322 nil  gc_used
                                   (!type struct 323 
                                    (!type already_seen 322)
                                    gc_pointed_to "rtl_bb_info"
                                    (!srcfileloc  "basic-block.h" 131)
                                    (!fields 3 
                                     (!pair  "end_"
                                      (!type already_seen 136)
                                      (!srcfileloc  "basic-block.h" 125)
                                      nil )
                                     (!pair  "header_"
                                      (!type already_seen 136)
                                      (!srcfileloc  "basic-block.h" 129)
                                      nil )
                                     (!pair  "footer_"
                                      (!type already_seen 136)
                                      (!srcfileloc  "basic-block.h" 130)
                                      nil )
                                    )
                                    nil 511 nil nil )
                                  )
                                  (!srcfileloc  "basic-block.h" 189)
                                  nil )
                                )
                                nil 511 nil nil )
                               (!srcfileloc  "basic-block.h" 190)
                               (!options 
                                (!option tag string  "1")
                               )
                              )
                             )
                             nil 511 nil )
                            (!srcfileloc  "basic-block.h" 191)
                            (!options 
                             (!option desc string  "((%1.flags & BB_RTL) != 0)")
                            )
                           )
                           (!pair  "flags"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 194)
                            nil )
                           (!pair  "index"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 197)
                            nil )
                           (!pair  "count"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 200)
                            nil )
                           (!pair  "frequency"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 203)
                            nil )
                           (!pair  "discriminator"
                            (!type already_seen 9)
                            (!srcfileloc  "basic-block.h" 208)
                            nil )
                          )
                          (!options 
                           (!option chain_prev string  "%h.prev_bb")
                           (!option chain_next string  "%h.next_bb")
                          )
                          511 nil nil )
                        )
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "NOTE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 324 nil  gc_used "rtx_def_code_label"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_str"
                        (!type already_seen 36)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CODE_LABEL")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 325 nil  gc_used "rtx_def_barrier"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "BARRIER")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 326 nil  gc_used "rtx_def_jump_table_data"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "JUMP_TABLE_DATA")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 327 nil  gc_used "rtx_def_call_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "CALL_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 328 nil  gc_used "rtx_def_jump_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 9 
                       (!pair  ".fld[8].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "JUMP_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 329 nil  gc_used "rtx_def_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 330 nil  gc_used "rtx_def_debug_insn"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 8 
                       (!pair  ".fld[7].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[6].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[5].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[4].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[3].rt_bb"
                        (!type already_seen 297)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[2].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_INSN")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 331 nil  gc_used "rtx_def_address"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "ADDRESS")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 332 nil  gc_used "rtx_def_sequence"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_rtvec"
                        (!type already_seen 261)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "SEQUENCE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 333 nil  gc_used "rtx_def_int_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INT_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 334 nil  gc_used "rtx_def_insn_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "INSN_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 335 nil  gc_used "rtx_def_expr_list"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 2 
                       (!pair  ".fld[1].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                       (!pair  ".fld[0].rt_rtx"
                        (!type already_seen 136)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "EXPR_LIST")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 336 nil  gc_used "rtx_def_debug_expr"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_tree"
                        (!type already_seen 5)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "DEBUG_EXPR")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 337 nil  gc_used "rtx_def_value"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "VALUE")
                      (!option dot string  "")
                     )
                    )
                    (!pair  ""
                     (!type struct 338 nil  gc_used "rtx_def_UnKnown"
                      (!srcfileloc  "rtl.h" 346)
                      (!fields 1 
                       (!pair  ".fld[0].rt_int"
                        (!type already_seen 9)
                        (!srcfileloc  "gengtype.c" 1321)
                        (!options 
                         (!option dot string  "")
                        )
                       )
                      )
                      nil 511 nil nil )
                     (!srcfileloc  "gengtype.c" 1350)
                     (!options 
                      (!option tag string  "UNKNOWN")
                      (!option dot string  "")
                     )
                    )
                   )
                   (!options 
                    (!option dot string  "")
                   )
                   511 nil )
                  (!srcfileloc  "rtl.h" 346)
                  (!options 
                   (!option desc string  "GET_CODE (&%0)")
                   (!option special string  "rtx_def")
                  )
                 )
                )
                (!options 
                 (!option variable_size string  "")
                 (!option chain_prev string  "RTX_PREV (&%h)")
                 (!option chain_next string  "RTX_NEXT (&%h)")
                )
                511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1389)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1601)
           (!options 
            (!option tag string  "TS_DECL_WRTL")
           )
          )
          (!pair  "decl_non_common"
           (!type struct 339 nil  gc_used "tree_decl_non_common"
            (!srcfileloc  "tree-core.h" 1473)
            (!fields 5 
             (!pair  "common"
              (!type struct 340 nil  gc_used "tree_decl_with_vis"
               (!srcfileloc  "tree-core.h" 1457)
               (!fields 22 
                (!pair  "common"
                 (!type already_seen 135)
                 (!srcfileloc  "tree-core.h" 1422)
                 nil )
                (!pair  "assembler_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1423)
                 nil )
                (!pair  "section_name"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1424)
                 nil )
                (!pair  "comdat_group"
                 (!type already_seen 5)
                 (!srcfileloc  "tree-core.h" 1425)
                 nil )
                (!pair  "defer_output"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1428)
                 nil )
                (!pair  "hard_register"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1429)
                 nil )
                (!pair  "common_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1430)
                 nil )
                (!pair  "in_text_section"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1431)
                 nil )
                (!pair  "in_constant_pool"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1432)
                 nil )
                (!pair  "dllimport_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1433)
                 nil )
                (!pair  "weak_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1435)
                 nil )
                (!pair  "implicit_section_name_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1437)
                 nil )
                (!pair  "seen_in_bind_expr"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1439)
                 nil )
                (!pair  "comdat_flag"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1440)
                 nil )
                (!pair  "visibility"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1441)
                 nil )
                (!pair  "visibility_specified"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1442)
                 nil )
                (!pair  "tls_model"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1444)
                 nil )
                (!pair  "init_priority_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1447)
                 nil )
                (!pair  "shadowed_for_var_p"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1449)
                 nil )
                (!pair  "cxx_constructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1451)
                 nil )
                (!pair  "cxx_destructor"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1453)
                 nil )
                (!pair  "final"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1455)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1464)
              nil )
             (!pair  "saved_tree"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1466)
              nil )
             (!pair  "arguments"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1468)
              nil )
             (!pair  "result"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1470)
              nil )
             (!pair  "vindex"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1472)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1603)
           (!options 
            (!option tag string  "TS_DECL_NON_COMMON")
           )
          )
          (!pair  "parm_decl"
           (!type struct 341 nil  gc_used "tree_parm_decl"
            (!srcfileloc  "tree-core.h" 1419)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 135)
              (!srcfileloc  "tree-core.h" 1417)
              nil )
             (!pair  "incoming_rtl"
              (!type already_seen 136)
              (!srcfileloc  "tree-core.h" 1418)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1604)
           (!options 
            (!option tag string  "TS_PARM_DECL")
           )
          )
          (!pair  "decl_with_vis"
           (!type already_seen 340)
           (!srcfileloc  "tree-core.h" 1605)
           (!options 
            (!option tag string  "TS_DECL_WITH_VIS")
           )
          )
          (!pair  "var_decl"
           (!type struct 342 nil  gc_used "tree_var_decl"
            (!srcfileloc  "tree-core.h" 1461)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 340)
              (!srcfileloc  "tree-core.h" 1460)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1606)
           (!options 
            (!option tag string  "TS_VAR_DECL")
           )
          )
          (!pair  "field_decl"
           (!type struct 343 nil  gc_used "tree_field_decl"
            (!srcfileloc  "tree-core.h" 1400)
            (!fields 6 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1393)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1395)
              nil )
             (!pair  "bit_field_type"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1396)
              nil )
             (!pair  "qualifier"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1397)
              nil )
             (!pair  "bit_offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1398)
              nil )
             (!pair  "fcontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1399)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1607)
           (!options 
            (!option tag string  "TS_FIELD_DECL")
           )
          )
          (!pair  "label_decl"
           (!type struct 344 nil  gc_used "tree_label_decl"
            (!srcfileloc  "tree-core.h" 1406)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 135)
              (!srcfileloc  "tree-core.h" 1403)
              nil )
             (!pair  "label_decl_uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1404)
              nil )
             (!pair  "eh_landing_pad_nr"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1405)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1608)
           (!options 
            (!option tag string  "TS_LABEL_DECL")
           )
          )
          (!pair  "result_decl"
           (!type struct 345 nil  gc_used "tree_result_decl"
            (!srcfileloc  "tree-core.h" 1410)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 135)
              (!srcfileloc  "tree-core.h" 1409)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1609)
           (!options 
            (!option tag string  "TS_RESULT_DECL")
           )
          )
          (!pair  "const_decl"
           (!type struct 346 nil  gc_used "tree_const_decl"
            (!srcfileloc  "tree-core.h" 1414)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1413)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1610)
           (!options 
            (!option tag string  "TS_CONST_DECL")
           )
          )
          (!pair  "type_decl"
           (!type struct 347 nil  gc_used "tree_type_decl"
            (!srcfileloc  "tree-core.h" 1534)
            (!fields 1 
             (!pair  "common"
              (!type already_seen 339)
              (!srcfileloc  "tree-core.h" 1532)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1611)
           (!options 
            (!option tag string  "TS_TYPE_DECL")
           )
          )
          (!pair  "function_decl"
           (!type struct 348 nil  gc_used "tree_function_decl"
            (!srcfileloc  "tree-core.h" 1521)
            (!fields 26 
             (!pair  "common"
              (!type already_seen 339)
              (!srcfileloc  "tree-core.h" 1481)
              nil )
             (!pair  "f"
              (!type pointer 349 nil  gc_used
               (!type struct 350 
                (!type already_seen 349)
                gc_pointed_to "function"
                (!srcfileloc  "function.h" 673)
                (!fields 43 
                 (!pair  "eh"
                  (!type pointer 351 nil  gc_used
                   (!type struct 352 
                    (!type already_seen 351)
                    gc_pointed_to "eh_status"
                    (!srcfileloc  "except.h" 221)
                    (!fields 6 
                     (!pair  "region_tree"
                      (!type pointer 353 nil  gc_used
                       (!type struct 354 
                        (!type already_seen 353)
                        gc_pointed_to "eh_region_d"
                        (!srcfileloc  "except.h" 183)
                        (!fields 10 
                         (!pair  "outer"
                          (!type already_seen 353)
                          (!srcfileloc  "except.h" 124)
                          nil )
                         (!pair  "inner"
                          (!type already_seen 353)
                          (!srcfileloc  "except.h" 127)
                          nil )
                         (!pair  "next_peer"
                          (!type already_seen 353)
                          (!srcfileloc  "except.h" 128)
                          nil )
                         (!pair  "index"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 131)
                          nil )
                         (!pair  "type"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 134)
                          nil )
                         (!pair  "u"
                          (!type union 355 nil  gc_used "eh_region_u"
                           (!srcfileloc  "except.h" 170)
                           (!fields 3 
                            (!pair  "eh_try"
                             (!type struct 356 nil  gc_used "eh_region_u_try"
                              (!srcfileloc  "except.h" 142)
                              (!fields 2 
                               (!pair  "first_catch"
                                (!type pointer 357 nil  gc_used
                                 (!type struct 358 
                                  (!type already_seen 357)
                                  gc_pointed_to "eh_catch_d"
                                  (!srcfileloc  "except.h" 117)
                                  (!fields 5 
                                   (!pair  "next_catch"
                                    (!type already_seen 357)
                                    (!srcfileloc  "except.h" 101)
                                    nil )
                                   (!pair  "prev_catch"
                                    (!type already_seen 357)
                                    (!srcfileloc  "except.h" 102)
                                    nil )
                                   (!pair  "type_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 106)
                                    nil )
                                   (!pair  "filter_list"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 111)
                                    nil )
                                   (!pair  "label"
                                    (!type already_seen 5)
                                    (!srcfileloc  "except.h" 116)
                                    nil )
                                  )
                                  nil 511 nil nil )
                                )
                                (!srcfileloc  "except.h" 140)
                                nil )
                               (!pair  "last_catch"
                                (!type already_seen 357)
                                (!srcfileloc  "except.h" 141)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 142)
                             (!options 
                              (!option tag string  "ERT_TRY")
                             )
                            )
                            (!pair  "allowed"
                             (!type struct 359 nil  gc_used "eh_region_u_allowed"
                              (!srcfileloc  "except.h" 156)
                              (!fields 3 
                               (!pair  "type_list"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 146)
                                nil )
                               (!pair  "label"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 150)
                                nil )
                               (!pair  "filter"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 155)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 156)
                             (!options 
                              (!option tag string  "ERT_ALLOWED_EXCEPTIONS")
                             )
                            )
                            (!pair  "must_not_throw"
                             (!type struct 360 nil  gc_used "eh_region_u_must_not_throw"
                              (!srcfileloc  "except.h" 169)
                              (!fields 2 
                               (!pair  "failure_decl"
                                (!type already_seen 5)
                                (!srcfileloc  "except.h" 166)
                                nil )
                               (!pair  "failure_loc"
                                (!type already_seen 9)
                                (!srcfileloc  "except.h" 168)
                                nil )
                              )
                              nil 511 nil nil )
                             (!srcfileloc  "except.h" 169)
                             (!options 
                              (!option tag string  "ERT_MUST_NOT_THROW")
                             )
                            )
                           )
                           nil 511 nil )
                          (!srcfileloc  "except.h" 170)
                          (!options 
                           (!option desc string  "%0.type")
                          )
                         )
                         (!pair  "landing_pads"
                          (!type pointer 361 nil  gc_used
                           (!type struct 362 
                            (!type already_seen 361)
                            gc_pointed_to "eh_landing_pad_d"
                            (!srcfileloc  "except.h" 94)
                            (!fields 5 
                             (!pair  "next_lp"
                              (!type already_seen 361)
                              (!srcfileloc  "except.h" 75)
                              nil )
                             (!pair  "region"
                              (!type already_seen 353)
                              (!srcfileloc  "except.h" 78)
                              nil )
                             (!pair  "post_landing_pad"
                              (!type already_seen 5)
                              (!srcfileloc  "except.h" 83)
                              nil )
                             (!pair  "landing_pad"
                              (!type already_seen 136)
                              (!srcfileloc  "except.h" 90)
                              nil )
                             (!pair  "index"
                              (!type already_seen 9)
                              (!srcfileloc  "except.h" 93)
                              nil )
                            )
                            nil 511 nil nil )
                          )
                          (!srcfileloc  "except.h" 173)
                          nil )
                         (!pair  "exc_ptr_reg"
                          (!type already_seen 136)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "filter_reg"
                          (!type already_seen 136)
                          (!srcfileloc  "except.h" 178)
                          nil )
                         (!pair  "use_cxa_end_cleanup"
                          (!type already_seen 9)
                          (!srcfileloc  "except.h" 182)
                          nil )
                        )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "except.h" 197)
                      nil )
                     (!pair  "region_array"
                      (!type pointer 363 nil  gc_used
                       (!type user_struct 364 
                        (!type already_seen 363)
                        gc_pointed_to "vec<eh_region,va_gc>"
                        (!srcfileloc  "except.h" 200)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 200)
                          nil )
                         (!pair  "eh_region"
                          (!type already_seen 353)
                          (!srcfileloc  "except.h" 200)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 200)
                      nil )
                     (!pair  "lp_array"
                      (!type pointer 365 nil  gc_used
                       (!type user_struct 366 
                        (!type already_seen 365)
                        gc_pointed_to "vec<eh_landing_pad,va_gc>"
                        (!srcfileloc  "except.h" 203)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "except.h" 203)
                          nil )
                         (!pair  "eh_landing_pad"
                          (!type already_seen 361)
                          (!srcfileloc  "except.h" 203)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "except.h" 203)
                      nil )
                     (!pair  "throw_stmt_table"
                      (!type pointer 367 nil  gc_used
                       (!type param_struct 368 
                        (!type already_seen 367)
                        gc_pointed_to
                        (!type already_seen 49)
                        
                        (!type pointer 369 nil  gc_used
                         (!type struct 370 
                          (!type already_seen 369)
                          gc_pointed_to "throw_stmt_node"
                          (!srcfileloc  "except.h" 292)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 310)
                            (!srcfileloc  "except.h" 290)
                            nil )
                           (!pair  "lp_nr"
                            (!type already_seen 9)
                            (!srcfileloc  "except.h" 291)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "except.h" 207)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 370)
                       )
                      )
                     )
                     (!pair  "ttype_data"
                      (!type already_seen 45)
                      (!srcfileloc  "except.h" 211)
                      nil )
                     (!pair  "ehspec_data"
                      (!type union 371 nil  gc_used "eh_status_u"
                       (!srcfileloc  "except.h" 220)
                       (!fields 2 
                        (!pair  "arm_eabi"
                         (!type already_seen 45)
                         (!srcfileloc  "except.h" 218)
                         (!options 
                          (!option tag string  "1")
                         )
                        )
                        (!pair  "other"
                         (!type pointer 372 nil  gc_used
                          (!type user_struct 373 
                           (!type already_seen 372)
                           gc_pointed_to "vec<uchar,va_gc>"
                           (!srcfileloc  "function.h" 152)
                           (!fields 2 
                            (!pair  "va_gc"
                             (!type already_seen 3)
                             (!srcfileloc  "function.h" 152)
                             nil )
                            (!pair  "uchar"
                             (!type already_seen 28)
                             (!srcfileloc  "function.h" 152)
                             nil )
                           )
                          )
                         )
                         (!srcfileloc  "except.h" 219)
                         (!options 
                          (!option tag string  "0")
                         )
                        )
                       )
                       nil 511 nil )
                      (!srcfileloc  "except.h" 220)
                      (!options 
                       (!option desc string  "targetm.arm_eabi_unwinder")
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 518)
                  nil )
                 (!pair  "cfg"
                  (!type pointer 374 nil  gc_used
                   (!type struct 375 
                    (!type already_seen 374)
                    gc_pointed_to "control_flow_graph"
                    (!srcfileloc  "basic-block.h" 311)
                    (!fields 12 
                     (!pair  "x_entry_block_ptr"
                      (!type already_seen 297)
                      (!srcfileloc  "basic-block.h" 278)
                      nil )
                     (!pair  "x_exit_block_ptr"
                      (!type already_seen 297)
                      (!srcfileloc  "basic-block.h" 279)
                      nil )
                     (!pair  "x_basic_block_info"
                      (!type pointer 376 nil  gc_used
                       (!type user_struct 377 
                        (!type already_seen 376)
                        gc_pointed_to "vec<basic_block,va_gc>"
                        (!srcfileloc  "basic-block.h" 282)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "basic-block.h" 282)
                          nil )
                         (!pair  "basic_block"
                          (!type already_seen 297)
                          (!srcfileloc  "basic-block.h" 282)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "basic-block.h" 282)
                      nil )
                     (!pair  "x_n_basic_blocks"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 285)
                      nil )
                     (!pair  "x_n_edges"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 288)
                      nil )
                     (!pair  "x_last_basic_block"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 291)
                      nil )
                     (!pair  "last_label_uid"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 294)
                      nil )
                     (!pair  "x_label_to_block_map"
                      (!type already_seen 376)
                      (!srcfileloc  "basic-block.h" 298)
                      nil )
                     (!pair  "x_profile_status"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 300)
                      nil )
                     (!pair  "x_dom_computed"
                      (!type array 378 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 303)
                      nil )
                     (!pair  "x_n_bbs_in_dom_tree"
                      (!type array 379 nil  gc_used "2" 
                       (!type already_seen 9)
                      )
                      (!srcfileloc  "basic-block.h" 306)
                      nil )
                     (!pair  "max_jumptable_ents"
                      (!type already_seen 9)
                      (!srcfileloc  "basic-block.h" 310)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 521)
                  nil )
                 (!pair  "gimple_body"
                  (!type already_seen 310)
                  (!srcfileloc  "function.h" 524)
                  nil )
                 (!pair  "gimple_df"
                  (!type pointer 380 nil  gc_used
                   (!type struct 381 
                    (!type already_seen 380)
                    gc_pointed_to "gimple_df"
                    (!srcfileloc  "gimple-ssa.h" 84)
                    (!fields 13 
                     (!pair  "modified_noreturn_calls"
                      (!type pointer 382 nil  gc_used
                       (!type user_struct 383 
                        (!type already_seen 382)
                        gc_pointed_to "vec<gimple,va_gc>"
                        (!srcfileloc  "gimple-ssa.h" 43)
                        (!fields 2 
                         (!pair  "va_gc"
                          (!type already_seen 3)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                         (!pair  "gimple"
                          (!type already_seen 310)
                          (!srcfileloc  "gimple-ssa.h" 43)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "gimple-ssa.h" 43)
                      nil )
                     (!pair  "ssa_names"
                      (!type already_seen 45)
                      (!srcfileloc  "gimple-ssa.h" 46)
                      nil )
                     (!pair  "vop"
                      (!type already_seen 5)
                      (!srcfileloc  "gimple-ssa.h" 49)
                      nil )
                     (!pair  "escaped"
                      (!type struct 384 nil  gc_used "pt_solution"
                       (!srcfileloc  "tree-ssa-alias.h" 61)
                       (!fields 9 
                        (!pair  "anything"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 32)
                         nil )
                        (!pair  "nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 36)
                         nil )
                        (!pair  "escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 40)
                         nil )
                        (!pair  "ipa_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 44)
                         nil )
                        (!pair  "null"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 48)
                         nil )
                        (!pair  "vars_contains_nonlocal"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 52)
                         nil )
                        (!pair  "vars_contains_escaped"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 54)
                         nil )
                        (!pair  "vars_contains_escaped_heap"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-alias.h" 57)
                         nil )
                        (!pair  "vars"
                         (!type already_seen 120)
                         (!srcfileloc  "tree-ssa-alias.h" 60)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 52)
                      nil )
                     (!pair  "decls_to_pointers"
                      (!type pointer 385 nil  gc_used
                       (!type struct 386 
                        (!type already_seen 385)
                        gc_pointed_to "pointer_map_t"
                        (!srcfileloc  "lto-streamer.h" 569)
                        (!fields 0 )
                        nil 511 nil nil )
                      )
                      (!srcfileloc  "gimple-ssa.h" 56)
                      (!options 
                       (!option skip string  "")
                      )
                     )
                     (!pair  "free_ssanames"
                      (!type already_seen 45)
                      (!srcfileloc  "gimple-ssa.h" 59)
                      nil )
                     (!pair  "default_defs"
                      (!type already_seen 53)
                      (!srcfileloc  "gimple-ssa.h" 65)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 7)
                       )
                      )
                     )
                     (!pair  "ssa_renaming_needed"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 68)
                      nil )
                     (!pair  "rename_vops"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 71)
                      nil )
                     (!pair  "in_ssa_p"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 74)
                      nil )
                     (!pair  "ipa_pta"
                      (!type already_seen 9)
                      (!srcfileloc  "gimple-ssa.h" 77)
                      nil )
                     (!pair  "ssa_operands"
                      (!type struct 387 nil  gc_used "ssa_operands"
                       (!srcfileloc  "tree-ssa-operands.h" 63)
                       (!fields 5 
                        (!pair  "operand_memory"
                         (!type pointer 388 nil  gc_used
                          (!type struct 389 
                           (!type already_seen 388)
                           gc_pointed_to "ssa_operand_memory_d"
                           (!srcfileloc  "tree-ssa-operands.h" 51)
                           (!fields 2 
                            (!pair  "next"
                             (!type already_seen 388)
                             (!srcfileloc  "tree-ssa-operands.h" 49)
                             nil )
                            (!pair  "mem"
                             (!type array 390 nil  gc_used "1" 
                              (!type already_seen 28)
                             )
                             (!srcfileloc  "tree-ssa-operands.h" 50)
                             nil )
                           )
                           (!options 
                            (!option variable_size string  "")
                            (!option chain_next string  "%h.next")
                           )
                           511 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 55)
                         nil )
                        (!pair  "operand_memory_index"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 56)
                         nil )
                        (!pair  "ssa_operand_mem_size"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 58)
                         nil )
                        (!pair  "ops_active"
                         (!type already_seen 9)
                         (!srcfileloc  "tree-ssa-operands.h" 60)
                         nil )
                        (!pair  "free_uses"
                         (!type pointer 391 nil  gc_unused
                          (!type struct 392 
                           (!type already_seen 391)
                           gc_unused "use_optype_d"nil 
                           (!fields 0 )
                           nil 0 nil nil )
                         )
                         (!srcfileloc  "tree-ssa-operands.h" 62)
                         (!options 
                          (!option skip string  "")
                         )
                        )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "gimple-ssa.h" 79)
                      nil )
                     (!pair  "tm_restart"
                      (!type pointer 393 nil  gc_used
                       (!type param_struct 394 
                        (!type already_seen 393)
                        gc_pointed_to
                        (!type already_seen 49)
                        
                        (!type pointer 395 nil  gc_used
                         (!type struct 396 
                          (!type already_seen 395)
                          gc_pointed_to "tm_restart_node"
                          (!srcfileloc  "gimple-ssa.h" 32)
                          (!fields 2 
                           (!pair  "stmt"
                            (!type already_seen 310)
                            (!srcfileloc  "gimple-ssa.h" 30)
                            nil )
                           (!pair  "label_or_list"
                            (!type already_seen 5)
                            (!srcfileloc  "gimple-ssa.h" 31)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "gimple-ssa.h" 83)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 396)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 527)
                  nil )
                 (!pair  "x_current_loops"
                  (!type pointer 397 nil  gc_used
                   (!type struct 398 
                    (!type already_seen 397)
                    gc_pointed_to "loops"
                    (!srcfileloc  "cfgloop.h" 229)
                    (!fields 4 
                     (!pair  "state"
                      (!type already_seen 9)
                      (!srcfileloc  "cfgloop.h" 217)
                      nil )
                     (!pair  "larray"
                      (!type already_seen 306)
                      (!srcfileloc  "cfgloop.h" 220)
                      nil )
                     (!pair  "exits"
                      (!type pointer 399 nil  gc_used
                       (!type param_struct 400 
                        (!type already_seen 399)
                        gc_pointed_to
                        (!type already_seen 49)
                        
                        (!type already_seen 312)
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "cfgloop.h" 225)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 313)
                       )
                      )
                     )
                     (!pair  "tree_root"
                      (!type already_seen 303)
                      (!srcfileloc  "cfgloop.h" 228)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 530)
                  nil )
                 (!pair  "su"
                  (!type pointer 401 nil  gc_used
                   (!type struct 402 
                    (!type already_seen 401)
                    gc_pointed_to "stack_usage"
                    (!srcfileloc  "function.h" 503)
                    (!fields 4 
                     (!pair  "static_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 490)
                      nil )
                     (!pair  "dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 494)
                      nil )
                     (!pair  "pushed_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 498)
                      nil )
                     (!pair  "has_unbounded_dynamic_stack_size"
                      (!type already_seen 9)
                      (!srcfileloc  "function.h" 502)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 533)
                  nil )
                 (!pair  "value_histograms"
                  (!type already_seen 50)
                  (!srcfileloc  "function.h" 536)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 541)
                  nil )
                 (!pair  "static_chain_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 545)
                  nil )
                 (!pair  "nonlocal_goto_save_area"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 550)
                  nil )
                 (!pair  "local_decls"
                  (!type already_seen 45)
                  (!srcfileloc  "function.h" 553)
                  nil )
                 (!pair  "cilk_frame_decl"
                  (!type already_seen 5)
                  (!srcfileloc  "function.h" 556)
                  nil )
                 (!pair  "machine"
                  (!type pointer 403 nil  gc_unused
                   (!type struct 404 
                    (!type already_seen 403)
                    gc_maybe_pointed_to "machine_function"
                    (!srcfileloc  "config/mips/mips.c" 435)
                    (!fields 16 
                     (!pair  "next_fcc"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 376)
                      nil )
                     (!pair  "mips16_gp_pseudo_rtx"
                      (!type already_seen 136)
                      (!srcfileloc  "config/mips/mips.c" 379)
                      nil )
                     (!pair  "varargs_size"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 383)
                      nil )
                     (!pair  "frame"
                      (!type struct 405 nil  gc_used "mips_frame_info"
                       (!srcfileloc  "config/mips/mips.c" 371)
                       (!fields 22 
                        (!pair  "total_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 321)
                         nil )
                        (!pair  "var_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 324)
                         nil )
                        (!pair  "args_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 327)
                         nil )
                        (!pair  "cprestore_size"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 331)
                         nil )
                        (!pair  "mask"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 334)
                         nil )
                        (!pair  "fmask"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 337)
                         nil )
                        (!pair  "acc_mask"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 340)
                         nil )
                        (!pair  "num_gp"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 344)
                         nil )
                        (!pair  "num_fp"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 345)
                         nil )
                        (!pair  "num_acc"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 346)
                         nil )
                        (!pair  "num_cop0_regs"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 347)
                         nil )
                        (!pair  "gp_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 352)
                         nil )
                        (!pair  "fp_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 353)
                         nil )
                        (!pair  "acc_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 354)
                         nil )
                        (!pair  "cop0_save_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 355)
                         nil )
                        (!pair  "gp_sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 358)
                         nil )
                        (!pair  "fp_sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 359)
                         nil )
                        (!pair  "acc_sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 360)
                         nil )
                        (!pair  "cop0_sp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 361)
                         nil )
                        (!pair  "ra_fp_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 364)
                         nil )
                        (!pair  "arg_pointer_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 367)
                         nil )
                        (!pair  "hard_frame_pointer_offset"
                         (!type already_seen 9)
                         (!srcfileloc  "config/mips/mips.c" 370)
                         nil )
                       )
                       nil 511 nil nil )
                      (!srcfileloc  "config/mips/mips.c" 386)
                      nil )
                     (!pair  "global_pointer"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 390)
                      nil )
                     (!pair  "load_label_num_insns"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 394)
                      nil )
                     (!pair  "ignore_hazard_length_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 398)
                      nil )
                     (!pair  "all_noreorder_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 402)
                      nil )
                     (!pair  "has_inflexible_gp_insn_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 407)
                      nil )
                     (!pair  "has_flexible_gp_insn_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 408)
                      nil )
                     (!pair  "must_initialize_gp_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 415)
                      nil )
                     (!pair  "must_restore_gp_when_clobbered_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 420)
                      nil )
                     (!pair  "interrupt_handler_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 423)
                      nil )
                     (!pair  "use_shadow_register_set_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 426)
                      nil )
                     (!pair  "keep_interrupts_masked_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 430)
                      nil )
                     (!pair  "use_debug_exception_return_p"
                      (!type already_seen 9)
                      (!srcfileloc  "config/mips/mips.c" 434)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 561)
                  (!options 
                   (!option maybe_undef string  "")
                  )
                 )
                 (!pair  "language"
                  (!type already_seen 74)
                  (!srcfileloc  "function.h" 564)
                  nil )
                 (!pair  "used_types_hash"
                  (!type already_seen 53)
                  (!srcfileloc  "function.h" 567)
                  (!options 
                   (!option param_is type 
                    (!type already_seen 7)
                   )
                  )
                 )
                 (!pair  "fde"
                  (!type pointer 406 nil  gc_used
                   (!type struct 407 
                    (!type already_seen 406)
                    gc_pointed_to "dw_fde_node"
                    (!srcfileloc  "dwarf2out.h" 106)
                    (!fields 22 
                     (!pair  "decl"
                      (!type already_seen 5)
                      (!srcfileloc  "dwarf2out.h" 74)
                      nil )
                     (!pair  "dw_fde_begin"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 75)
                      nil )
                     (!pair  "dw_fde_current_label"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 76)
                      nil )
                     (!pair  "dw_fde_end"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 77)
                      nil )
                     (!pair  "dw_fde_vms_end_prologue"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 78)
                      nil )
                     (!pair  "dw_fde_vms_begin_epilogue"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 79)
                      nil )
                     (!pair  "dw_fde_second_begin"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 80)
                      nil )
                     (!pair  "dw_fde_second_end"
                      (!type already_seen 36)
                      (!srcfileloc  "dwarf2out.h" 81)
                      nil )
                     (!pair  "dw_fde_cfi"
                      (!type pointer 408 nil  gc_used
                       (!type user_struct 409 
                        (!type already_seen 408)
                        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 410 nil  gc_used
                           (!type struct 411 
                            (!type already_seen 410)
                            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 412 nil  gc_used "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/dwarf2out.h:47"
                               (!srcfileloc  "dwarf2out.h" 52)
                               (!fields 4 
                                (!pair  "dw_cfi_reg_num"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 48)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_reg_num")
                                 )
                                )
                                (!pair  "dw_cfi_offset"
                                 (!type already_seen 9)
                                 (!srcfileloc  "dwarf2out.h" 49)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_offset")
                                 )
                                )
                                (!pair  "dw_cfi_addr"
                                 (!type already_seen 36)
                                 (!srcfileloc  "dwarf2out.h" 50)
                                 (!options 
                                  (!option tag string  "dw_cfi_oprnd_addr")
                                 )
                                )
                                (!pair  "dw_cfi_loc"
                                 (!type pointer 413 nil  gc_used
                                  (!type struct 414 
                                   (!type already_seen 413)
                                   gc_pointed_to "dw_loc_descr_node"
                                   (!srcfileloc  "dwarf2out.h" 213)
                                   (!fields 6 
                                    (!pair  "dw_loc_next"
                                     (!type already_seen 413)
                                     (!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 415 
                                      (!type pointer 416 nil  gc_unused
                                       (!type already_seen 415)
                                      )
                                      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 417 nil  gc_used
                                         (!type struct 418 
                                          (!type already_seen 417)
                                          gc_pointed_to "addr_table_entry_struct"
                                          (!srcfileloc  "dwarf2out.c" 1258)
                                          (!fields 4 
                                           (!pair  "kind"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1249)
                                            nil )
                                           (!pair  "refcount"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1250)
                                            nil )
                                           (!pair  "index"
                                            (!type already_seen 9)
                                            (!srcfileloc  "dwarf2out.c" 1251)
                                            nil )
                                           (!pair  "addr"
                                            (!type union 419 nil  gc_used "addr_table_entry_struct_union"
                                             (!srcfileloc  "dwarf2out.c" 1256)
                                             (!fields 2 
                                              (!pair  "rtl"
                                               (!type already_seen 136)
                                               (!srcfileloc  "dwarf2out.c" 1254)
                                               (!options 
                                                (!option tag string  "0")
                                               )
                                              )
                                              (!pair  "label"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1255)
                                               (!options 
                                                (!option tag string  "1")
                                               )
                                              )
                                             )
                                             nil 511 nil )
                                            (!srcfileloc  "dwarf2out.c" 1257)
                                            (!options 
                                             (!option desc string  "%1.kind")
                                            )
                                           )
                                          )
                                          nil 511 nil nil )
                                        )
                                        (!srcfileloc  "dwarf2out.h" 169)
                                        nil )
                                       (!pair  "v"
                                        (!type union 420 nil  gc_used "dw_val_struct_union"
                                         (!srcfileloc  "dwarf2out.h" 197)
                                         (!fields 17 
                                          (!pair  "val_addr"
                                           (!type already_seen 136)
                                           (!srcfileloc  "dwarf2out.h" 172)
                                           (!options 
                                            (!option tag string  "dw_val_class_addr")
                                           )
                                          )
                                          (!pair  "val_offset"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 173)
                                           (!options 
                                            (!option tag string  "dw_val_class_offset")
                                           )
                                          )
                                          (!pair  "val_loc_list"
                                           (!type pointer 421 nil  gc_used
                                            (!type struct 422 
                                             (!type already_seen 421)
                                             gc_pointed_to "dw_loc_list_struct"
                                             (!srcfileloc  "dwarf2out.c" 1283)
                                             (!fields 12 
                                              (!pair  "dw_loc_next"
                                               (!type already_seen 421)
                                               (!srcfileloc  "dwarf2out.c" 1265)
                                               nil )
                                              (!pair  "begin"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1266)
                                               nil )
                                              (!pair  "begin_entry"
                                               (!type already_seen 417)
                                               (!srcfileloc  "dwarf2out.c" 1267)
                                               nil )
                                              (!pair  "end"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1268)
                                               nil )
                                              (!pair  "ll_symbol"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1269)
                                               nil )
                                              (!pair  "section"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1271)
                                               nil )
                                              (!pair  "expr"
                                               (!type already_seen 413)
                                               (!srcfileloc  "dwarf2out.c" 1272)
                                               nil )
                                              (!pair  "hash"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1273)
                                               nil )
                                              (!pair  "resolved_addr"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1276)
                                               nil )
                                              (!pair  "replaced"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1278)
                                               nil )
                                              (!pair  "emitted"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1279)
                                               nil )
                                              (!pair  "force"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1282)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 174)
                                           (!options 
                                            (!option tag string  "dw_val_class_loc_list")
                                           )
                                          )
                                          (!pair  "val_loc"
                                           (!type already_seen 413)
                                           (!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 423 nil  gc_used "dw_vec_const"
                                            (!srcfileloc  "dwarf2out.h" 179)
                                            (!fields 3 
                                             (!pair  "array"
                                              (!type already_seen 36)
                                              (!srcfileloc  "dwarf2out.h" 157)
                                              (!options 
                                               (!option atomic string  "")
                                              )
                                             )
                                             (!pair  "length"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 158)
                                              nil )
                                             (!pair  "elt_size"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 159)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 179)
                                           (!options 
                                            (!option tag string  "dw_val_class_vec")
                                           )
                                          )
                                          (!pair  "val_die_ref"
                                           (!type struct 424 nil  gc_used "dw_val_die_union"
                                            (!srcfileloc  "dwarf2out.h" 184)
                                            (!fields 2 
                                             (!pair  "die"
                                              (!type pointer 425 
                                               (!type pointer 426 nil  gc_used
                                                (!type already_seen 425)
                                               )
                                               gc_pointed_to
                                               (!type struct 427 
                                                (!type already_seen 425)
                                                gc_pointed_to "die_struct"
                                                (!srcfileloc  "dwarf2out.c" 2564)
                                                (!fields 13 
                                                 (!pair  "die_id"
                                                  (!type union 428 nil  gc_used "die_symbol_or_type_node"
                                                   (!srcfileloc  "dwarf2out.c" 2548)
                                                   (!fields 2 
                                                    (!pair  "die_symbol"
                                                     (!type already_seen 36)
                                                     (!srcfileloc  "dwarf2out.c" 2546)
                                                     (!options 
                                                      (!option tag string  "0")
                                                     )
                                                    )
                                                    (!pair  "die_type_node"
                                                     (!type pointer 429 nil  gc_used
                                                      (!type struct 430 
                                                       (!type already_seen 429)
                                                       gc_pointed_to "comdat_type_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2614)
                                                       (!fields 5 
                                                        (!pair  "root_die"
                                                         (!type already_seen 425)
                                                         (!srcfileloc  "dwarf2out.c" 2609)
                                                         nil )
                                                        (!pair  "type_die"
                                                         (!type already_seen 425)
                                                         (!srcfileloc  "dwarf2out.c" 2610)
                                                         nil )
                                                        (!pair  "skeleton_die"
                                                         (!type already_seen 425)
                                                         (!srcfileloc  "dwarf2out.c" 2611)
                                                         nil )
                                                        (!pair  "signature"
                                                         (!type array 431 nil  gc_used "DWARF_TYPE_SIGNATURE_SIZE" 
                                                          (!type already_seen 28)
                                                         )
                                                         (!srcfileloc  "dwarf2out.c" 2612)
                                                         nil )
                                                        (!pair  "next"
                                                         (!type already_seen 429)
                                                         (!srcfileloc  "dwarf2out.c" 2613)
                                                         nil )
                                                       )
                                                       nil 511 nil nil )
                                                     )
                                                     (!srcfileloc  "dwarf2out.c" 2547)
                                                     (!options 
                                                      (!option tag string  "1")
                                                     )
                                                    )
                                                   )
                                                   nil 511 nil )
                                                  (!srcfileloc  "dwarf2out.c" 2549)
                                                  (!options 
                                                   (!option desc string  "%0.comdat_type_p")
                                                  )
                                                 )
                                                 (!pair  "die_attr"
                                                  (!type pointer 432 nil  gc_used
                                                   (!type user_struct 433 
                                                    (!type already_seen 432)
                                                    gc_pointed_to "vec<dw_attr_node,va_gc>"
                                                    (!srcfileloc  "dwarf2out.c" 2550)
                                                    (!fields 2 
                                                     (!pair  "va_gc"
                                                      (!type already_seen 3)
                                                      (!srcfileloc  "dwarf2out.c" 2550)
                                                      nil )
                                                     (!pair  "dw_attr_node"
                                                      (!type struct 434 
                                                       (!type pointer 435 nil  gc_unused
                                                        (!type already_seen 434)
                                                       )
                                                       gc_used "dw_attr_struct"
                                                       (!srcfileloc  "dwarf2out.c" 2535)
                                                       (!fields 2 
                                                        (!pair  "dw_attr"
                                                         (!type already_seen 9)
                                                         (!srcfileloc  "dwarf2out.c" 2533)
                                                         nil )
                                                        (!pair  "dw_attr_val"
                                                         (!type already_seen 415)
                                                         (!srcfileloc  "dwarf2out.c" 2534)
                                                         nil )
                                                       )
                                                       nil 511 nil nil )
                                                      (!srcfileloc  "dwarf2out.c" 2550)
                                                      nil )
                                                    )
                                                   )
                                                  )
                                                  (!srcfileloc  "dwarf2out.c" 2550)
                                                  nil )
                                                 (!pair  "die_parent"
                                                  (!type already_seen 425)
                                                  (!srcfileloc  "dwarf2out.c" 2551)
                                                  nil )
                                                 (!pair  "die_child"
                                                  (!type already_seen 425)
                                                  (!srcfileloc  "dwarf2out.c" 2552)
                                                  nil )
                                                 (!pair  "die_sib"
                                                  (!type already_seen 425)
                                                  (!srcfileloc  "dwarf2out.c" 2553)
                                                  nil )
                                                 (!pair  "die_definition"
                                                  (!type already_seen 425)
                                                  (!srcfileloc  "dwarf2out.c" 2554)
                                                  nil )
                                                 (!pair  "die_offset"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2555)
                                                  nil )
                                                 (!pair  "die_abbrev"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2556)
                                                  nil )
                                                 (!pair  "die_mark"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2557)
                                                  nil )
                                                 (!pair  "decl_id"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2558)
                                                  nil )
                                                 (!pair  "die_tag"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2559)
                                                  nil )
                                                 (!pair  "die_perennial_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2561)
                                                  nil )
                                                 (!pair  "comdat_type_p"
                                                  (!type already_seen 9)
                                                  (!srcfileloc  "dwarf2out.c" 2562)
                                                  nil )
                                                )
                                                (!options 
                                                 (!option chain_circular string  "%h.die_sib")
                                                )
                                                511 nil nil )
                                              )
                                              (!srcfileloc  "dwarf2out.h" 182)
                                              nil )
                                             (!pair  "external"
                                              (!type already_seen 9)
                                              (!srcfileloc  "dwarf2out.h" 183)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 184)
                                           (!options 
                                            (!option tag string  "dw_val_class_die_ref")
                                           )
                                          )
                                          (!pair  "val_fde_index"
                                           (!type already_seen 9)
                                           (!srcfileloc  "dwarf2out.h" 185)
                                           (!options 
                                            (!option tag string  "dw_val_class_fde_ref")
                                           )
                                          )
                                          (!pair  "val_str"
                                           (!type pointer 436 nil  gc_used
                                            (!type struct 437 
                                             (!type already_seen 436)
                                             gc_pointed_to "indirect_string_node"
                                             (!srcfileloc  "dwarf2out.c" 211)
                                             (!fields 5 
                                              (!pair  "str"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 206)
                                               nil )
                                              (!pair  "refcount"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 207)
                                               nil )
                                              (!pair  "form"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 208)
                                               nil )
                                              (!pair  "label"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 209)
                                               nil )
                                              (!pair  "index"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 210)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 186)
                                           (!options 
                                            (!option tag string  "dw_val_class_str")
                                           )
                                          )
                                          (!pair  "val_lbl_id"
                                           (!type already_seen 36)
                                           (!srcfileloc  "dwarf2out.h" 187)
                                           (!options 
                                            (!option tag string  "dw_val_class_lbl_id")
                                           )
                                          )
                                          (!pair  "val_flag"
                                           (!type already_seen 28)
                                           (!srcfileloc  "dwarf2out.h" 188)
                                           (!options 
                                            (!option tag string  "dw_val_class_flag")
                                           )
                                          )
                                          (!pair  "val_file"
                                           (!type pointer 438 nil  gc_used
                                            (!type struct 439 
                                             (!type already_seen 438)
                                             gc_pointed_to "dwarf_file_data"
                                             (!srcfileloc  "dwarf2out.c" 1228)
                                             (!fields 2 
                                              (!pair  "filename"
                                               (!type already_seen 36)
                                               (!srcfileloc  "dwarf2out.c" 1226)
                                               nil )
                                              (!pair  "emitted_number"
                                               (!type already_seen 9)
                                               (!srcfileloc  "dwarf2out.c" 1227)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                           )
                                           (!srcfileloc  "dwarf2out.h" 189)
                                           (!options 
                                            (!option tag string  "dw_val_class_file")
                                           )
                                          )
                                          (!pair  "val_data8"
                                           (!type array 440 nil  gc_used "8" 
                                            (!type already_seen 28)
                                           )
                                           (!srcfileloc  "dwarf2out.h" 190)
                                           (!options 
                                            (!option tag string  "dw_val_class_data8")
                                           )
                                          )
                                          (!pair  "val_decl_ref"
                                           (!type already_seen 5)
                                           (!srcfileloc  "dwarf2out.h" 191)
                                           (!options 
                                            (!option tag string  "dw_val_class_decl_ref")
                                           )
                                          )
                                          (!pair  "val_vms_delta"
                                           (!type struct 441 nil  gc_used "dw_val_vms_delta_union"
                                            (!srcfileloc  "dwarf2out.h" 196)
                                            (!fields 2 
                                             (!pair  "lbl1"
                                              (!type already_seen 36)
                                              (!srcfileloc  "dwarf2out.h" 194)
                                              nil )
                                             (!pair  "lbl2"
                                              (!type already_seen 36)
                                              (!srcfileloc  "dwarf2out.h" 195)
                                              nil )
                                            )
                                            nil 511 nil nil )
                                           (!srcfileloc  "dwarf2out.h" 196)
                                           (!options 
                                            (!option tag string  "dw_val_class_vms_delta")
                                           )
                                          )
                                         )
                                         nil 511 nil )
                                        (!srcfileloc  "dwarf2out.h" 198)
                                        (!options 
                                         (!option desc string  "%1.val_class")
                                        )
                                       )
                                      )
                                      nil 511 nil nil )
                                     (!srcfileloc  "dwarf2out.h" 211)
                                     nil )
                                    (!pair  "dw_loc_oprnd2"
                                     (!type already_seen 415)
                                     (!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 412)
                              (!srcfileloc  "dwarf2out.h" 59)
                              (!options 
                               (!option desc string  "dw_cfi_oprnd2_desc (%1.dw_cfi_opc)")
                              )
                             )
                            )
                            nil 511 nil nil )
                          )
                          (!srcfileloc  "dwarf2out.h" 63)
                          nil )
                        )
                       )
                      )
                      (!srcfileloc  "dwarf2out.h" 82)
                      nil )
                     (!pair  "dw_fde_switch_cfi_index"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 83)
                      nil )
                     (!pair  "stack_realignment"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 84)
                      nil )
                     (!pair  "funcdef_number"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 86)
                      nil )
                     (!pair  "fde_index"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 87)
                      nil )
                     (!pair  "drap_reg"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 90)
                      nil )
                     (!pair  "vdrap_reg"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 92)
                      nil )
                     (!pair  "all_throwers_are_sibcalls"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 94)
                      nil )
                     (!pair  "uses_eh_lsda"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 95)
                      nil )
                     (!pair  "nothrow"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 96)
                      nil )
                     (!pair  "stack_realign"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 98)
                      nil )
                     (!pair  "drap_reg_saved"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 100)
                      nil )
                     (!pair  "in_std_section"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 102)
                      nil )
                     (!pair  "second_in_std_section"
                      (!type already_seen 9)
                      (!srcfileloc  "dwarf2out.h" 105)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "function.h" 572)
                  nil )
                 (!pair  "last_stmt_uid"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 575)
                  nil )
                 (!pair  "funcdef_no"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 578)
                  nil )
                 (!pair  "function_start_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 581)
                  nil )
                 (!pair  "function_end_locus"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 584)
                  nil )
                 (!pair  "curr_properties"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 587)
                  nil )
                 (!pair  "last_verified"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 588)
                  nil )
                 (!pair  "cannot_be_copied_reason"
                  (!type already_seen 36)
                  (!srcfileloc  "function.h" 593)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "va_list_gpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 600)
                  nil )
                 (!pair  "va_list_fpr_size"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 604)
                  nil )
                 (!pair  "calls_setjmp"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 607)
                  nil )
                 (!pair  "calls_alloca"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 611)
                  nil )
                 (!pair  "is_cilk_function"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 614)
                  nil )
                 (!pair  "calls_cilk_spawn"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 617)
                  nil )
                 (!pair  "has_nonlocal_label"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 621)
                  nil )
                 (!pair  "cannot_be_copied_set"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 626)
                  nil )
                 (!pair  "stdarg"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 629)
                  nil )
                 (!pair  "after_inlining"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 631)
                  nil )
                 (!pair  "always_inline_functions_inlined"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 632)
                  nil )
                 (!pair  "can_throw_non_call_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 636)
                  nil )
                 (!pair  "can_delete_dead_exceptions"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 640)
                  nil )
                 (!pair  "returns_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 647)
                  nil )
                 (!pair  "returns_pcc_struct"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 651)
                  nil )
                 (!pair  "has_local_explicit_reg_vars"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 655)
                  nil )
                 (!pair  "is_thunk"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 661)
                  nil )
                 (!pair  "has_force_vect_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 665)
                  nil )
                 (!pair  "has_simduid_loops"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 669)
                  nil )
                 (!pair  "tail_call_marked"
                  (!type already_seen 9)
                  (!srcfileloc  "function.h" 672)
                  nil )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1483)
              nil )
             (!pair  "personality"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1486)
              nil )
             (!pair  "function_specific_target"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1489)
              nil )
             (!pair  "function_specific_optimization"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1490)
              nil )
             (!pair  "function_code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1496)
              nil )
             (!pair  "built_in_class"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1497)
              nil )
             (!pair  "static_ctor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1499)
              nil )
             (!pair  "static_dtor_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1500)
              nil )
             (!pair  "uninlinable"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1501)
              nil )
             (!pair  "possibly_inlined"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1503)
              nil )
             (!pair  "novops_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1504)
              nil )
             (!pair  "returns_twice_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1505)
              nil )
             (!pair  "malloc_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1506)
              nil )
             (!pair  "operator_new_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1507)
              nil )
             (!pair  "declared_inline_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1508)
              nil )
             (!pair  "regdecl_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1509)
              nil )
             (!pair  "no_inline_warning_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1510)
              nil )
             (!pair  "no_instrument_function_entry_exit"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1512)
              nil )
             (!pair  "no_limit_stack"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1513)
              nil )
             (!pair  "disregard_inline_limits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1514)
              nil )
             (!pair  "pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1515)
              nil )
             (!pair  "looping_const_or_pure_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1516)
              nil )
             (!pair  "has_debug_args_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1517)
              nil )
             (!pair  "tm_clone_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1518)
              nil )
             (!pair  "versioned_function"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1519)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1612)
           (!options 
            (!option tag string  "TS_FUNCTION_DECL")
           )
          )
          (!pair  "translation_unit_decl"
           (!type struct 442 nil  gc_used "tree_translation_unit_decl"
            (!srcfileloc  "tree-core.h" 1529)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 38)
              (!srcfileloc  "tree-core.h" 1524)
              nil )
             (!pair  "language"
              (!type already_seen 36)
              (!srcfileloc  "tree-core.h" 1526)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1614)
           (!options 
            (!option tag string  "TS_TRANSLATION_UNIT_DECL")
           )
          )
          (!pair  "type_common"
           (!type struct 443 nil  gc_used "tree_type_common"
            (!srcfileloc  "tree-core.h" 1281)
            (!fields 30 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1243)
              nil )
             (!pair  "size"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1244)
              nil )
             (!pair  "size_unit"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1245)
              nil )
             (!pair  "attributes"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1246)
              nil )
             (!pair  "uid"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1247)
              nil )
             (!pair  "precision"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1249)
              nil )
             (!pair  "no_force_blk_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1250)
              nil )
             (!pair  "needs_constructing_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1251)
              nil )
             (!pair  "transparent_aggr_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1252)
              nil )
             (!pair  "restrict_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1253)
              nil )
             (!pair  "contains_placeholder_bits"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1254)
              nil )
             (!pair  "mode"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1256)
              nil )
             (!pair  "string_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1258)
              nil )
             (!pair  "lang_flag_0"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1259)
              nil )
             (!pair  "lang_flag_1"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1260)
              nil )
             (!pair  "lang_flag_2"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1261)
              nil )
             (!pair  "lang_flag_3"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1262)
              nil )
             (!pair  "lang_flag_4"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1263)
              nil )
             (!pair  "lang_flag_5"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1264)
              nil )
             (!pair  "lang_flag_6"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1265)
              nil )
             (!pair  "align"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1267)
              nil )
             (!pair  "alias_set"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1268)
              nil )
             (!pair  "pointer_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1269)
              nil )
             (!pair  "reference_to"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1270)
              nil )
             (!pair  "symtab"
              (!type union 444 nil  gc_used "tree_type_symtab"
               (!srcfileloc  "tree-core.h" 1275)
               (!fields 3 
                (!pair  "address"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1272)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_ADDRESS")
                 )
                )
                (!pair  "pointer"
                 (!type already_seen 36)
                 (!srcfileloc  "tree-core.h" 1273)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_POINTER")
                 )
                )
                (!pair  "die"
                 (!type already_seen 425)
                 (!srcfileloc  "tree-core.h" 1274)
                 (!options 
                  (!option tag string  "TYPE_SYMTAB_IS_DIE")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1275)
              (!options 
               (!option desc string  "debug_hooks->tree_type_symtab_field")
              )
             )
             (!pair  "canonical"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1276)
              nil )
             (!pair  "next_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1277)
              nil )
             (!pair  "main_variant"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1278)
              nil )
             (!pair  "context"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1279)
              nil )
             (!pair  "name"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1280)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1615)
           (!options 
            (!option tag string  "TS_TYPE_COMMON")
           )
          )
          (!pair  "type_with_lang_specific"
           (!type struct 445 nil  gc_used "tree_type_with_lang_specific"
            (!srcfileloc  "tree-core.h" 1287)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 443)
              (!srcfileloc  "tree-core.h" 1284)
              nil )
             (!pair  "lang_specific"
              (!type pointer 446 nil  gc_used
               (!type lang_struct 447 
                (!type already_seen 446)
                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 448 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 447)
                  nil )
                 
                 (!type struct 449 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 450 nil  gc_used
                     (!type struct 451 
                      (!type already_seen 450)
                      gc_pointed_to "JCF"
                      (!srcfileloc  "java/jcf.h" 123)
                      (!fields 16 
                       (!pair  "buffer"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 106)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "buffer_end"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 107)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_ptr"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 108)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "read_end"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 109)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "right_zip"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 110)
                        nil )
                       (!pair  "finished"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 111)
                        nil )
                       (!pair  "filbuf"
                        (!type already_seen 9)
                        (!srcfileloc  "java/jcf.h" 112)
                        nil )
                       (!pair  "read_state"
                        (!type already_seen 10)
                        (!srcfileloc  "java/jcf.h" 113)
                        (!options 
                         (!option skip string  "")
                        )
                       )
                       (!pair  "filename"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 114)
                        nil )
                       (!pair  "classname"
                        (!type already_seen 36)
                        (!srcfileloc  "java/jcf.h" 115)
                        nil )
                       (!pair  "zipd"
                        (!type pointer 452 nil  gc_unused
                         (!type struct 453 
                          (!type already_seen 452)
                          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 454 
                         (!type pointer 455 nil  gc_used
                          (!type already_seen 454)
                         )
                         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 456 nil  gc_unused
                            (!type union 457 
                             (!type already_seen 456)
                             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 458 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 459 nil  gc_unused
                            (!type struct 460 
                             (!type already_seen 459)
                             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 455)
                    (!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 461 nil  gc_used
                     (!type user_struct 462 
                      (!type already_seen 461)
                      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 463 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 461)
                    (!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 461)
                    (!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 464 nil  gc_used
                     (!type user_struct 465 
                      (!type already_seen 464)
                      gc_pointed_to "vec<constructor_elt,va_gc>"
                      (!srcfileloc  "tree-core.h" 1109)
                      (!fields 2 
                       (!pair  "va_gc"
                        (!type already_seen 3)
                        (!srcfileloc  "tree-core.h" 1109)
                        nil )
                       (!pair  "constructor_elt"
                        (!type struct 466 nil  gc_used "constructor_elt"
                         (!srcfileloc  "tree-core.h" 1109)
                         (!fields 2 
                          (!pair  "index"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1103)
                           nil )
                          (!pair  "value"
                           (!type already_seen 5)
                           (!srcfileloc  "tree-core.h" 1104)
                           nil )
                         )
                         nil 511 nil nil )
                        (!srcfileloc  "tree-core.h" 1109)
                        nil )
                      )
                     )
                    )
                    (!srcfileloc  "java/java-tree.h" 899)
                    nil )
                   (!pair  "type_to_runtime_map"
                    (!type already_seen 47)
                    (!srcfileloc  "java/java-tree.h" 901)
                    (!options 
                     (!option param_is type 
                      (!type already_seen 52)
                     )
                    )
                   )
                   (!pair  "type_assertions"
                    (!type pointer 467 nil  gc_used
                     (!type param_struct 468 
                      (!type already_seen 467)
                      gc_pointed_to
                      (!type already_seen 49)
                      
                      (!type pointer 469 nil  gc_used
                       (!type struct 470 
                        (!type already_seen 469)
                        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 470)
                     )
                    )
                   )
                   (!pair  "package"
                    (!type already_seen 5)
                    (!srcfileloc  "java/java-tree.h" 909)
                    nil )
                   (!pair  "reflection_data"
                    (!type already_seen 36)
                    (!srcfileloc  "java/java-tree.h" 912)
                    (!options 
                     (!option skip string  "")
                    )
                   )
                   (!pair  "reflection_datasize"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 915)
                    nil )
                   (!pair  "pic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 918)
                    nil )
                   (!pair  "poic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 919)
                    nil )
                   (!pair  "strictfp"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 920)
                    nil )
                   (!pair  "assertions"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 921)
                    nil )
                   (!pair  "dummy_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 922)
                    nil )
                   (!pair  "enum_class"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 923)
                    nil )
                   (!pair  "synthetic"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 924)
                    nil )
                   (!pair  "annotation"
                    (!type already_seen 9)
                    (!srcfileloc  "java/java-tree.h" 925)
                    nil )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  32 
                  (!type already_seen 447)
                  nil )
                 
                 (!type struct 471 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "go/go-lang.c" 50)
                  (!fields 1 
                   (!pair  "dummy"
                    (!type already_seen 28)
                    (!srcfileloc  "go/go-lang.c" 49)
                    nil )
                  )
                  nil 16 
                  (!type already_seen 447)
                  nil )
                 
                 (!type struct 472 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 473 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 806)
                    nil )
                   (!pair  "ubound"
                    (!type array 474 nil  gc_used "GFC_MAX_DIMENSIONS" 
                     (!type already_seen 5)
                    )
                    (!srcfileloc  "fortran/trans.h" 807)
                    nil )
                   (!pair  "stride"
                    (!type array 475 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 476 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 447)
                  nil )
                 
                 (!type struct 477 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "cp/cp-tree.h" 1493)
                  (!fields 1 
                   (!pair  "u"
                    (!type union 478 nil  gc_used "lang_type_u"
                     (!srcfileloc  "cp/cp-tree.h" 1492)
                     (!fields 3 
                      (!pair  "h"
                       (!type struct 479 nil  gc_used "lang_type_header"
                        (!srcfileloc  "cp/cp-tree.h" 1377)
                        (!fields 8 
                         (!pair  "is_lang_type_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1367)
                          nil )
                         (!pair  "has_type_conversion"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1369)
                          nil )
                         (!pair  "has_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1370)
                          nil )
                         (!pair  "has_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1371)
                          nil )
                         (!pair  "const_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1372)
                          nil )
                         (!pair  "ref_needs_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1373)
                          nil )
                         (!pair  "has_const_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1374)
                          nil )
                         (!pair  "spare"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1376)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1489)
                       (!options 
                        (!option skip string  "")
                       )
                      )
                      (!pair  "c"
                       (!type struct 480 nil  gc_used "lang_type_class"
                        (!srcfileloc  "cp/cp-tree.h" 1479)
                        (!fields 63 
                         (!pair  "h"
                          (!type already_seen 479)
                          (!srcfileloc  "cp/cp-tree.h" 1393)
                          nil )
                         (!pair  "align"
                          (!type already_seen 28)
                          (!srcfileloc  "cp/cp-tree.h" 1395)
                          nil )
                         (!pair  "has_mutable"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1397)
                          nil )
                         (!pair  "com_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1398)
                          nil )
                         (!pair  "non_pod_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1399)
                          nil )
                         (!pair  "nearly_empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1400)
                          nil )
                         (!pair  "user_align"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1401)
                          nil )
                         (!pair  "has_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1402)
                          nil )
                         (!pair  "has_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1403)
                          nil )
                         (!pair  "has_array_new"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1404)
                          nil )
                         (!pair  "gets_delete"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1406)
                          nil )
                         (!pair  "interface_only"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1407)
                          nil )
                         (!pair  "interface_unknown"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1408)
                          nil )
                         (!pair  "contains_empty_class_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1409)
                          nil )
                         (!pair  "anon_aggr"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1410)
                          nil )
                         (!pair  "non_zero_init"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1411)
                          nil )
                         (!pair  "empty_p"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1412)
                          nil )
                         (!pair  "vec_new_uses_cookie"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1414)
                          nil )
                         (!pair  "declared_class"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1415)
                          nil )
                         (!pair  "diamond_shaped"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1416)
                          nil )
                         (!pair  "repeated_base"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1417)
                          nil )
                         (!pair  "being_defined"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1418)
                          nil )
                         (!pair  "java_interface"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1419)
                          nil )
                         (!pair  "debug_requested"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1420)
                          nil )
                         (!pair  "fields_readonly"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1421)
                          nil )
                         (!pair  "use_template"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1423)
                          nil )
                         (!pair  "ptrmemfunc_flag"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1424)
                          nil )
                         (!pair  "was_anonymous"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1425)
                          nil )
                         (!pair  "lazy_default_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1426)
                          nil )
                         (!pair  "lazy_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1427)
                          nil )
                         (!pair  "lazy_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1428)
                          nil )
                         (!pair  "lazy_destructor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1429)
                          nil )
                         (!pair  "has_const_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1431)
                          nil )
                         (!pair  "has_complex_copy_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1432)
                          nil )
                         (!pair  "has_complex_copy_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1433)
                          nil )
                         (!pair  "non_aggregate"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1434)
                          nil )
                         (!pair  "has_complex_dflt"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1435)
                          nil )
                         (!pair  "has_list_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1436)
                          nil )
                         (!pair  "non_std_layout"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1437)
                          nil )
                         (!pair  "is_literal"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1438)
                          nil )
                         (!pair  "lazy_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1440)
                          nil )
                         (!pair  "lazy_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1441)
                          nil )
                         (!pair  "has_complex_move_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1442)
                          nil )
                         (!pair  "has_complex_move_assign"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1443)
                          nil )
                         (!pair  "has_constexpr_ctor"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1444)
                          nil )
                         (!pair  "dummy"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 1453)
                          nil )
                         (!pair  "primary_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1455)
                          nil )
                         (!pair  "vcall_indices"
                          (!type pointer 481 nil  gc_used
                           (!type user_struct 482 
                            (!type already_seen 481)
                            gc_pointed_to "vec<tree_pair_s,va_gc>"
                            (!srcfileloc  "cp/cp-tree.h" 1456)
                            (!fields 2 
                             (!pair  "va_gc"
                              (!type already_seen 3)
                              (!srcfileloc  "cp/cp-tree.h" 1456)
                              nil )
                             (!pair  "tree_pair_s"
                              (!type struct 483 
                               (!type pointer 484 nil  gc_unused
                                (!type already_seen 483)
                               )
                               gc_used "tree_pair_s"
                               (!srcfileloc  "cp/cp-tree.h" 1360)
                               (!fields 2 
                                (!pair  "purpose"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1358)
                                 nil )
                                (!pair  "value"
                                 (!type already_seen 5)
                                 (!srcfileloc  "cp/cp-tree.h" 1359)
                                 nil )
                               )
                               nil 260 nil nil )
                              (!srcfileloc  "cp/cp-tree.h" 1456)
                              nil )
                            )
                           )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1456)
                          nil )
                         (!pair  "vtables"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1457)
                          nil )
                         (!pair  "typeinfo_var"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1458)
                          nil )
                         (!pair  "vbases"
                          (!type already_seen 45)
                          (!srcfileloc  "cp/cp-tree.h" 1459)
                          nil )
                         (!pair  "nested_udts"
                          (!type pointer 485 nil  gc_used
                           (!type struct 486 
                            (!type already_seen 485)
                            gc_pointed_to "binding_table_s"
                            (!srcfileloc  "cp/name-lookup.c" 141)
                            (!fields 3 
                             (!pair  "chain"
                              (!type pointer 487 nil  gc_unused
                               (!type pointer 488 
                                (!type already_seen 487)
                                gc_used
                                (!type struct 489 
                                 (!type already_seen 488)
                                 gc_pointed_to "binding_entry_s"
                                 (!srcfileloc  "cp/name-lookup.h" 38)
                                 (!fields 3 
                                  (!pair  "chain"
                                   (!type already_seen 488)
                                   (!srcfileloc  "cp/name-lookup.h" 35)
                                   nil )
                                  (!pair  "name"
                                   (!type already_seen 5)
                                   (!srcfileloc  "cp/name-lookup.h" 36)
                                   nil )
                                  (!pair  "type"
                                   (!type already_seen 5)
                                   (!srcfileloc  "cp/name-lookup.h" 37)
                                   nil )
                                 )
                                 nil 260 nil nil )
                               )
                              )
                              (!srcfileloc  "cp/name-lookup.c" 133)
                              (!options 
                               (!option length string  "%h.chain_count")
                              )
                             )
                             (!pair  "chain_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 137)
                              nil )
                             (!pair  "entry_count"
                              (!type already_seen 9)
                              (!srcfileloc  "cp/name-lookup.c" 140)
                              nil )
                            )
                            nil 260 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1460)
                          nil )
                         (!pair  "as_base"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1461)
                          nil )
                         (!pair  "pure_virtuals"
                          (!type already_seen 45)
                          (!srcfileloc  "cp/cp-tree.h" 1462)
                          nil )
                         (!pair  "friend_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1463)
                          nil )
                         (!pair  "methods"
                          (!type already_seen 45)
                          (!srcfileloc  "cp/cp-tree.h" 1464)
                          (!options 
                           (!option reorder string  "resort_type_method_vec")
                          )
                         )
                         (!pair  "key_method"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1465)
                          nil )
                         (!pair  "decl_list"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1466)
                          nil )
                         (!pair  "template_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1467)
                          nil )
                         (!pair  "befriending_classes"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1468)
                          nil )
                         (!pair  "objc_info"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1472)
                          nil )
                         (!pair  "sorted_fields"
                          (!type pointer 490 nil  gc_used
                           (!type struct 491 
                            (!type already_seen 490)
                            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 492 nil  gc_used "1" 
                               (!type already_seen 5)
                              )
                              (!srcfileloc  "c-family/c-common.h" 445)
                              (!options 
                               (!option length string  "%h.len")
                              )
                             )
                            )
                            (!options 
                             (!option variable_size string  "")
                            )
                            390 nil nil )
                          )
                          (!srcfileloc  "cp/cp-tree.h" 1476)
                          (!options 
                           (!option reorder string  "resort_sorted_fields")
                          )
                         )
                         (!pair  "lambda_expr"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1478)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1490)
                       (!options 
                        (!option tag string  "1")
                       )
                      )
                      (!pair  "ptrmem"
                       (!type struct 493 nil  gc_used "lang_type_ptrmem"
                        (!srcfileloc  "cp/cp-tree.h" 1484)
                        (!fields 2 
                         (!pair  "h"
                          (!type already_seen 479)
                          (!srcfileloc  "cp/cp-tree.h" 1482)
                          nil )
                         (!pair  "record"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 1483)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 1491)
                       (!options 
                        (!option tag string  "0")
                       )
                      )
                     )
                     nil 260 nil )
                    (!srcfileloc  "cp/cp-tree.h" 1492)
                    (!options 
                     (!option desc string  "%h.h.is_lang_type_class")
                    )
                   )
                  )
                  (!options 
                   (!option variable_size string  "")
                  )
                  260 
                  (!type already_seen 447)
                  nil )
                 
                 (!type struct 494 nil  gc_pointed_to "lang_type"
                  (!srcfileloc  "c/c-lang.h" 36)
                  (!fields 4 
                   (!pair  "s"
                    (!type already_seen 490)
                    (!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 447)
                  nil )
                 
                 (!type struct 495 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 447)
                  nil )
                )
               )
              )
              (!srcfileloc  "tree-core.h" 1286)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1617)
           (!options 
            (!option tag string  "TS_TYPE_WITH_LANG_SPECIFIC")
           )
          )
          (!pair  "type_non_common"
           (!type struct 496 nil  gc_used "tree_type_non_common"
            (!srcfileloc  "tree-core.h" 1295)
            (!fields 5 
             (!pair  "with_lang_specific"
              (!type already_seen 445)
              (!srcfileloc  "tree-core.h" 1290)
              nil )
             (!pair  "values"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1291)
              nil )
             (!pair  "minval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1292)
              nil )
             (!pair  "maxval"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1293)
              nil )
             (!pair  "binfo"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1294)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1619)
           (!options 
            (!option tag string  "TS_TYPE_NON_COMMON")
           )
          )
          (!pair  "list"
           (!type struct 497 nil  gc_used "tree_list"
            (!srcfileloc  "tree-core.h" 1091)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1088)
              nil )
             (!pair  "purpose"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1089)
              nil )
             (!pair  "value"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1090)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1620)
           (!options 
            (!option tag string  "TS_LIST")
           )
          )
          (!pair  "vec"
           (!type struct 498 nil  gc_used "tree_vec"
            (!srcfileloc  "tree-core.h" 1096)
            (!fields 2 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1094)
              nil )
             (!pair  "a"
              (!type array 499 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1095)
              (!options 
               (!option length string  "TREE_VEC_LENGTH ((tree)&%h)")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1621)
           (!options 
            (!option tag string  "TS_VEC")
           )
          )
          (!pair  "exp"
           (!type struct 500 nil  gc_used "tree_exp"
            (!srcfileloc  "tree-core.h" 1155)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1150)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1151)
              nil )
             (!pair  "operands"
              (!type union 501 nil  gc_used "tree_exp_subunion"
               (!srcfileloc  "tree-core.h" 1154)
               (!fields 1 
                (!pair  ""
                 (!type array 502 nil  gc_used "1" 
                  (!type already_seen 5)
                 )
                 (!srcfileloc  "gengtype.c" 1378)
                 (!options 
                  (!option default string  "")
                  (!option length string  "TREE_OPERAND_LENGTH ((tree) &%0)")
                  (!option dot string  "")
                 )
                )
               )
               (!options 
                (!option dot string  "")
               )
               511 nil )
              (!srcfileloc  "tree-core.h" 1154)
              (!options 
               (!option desc string  "TREE_CODE ((tree) &%0)")
               (!option special string  "tree_exp")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1622)
           (!options 
            (!option tag string  "TS_EXP")
           )
          )
          (!pair  "ssa_name"
           (!type struct 503 nil  gc_used "tree_ssa_name"
            (!srcfileloc  "tree-core.h" 1191)
            (!fields 5 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1172)
              nil )
             (!pair  "var"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1175)
              nil )
             (!pair  "def_stmt"
              (!type already_seen 310)
              (!srcfileloc  "tree-core.h" 1178)
              nil )
             (!pair  "info"
              (!type union 504 nil  gc_used "ssa_name_info_type"
               (!srcfileloc  "tree-core.h" 1186)
               (!fields 2 
                (!pair  "ptr_info"
                 (!type pointer 505 nil  gc_used
                  (!type struct 506 
                   (!type already_seen 505)
                   gc_pointed_to "ptr_info_def"
                   (!srcfileloc  "tree-ssanames.h" 46)
                   (!fields 3 
                    (!pair  "pt"
                     (!type already_seen 384)
                     (!srcfileloc  "tree-ssanames.h" 28)
                     nil )
                    (!pair  "align"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 40)
                     nil )
                    (!pair  "misalign"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 45)
                     nil )
                   )
                   nil 511 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1183)
                 (!options 
                  (!option tag string  "0")
                 )
                )
                (!pair  "range_info"
                 (!type pointer 507 nil  gc_used
                  (!type struct 508 
                   (!type already_seen 507)
                   gc_pointed_to "range_info_def"
                   (!srcfileloc  "tree-ssanames.h" 57)
                   (!fields 3 
                    (!pair  "min"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 52)
                     nil )
                    (!pair  "max"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 54)
                     nil )
                    (!pair  "nonzero_bits"
                     (!type already_seen 9)
                     (!srcfileloc  "tree-ssanames.h" 56)
                     nil )
                   )
                   nil 511 nil nil )
                 )
                 (!srcfileloc  "tree-core.h" 1185)
                 (!options 
                  (!option tag string  "1")
                 )
                )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1187)
              (!options 
               (!option desc string  "%1.typed.type ?!POINTER_TYPE_P (TREE_TYPE ((tree)&%1)) : 2")
              )
             )
             (!pair  "imm_uses"
              (!type struct 509 
               (!type pointer 510 nil  gc_unused
                (!type already_seen 509)
               )
               gc_used "ssa_use_operand_t"
               (!srcfileloc  "tree-ssa-operands.h" 30)
               (!fields 4 
                (!pair  "prev"
                 (!type already_seen 510)
                 (!srcfileloc  "tree-core.h" 1160)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "next"
                 (!type already_seen 510)
                 (!srcfileloc  "tree-core.h" 1161)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "loc"
                 (!type union 511 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/tree-core.h:1167"
                  (!srcfileloc  "tree-core.h" 1167)
                  (!fields 2 
                   (!pair  "stmt"
                    (!type already_seen 310)
                    (!srcfileloc  "tree-core.h" 1167)
                    nil )
                   (!pair  "ssa_name"
                    (!type already_seen 5)
                    (!srcfileloc  "tree-core.h" 1167)
                    nil )
                  )
                  nil 511 nil )
                 (!srcfileloc  "tree-core.h" 1167)
                 (!options 
                  (!option skip string  "")
                 )
                )
                (!pair  "use"
                 (!type already_seen 6)
                 (!srcfileloc  "tree-core.h" 1168)
                 (!options 
                  (!option skip string  "")
                 )
                )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1190)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1623)
           (!options 
            (!option tag string  "TS_SSA_NAME")
           )
          )
          (!pair  "block"
           (!type struct 512 nil  gc_used "tree_block"
            (!srcfileloc  "tree-core.h" 1240)
            (!fields 12 
             (!pair  "base"
              (!type already_seen 8)
              (!srcfileloc  "tree-core.h" 1224)
              nil )
             (!pair  "chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1225)
              nil )
             (!pair  "abstract_flag"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1227)
              nil )
             (!pair  "block_num"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1228)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1230)
              nil )
             (!pair  "vars"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1232)
              nil )
             (!pair  "nonlocalized_vars"
              (!type already_seen 45)
              (!srcfileloc  "tree-core.h" 1233)
              nil )
             (!pair  "subblocks"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1235)
              nil )
             (!pair  "supercontext"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1236)
              nil )
             (!pair  "abstract_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1237)
              nil )
             (!pair  "fragment_origin"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1238)
              nil )
             (!pair  "fragment_chain"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1239)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1624)
           (!options 
            (!option tag string  "TS_BLOCK")
           )
          )
          (!pair  "binfo"
           (!type struct 513 nil  gc_used "tree_binfo"
            (!srcfileloc  "tree-core.h" 1311)
            (!fields 10 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1298)
              nil )
             (!pair  "offset"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1300)
              nil )
             (!pair  "vtable"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1301)
              nil )
             (!pair  "virtuals"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1302)
              nil )
             (!pair  "vptr_field"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1303)
              nil )
             (!pair  "base_accesses"
              (!type already_seen 45)
              (!srcfileloc  "tree-core.h" 1304)
              nil )
             (!pair  "inheritance"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1305)
              nil )
             (!pair  "vtt_subvtt"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1307)
              nil )
             (!pair  "vtt_vptr"
              (!type already_seen 5)
              (!srcfileloc  "tree-core.h" 1308)
              nil )
             (!pair  "base_binfos"
              (!type already_seen 46)
              (!srcfileloc  "tree-core.h" 1310)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1625)
           (!options 
            (!option tag string  "TS_BINFO")
           )
          )
          (!pair  "stmt_list"
           (!type struct 514 nil  gc_used "tree_statement_list"
            (!srcfileloc  "tree-core.h" 1548)
            (!fields 3 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1545)
              nil )
             (!pair  "head"
              (!type pointer 515 nil  gc_used
               (!type struct 516 
                (!type already_seen 515)
                gc_pointed_to "tree_statement_list_node"
                (!srcfileloc  "tree-core.h" 1541)
                (!fields 3 
                 (!pair  "prev"
                  (!type already_seen 515)
                  (!srcfileloc  "tree-core.h" 1538)
                  nil )
                 (!pair  "next"
                  (!type already_seen 515)
                  (!srcfileloc  "tree-core.h" 1539)
                  nil )
                 (!pair  "stmt"
                  (!type already_seen 5)
                  (!srcfileloc  "tree-core.h" 1540)
                  nil )
                )
                (!options 
                 (!option chain_prev string  "%h.prev")
                 (!option chain_next string  "%h.next")
                )
                511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1546)
              nil )
             (!pair  "tail"
              (!type already_seen 515)
              (!srcfileloc  "tree-core.h" 1547)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1626)
           (!options 
            (!option tag string  "TS_STATEMENT_LIST")
           )
          )
          (!pair  "constructor"
           (!type struct 517 nil  gc_used "tree_constructor"
            (!srcfileloc  "tree-core.h" 1110)
            (!fields 2 
             (!pair  "typed"
              (!type already_seen 14)
              (!srcfileloc  "tree-core.h" 1108)
              nil )
             (!pair  "elts"
              (!type already_seen 464)
              (!srcfileloc  "tree-core.h" 1109)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1627)
           (!options 
            (!option tag string  "TS_CONSTRUCTOR")
           )
          )
          (!pair  "omp_clause"
           (!type struct 518 nil  gc_used "tree_omp_clause"
            (!srcfileloc  "tree-core.h" 1221)
            (!fields 7 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1202)
              nil )
             (!pair  "locus"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1203)
              nil )
             (!pair  "code"
              (!type already_seen 9)
              (!srcfileloc  "tree-core.h" 1204)
              nil )
             (!pair  "subcode"
              (!type union 519 nil  gc_unused "omp_clause_subcode"
               (!srcfileloc  "tree-core.h" 1212)
               (!fields 6 
                (!pair  "default_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1206)
                 nil )
                (!pair  "schedule_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1207)
                 nil )
                (!pair  "depend_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1208)
                 nil )
                (!pair  "map_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1209)
                 nil )
                (!pair  "proc_bind_kind"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1210)
                 nil )
                (!pair  "reduction_code"
                 (!type already_seen 9)
                 (!srcfileloc  "tree-core.h" 1211)
                 nil )
               )
               nil 511 nil )
              (!srcfileloc  "tree-core.h" 1212)
              (!options 
               (!option skip string  "")
              )
             )
             (!pair  "gimple_reduction_init"
              (!type already_seen 310)
              (!srcfileloc  "tree-core.h" 1216)
              nil )
             (!pair  "gimple_reduction_merge"
              (!type already_seen 310)
              (!srcfileloc  "tree-core.h" 1217)
              nil )
             (!pair  "ops"
              (!type array 520 nil  gc_used "1" 
               (!type already_seen 5)
              )
              (!srcfileloc  "tree-core.h" 1220)
              (!options 
               (!option length string  "omp_clause_num_ops[OMP_CLAUSE_CODE ((tree)&%h)]")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1628)
           (!options 
            (!option tag string  "TS_OMP_CLAUSE")
           )
          )
          (!pair  "optimization"
           (!type struct 521 nil  gc_used "tree_optimization_option"
            (!srcfileloc  "tree-core.h" 1566)
            (!fields 4 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1554)
              nil )
             (!pair  "opts"
              (!type struct 522 nil  gc_used "cl_optimization"
               (!fileloc  "options.h" 4065)
               (!fields 188 
                (!pair  "x_align_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3877)
                 nil )
                (!pair  "x_align_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3878)
                 nil )
                (!pair  "x_align_labels"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3879)
                 nil )
                (!pair  "x_align_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3880)
                 nil )
                (!pair  "x_flag_sched_stalled_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3881)
                 nil )
                (!pair  "x_flag_sched_stalled_insns_dep"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3882)
                 nil )
                (!pair  "x_flag_fp_contract_mode"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3883)
                 nil )
                (!pair  "x_optimize"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 3884)
                 nil )
                (!pair  "x_optimize_size"
                 (!type already_seen 28)
                 (!fileloc  "options.h" 3885)
                 nil )
                (!pair  "x_flag_aggressive_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3886)
                 nil )
                (!pair  "x_flag_asynchronous_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3887)
                 nil )
                (!pair  "x_flag_branch_on_count_reg"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3888)
                 nil )
                (!pair  "x_flag_branch_probabilities"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3889)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3890)
                 nil )
                (!pair  "x_flag_branch_target_load_optimize2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3891)
                 nil )
                (!pair  "x_flag_btr_bb_exclusive"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3892)
                 nil )
                (!pair  "x_flag_caller_saves"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3893)
                 nil )
                (!pair  "x_flag_combine_stack_adjustments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3894)
                 nil )
                (!pair  "x_flag_no_common"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3895)
                 nil )
                (!pair  "x_flag_compare_elim_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3896)
                 nil )
                (!pair  "x_flag_conserve_stack"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3897)
                 nil )
                (!pair  "x_flag_cprop_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3898)
                 nil )
                (!pair  "x_flag_crossjumping"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3899)
                 nil )
                (!pair  "x_flag_cse_follow_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3900)
                 nil )
                (!pair  "x_flag_cx_fortran_rules"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3901)
                 nil )
                (!pair  "x_flag_cx_limited_range"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3902)
                 nil )
                (!pair  "x_flag_data_sections"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3903)
                 nil )
                (!pair  "x_flag_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3904)
                 nil )
                (!pair  "x_flag_defer_pop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3905)
                 nil )
                (!pair  "x_flag_delayed_branch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3906)
                 nil )
                (!pair  "x_flag_delete_null_pointer_checks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3907)
                 nil )
                (!pair  "x_flag_devirtualize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3908)
                 nil )
                (!pair  "x_flag_devirtualize_speculatively"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3909)
                 nil )
                (!pair  "x_flag_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3910)
                 nil )
                (!pair  "x_flag_early_inlining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3911)
                 nil )
                (!pair  "x_flag_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3912)
                 nil )
                (!pair  "x_flag_expensive_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3913)
                 nil )
                (!pair  "x_flag_finite_math_only"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3914)
                 nil )
                (!pair  "x_flag_float_store"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3915)
                 nil )
                (!pair  "x_flag_forward_propagate"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3916)
                 nil )
                (!pair  "x_flag_gcse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3917)
                 nil )
                (!pair  "x_flag_gcse_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3918)
                 nil )
                (!pair  "x_flag_gcse_las"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3919)
                 nil )
                (!pair  "x_flag_gcse_lm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3920)
                 nil )
                (!pair  "x_flag_gcse_sm"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3921)
                 nil )
                (!pair  "x_flag_graphite_identity"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3922)
                 nil )
                (!pair  "x_flag_guess_branch_prob"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3923)
                 nil )
                (!pair  "x_flag_hoist_adjacent_loads"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3924)
                 nil )
                (!pair  "x_flag_if_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3925)
                 nil )
                (!pair  "x_flag_if_conversion2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3926)
                 nil )
                (!pair  "x_flag_no_inline"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3927)
                 nil )
                (!pair  "x_flag_inline_atomics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3928)
                 nil )
                (!pair  "x_flag_inline_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3929)
                 nil )
                (!pair  "x_flag_inline_functions_called_once"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3930)
                 nil )
                (!pair  "x_flag_inline_small_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3931)
                 nil )
                (!pair  "x_flag_ipa_cp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3932)
                 nil )
                (!pair  "x_flag_ipa_cp_clone"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3933)
                 nil )
                (!pair  "x_flag_ipa_profile"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3934)
                 nil )
                (!pair  "x_flag_ipa_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3935)
                 nil )
                (!pair  "x_flag_ipa_pure_const"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3936)
                 nil )
                (!pair  "x_flag_ipa_reference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3937)
                 nil )
                (!pair  "x_flag_ipa_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3938)
                 nil )
                (!pair  "x_flag_ira_hoist_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3939)
                 nil )
                (!pair  "x_flag_ira_loop_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3940)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_attribute"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3941)
                 nil )
                (!pair  "x_flag_isolate_erroneous_paths_dereference"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3942)
                 nil )
                (!pair  "x_flag_ivopts"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3943)
                 nil )
                (!pair  "x_flag_jump_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3944)
                 nil )
                (!pair  "x_flag_live_range_shrinkage"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3945)
                 nil )
                (!pair  "x_flag_loop_block"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3946)
                 nil )
                (!pair  "x_flag_loop_interchange"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3947)
                 nil )
                (!pair  "x_flag_loop_optimize_isl"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3948)
                 nil )
                (!pair  "x_flag_loop_parallelize_all"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3949)
                 nil )
                (!pair  "x_flag_loop_strip_mine"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3950)
                 nil )
                (!pair  "x_flag_errno_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3951)
                 nil )
                (!pair  "x_flag_merge_constants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3952)
                 nil )
                (!pair  "x_flag_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3953)
                 nil )
                (!pair  "x_flag_move_loop_invariants"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3954)
                 nil )
                (!pair  "x_flag_non_call_exceptions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3955)
                 nil )
                (!pair  "x_flag_nothrow_opt"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3956)
                 nil )
                (!pair  "x_flag_omit_frame_pointer"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3957)
                 nil )
                (!pair  "x_flag_opt_info"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3958)
                 nil )
                (!pair  "x_flag_optimize_sibling_calls"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3959)
                 nil )
                (!pair  "x_flag_optimize_strlen"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3960)
                 nil )
                (!pair  "x_flag_pack_struct"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3961)
                 nil )
                (!pair  "x_flag_peel_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3962)
                 nil )
                (!pair  "x_flag_no_peephole"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3963)
                 nil )
                (!pair  "x_flag_peephole2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3964)
                 nil )
                (!pair  "x_flag_predictive_commoning"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3965)
                 nil )
                (!pair  "x_flag_prefetch_loop_arrays"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3966)
                 nil )
                (!pair  "x_flag_pcc_struct_return"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3967)
                 nil )
                (!pair  "x_flag_rename_registers"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3968)
                 nil )
                (!pair  "x_flag_reorder_blocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3969)
                 nil )
                (!pair  "x_flag_reorder_blocks_and_partition"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3970)
                 nil )
                (!pair  "x_flag_reorder_functions"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3971)
                 nil )
                (!pair  "x_flag_rerun_cse_after_loop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3972)
                 nil )
                (!pair  "x_flag_resched_modulo_sched"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3973)
                 nil )
                (!pair  "x_flag_rounding_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3974)
                 nil )
                (!pair  "x_flag_rtti"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3975)
                 nil )
                (!pair  "x_flag_sched_critical_path_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3976)
                 nil )
                (!pair  "x_flag_sched_dep_count_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3977)
                 nil )
                (!pair  "x_flag_sched_group_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3978)
                 nil )
                (!pair  "x_flag_schedule_interblock"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3979)
                 nil )
                (!pair  "x_flag_sched_last_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3980)
                 nil )
                (!pair  "x_flag_sched_pressure"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3981)
                 nil )
                (!pair  "x_flag_sched_rank_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3982)
                 nil )
                (!pair  "x_flag_schedule_speculative"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3983)
                 nil )
                (!pair  "x_flag_sched_spec_insn_heuristic"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3984)
                 nil )
                (!pair  "x_flag_schedule_speculative_load"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3985)
                 nil )
                (!pair  "x_flag_schedule_speculative_load_dangerous"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3986)
                 nil )
                (!pair  "x_flag_sched2_use_superblocks"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3987)
                 nil )
                (!pair  "x_flag_schedule_insns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3988)
                 nil )
                (!pair  "x_flag_schedule_insns_after_reload"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3989)
                 nil )
                (!pair  "x_flag_section_anchors"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3990)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3991)
                 nil )
                (!pair  "x_flag_sel_sched_pipelining_outer_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3992)
                 nil )
                (!pair  "x_flag_sel_sched_reschedule_pipelined"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3993)
                 nil )
                (!pair  "x_flag_selective_scheduling"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3994)
                 nil )
                (!pair  "x_flag_selective_scheduling2"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3995)
                 nil )
                (!pair  "x_flag_short_double"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3996)
                 nil )
                (!pair  "x_flag_short_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3997)
                 nil )
                (!pair  "x_flag_short_wchar"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3998)
                 nil )
                (!pair  "x_flag_shrink_wrap"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 3999)
                 nil )
                (!pair  "x_flag_signaling_nans"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4000)
                 nil )
                (!pair  "x_flag_signed_zeros"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4001)
                 nil )
                (!pair  "x_flag_single_precision_constant"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4002)
                 nil )
                (!pair  "x_flag_split_ivs_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4003)
                 nil )
                (!pair  "x_flag_split_wide_types"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4004)
                 nil )
                (!pair  "x_flag_strict_aliasing"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4005)
                 nil )
                (!pair  "x_flag_strict_enums"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4006)
                 nil )
                (!pair  "x_flag_thread_jumps"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4007)
                 nil )
                (!pair  "x_flag_threadsafe_statics"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4008)
                 nil )
                (!pair  "x_flag_toplevel_reorder"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4009)
                 nil )
                (!pair  "x_flag_trapping_math"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4010)
                 nil )
                (!pair  "x_flag_trapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4011)
                 nil )
                (!pair  "x_flag_tree_bit_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4012)
                 nil )
                (!pair  "x_flag_tree_builtin_call_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4013)
                 nil )
                (!pair  "x_flag_tree_ccp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4014)
                 nil )
                (!pair  "x_flag_tree_ch"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4015)
                 nil )
                (!pair  "x_flag_ssa_coalesce_vars"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4016)
                 nil )
                (!pair  "x_flag_tree_copy_prop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4017)
                 nil )
                (!pair  "x_flag_tree_copyrename"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4018)
                 nil )
                (!pair  "x_flag_tree_cselim"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4019)
                 nil )
                (!pair  "x_flag_tree_dce"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4020)
                 nil )
                (!pair  "x_flag_tree_dom"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4021)
                 nil )
                (!pair  "x_flag_tree_dse"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4022)
                 nil )
                (!pair  "x_flag_tree_forwprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4023)
                 nil )
                (!pair  "x_flag_tree_fre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4024)
                 nil )
                (!pair  "x_flag_tree_loop_distribute_patterns"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4025)
                 nil )
                (!pair  "x_flag_tree_loop_distribution"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4026)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4027)
                 nil )
                (!pair  "x_flag_tree_loop_if_convert_stores"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4028)
                 nil )
                (!pair  "x_flag_tree_loop_im"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4029)
                 nil )
                (!pair  "x_flag_tree_loop_ivcanon"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4030)
                 nil )
                (!pair  "x_flag_tree_loop_optimize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4031)
                 nil )
                (!pair  "x_flag_tree_loop_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4032)
                 nil )
                (!pair  "x_flag_tree_live_range_split"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4033)
                 nil )
                (!pair  "x_flag_tree_partial_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4034)
                 nil )
                (!pair  "x_flag_tree_phiprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4035)
                 nil )
                (!pair  "x_flag_tree_pre"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4036)
                 nil )
                (!pair  "x_flag_tree_pta"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4037)
                 nil )
                (!pair  "x_flag_tree_reassoc"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4038)
                 nil )
                (!pair  "x_flag_tree_scev_cprop"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4039)
                 nil )
                (!pair  "x_flag_tree_sink"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4040)
                 nil )
                (!pair  "x_flag_tree_slp_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4041)
                 nil )
                (!pair  "x_flag_tree_slsr"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4042)
                 nil )
                (!pair  "x_flag_tree_sra"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4043)
                 nil )
                (!pair  "x_flag_tree_switch_conversion"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4044)
                 nil )
                (!pair  "x_flag_tree_tail_merge"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4045)
                 nil )
                (!pair  "x_flag_tree_ter"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4046)
                 nil )
                (!pair  "x_flag_tree_vectorize"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4047)
                 nil )
                (!pair  "x_flag_tree_vrp"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4048)
                 nil )
                (!pair  "x_flag_unit_at_a_time"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4049)
                 nil )
                (!pair  "x_flag_unroll_all_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4050)
                 nil )
                (!pair  "x_flag_unroll_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4051)
                 nil )
                (!pair  "x_flag_unsafe_loop_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4052)
                 nil )
                (!pair  "x_flag_unsafe_math_optimizations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4053)
                 nil )
                (!pair  "x_flag_unswitch_loops"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4054)
                 nil )
                (!pair  "x_flag_unwind_tables"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4055)
                 nil )
                (!pair  "x_flag_var_tracking"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4056)
                 nil )
                (!pair  "x_flag_var_tracking_assignments"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4057)
                 nil )
                (!pair  "x_flag_var_tracking_assignments_toggle"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4058)
                 nil )
                (!pair  "x_flag_var_tracking_uninit"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4059)
                 nil )
                (!pair  "x_flag_variable_expansion_in_unroller"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4060)
                 nil )
                (!pair  "x_flag_value_profile_transformations"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4061)
                 nil )
                (!pair  "x_flag_web"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4062)
                 nil )
                (!pair  "x_flag_whole_program"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4063)
                 nil )
                (!pair  "x_flag_wrapv"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4064)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1557)
              nil )
             (!pair  "optabs"
              (!type already_seen 10)
              (!srcfileloc  "tree-core.h" 1561)
              (!options 
               (!option atomic string  "")
              )
             )
             (!pair  "base_optabs"
              (!type pointer 523 nil  gc_unused
               (!type struct 524 
                (!type already_seen 523)
                gc_unused "target_optabs"nil 
                (!fields 0 )
                nil 0 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1565)
              (!options 
               (!option skip string  "")
              )
             )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1629)
           (!options 
            (!option tag string  "TS_OPTIMIZATION")
           )
          )
          (!pair  "target_option"
           (!type struct 525 nil  gc_used "tree_target_option"
            (!srcfileloc  "tree-core.h" 1582)
            (!fields 3 
             (!pair  "common"
              (!type already_seen 15)
              (!srcfileloc  "tree-core.h" 1575)
              nil )
             (!pair  "globals"
              (!type pointer 526 nil  gc_used
               (!type struct 527 
                (!type already_seen 526)
                gc_pointed_to "target_globals"
                (!srcfileloc  "target-globals.h" 59)
                (!fields 16 
                 (!pair  "flag_state"
                  (!type pointer 528 nil  gc_unused
                   (!type struct 529 
                    (!type already_seen 528)
                    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 530 nil  gc_used
                   (!type struct 531 
                    (!type already_seen 530)
                    gc_pointed_to "target_rtl"
                    (!srcfileloc  "rtl.h" 2305)
                    (!fields 7 
                     (!pair  "x_global_rtl"
                      (!type array 532 nil  gc_used "GR_MAX" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "rtl.h" 2280)
                      nil )
                     (!pair  "x_pic_offset_table_rtx"
                      (!type already_seen 136)
                      (!srcfileloc  "rtl.h" 2283)
                      nil )
                     (!pair  "x_return_address_pointer_rtx"
                      (!type already_seen 136)
                      (!srcfileloc  "rtl.h" 2288)
                      nil )
                     (!pair  "x_initial_regno_reg_rtx"
                      (!type array 533 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "rtl.h" 2294)
                      nil )
                     (!pair  "x_top_of_stack"
                      (!type array 534 nil  gc_used "MAX_MACHINE_MODE" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "rtl.h" 2297)
                      nil )
                     (!pair  "x_static_reg_base_value"
                      (!type array 535 nil  gc_used "FIRST_PSEUDO_REGISTER" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "rtl.h" 2301)
                      nil )
                     (!pair  "x_mode_mem_attrs"
                      (!type array 536 nil  gc_used "(int) MAX_MACHINE_MODE" 
                       (!type already_seen 258)
                      )
                      (!srcfileloc  "rtl.h" 2304)
                      nil )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 45)
                  nil )
                 (!pair  "hard_regs"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 46)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "reload"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 47)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "expmed"
                  (!type already_seen 10)
                  (!srcfileloc  "target-globals.h" 48)
                  (!options 
                   (!option atomic string  "")
                  )
                 )
                 (!pair  "optabs"
                  (!type already_seen 523)
                  (!srcfileloc  "target-globals.h" 49)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "libfuncs"
                  (!type pointer 537 nil  gc_used
                   (!type struct 538 
                    (!type already_seen 537)
                    gc_pointed_to "target_libfuncs"
                    (!srcfileloc  "libfuncs.h" 71)
                    (!fields 2 
                     (!pair  "x_libfunc_table"
                      (!type array 539 nil  gc_used "LTI_MAX" 
                       (!type already_seen 136)
                      )
                      (!srcfileloc  "libfuncs.h" 67)
                      nil )
                     (!pair  "x_libfunc_hash"
                      (!type pointer 540 nil  gc_used
                       (!type param_struct 541 
                        (!type already_seen 540)
                        gc_pointed_to
                        (!type already_seen 49)
                        
                        (!type pointer 542 nil  gc_used
                         (!type struct 543 
                          (!type already_seen 542)
                          gc_pointed_to "libfunc_entry"
                          (!srcfileloc  "libfuncs.h" 61)
                          (!fields 4 
                           (!pair  "op"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "mode1"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "mode2"
                            (!type already_seen 9)
                            (!srcfileloc  "libfuncs.h" 59)
                            nil )
                           (!pair  "libfunc"
                            (!type already_seen 136)
                            (!srcfileloc  "libfuncs.h" 60)
                            nil )
                          )
                          nil 511 nil nil )
                        )
                        nil nil nil nil nil nil nil nil nil nil )
                      )
                      (!srcfileloc  "libfuncs.h" 70)
                      (!options 
                       (!option param_is type 
                        (!type already_seen 543)
                       )
                      )
                     )
                    )
                    nil 511 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 50)
                  nil )
                 (!pair  "cfgloop"
                  (!type pointer 544 nil  gc_unused
                   (!type struct 545 
                    (!type already_seen 544)
                    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 546 nil  gc_unused
                   (!type struct 547 
                    (!type already_seen 546)
                    gc_unused "target_builtins"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 55)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                 (!pair  "gcse"
                  (!type pointer 548 nil  gc_unused
                   (!type struct 549 
                    (!type already_seen 548)
                    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 550 nil  gc_unused
                   (!type struct 551 
                    (!type already_seen 550)
                    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 552 nil  gc_unused
                   (!type struct 553 
                    (!type already_seen 552)
                    gc_unused "target_lower_subreg"nil 
                    (!fields 0 )
                    nil 0 nil nil )
                  )
                  (!srcfileloc  "target-globals.h" 58)
                  (!options 
                   (!option skip string  "")
                  )
                 )
                )
                nil 511 nil nil )
              )
              (!srcfileloc  "tree-core.h" 1578)
              nil )
             (!pair  "opts"
              (!type struct 554 nil  gc_used "cl_target_option"
               (!fileloc  "options.h" 4071)
               (!fields 1 
                (!pair  "x_target_flags"
                 (!type already_seen 9)
                 (!fileloc  "options.h" 4070)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "tree-core.h" 1581)
              nil )
            )
            nil 511 nil nil )
           (!srcfileloc  "tree-core.h" 1630)
           (!options 
            (!option tag string  "TS_TARGET_OPTION")
           )
          )
         )
         (!options 
          (!option variable_size string  "")
          (!option desc string  "tree_node_structure (&%h)")
          (!option ptr_alias type 
           (!type lang_struct 555 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 556 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 555)
             )
             
             (!type union 557 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 558 nil  gc_used "lang_identifier"
                 (!srcfileloc  "c/c-decl.c" 242)
                 (!fields 0 )
                 nil 510 
                 (!homotypes 6
                  (!type struct 559 nil  gc_used "lang_identifier"
                   (!srcfileloc  "lto/lto-tree.h" 29)
                   (!fields 1 
                    (!pair  "base"
                     (!type already_seen 32)
                     (!srcfileloc  "lto/lto-tree.h" 28)
                     nil )
                   )
                   nil 64 
                   (!type already_seen 558)
                   nil )
                  
                  (!type struct 560 nil  gc_used "lang_identifier"
                   (!srcfileloc  "java/java-tree.h" 585)
                   (!fields 4 
                    (!pair  "ignore"
                     (!type already_seen 32)
                     (!srcfileloc  "java/java-tree.h" 578)
                     nil )
                    (!pair  "global_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 579)
                     nil )
                    (!pair  "local_value"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 580)
                     nil )
                    (!pair  "utf8_ref"
                     (!type already_seen 5)
                     (!srcfileloc  "java/java-tree.h" 584)
                     nil )
                   )
                   nil 32 
                   (!type already_seen 558)
                   nil )
                  
                  (!type struct 561 nil  gc_used "lang_identifier"
                   (!srcfileloc  "go/go-lang.c" 65)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 32)
                     (!srcfileloc  "go/go-lang.c" 64)
                     nil )
                   )
                   nil 16 
                   (!type already_seen 558)
                   nil )
                  
                  (!type struct 562 nil  gc_used "lang_identifier"
                   (!srcfileloc  "fortran/f95-lang.c" 55)
                   (!fields 1 
                    (!pair  "common"
                     (!type already_seen 32)
                     (!srcfileloc  "fortran/f95-lang.c" 54)
                     nil )
                   )
                   nil 8 
                   (!type already_seen 558)
                   nil )
                  
                  (!type struct 563 nil  gc_used "lang_identifier"
                   (!srcfileloc  "cp/cp-tree.h" 253)
                   (!fields 5 
                    (!pair  "c_common"
                     (!type struct 564 nil  gc_used "c_common_identifier"
                      (!srcfileloc  "c-family/c-common.h" 319)
                      (!fields 2 
                       (!pair  "common"
                        (!type already_seen 15)
                        (!srcfileloc  "c-family/c-common.h" 317)
                        nil )
                       (!pair  "node"
                        (!type struct 565 
                         (!type pointer 566 
                          (!type pointer 567 nil  gc_unused
                           (!type already_seen 566)
                          )
                          gc_unused
                          (!type already_seen 565)
                         )
                         gc_used "cpp_hashnode"
                         (!srcfileloc  "../libcpp/include/cpplib.h" 710)
                         (!fields 7 
                          (!pair  "ident"
                           (!type already_seen 33)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 700)
                           nil )
                          (!pair  "is_directive"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 701)
                           nil )
                          (!pair  "directive_index"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 702)
                           nil )
                          (!pair  "rid_code"
                           (!type already_seen 28)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 705)
                           nil )
                          (!pair  "type"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 706)
                           nil )
                          (!pair  "flags"
                           (!type already_seen 9)
                           (!srcfileloc  "../libcpp/include/cpplib.h" 707)
                           nil )
                          (!pair  "value"
                           (!type union 568 nil  gc_used "_cpp_hashnode_value"
                            (!srcfileloc  "../libcpp/include/cpplib.h" 697)
                            (!fields 4 
                             (!pair  "macro"
                              (!type pointer 569 nil  gc_used
                               (!type struct 570 
                                (!type already_seen 569)
                                gc_pointed_to "cpp_macro"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 80)
                                (!fields 11 
                                 (!pair  "params"
                                  (!type already_seen 567)
                                  (!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 571 nil  gc_used "cpp_macro_u"
                                   (!srcfileloc  "../libcpp/include/cpp-id-data.h" 50)
                                   (!fields 2 
                                    (!pair  "tokens"
                                     (!type pointer 572 nil  gc_used
                                      (!type struct 573 
                                       (!type already_seen 572)
                                       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 574 nil  gc_used "cpp_token_u"
                                          (!srcfileloc  "../libcpp/include/cpplib.h" 247)
                                          (!fields 6 
                                           (!pair  "node"
                                            (!type struct 575 nil  gc_used "cpp_identifier"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 218)
                                             (!fields 1 
                                              (!pair  "node"
                                               (!type already_seen 566)
                                               (!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 572)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 233)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_SOURCE")
                                            )
                                           )
                                           (!pair  "str"
                                            (!type struct 576 nil  gc_used "cpp_string"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 175)
                                             (!fields 2 
                                              (!pair  "len"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 173)
                                               nil )
                                              (!pair  "text"
                                               (!type already_seen 36)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 174)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 236)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_STR")
                                            )
                                           )
                                           (!pair  "macro_arg"
                                            (!type struct 577 nil  gc_used "cpp_macro_arg"
                                             (!srcfileloc  "../libcpp/include/cpplib.h" 208)
                                             (!fields 1 
                                              (!pair  "arg_no"
                                               (!type already_seen 9)
                                               (!srcfileloc  "../libcpp/include/cpplib.h" 207)
                                               nil )
                                             )
                                             nil 511 nil nil )
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 239)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_ARG_NO")
                                            )
                                           )
                                           (!pair  "token_no"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 243)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_TOKEN_NO")
                                            )
                                           )
                                           (!pair  "pragma"
                                            (!type already_seen 9)
                                            (!srcfileloc  "../libcpp/include/cpplib.h" 246)
                                            (!options 
                                             (!option tag string  "CPP_TOKEN_FLD_PRAGMA")
                                            )
                                           )
                                          )
                                          nil 511 nil )
                                         (!srcfileloc  "../libcpp/include/cpplib.h" 247)
                                         (!options 
                                          (!option desc string  "cpp_token_val_index (&%1)")
                                         )
                                        )
                                       )
                                       nil 511 nil nil )
                                     )
                                     (!srcfileloc  "../libcpp/include/cpp-id-data.h" 48)
                                     (!options 
                                      (!option length string  "%0.count")
                                      (!option tag string  "0")
                                     )
                                    )
                                    (!pair  "text"
                                     (!type already_seen 36)
                                     (!srcfileloc  "../libcpp/include/cpp-id-data.h" 49)
                                     (!options 
                                      (!option tag string  "1")
                                     )
                                    )
                                   )
                                   nil 511 nil )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 50)
                                  (!options 
                                   (!option desc string  "%1.traditional")
                                  )
                                 )
                                 (!pair  "line"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 53)
                                  nil )
                                 (!pair  "count"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 56)
                                  nil )
                                 (!pair  "paramc"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 59)
                                  nil )
                                 (!pair  "fun_like"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 62)
                                  nil )
                                 (!pair  "variadic"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 65)
                                  nil )
                                 (!pair  "syshdr"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 68)
                                  nil )
                                 (!pair  "used"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 71)
                                  nil )
                                 (!pair  "traditional"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 74)
                                  nil )
                                 (!pair  "extra_tokens"
                                  (!type already_seen 9)
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 79)
                                  nil )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 690)
                              (!options 
                               (!option tag string  "NTV_MACRO")
                              )
                             )
                             (!pair  "answers"
                              (!type pointer 578 nil  gc_used
                               (!type struct 579 
                                (!type already_seen 578)
                                gc_pointed_to "answer"
                                (!srcfileloc  "../libcpp/include/cpp-id-data.h" 31)
                                (!fields 3 
                                 (!pair  "next"
                                  (!type already_seen 578)
                                  (!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 580 nil  gc_used "1" 
                                   (!type already_seen 573)
                                  )
                                  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 30)
                                  (!options 
                                   (!option length string  "%h.count")
                                  )
                                 )
                                )
                                nil 511 nil nil )
                              )
                              (!srcfileloc  "../libcpp/include/cpplib.h" 692)
                              (!options 
                               (!option tag string  "NTV_ANSWER")
                              )
                             )
                             (!pair  "builtin"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 694)
                              (!options 
                               (!option tag string  "NTV_BUILTIN")
                              )
                             )
                             (!pair  "arg_index"
                              (!type already_seen 9)
                              (!srcfileloc  "../libcpp/include/cpplib.h" 696)
                              (!options 
                               (!option tag string  "NTV_ARGUMENT")
                              )
                             )
                            )
                            nil 511 nil )
                           (!srcfileloc  "../libcpp/include/cpplib.h" 709)
                           (!options 
                            (!option desc string  "CPP_HASHNODE_VALUE_IDX (%1)")
                           )
                          )
                         )
                         nil 511 nil nil )
                        (!srcfileloc  "c-family/c-common.h" 318)
                        nil )
                      )
                      nil 390 nil nil )
                     (!srcfileloc  "cp/cp-tree.h" 248)
                     nil )
                    (!pair  "namespace_bindings"
                     (!type already_seen 99)
                     (!srcfileloc  "cp/cp-tree.h" 249)
                     nil )
                    (!pair  "bindings"
                     (!type already_seen 99)
                     (!srcfileloc  "cp/cp-tree.h" 250)
                     nil )
                    (!pair  "class_template_info"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 251)
                     nil )
                    (!pair  "label_value"
                     (!type already_seen 5)
                     (!srcfileloc  "cp/cp-tree.h" 252)
                     nil )
                   )
                   nil 260 
                   (!type already_seen 558)
                   nil )
                  
                  (!type struct 581 nil  gc_used "lang_identifier"
                   (!srcfileloc  "c/c-decl.c" 242)
                   (!fields 4 
                    (!pair  "common_id"
                     (!type already_seen 564)
                     (!srcfileloc  "c/c-decl.c" 238)
                     nil )
                    (!pair  "symbol_binding"
                     (!type pointer 582 nil  gc_used
                      (!type struct 583 
                       (!type already_seen 582)
                       gc_pointed_to "c_binding"
                       (!srcfileloc  "c/c-decl.c" 212)
                       (!fields 11 
                        (!pair  "u"
                         (!type union 584 nil  gc_used "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/c/c-decl.c:198"
                          (!srcfileloc  "c/c-decl.c" 201)
                          (!fields 2 
                           (!pair  "type"
                            (!type already_seen 5)
                            (!srcfileloc  "c/c-decl.c" 199)
                            (!options 
                             (!option tag string  "0")
                            )
                           )
                           (!pair  "label"
                            (!type pointer 585 nil  gc_used
                             (!type struct 586 
                              (!type already_seen 585)
                              gc_pointed_to "c_label_vars"
                              (!srcfileloc  "c/c-decl.c" 316)
                              (!fields 4 
                               (!pair  "shadowed"
                                (!type already_seen 585)
                                (!srcfileloc  "c/c-decl.c" 304)
                                nil )
                               (!pair  "label_bindings"
                                (!type struct 587 nil  gc_used "c_spot_bindings"
                                 (!srcfileloc  "c/c-decl.c" 283)
                                 (!fields 4 
                                  (!pair  "scope"
                                   (!type pointer 588 nil  gc_used
                                    (!type struct 589 
                                     (!type already_seen 588)
                                     gc_pointed_to "c_scope"
                                     (!srcfileloc  "c/c-decl.c" 418)
                                     (!fields 14 
                                      (!pair  "outer"
                                       (!type already_seen 588)
                                       (!srcfileloc  "c/c-decl.c" 365)
                                       nil )
                                      (!pair  "outer_function"
                                       (!type already_seen 588)
                                       (!srcfileloc  "c/c-decl.c" 368)
                                       nil )
                                      (!pair  "bindings"
                                       (!type already_seen 582)
                                       (!srcfileloc  "c/c-decl.c" 371)
                                       nil )
                                      (!pair  "blocks"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 375)
                                       nil )
                                      (!pair  "blocks_last"
                                       (!type already_seen 5)
                                       (!srcfileloc  "c/c-decl.c" 376)
                                       nil )
                                      (!pair  "depth"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 380)
                                       nil )
                                      (!pair  "parm_flag"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 384)
                                       nil )
                                      (!pair  "had_vla_unspec"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 388)
                                       nil )
                                      (!pair  "warned_forward_parm_decls"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 393)
                                       nil )
                                      (!pair  "function_body"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 399)
                                       nil )
                                      (!pair  "keep"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 402)
                                       nil )
                                      (!pair  "float_const_decimal64"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 405)
                                       nil )
                                      (!pair  "has_label_bindings"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 410)
                                       nil )
                                      (!pair  "has_jump_unsafe_decl"
                                       (!type already_seen 9)
                                       (!srcfileloc  "c/c-decl.c" 417)
                                       nil )
                                     )
                                     (!options 
                                      (!option chain_next string  "%h.outer")
                                     )
                                     130 nil nil )
                                   )
                                   (!srcfileloc  "c/c-decl.c" 268)
                                   nil )
                                  (!pair  "bindings_in_scope"
                                   (!type already_seen 582)
                                   (!srcfileloc  "c/c-decl.c" 272)
                                   nil )
                                  (!pair  "stmt_exprs"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 279)
                                   nil )
                                  (!pair  "left_stmt_expr"
                                   (!type already_seen 9)
                                   (!srcfileloc  "c/c-decl.c" 282)
                                   nil )
                                 )
                                 nil 130 nil nil )
                                (!srcfileloc  "c/c-decl.c" 306)
                                nil )
                               (!pair  "decls_in_scope"
                                (!type already_seen 45)
                                (!srcfileloc  "c/c-decl.c" 311)
                                nil )
                               (!pair  "gotos"
                                (!type pointer 590 nil  gc_used
                                 (!type user_struct 591 
                                  (!type already_seen 590)
                                  gc_pointed_to "vec<c_goto_bindings_p,va_gc>"
                                  (!srcfileloc  "c/c-decl.c" 315)
                                  (!fields 2 
                                   (!pair  "va_gc"
                                    (!type already_seen 3)
                                    (!srcfileloc  "c/c-decl.c" 315)
                                    nil )
                                   (!pair  "c_goto_bindings_p"
                                    (!type pointer 592 nil  gc_used
                                     (!type struct 593 
                                      (!type already_seen 592)
                                      gc_pointed_to "c_goto_bindings"
                                      (!srcfileloc  "c/c-decl.c" 294)
                                      (!fields 2 
                                       (!pair  "loc"
                                        (!type already_seen 9)
                                        (!srcfileloc  "c/c-decl.c" 291)
                                        nil )
                                       (!pair  "goto_bindings"
                                        (!type already_seen 587)
                                        (!srcfileloc  "c/c-decl.c" 293)
                                        nil )
                                      )
                                      nil 130 nil nil )
                                    )
                                    (!srcfileloc  "c/c-decl.c" 315)
                                    nil )
                                  )
                                 )
                                )
                                (!srcfileloc  "c/c-decl.c" 315)
                                nil )
                              )
                              nil 130 nil nil )
                            )
                            (!srcfileloc  "c/c-decl.c" 200)
                            (!options 
                             (!option tag string  "1")
                            )
                           )
                          )
                          nil 130 nil )
                         (!srcfileloc  "c/c-decl.c" 201)
                         (!options 
                          (!option desc string  "TREE_CODE (%0.decl) == LABEL_DECL")
                         )
                        )
                        (!pair  "decl"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 202)
                         nil )
                        (!pair  "id"
                         (!type already_seen 5)
                         (!srcfileloc  "c/c-decl.c" 203)
                         nil )
                        (!pair  "prev"
                         (!type already_seen 582)
                         (!srcfileloc  "c/c-decl.c" 204)
                         nil )
                        (!pair  "shadowed"
                         (!type already_seen 582)
                         (!srcfileloc  "c/c-decl.c" 205)
                         nil )
                        (!pair  "depth"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 206)
                         nil )
                        (!pair  "invisible"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 207)
                         nil )
                        (!pair  "nested"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 208)
                         nil )
                        (!pair  "inner_comp"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 209)
                         nil )
                        (!pair  "in_struct"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 210)
                         nil )
                        (!pair  "locus"
                         (!type already_seen 9)
                         (!srcfileloc  "c/c-decl.c" 211)
                         nil )
                       )
                       (!options 
                        (!option chain_next string  "%h.prev")
                       )
                       130 nil nil )
                     )
                     (!srcfileloc  "c/c-decl.c" 239)
                     nil )
                    (!pair  "tag_binding"
                     (!type already_seen 582)
                     (!srcfileloc  "c/c-decl.c" 240)
                     nil )
                    (!pair  "label_binding"
                     (!type already_seen 582)
                     (!srcfileloc  "c/c-decl.c" 241)
                     nil )
                   )
                   nil 130 
                   (!type already_seen 558)
                   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 555)
             )
             
             (!type union 594 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 558)
                (!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 555)
             )
             
             (!type union 595 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 558)
                (!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 555)
             )
             
             (!type union 596 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "cp/cp-tree.h" 831)
              (!fields 14 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "cp/cp-tree.h" 811)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "TS_CP_GENERIC")
                )
               )
               (!pair  "tpi"
                (!type struct 597 nil  gc_used "template_parm_index_s"
                 (!srcfileloc  "cp/cp-tree.h" 280)
                 (!fields 5 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 275)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 276)
                   nil )
                  (!pair  "level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 277)
                   nil )
                  (!pair  "orig_level"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 278)
                   nil )
                  (!pair  "decl"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 279)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 812)
                (!options 
                 (!option tag string  "TS_CP_TPI")
                )
               )
               (!pair  "ptrmem"
                (!type struct 598 
                 (!type pointer 599 nil  gc_unused
                  (!type already_seen 598)
                 )
                 gc_used "ptrmem_cst"
                 (!srcfileloc  "cp/cp-tree.h" 286)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 284)
                   nil )
                  (!pair  "member"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 285)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 813)
                (!options 
                 (!option tag string  "TS_CP_PTRMEM")
                )
               )
               (!pair  "overload"
                (!type struct 600 nil  gc_used "tree_overload"
                 (!srcfileloc  "cp/cp-tree.h" 361)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 359)
                   nil )
                  (!pair  "function"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 360)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 814)
                (!options 
                 (!option tag string  "TS_CP_OVERLOAD")
                )
               )
               (!pair  "baselink"
                (!type struct 601 nil  gc_used "tree_baselink"
                 (!srcfileloc  "cp/cp-tree.h" 395)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 391)
                   nil )
                  (!pair  "binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 392)
                   nil )
                  (!pair  "functions"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 393)
                   nil )
                  (!pair  "access_binfo"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 394)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 815)
                (!options 
                 (!option tag string  "TS_CP_BASELINK")
                )
               )
               (!pair  "default_arg"
                (!type struct 602 nil  gc_used "tree_default_arg"
                 (!srcfileloc  "cp/cp-tree.h" 573)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 570)
                   nil )
                  (!pair  "tokens"
                   (!type already_seen 64)
                   (!srcfileloc  "cp/cp-tree.h" 571)
                   nil )
                  (!pair  "instantiations"
                   (!type already_seen 45)
                   (!srcfileloc  "cp/cp-tree.h" 572)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 816)
                (!options 
                 (!option tag string  "TS_CP_DEFAULT_ARG")
                )
               )
               (!pair  "deferred_noexcept"
                (!type struct 603 nil  gc_used "tree_deferred_noexcept"
                 (!srcfileloc  "cp/cp-tree.h" 589)
                 (!fields 3 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "cp/cp-tree.h" 586)
                   nil )
                  (!pair  "pattern"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 587)
                   nil )
                  (!pair  "args"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 588)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 817)
                (!options 
                 (!option tag string  "TS_CP_DEFERRED_NOEXCEPT")
                )
               )
               (!pair  "identifier"
                (!type already_seen 558)
                (!srcfileloc  "cp/cp-tree.h" 818)
                (!options 
                 (!option tag string  "TS_CP_IDENTIFIER")
                )
               )
               (!pair  "static_assertion"
                (!type struct 604 nil  gc_used "tree_static_assert"
                 (!srcfileloc  "cp/cp-tree.h" 612)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 608)
                   nil )
                  (!pair  "condition"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 609)
                   nil )
                  (!pair  "message"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 610)
                   nil )
                  (!pair  "location"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 611)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 820)
                (!options 
                 (!option tag string  "TS_CP_STATIC_ASSERT")
                )
               )
               (!pair  "argument_pack_select"
                (!type struct 605 nil  gc_used "tree_argument_pack_select"
                 (!srcfileloc  "cp/cp-tree.h" 618)
                 (!fields 3 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 615)
                   nil )
                  (!pair  "argument_pack"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 616)
                   nil )
                  (!pair  "index"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 617)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 822)
                (!options 
                 (!option tag string  "TS_CP_ARGUMENT_PACK_SELECT")
                )
               )
               (!pair  "trait_expression"
                (!type struct 606 nil  gc_used "tree_trait_expr"
                 (!srcfileloc  "cp/cp-tree.h" 666)
                 (!fields 4 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 662)
                   nil )
                  (!pair  "type1"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 663)
                   nil )
                  (!pair  "type2"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 664)
                   nil )
                  (!pair  "kind"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 665)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 824)
                (!options 
                 (!option tag string  "TS_CP_TRAIT_EXPR")
                )
               )
               (!pair  "lambda_expression"
                (!type struct 607 nil  gc_used "tree_lambda_expr"
                 (!srcfileloc  "cp/cp-tree.h" 751)
                 (!fields 10 
                  (!pair  "typed"
                   (!type already_seen 14)
                   (!srcfileloc  "cp/cp-tree.h" 741)
                   nil )
                  (!pair  "capture_list"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 742)
                   nil )
                  (!pair  "this_capture"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 743)
                   nil )
                  (!pair  "return_type"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 744)
                   nil )
                  (!pair  "extra_scope"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 745)
                   nil )
                  (!pair  "closure"
                   (!type already_seen 5)
                   (!srcfileloc  "cp/cp-tree.h" 746)
                   nil )
                  (!pair  "pending_proxies"
                   (!type already_seen 45)
                   (!srcfileloc  "cp/cp-tree.h" 747)
                   nil )
                  (!pair  "locus"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 748)
                   nil )
                  (!pair  "default_capture_mode"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 749)
                   nil )
                  (!pair  "discriminator"
                   (!type already_seen 9)
                   (!srcfileloc  "cp/cp-tree.h" 750)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 826)
                (!options 
                 (!option tag string  "TS_CP_LAMBDA_EXPR")
                )
               )
               (!pair  "template_info"
                (!type struct 608 nil  gc_used "tree_template_info"
                 (!srcfileloc  "cp/cp-tree.h" 785)
                 (!fields 2 
                  (!pair  "common"
                   (!type already_seen 15)
                   (!srcfileloc  "cp/cp-tree.h" 783)
                   nil )
                  (!pair  "typedefs_needing_access_checking"
                   (!type pointer 609 nil  gc_used
                    (!type user_struct 610 
                     (!type already_seen 609)
                     gc_pointed_to "vec<qualified_typedef_usage_t,va_gc>"
                     (!srcfileloc  "cp/cp-tree.h" 784)
                     (!fields 2 
                      (!pair  "va_gc"
                       (!type already_seen 3)
                       (!srcfileloc  "cp/cp-tree.h" 784)
                       nil )
                      (!pair  "qualified_typedef_usage_t"
                       (!type struct 611 nil  gc_used "qualified_typedef_usage_s"
                        (!srcfileloc  "cp/cp-tree.h" 771)
                        (!fields 3 
                         (!pair  "typedef_decl"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 768)
                          nil )
                         (!pair  "context"
                          (!type already_seen 5)
                          (!srcfileloc  "cp/cp-tree.h" 769)
                          nil )
                         (!pair  "locus"
                          (!type already_seen 9)
                          (!srcfileloc  "cp/cp-tree.h" 770)
                          nil )
                        )
                        nil 260 nil nil )
                       (!srcfileloc  "cp/cp-tree.h" 784)
                       nil )
                     )
                    )
                   )
                   (!srcfileloc  "cp/cp-tree.h" 784)
                   nil )
                 )
                 nil 260 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 828)
                (!options 
                 (!option tag string  "TS_CP_TEMPLATE_INFO")
                )
               )
               (!pair  "userdef_literal"
                (!type struct 612 nil  gc_used "tree_userdef_literal"
                 (!srcfileloc  "c-family/c-common.h" 1268)
                 (!fields 5 
                  (!pair  "base"
                   (!type already_seen 8)
                   (!srcfileloc  "c-family/c-common.h" 1263)
                   nil )
                  (!pair  "suffix_id"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1264)
                   nil )
                  (!pair  "value"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1265)
                   nil )
                  (!pair  "num_string"
                   (!type already_seen 5)
                   (!srcfileloc  "c-family/c-common.h" 1266)
                   nil )
                  (!pair  "overflow"
                   (!type already_seen 9)
                   (!srcfileloc  "c-family/c-common.h" 1267)
                   nil )
                 )
                 nil 390 nil nil )
                (!srcfileloc  "cp/cp-tree.h" 830)
                (!options 
                 (!option tag string  "TS_CP_USERDEF_LITERAL")
                )
               )
              )
              (!options 
               (!option chain_next string  "(union lang_tree_node *) c_tree_chain_next (&%h.generic)")
               (!option desc string  "cp_tree_node_structure (&%h)")
              )
              260 
              (!type already_seen 555)
             )
             
             (!type union 613 nil  gc_pointed_to "lang_tree_node"
              (!srcfileloc  "c/c-decl.c" 257)
              (!fields 2 
               (!pair  "generic"
                (!type already_seen 7)
                (!srcfileloc  "c/c-decl.c" 255)
                (!options 
                 (!option desc string  "tree_node_structure (&%h)")
                 (!option tag string  "0")
                )
               )
               (!pair  "identifier"
                (!type already_seen 558)
                (!srcfileloc  "c/c-decl.c" 256)
                (!options 
                 (!option tag string  "1")
                )
               )
              )
              (!options 
               (!option chain_next string  "(union lang_tree_node *) c_tree_chain_next (&%h.generic)")
               (!option desc string  "TREE_CODE (&%h.generic) == IDENTIFIER_NODE")
              )
              130 
              (!type already_seen 555)
             )
             
             (!type union 614 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 555)
             )
            )
           )
          )
         )
         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 615 
  (!type pointer 616 nil  gc_used
   (!type already_seen 615)
  )
  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 617 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 617)
 
 (!type user_struct 618 
  (!type pointer 619 nil  gc_used
   (!type already_seen 618)
  )
  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 620 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 620)
 
 (!type user_struct 621 
  (!type pointer 622 nil  gc_used
   (!type already_seen 621)
  )
  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 623 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 623)
 
 (!type struct 624 nil  gc_unused "decl_name_hash"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 625 
  (!type pointer 626 nil  gc_used
   (!type already_seen 625)
  )
  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 627 nil  gc_unused "objc_try_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 628 
  (!type pointer 629 nil  gc_used
   (!type already_seen 628)
  )
  gc_pointed_to "imp_entry"
  (!srcfileloc  "objc/objc-act.h" 267)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 629)
    (!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 630 
  (!type pointer 631 nil  gc_used
   (!type already_seen 630)
  )
  gc_pointed_to "hashed_attribute"
  (!srcfileloc  "objc/objc-act.h" 244)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 631)
    (!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 632 
  (!type pointer 633 
   (!type pointer 634 nil  gc_used
    (!type already_seen 633)
   )
   gc_pointed_to
   (!type already_seen 632)
  )
  gc_pointed_to "hashed_entry"
  (!srcfileloc  "objc/objc-act.h" 250)
  (!fields 3 
   (!pair  "list"
    (!type already_seen 631)
    (!srcfileloc  "objc/objc-act.h" 247)
    nil )
   (!pair  "next"
    (!type already_seen 633)
    (!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 635 
  (!type pointer 636 nil  gc_used
   (!type already_seen 635)
  )
  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 637 nil  gc_unused "lto_file_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 638 nil  gc_unused "lto_section_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 639 nil  gc_unused "file_data_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 640 nil  gc_unused "tree_scc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 641 nil  gc_unused "tree_scc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 642 nil  gc_unused "lto_section_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 643 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/java/expr.c:2060"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 644 nil  gc_unused "class_flag_node_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 645 nil  gc_used "builtin_record"
  (!srcfileloc  "java/builtins.c" 84)
  (!fields 4 
   (!pair  "class_name"
    (!type union 646 nil  gc_used "string_or_tree"
     (!srcfileloc  "java/builtins.c" 76)
     (!fields 2 
      (!pair  "s"
       (!type already_seen 36)
       (!srcfileloc  "java/builtins.c" 74)
       (!options 
        (!option tag string  "0")
       )
      )
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "java/builtins.c" 75)
       (!options 
        (!option tag string  "1")
       )
      )
     )
     nil 32 nil )
    (!srcfileloc  "java/builtins.c" 80)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "method_name"
    (!type already_seen 646)
    (!srcfileloc  "java/builtins.c" 81)
    (!options 
     (!option desc string  "1")
    )
   )
   (!pair  "creator"
    (!type pointer 647 nil  gc_unused
     (!type undefined 648 
      (!type already_seen 647)
      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 648)
 
 (!type already_seen 646)
 
 (!type already_seen 453)
 
 (!type already_seen 458)
 
 (!type already_seen 460)
 
 (!type already_seen 457)
 
 (!type already_seen 84)
 
 (!type already_seen 462)
 
 (!type already_seen 463)
 
 (!type already_seen 55)
 
 (!type already_seen 470)
 
 (!type already_seen 44)
 
 (!type already_seen 52)
 
 (!type already_seen 454)
 
 (!type already_seen 451)
 
 (!type struct 649 nil  gc_unused "stat"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 650 nil  gc_unused "gfc_interface_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 651 nil  gc_unused "gfc_interface_sym_mapping"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 652 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 653 nil  gc_unused "gimplify_omp_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 654 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/fortran/trans.h:340"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 655 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/fortran/trans.h:328"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 656 nil  gc_unused "gfc_loopinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 657 nil  gc_unused "gfc_ss"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 658 nil  gc_unused "gfc_ss_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 659 nil  gc_unused "gfc_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 660 nil  gc_unused "gfc_se"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 661 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/fortran/trans.h:33"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 662 nil  gc_unused "forall_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 663 nil  gc_unused "iter_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 664 nil  gc_used "gfc_st_parameter"
  (!srcfileloc  "fortran/trans-io.c" 79)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "fortran/trans-io.c" 77)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 78)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 665 nil  gc_used "gfc_st_parameter_field"
  (!srcfileloc  "fortran/trans-io.c" 73)
  (!fields 6 
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "fortran/trans-io.c" 67)
    nil )
   (!pair  "mask"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 68)
    nil )
   (!pair  "param_type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 69)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-io.c" 70)
    nil )
   (!pair  "field"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 71)
    nil )
   (!pair  "field_len"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-io.c" 72)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 666 nil  gc_used "gfc_intrinsic_map_t"
  (!srcfileloc  "fortran/trans-intrinsic.c" 86)
  (!fields 19 
   (!pair  "id"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 52)
    nil )
   (!pair  "float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 56)
    nil )
   (!pair  "double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 57)
    nil )
   (!pair  "long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 58)
    nil )
   (!pair  "complex_float_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 59)
    nil )
   (!pair  "complex_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 60)
    nil )
   (!pair  "complex_long_double_built_in"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 61)
    nil )
   (!pair  "libm_name"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 66)
    nil )
   (!pair  "complex_available"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 69)
    nil )
   (!pair  "is_constant"
    (!type already_seen 9)
    (!srcfileloc  "fortran/trans-intrinsic.c" 72)
    nil )
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "fortran/trans-intrinsic.c" 75)
    nil )
   (!pair  "real4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 78)
    nil )
   (!pair  "real8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 79)
    nil )
   (!pair  "real10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 80)
    nil )
   (!pair  "real16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 81)
    nil )
   (!pair  "complex4_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 82)
    nil )
   (!pair  "complex8_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 83)
    nil )
   (!pair  "complex10_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 84)
    nil )
   (!pair  "complex16_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans-intrinsic.c" 85)
    nil )
  )
  nil 8 nil nil )
 
 (!type struct 667 
  (!type pointer 668 nil  gc_used
   (!type already_seen 667)
  )
  gc_pointed_to "module_htab_entry"
  (!srcfileloc  "fortran/trans.h" 574)
  (!fields 3 
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "fortran/trans.h" 571)
    nil )
   (!pair  "namespace_decl"
    (!type already_seen 5)
    (!srcfileloc  "fortran/trans.h" 572)
    nil )
   (!pair  "decls"
    (!type already_seen 53)
    (!srcfileloc  "fortran/trans.h" 573)
    (!options 
     (!option param_is type 
      (!type already_seen 7)
     )
    )
   )
  )
  nil 8 nil nil )
 
 (!type already_seen 81)
 
 (!type struct 669 nil  gc_unused "vtv_graph_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 670 nil  gc_unused "work_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 671 
  (!type pointer 672 nil  gc_used
   (!type already_seen 671)
  )
  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 673 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 673)
 
 (!type struct 674 nil  gc_unused "secondary_vptr_vtt_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 675 nil  gc_unused "find_final_overrider_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 676 nil  gc_unused "abi_tag_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 677 nil  gc_unused "vtbl_init_data_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 678 
  (!type pointer 679 nil  gc_unused
   (!type already_seen 678)
  )
  gc_unused "class_stack_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 680 
  (!type pointer 681 nil  gc_used
   (!type already_seen 680)
  )
  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 681)
    (!srcfileloc  "cp/typeck2.c" 154)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  260 nil nil )
 
 (!type struct 682 nil  gc_unused "cleanup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 683 
  (!type pointer 684 nil  gc_used
   (!type already_seen 683)
  )
  gc_pointed_to "vec<tree_int,va_gc>"
  (!srcfileloc  "cp/parser.c" 8652)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/parser.c" 8652)
    nil )
   (!pair  "tree_int"
    (!type struct 685 nil  gc_used "tree_int"
     (!srcfileloc  "cp/parser.c" 8651)
     (!fields 2 
      (!pair  "t"
       (!type already_seen 5)
       (!srcfileloc  "cp/parser.c" 8649)
       nil )
      (!pair  "i"
       (!type already_seen 9)
       (!srcfileloc  "cp/parser.c" 8650)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/parser.c" 8652)
    nil )
  )
 )
 
 (!type already_seen 685)
 
 (!type struct 686 nil  gc_unused "cp_parser_expression_stack_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 687 nil  gc_unused "cp_parser_binary_operations_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 688 
  (!type pointer 689 nil  gc_used
   (!type already_seen 688)
  )
  gc_pointed_to "cp_parser"
  (!srcfileloc  "cp/parser.h" 396)
  (!fields 34 
   (!pair  "lexer"
    (!type pointer 690 nil  gc_used
     (!type struct 691 
      (!type already_seen 690)
      gc_pointed_to "cp_lexer"
      (!srcfileloc  "cp/parser.h" 110)
      (!fields 7 
       (!pair  "buffer"
        (!type pointer 692 nil  gc_used
         (!type user_struct 693 
          (!type already_seen 692)
          gc_pointed_to "vec<cp_token,va_gc>"
          (!srcfileloc  "cp/parser.h" 85)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
           (!pair  "cp_token"
            (!type already_seen 67)
            (!srcfileloc  "cp/parser.h" 85)
            nil )
          )
         )
        )
        (!srcfileloc  "cp/parser.h" 85)
        nil )
       (!pair  "last_token"
        (!type already_seen 66)
        (!srcfileloc  "cp/parser.h" 89)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next_token"
        (!type already_seen 66)
        (!srcfileloc  "cp/parser.h" 93)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "saved_tokens"
        (!type user_struct 694 nil  gc_unused "vec<cp_token_position>"
         (!srcfileloc  "cp/parser.h" 99)
         (!fields 1 
          (!pair  "cp_token_position"
           (!type already_seen 66)
           (!srcfileloc  "cp/parser.h" 99)
           nil )
         )
        )
        (!srcfileloc  "cp/parser.h" 99)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "next"
        (!type already_seen 690)
        (!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 695 nil  gc_used
     (!type struct 696 
      (!type already_seen 695)
      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 695)
        (!srcfileloc  "cp/parser.h" 195)
        nil )
      )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 245)
    nil )
   (!pair  "allow_gnu_extensions_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 249)
    nil )
   (!pair  "greater_than_is_operator_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 256)
    nil )
   (!pair  "default_arg_ok_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 261)
    nil )
   (!pair  "integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 265)
    nil )
   (!pair  "allow_non_integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 271)
    nil )
   (!pair  "non_integral_constant_expression_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 275)
    nil )
   (!pair  "local_variables_forbidden_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 279)
    nil )
   (!pair  "in_unbraced_linkage_specification_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 284)
    nil )
   (!pair  "in_declarator_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 288)
    nil )
   (!pair  "in_template_argument_list_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 291)
    nil )
   (!pair  "in_statement"
    (!type already_seen 28)
    (!srcfileloc  "cp/parser.h" 305)
    nil )
   (!pair  "in_switch_statement_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 311)
    nil )
   (!pair  "in_type_id_in_expr_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 316)
    nil )
   (!pair  "implicit_extern_c"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 320)
    nil )
   (!pair  "translate_strings_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 324)
    nil )
   (!pair  "in_function_body"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 328)
    nil )
   (!pair  "in_transaction"
    (!type already_seen 28)
    (!srcfileloc  "cp/parser.h" 332)
    nil )
   (!pair  "colon_corrects_to_scope_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 335)
    nil )
   (!pair  "colon_doesnt_start_class_def_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 341)
    nil )
   (!pair  "type_definition_forbidden_message"
    (!type already_seen 36)
    (!srcfileloc  "cp/parser.h" 346)
    nil )
   (!pair  "unparsed_queues"
    (!type pointer 697 nil  gc_used
     (!type user_struct 698 
      (!type already_seen 697)
      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 699 nil  gc_used "cp_unparsed_functions_entry_d"
         (!srcfileloc  "cp/parser.h" 166)
         (!fields 3 
          (!pair  "funs_with_default_args"
           (!type pointer 700 nil  gc_used
            (!type user_struct 701 
             (!type already_seen 700)
             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 702 nil  gc_used "cp_default_arg_entry_d"
                (!srcfileloc  "cp/parser.h" 149)
                (!fields 2 
                 (!pair  "class_type"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 145)
                  nil )
                 (!pair  "decl"
                  (!type already_seen 5)
                  (!srcfileloc  "cp/parser.h" 148)
                  nil )
                )
                nil 260 nil nil )
               (!srcfileloc  "cp/parser.h" 157)
               nil )
             )
            )
           )
           (!srcfileloc  "cp/parser.h" 157)
           nil )
          (!pair  "funs_with_definitions"
           (!type already_seen 45)
           (!srcfileloc  "cp/parser.h" 161)
           nil )
          (!pair  "nsdmis"
           (!type already_seen 45)
           (!srcfileloc  "cp/parser.h" 165)
           nil )
         )
         nil 260 nil nil )
        (!srcfileloc  "cp/parser.h" 351)
        nil )
      )
     )
    )
    (!srcfileloc  "cp/parser.h" 351)
    nil )
   (!pair  "num_classes_being_defined"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 355)
    nil )
   (!pair  "num_template_parameter_lists"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 359)
    nil )
   (!pair  "omp_declare_simd"
    (!type pointer 703 nil  gc_unused
     (!type struct 704 
      (!type already_seen 703)
      gc_unused "cp_omp_declare_simd_data"
      (!srcfileloc  "cp/parser.h" 363)
      (!fields 0 )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/parser.h" 363)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "cilk_simd_fn_info"
    (!type already_seen 703)
    (!srcfileloc  "cp/parser.h" 370)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "auto_is_implicit_function_template_parm_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 374)
    nil )
   (!pair  "fully_implicit_function_template_p"
    (!type already_seen 9)
    (!srcfileloc  "cp/parser.h" 379)
    nil )
   (!pair  "implicit_template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/parser.h" 387)
    nil )
   (!pair  "implicit_template_scope"
    (!type already_seen 94)
    (!srcfileloc  "cp/parser.h" 394)
    nil )
  )
  nil 260 nil nil )
 
 (!type already_seen 698)
 
 (!type already_seen 704)
 
 (!type already_seen 696)
 
 (!type already_seen 699)
 
 (!type already_seen 701)
 
 (!type already_seen 702)
 
 (!type struct 705 nil  gc_unused "cp_token_ident_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 691)
 
 (!type already_seen 694)
 
 (!type already_seen 693)
 
 (!type already_seen 67)
 
 (!type already_seen 68)
 
 (!type already_seen 70)
 
 (!type struct 706 nil  gc_unused "list_proxy"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 707 nil  gc_unused "cplus_array_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 708 
  (!type pointer 709 nil  gc_used
   (!type already_seen 708)
  )
  gc_pointed_to "constexpr_call"
  (!srcfileloc  "cp/semantics.c" 8093)
  (!fields 4 
   (!pair  "fundef"
    (!type pointer 710 nil  gc_used
     (!type struct 711 
      (!type already_seen 710)
      gc_pointed_to "constexpr_fundef"
      (!srcfileloc  "cp/semantics.c" 7410)
      (!fields 2 
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/semantics.c" 7408)
        nil )
       (!pair  "body"
        (!type already_seen 5)
        (!srcfileloc  "cp/semantics.c" 7409)
        nil )
      )
      nil 260 nil nil )
    )
    (!srcfileloc  "cp/semantics.c" 8077)
    nil )
   (!pair  "bindings"
    (!type already_seen 5)
    (!srcfileloc  "cp/semantics.c" 8084)
    nil )
   (!pair  "result"
    (!type already_seen 5)
    (!srcfileloc  "cp/semantics.c" 8089)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cp/semantics.c" 8092)
    nil )
  )
  nil 260 nil nil )
 
 (!type already_seen 711)
 
 (!type struct 712 nil  gc_unused "cp_check_omp_declare_reduction_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 713 
  (!type pointer 714 nil  gc_used
   (!type already_seen 713)
  )
  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 715 nil  gc_used "deferred_access"
     (!srcfileloc  "cp/semantics.c" 140)
     (!fields 2 
      (!pair  "deferred_access_checks"
       (!type already_seen 71)
       (!srcfileloc  "cp/semantics.c" 135)
       nil )
      (!pair  "deferring_access_checks_kind"
       (!type already_seen 9)
       (!srcfileloc  "cp/semantics.c" 138)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/semantics.c" 143)
    nil )
  )
 )
 
 (!type already_seen 715)
 
 (!type already_seen 72)
 
 (!type struct 716 nil  gc_unused "warning_sentinel"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 717 nil  gc_unused "pair_fn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 718 nil  gc_unused "template_parm_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 719 nil  gc_unused "find_parameter_pack_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 720 
  (!type pointer 721 nil  gc_used
   (!type already_seen 720)
  )
  gc_pointed_to "spec_entry"
  (!srcfileloc  "cp/pt.c" 89)
  (!fields 3 
   (!pair  "tmpl"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 86)
    nil )
   (!pair  "args"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 87)
    nil )
   (!pair  "spec"
    (!type already_seen 5)
    (!srcfileloc  "cp/pt.c" 88)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 722 
  (!type pointer 723 nil  gc_used
   (!type already_seen 722)
  )
  gc_pointed_to "pending_template"
  (!srcfileloc  "cp/pt.c" 61)
  (!fields 2 
   (!pair  "next"
    (!type already_seen 723)
    (!srcfileloc  "cp/pt.c" 59)
    nil )
   (!pair  "tinst"
    (!type pointer 724 nil  gc_used
     (!type struct 725 
      (!type already_seen 724)
      gc_pointed_to "tinst_level"
      (!srcfileloc  "cp/cp-tree.h" 4996)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 724)
        (!srcfileloc  "cp/cp-tree.h" 4981)
        nil )
       (!pair  "decl"
        (!type already_seen 5)
        (!srcfileloc  "cp/cp-tree.h" 4986)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 4989)
        nil )
       (!pair  "errors"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 4992)
        nil )
       (!pair  "in_system_header_p"
        (!type already_seen 9)
        (!srcfileloc  "cp/cp-tree.h" 4995)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      260 nil nil )
    )
    (!srcfileloc  "cp/pt.c" 60)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  260 nil nil )
 
 (!type struct 726 
  (!type pointer 727 nil  gc_unused
   (!type already_seen 726)
  )
  gc_unused "priority_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 728 nil  gc_unused "reshape_iterator_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 729 nil  gc_unused "predefined_identifier"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 730 nil  gc_unused "typename_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 731 nil  gc_unused "cp_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 732 
  (!type pointer 733 nil  gc_used
   (!type already_seen 732)
  )
  gc_pointed_to "vec<incomplete_var,va_gc>"
  (!srcfileloc  "cp/decl.c" 267)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/decl.c" 267)
    nil )
   (!pair  "incomplete_var"
    (!type struct 734 nil  gc_used "incomplete_var_d"
     (!srcfileloc  "cp/decl.c" 264)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 262)
       nil )
      (!pair  "incomplete_type"
       (!type already_seen 5)
       (!srcfileloc  "cp/decl.c" 263)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/decl.c" 267)
    nil )
  )
 )
 
 (!type already_seen 734)
 
 (!type already_seen 105)
 
 (!type struct 735 nil  gc_unused "conversion_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 736 nil  gc_unused "candidate_warning"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 737 nil  gc_unused "z_candidate"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 738 nil  gc_unused "rejection_reason"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 739 nil  gc_unused "conversion"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 740 nil  gc_unused "diagnostic_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 73)
 
 (!type struct 741 nil  gc_unused "cp_parameter_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 742 nil  gc_unused "cp_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 743 nil  gc_unused "cp_decl_specifier_seq"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 744 nil  gc_used "operator_name_info_t"
  (!srcfileloc  "cp/cp-tree.h" 4745)
  (!fields 4 
   (!pair  "identifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 4738)
    nil )
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "cp/cp-tree.h" 4740)
    nil )
   (!pair  "mangled_name"
    (!type already_seen 36)
    (!srcfileloc  "cp/cp-tree.h" 4742)
    nil )
   (!pair  "arity"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 4744)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 745 nil  gc_unused "aggr_init_expr_arg_iterator_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 56)
 
 (!type already_seen 129)
 
 (!type already_seen 128)
 
 (!type already_seen 61)
 
 (!type already_seen 63)
 
 (!type already_seen 62)
 
 (!type already_seen 59)
 
 (!type already_seen 60)
 
 (!type already_seen 58)
 
 (!type already_seen 478)
 
 (!type already_seen 493)
 
 (!type already_seen 480)
 
 (!type already_seen 482)
 
 (!type already_seen 479)
 
 (!type already_seen 483)
 
 (!type already_seen 93)
 
 (!type user_struct 746 
  (!type pointer 747 nil  gc_used
   (!type already_seen 746)
  )
  gc_pointed_to "vec<cxx_saved_binding,va_gc>"
  (!srcfileloc  "cp/cp-tree.h" 1022)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "cp/cp-tree.h" 1022)
    nil )
   (!pair  "cxx_saved_binding"
    (!type struct 748 nil  gc_used "cxx_saved_binding"
     (!srcfileloc  "cp/name-lookup.h" 86)
     (!fields 3 
      (!pair  "identifier"
       (!type already_seen 5)
       (!srcfileloc  "cp/name-lookup.h" 82)
       nil )
      (!pair  "binding"
       (!type already_seen 99)
       (!srcfileloc  "cp/name-lookup.h" 84)
       nil )
      (!pair  "real_type_value"
       (!type already_seen 5)
       (!srcfileloc  "cp/name-lookup.h" 85)
       nil )
     )
     nil 260 nil nil )
    (!srcfileloc  "cp/cp-tree.h" 1022)
    nil )
  )
 )
 
 (!type already_seen 608)
 
 (!type already_seen 610)
 
 (!type already_seen 611)
 
 (!type already_seen 607)
 
 (!type already_seen 606)
 
 (!type already_seen 605)
 
 (!type already_seen 604)
 
 (!type already_seen 603)
 
 (!type already_seen 602)
 
 (!type already_seen 65)
 
 (!type already_seen 601)
 
 (!type already_seen 600)
 
 (!type already_seen 598)
 
 (!type already_seen 597)
 
 (!type struct 749 
  (!type pointer 750 nil  gc_used
   (!type already_seen 749)
  )
  gc_pointed_to "saved_scope"
  (!srcfileloc  "cp/cp-tree.h" 1058)
  (!fields 26 
   (!pair  "old_bindings"
    (!type already_seen 747)
    (!srcfileloc  "cp/cp-tree.h" 1022)
    nil )
   (!pair  "old_namespace"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1023)
    nil )
   (!pair  "decl_ns_list"
    (!type already_seen 45)
    (!srcfileloc  "cp/cp-tree.h" 1024)
    nil )
   (!pair  "class_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1025)
    nil )
   (!pair  "class_type"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1026)
    nil )
   (!pair  "access_specifier"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1027)
    nil )
   (!pair  "function_decl"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1028)
    nil )
   (!pair  "lang_base"
    (!type already_seen 45)
    (!srcfileloc  "cp/cp-tree.h" 1029)
    nil )
   (!pair  "lang_name"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1030)
    nil )
   (!pair  "template_parms"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1031)
    nil )
   (!pair  "x_previous_class_level"
    (!type already_seen 94)
    (!srcfileloc  "cp/cp-tree.h" 1032)
    nil )
   (!pair  "x_saved_tree"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1033)
    nil )
   (!pair  "x_current_class_ptr"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1036)
    nil )
   (!pair  "x_current_class_ref"
    (!type already_seen 5)
    (!srcfileloc  "cp/cp-tree.h" 1037)
    nil )
   (!pair  "x_processing_template_decl"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1039)
    nil )
   (!pair  "x_processing_specialization"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1040)
    nil )
   (!pair  "x_processing_explicit_instantiation"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1041)
    nil )
   (!pair  "need_pop_function_context"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1042)
    nil )
   (!pair  "unevaluated_operand"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1044)
    nil )
   (!pair  "inhibit_evaluation_warnings"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1045)
    nil )
   (!pair  "omp_declare_target_attribute"
    (!type already_seen 9)
    (!srcfileloc  "cp/cp-tree.h" 1048)
    nil )
   (!pair  "x_stmt_tree"
    (!type already_seen 88)
    (!srcfileloc  "cp/cp-tree.h" 1050)
    nil )
   (!pair  "class_bindings"
    (!type already_seen 94)
    (!srcfileloc  "cp/cp-tree.h" 1052)
    nil )
   (!pair  "bindings"
    (!type already_seen 94)
    (!srcfileloc  "cp/cp-tree.h" 1053)
    nil )
   (!pair  "x_local_specializations"
    (!type already_seen 385)
    (!srcfileloc  "cp/cp-tree.h" 1055)
    nil )
   (!pair  "prev"
    (!type already_seen 750)
    (!srcfileloc  "cp/cp-tree.h" 1057)
    nil )
  )
  nil 260 nil nil )
 
 (!type struct 751 nil  gc_unused "arg_lookup"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 109)
 
 (!type struct 752 nil  gc_unused "scope_binding"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 102)
 
 (!type already_seen 97)
 
 (!type already_seen 103)
 
 (!type already_seen 98)
 
 (!type already_seen 748)
 
 (!type already_seen 95)
 
 (!type already_seen 100)
 
 (!type already_seen 489)
 
 (!type already_seen 486)
 
 (!type already_seen 725)
 
 (!type struct 753 nil  gc_used "globals"
  (!srcfileloc  "cp/mangle.c" 106)
  (!fields 4 
   (!pair  "substitutions"
    (!type already_seen 45)
    (!srcfileloc  "cp/mangle.c" 95)
    nil )
   (!pair  "entity"
    (!type already_seen 5)
    (!srcfileloc  "cp/mangle.c" 98)
    (!options 
     (!option skip string  "")
    )
   )
   (!pair  "parm_depth"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 101)
    nil )
   (!pair  "need_abi_warning"
    (!type already_seen 9)
    (!srcfileloc  "cp/mangle.c" 105)
    nil )
  )
  nil 260 nil nil )
 
 (!type user_struct 754 
  (!type pointer 755 nil  gc_used
   (!type already_seen 754)
  )
  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 756 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 756)
 
 (!type already_seen 112)
 
 (!type struct 757 nil  gc_unused "c_generic_association"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 758 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/c/c-parser.c:6068"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 759 
  (!type pointer 760 nil  gc_used
   (!type already_seen 759)
  )
  gc_pointed_to "c_parser"
  (!srcfileloc  "c/c-parser.c" 217)
  (!fields 13 
   (!pair  "tokens"
    (!type pointer 761 nil  gc_unused
     (!type struct 762 
      (!type already_seen 761)
      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 763 nil  gc_used "2" 
     (!type already_seen 762)
    )
    (!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 764 nil  gc_used
     (!type user_struct 765 
      (!type already_seen 764)
      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 762)
        (!srcfileloc  "c/c-parser.c" 216)
        nil )
      )
     )
    )
    (!srcfileloc  "c/c-parser.c" 216)
    nil )
  )
  nil 130 nil nil )
 
 (!type already_seen 765)
 
 (!type already_seen 762)
 
 (!type struct 766 nil  gc_unused "omp_pragma_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 767 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/c-family/c-pragma.c:1169"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 768 
  (!type pointer 769 nil  gc_used
   (!type already_seen 768)
  )
  gc_pointed_to "opt_stack"
  (!srcfileloc  "c-family/c-pragma.c" 902)
  (!fields 5 
   (!pair  "prev"
    (!type already_seen 769)
    (!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 770 
  (!type pointer 771 nil  gc_used
   (!type already_seen 770)
  )
  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 772 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 772)
 
 (!type user_struct 773 
  (!type pointer 774 nil  gc_used
   (!type already_seen 773)
  )
  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 775 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 775)
 
 (!type struct 776 
  (!type pointer 777 nil  gc_used
   (!type already_seen 776)
  )
  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 777)
    (!srcfileloc  "c-family/c-pragma.c" 53)
    nil )
  )
  nil 390 nil nil )
 
 (!type struct 778 nil  gc_unused "internal_pragma_handler_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 779 nil  gc_unused "gen_pragma_handler"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 780 nil  gc_used "lazy_hex_fp_value_struct"
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1178)
  (!fields 5 
   (!pair  "hex_str"
    (!type already_seen 36)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1173)
    nil )
   (!pair  "macro"
    (!type already_seen 569)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1174)
    nil )
   (!pair  "mode"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1175)
    nil )
   (!pair  "digits"
    (!type already_seen 9)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1176)
    nil )
   (!pair  "fp_suffix"
    (!type already_seen 36)
    (!srcfileloc  "c-family/c-cppbuiltin.c" 1177)
    nil )
  )
  nil 386 nil nil )
 
 (!type struct 781 nil  gc_unused "cilkplus_an_loop_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 782 nil  gc_unused "cilkplus_an_parts"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 783 nil  gc_unused "inv_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 612)
 
 (!type struct 784 nil  gc_unused "omp_clause_mask"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 785 nil  gc_unused "c_fileinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 786 nil  gc_unused "c_common_resword"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 787 
  (!type pointer 788 nil  gc_used
   (!type already_seen 787)
  )
  gc_pointed_to "vec<tree_gc_vec,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 11548)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 11548)
    nil )
   (!pair  "tree_gc_vec"
    (!type already_seen 45)
    (!srcfileloc  "c-family/c-common.c" 11548)
    nil )
  )
 )
 
 (!type already_seen 87)
 
 (!type struct 789 nil  gc_unused "reason_option_codes_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 790 
  (!type pointer 791 nil  gc_used
   (!type already_seen 790)
  )
  gc_pointed_to "vec<const_char_p,va_gc>"
  (!srcfileloc  "c-family/c-common.c" 9013)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "c-family/c-common.c" 9013)
    nil )
   (!pair  "const_char_p"
    (!type already_seen 36)
    (!srcfileloc  "c-family/c-common.c" 9013)
    nil )
  )
 )
 
 (!type struct 792 nil  gc_unused "disabled_builtin"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 793 nil  gc_unused "tlist_cache"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 794 nil  gc_unused "tlist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 795 nil  gc_unused "visibility_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 796 nil  gc_unused "fname_var_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 491)
 
 (!type struct 797 
  (!type pointer 798 nil  gc_used
   (!type already_seen 797)
  )
  gc_pointed_to "c_inline_static"
  (!srcfileloc  "c/c-decl.c" 489)
  (!fields 5 
   (!pair  "location"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 476)
    nil )
   (!pair  "function"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 479)
    nil )
   (!pair  "static_decl"
    (!type already_seen 5)
    (!srcfileloc  "c/c-decl.c" 482)
    nil )
   (!pair  "type"
    (!type already_seen 9)
    (!srcfileloc  "c/c-decl.c" 485)
    nil )
   (!pair  "next"
    (!type already_seen 798)
    (!srcfileloc  "c/c-decl.c" 488)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  130 nil nil )
 
 (!type already_seen 591)
 
 (!type already_seen 593)
 
 (!type already_seen 589)
 
 (!type already_seen 558)
 
 (!type already_seen 564)
 
 (!type already_seen 583)
 
 (!type already_seen 584)
 
 (!type already_seen 586)
 
 (!type already_seen 88)
 
 (!type struct 799 nil  gc_unused "c_struct_parse_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 587)
 
 (!type struct 800 nil  gc_unused "c_enum_contents"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 801 nil  gc_unused "c_parm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 802 nil  gc_unused "c_type_name"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 803 nil  gc_unused "c_declarator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 114)
 
 (!type struct 804 nil  gc_unused "c_arg_tag_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 805 nil  gc_unused "c_declspecs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 806 nil  gc_unused "c_typespec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 807 nil  gc_unused "c_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 808 nil  gc_unused "lang_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 809 
  (!type pointer 810 nil  gc_used
   (!type already_seen 809)
  )
  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 811 
  (!type pointer 812 nil  gc_used
   (!type already_seen 811)
  )
  gc_pointed_to "gnat_binding_level"
  (!srcfileloc  "ada/gcc-interface/utils.c" 196)
  (!fields 3 
   (!pair  "chain"
    (!type already_seen 812)
    (!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 813 nil  gc_unused "nrv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 814 
  (!type pointer 815 nil  gc_used
   (!type already_seen 814)
  )
  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 816 nil  gc_used
     (!type struct 817 
      (!type already_seen 816)
      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 818 nil  gc_used
         (!type user_struct 819 
          (!type already_seen 818)
          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 820 nil  gc_used
             (!type struct 821 
              (!type already_seen 820)
              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 817)
 
 (!type already_seen 819)
 
 (!type already_seen 821)
 
 (!type struct 822 
  (!type pointer 823 nil  gc_used
   (!type already_seen 822)
  )
  gc_pointed_to "elab_info"
  (!srcfileloc  "ada/gcc-interface/trans.c" 179)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 823)
    (!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 824 
  (!type pointer 825 nil  gc_used
   (!type already_seen 824)
  )
  gc_pointed_to "stmt_group"
  (!srcfileloc  "ada/gcc-interface/trans.c" 163)
  (!fields 4 
   (!pair  "previous"
    (!type already_seen 825)
    (!srcfileloc  "ada/gcc-interface/trans.c" 159)
    nil )
   (!pair  "stmt_list"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 160)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 161)
    nil )
   (!pair  "cleanups"
    (!type already_seen 5)
    (!srcfileloc  "ada/gcc-interface/trans.c" 162)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.previous")
  )
  1 nil nil )
 
 (!type already_seen 117)
 
 (!type already_seen 119)
 
 (!type struct 826 nil  gc_unused "vinfo"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 827 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/ada/gcc-interface/decl.c:178"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 828 nil  gc_unused "variant_desc_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 829 nil  gc_unused "subst_pair_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 830 nil  gc_unused "incomplete"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 831 nil  gc_unused "attrib"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 832 nil  gc_unused "List_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 833 nil  gc_unused "String_Entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 834 nil  gc_unused "Elmt_Item"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 835 nil  gc_unused "Elist_Header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 836 nil  gc_unused "Flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 837 nil  gc_unused "Node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 838 nil  gc_unused "File_Info_Type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 839 nil  gc_unused "pass_ipa_devirt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 840 nil  gc_unused "hash_table<polymorphic_call_target_hasher>"
  (!srcfileloc  "ipa-devirt.c" 863)
  (!fields 1 
   (!pair  "polymorphic_call_target_hasher"
    (!type struct 841 nil  gc_unused "polymorphic_call_target_hasher"
     (!srcfileloc  "ipa-devirt.c" 863)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-devirt.c" 863)
    nil )
  )
 )
 
 (!type already_seen 841)
 
 (!type struct 842 nil  gc_unused "polymorphic_call_target_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 843 
  (!type pointer 844 nil  gc_used
   (!type already_seen 843)
  )
  gc_pointed_to "vec<odr_type,va_gc>"
  (!srcfileloc  "ipa-devirt.c" 276)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "ipa-devirt.c" 276)
    nil )
   (!pair  "odr_type"
    (!type pointer 845 nil  gc_used
     (!type struct 846 
      (!type already_seen 845)
      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 847 nil  gc_unused "vec<odr_type>"
         (!srcfileloc  "ipa-devirt.c" 152)
         (!fields 1 
          (!pair  "odr_type"
           (!type already_seen 845)
           (!srcfileloc  "ipa-devirt.c" 152)
           nil )
         )
        )
        (!srcfileloc  "ipa-devirt.c" 152)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "derived_types"
        (!type already_seen 847)
        (!srcfileloc  "ipa-devirt.c" 154)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "types"
        (!type already_seen 45)
        (!srcfileloc  "ipa-devirt.c" 157)
        nil )
       (!pair  "types_set"
        (!type pointer 848 nil  gc_unused
         (!type struct 849 
          (!type already_seen 848)
          gc_unused "pointer_set_t"
          (!srcfileloc  "ipa-devirt.c" 159)
          (!fields 0 )
          nil 511 nil nil )
        )
        (!srcfileloc  "ipa-devirt.c" 159)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "id"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 162)
        nil )
       (!pair  "anonymous_namespace"
        (!type already_seen 9)
        (!srcfileloc  "ipa-devirt.c" 164)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "ipa-devirt.c" 276)
    nil )
  )
 )
 
 (!type user_struct 850 nil  gc_unused "hash_table<odr_hasher>"
  (!srcfileloc  "ipa-devirt.c" 269)
  (!fields 1 
   (!pair  "odr_hasher"
    (!type struct 851 nil  gc_unused "odr_hasher"
     (!srcfileloc  "ipa-devirt.c" 269)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "ipa-devirt.c" 269)
    nil )
  )
 )
 
 (!type already_seen 851)
 
 (!type already_seen 847)
 
 (!type struct 852 nil  gc_unused "pass_tsan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 853 nil  gc_unused "pass_tsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 854 nil  gc_unused "pass_ubsan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 855 
  (!type pointer 856 nil  gc_used
   (!type already_seen 855)
  )
  gc_pointed_to "tree_type_map"
  (!srcfileloc  "ubsan.c" 56)
  (!fields 2 
   (!pair  "type"
    (!type struct 857 nil  gc_used "tree_map_base"
     (!srcfileloc  "tree-core.h" 1720)
     (!fields 1 
      (!pair  "from"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 1719)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "ubsan.c" 54)
    nil )
   (!pair  "decl"
    (!type already_seen 5)
    (!srcfileloc  "ubsan.c" 55)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 858 nil  gc_unused "pass_sanopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 859 nil  gc_unused "pass_asan_O0"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 860 nil  gc_unused "pass_asan"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 861 nil  gc_unused "asan_add_string_csts_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 862 nil  gc_unused "asan_mem_ref_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 863 nil  gc_unused "asan_mem_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 864 nil  gc_unused "pass_vtable_verify"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 865 nil  gc_unused "vtbl_map_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type undefined 866 nil  gc_unused "vtbl_map_table_type::iterator"
  (!srcfileloc  "vtable-verify.c" 311)
 )
 
 (!type user_struct 867 nil  gc_unused "hash_table<vtbl_map_hasher>"
  (!srcfileloc  "vtable-verify.c" 310)
  (!fields 1 
   (!pair  "vtbl_map_hasher"
    (!type struct 868 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 868)
 
 (!type struct 869 nil  gc_unused "vtable_registration"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 870 nil  gc_unused "edge_growth_cache_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 871 nil  gc_unused "inline_param_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 872 
  (!type pointer 873 nil  gc_used
   (!type already_seen 872)
  )
  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 874 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 875 nil  gc_used
        (!type user_struct 876 
         (!type already_seen 875)
         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 877 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 878 nil  gc_used
        (!type user_struct 879 
         (!type already_seen 878)
         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 880 nil  gc_used "size_time_entry"
            (!srcfileloc  "ipa-inline.h" 141)
            (!fields 3 
             (!pair  "predicate"
              (!type struct 881 
               (!type pointer 882 nil  gc_unused
                (!type already_seen 881)
               )
               gc_used "predicate"
               (!srcfileloc  "ipa-inline.h" 92)
               (!fields 1 
                (!pair  "clause"
                 (!type array 883 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 882)
       (!srcfileloc  "ipa-inline.h" 145)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "loop_stride"
       (!type already_seen 882)
       (!srcfileloc  "ipa-inline.h" 148)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "array_index"
       (!type already_seen 882)
       (!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 879)
 
 (!type already_seen 880)
 
 (!type already_seen 881)
 
 (!type already_seen 876)
 
 (!type already_seen 877)
 
 (!type already_seen 553)
 
 (!type already_seen 551)
 
 (!type already_seen 547)
 
 (!type already_seen 529)
 
 (!type struct 884 nil  gc_unused "string_slot_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 885 nil  gc_unused "string_slot"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 886 nil  gc_unused "lto_simple_output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 887 nil  gc_unused "lto_simple_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 888 nil  gc_unused "lto_output_stream"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 889 nil  gc_unused "lto_char_ptr_base"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 890 nil  gc_unused "gcov_ctr_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 891 nil  gc_unused "vec<res_pair>"
  (!srcfileloc  "lto-streamer.h" 563)
  (!fields 1 
   (!pair  "res_pair"
    (!type struct 892 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 892)
 
 (!type struct 893 nil  gc_unused "lto_tree_ref_encoder"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 894 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 895 nil  gc_unused "lto_symtab_encoder_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 896 
  (!type pointer 897 nil  gc_unused
   (!type already_seen 896)
  )
  gc_unused "lto_symtab_encoder_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 898 nil  gc_unused "lto_encoder_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 899 nil  gc_unused "lto_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 900 nil  gc_unused "lto_asm_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 901 nil  gc_unused "lto_decl_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 902 nil  gc_unused "lto_function_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 903 nil  gc_unused "lto_header"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 904 
  (!type pointer 905 nil  gc_used
   (!type already_seen 904)
  )
  gc_pointed_to "lto_in_decl_state"
  (!srcfileloc  "lto-streamer.h" 495)
  (!fields 2 
   (!pair  "streams"
    (!type array 906 nil  gc_used "LTO_N_DECL_STREAMS" 
     (!type already_seen 894)
    )
    (!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 907 nil  gc_unused "pass_ipa_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 908 nil  gc_unused "create_version_alias_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 909 nil  gc_unused "demangle_component"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 910 nil  gc_unused "vec<cgraph_node_ptr>"
  (!srcfileloc  "trans-mem.c" 4064)
  (!fields 1 
   (!pair  "cgraph_node_ptr"
    (!type pointer 911 
     (!type pointer 912 nil  gc_used
      (!type already_seen 911)
     )
     gc_pointed_to
     (!type struct 913 
      (!type already_seen 911)
      gc_pointed_to "cgraph_node"
      (!srcfileloc  "cgraph.h" 436)
      (!fields 34 
       (!pair  "callees"
        (!type pointer 914 nil  gc_used
         (!type struct 915 
          (!type already_seen 914)
          gc_pointed_to "cgraph_edge"
          (!srcfileloc  "cgraph.h" 627)
          (!fields 19 
           (!pair  "count"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 575)
            nil )
           (!pair  "caller"
            (!type already_seen 911)
            (!srcfileloc  "cgraph.h" 576)
            nil )
           (!pair  "callee"
            (!type already_seen 911)
            (!srcfileloc  "cgraph.h" 577)
            nil )
           (!pair  "prev_caller"
            (!type already_seen 914)
            (!srcfileloc  "cgraph.h" 578)
            nil )
           (!pair  "next_caller"
            (!type already_seen 914)
            (!srcfileloc  "cgraph.h" 579)
            nil )
           (!pair  "prev_callee"
            (!type already_seen 914)
            (!srcfileloc  "cgraph.h" 580)
            nil )
           (!pair  "next_callee"
            (!type already_seen 914)
            (!srcfileloc  "cgraph.h" 581)
            nil )
           (!pair  "call_stmt"
            (!type already_seen 310)
            (!srcfileloc  "cgraph.h" 582)
            nil )
           (!pair  "indirect_info"
            (!type pointer 916 nil  gc_used
             (!type struct 917 
              (!type already_seen 916)
              gc_pointed_to "cgraph_indirect_call_info"
              (!srcfileloc  "cgraph.h" 571)
              (!fields 14 
               (!pair  "offset"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 544)
                nil )
               (!pair  "otr_token"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 546)
                nil )
               (!pair  "otr_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 548)
                nil )
               (!pair  "outer_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 548)
                nil )
               (!pair  "param_index"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 550)
                nil )
               (!pair  "ecf_flags"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 552)
                nil )
               (!pair  "common_target_id"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 554)
                nil )
               (!pair  "common_target_probability"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 556)
                nil )
               (!pair  "polymorphic"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 560)
                nil )
               (!pair  "agg_contents"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 563)
                nil )
               (!pair  "member_ptr"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 565)
                nil )
               (!pair  "by_ref"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 568)
                nil )
               (!pair  "maybe_in_construction"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 569)
                nil )
               (!pair  "maybe_derived_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 570)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "cgraph.h" 585)
            nil )
           (!pair  "aux"
            (!type already_seen 10)
            (!srcfileloc  "cgraph.h" 586)
            (!options 
             (!option skip string  "")
            )
           )
           (!pair  "inline_failed"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 589)
            nil )
           (!pair  "lto_stmt_uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 592)
            nil )
           (!pair  "frequency"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 596)
            nil )
           (!pair  "uid"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 598)
            nil )
           (!pair  "indirect_inlining_edge"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 600)
            nil )
           (!pair  "indirect_unknown_callee"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 603)
            nil )
           (!pair  "call_stmt_cannot_inline_p"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 606)
            nil )
           (!pair  "can_throw_external"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 608)
            nil )
           (!pair  "speculative"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 626)
            nil )
          )
          (!options 
           (!option chain_prev string  "%h.prev_caller")
           (!option chain_next string  "%h.next_caller")
          )
          511 nil nil )
        )
        (!srcfileloc  "cgraph.h" 360)
        nil )
       (!pair  "callers"
        (!type already_seen 914)
        (!srcfileloc  "cgraph.h" 361)
        nil )
       (!pair  "indirect_calls"
        (!type already_seen 914)
        (!srcfileloc  "cgraph.h" 364)
        nil )
       (!pair  "origin"
        (!type already_seen 911)
        (!srcfileloc  "cgraph.h" 366)
        nil )
       (!pair  "nested"
        (!type already_seen 911)
        (!srcfileloc  "cgraph.h" 368)
        nil )
       (!pair  "next_nested"
        (!type already_seen 911)
        (!srcfileloc  "cgraph.h" 370)
        nil )
       (!pair  "next_sibling_clone"
        (!type already_seen 911)
        (!srcfileloc  "cgraph.h" 372)
        nil )
       (!pair  "prev_sibling_clone"
        (!type already_seen 911)
        (!srcfileloc  "cgraph.h" 373)
        nil )
       (!pair  "clones"
        (!type already_seen 911)
        (!srcfileloc  "cgraph.h" 374)
        nil )
       (!pair  "clone_of"
        (!type already_seen 911)
        (!srcfileloc  "cgraph.h" 375)
        nil )
       (!pair  "call_site_hash"
        (!type pointer 918 nil  gc_used
         (!type param_struct 919 
          (!type already_seen 918)
          gc_pointed_to
          (!type already_seen 49)
          
          (!type already_seen 914)
          nil nil nil nil nil nil nil nil nil nil )
        )
        (!srcfileloc  "cgraph.h" 378)
        (!options 
         (!option param_is type 
          (!type already_seen 915)
         )
        )
       )
       (!pair  "former_clone_of"
        (!type already_seen 5)
        (!srcfileloc  "cgraph.h" 380)
        nil )
       (!pair  "simdclone"
        (!type pointer 920 nil  gc_used
         (!type struct 921 
          (!type already_seen 920)
          gc_pointed_to "cgraph_simd_clone"
          (!srcfileloc  "cgraph.h" 352)
          (!fields 11 
           (!pair  "simdlen"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 320)
            nil )
           (!pair  "nargs"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 324)
            nil )
           (!pair  "vecsize_int"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 327)
            nil )
           (!pair  "vecsize_float"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 330)
            nil )
           (!pair  "vecsize_mangle"
            (!type already_seen 28)
            (!srcfileloc  "cgraph.h" 335)
            nil )
           (!pair  "inbranch"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 339)
            nil )
           (!pair  "cilk_elemental"
            (!type already_seen 9)
            (!srcfileloc  "cgraph.h" 342)
            nil )
           (!pair  "prev_clone"
            (!type already_seen 911)
            (!srcfileloc  "cgraph.h" 345)
            nil )
           (!pair  "next_clone"
            (!type already_seen 911)
            (!srcfileloc  "cgraph.h" 345)
            nil )
           (!pair  "origin"
            (!type already_seen 911)
            (!srcfileloc  "cgraph.h" 348)
            nil )
           (!pair  "args"
            (!type array 922 nil  gc_used "1" 
             (!type struct 923 nil  gc_used "cgraph_simd_clone_arg"
              (!srcfileloc  "cgraph.h" 314)
              (!fields 8 
               (!pair  "orig_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 276)
                nil )
               (!pair  "orig_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 280)
                nil )
               (!pair  "vector_arg"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 288)
                nil )
               (!pair  "vector_type"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 291)
                nil )
               (!pair  "simd_array"
                (!type already_seen 5)
                (!srcfileloc  "cgraph.h" 300)
                nil )
               (!pair  "arg_type"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 304)
                nil )
               (!pair  "linear_step"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 310)
                nil )
               (!pair  "alignment"
                (!type already_seen 9)
                (!srcfileloc  "cgraph.h" 313)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "cgraph.h" 351)
            (!options 
             (!option length string  "%h.nargs")
            )
           )
          )
          nil 511 nil nil )
        )
        (!srcfileloc  "cgraph.h" 384)
        nil )
       (!pair  "simd_clones"
        (!type already_seen 911)
        (!srcfileloc  "cgraph.h" 386)
        nil )
       (!pair  "ipa_transforms_to_apply"
        (!type user_struct 924 nil  gc_unused "vec<ipa_opt_pass>"
         (!srcfileloc  "cgraph.h" 391)
         (!fields 1 
          (!pair  "ipa_opt_pass"
           (!type pointer 925 nil  gc_unused
            (!type struct 926 
             (!type already_seen 925)
             gc_unused "ipa_opt_pass_d"
             (!srcfileloc  "function.h" 171)
             (!fields 0 )
             nil 511 nil nil )
           )
           (!srcfileloc  "cgraph.h" 391)
           nil )
         )
        )
        (!srcfileloc  "cgraph.h" 391)
        (!options 
         (!option skip string  "")
        )
       )
       (!pair  "local"
        (!type struct 927 nil  gc_used "cgraph_local_info"
         (!srcfileloc  "cgraph.h" 219)
         (!fields 5 
          (!pair  "local"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 204)
           nil )
          (!pair  "versionable"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 207)
           nil )
          (!pair  "can_change_signature"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 211)
           nil )
          (!pair  "redefined_extern_inline"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 215)
           nil )
          (!pair  "tm_may_enter_irr"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 218)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 393)
        nil )
       (!pair  "global"
        (!type struct 928 nil  gc_used "cgraph_global_info"
         (!srcfileloc  "cgraph.h" 228)
         (!fields 1 
          (!pair  "inlined_to"
           (!type already_seen 911)
           (!srcfileloc  "cgraph.h" 227)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 394)
        nil )
       (!pair  "rtl"
        (!type struct 929 nil  gc_used "cgraph_rtl_info"
         (!srcfileloc  "cgraph.h" 235)
         (!fields 1 
          (!pair  "preferred_incoming_stack_boundary"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 234)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 395)
        nil )
       (!pair  "clone"
        (!type struct 930 nil  gc_used "cgraph_clone_info"
         (!srcfileloc  "cgraph.h" 259)
         (!fields 3 
          (!pair  "tree_map"
           (!type pointer 931 nil  gc_used
            (!type user_struct 932 
             (!type already_seen 931)
             gc_pointed_to "vec<ipa_replace_map_p,va_gc>"
             (!srcfileloc  "cgraph.h" 256)
             (!fields 2 
              (!pair  "va_gc"
               (!type already_seen 3)
               (!srcfileloc  "cgraph.h" 256)
               nil )
              (!pair  "ipa_replace_map_p"
               (!type pointer 933 nil  gc_used
                (!type struct 934 
                 (!type already_seen 933)
                 gc_pointed_to "ipa_replace_map"
                 (!srcfileloc  "cgraph.h" 251)
                 (!fields 5 
                  (!pair  "old_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 242)
                   nil )
                  (!pair  "new_tree"
                   (!type already_seen 5)
                   (!srcfileloc  "cgraph.h" 244)
                   nil )
                  (!pair  "parm_num"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 246)
                   nil )
                  (!pair  "replace_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 248)
                   nil )
                  (!pair  "ref_p"
                   (!type already_seen 9)
                   (!srcfileloc  "cgraph.h" 250)
                   nil )
                 )
                 nil 511 nil nil )
               )
               (!srcfileloc  "cgraph.h" 256)
               nil )
             )
            )
           )
           (!srcfileloc  "cgraph.h" 256)
           nil )
          (!pair  "args_to_skip"
           (!type already_seen 120)
           (!srcfileloc  "cgraph.h" 257)
           nil )
          (!pair  "combined_args_to_skip"
           (!type already_seen 120)
           (!srcfileloc  "cgraph.h" 258)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 396)
        nil )
       (!pair  "thunk"
        (!type struct 935 nil  gc_used "cgraph_thunk_info"
         (!srcfileloc  "cgraph.h" 196)
         (!fields 6 
          (!pair  "fixed_offset"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 189)
           nil )
          (!pair  "virtual_value"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 190)
           nil )
          (!pair  "alias"
           (!type already_seen 5)
           (!srcfileloc  "cgraph.h" 191)
           nil )
          (!pair  "this_adjusting"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 192)
           nil )
          (!pair  "virtual_offset_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 193)
           nil )
          (!pair  "thunk_p"
           (!type already_seen 9)
           (!srcfileloc  "cgraph.h" 195)
           nil )
         )
         nil 511 nil nil )
        (!srcfileloc  "cgraph.h" 397)
        nil )
       (!pair  "count"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 400)
        nil )
       (!pair  "count_materialization_scale"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 403)
        nil )
       (!pair  "uid"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 405)
        nil )
       (!pair  "profile_id"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 407)
        nil )
       (!pair  "tp_first_run"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 409)
        nil )
       (!pair  "used_as_abstract_origin"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 413)
        nil )
       (!pair  "lowered"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 415)
        nil )
       (!pair  "process"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 418)
        nil )
       (!pair  "frequency"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 421)
        nil )
       (!pair  "only_called_at_startup"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 423)
        nil )
       (!pair  "only_called_at_exit"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 425)
        nil )
       (!pair  "tm_clone"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 430)
        nil )
       (!pair  "dispatcher_function"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 432)
        nil )
       (!pair  "calls_comdat_local"
        (!type already_seen 9)
        (!srcfileloc  "cgraph.h" 435)
        nil )
      )
      (!options 
       (!option tag string  "SYMTAB_FUNCTION")
      )
      511 nil 
      (!type struct 936 
       (!type pointer 937 nil  gc_used
        (!type already_seen 936)
       )
       gc_pointed_to "symtab_node"
       (!srcfileloc  "cgraph.h" 154)
       (!fields 26 
        (!pair  "type"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 54)
         nil )
        (!pair  "resolution"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 57)
         nil )
        (!pair  "definition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 63)
         nil )
        (!pair  "alias"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 66)
         nil )
        (!pair  "weakref"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 68)
         nil )
        (!pair  "cpp_implicit_alias"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 75)
         nil )
        (!pair  "analyzed"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 78)
         nil )
        (!pair  "externally_visible"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 84)
         nil )
        (!pair  "force_output"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 87)
         nil )
        (!pair  "forced_by_abi"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 91)
         nil )
        (!pair  "unique_name"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 93)
         nil )
        (!pair  "body_removed"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 96)
         nil )
        (!pair  "used_from_other_partition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 103)
         nil )
        (!pair  "in_other_partition"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 107)
         nil )
        (!pair  "address_taken"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 114)
         nil )
        (!pair  "order"
         (!type already_seen 9)
         (!srcfileloc  "cgraph.h" 118)
         nil )
        (!pair  "decl"
         (!type already_seen 5)
         (!srcfileloc  "cgraph.h" 121)
         nil )
        (!pair  "next"
         (!type already_seen 937)
         (!srcfileloc  "cgraph.h" 124)
         nil )
        (!pair  "previous"
         (!type already_seen 937)
         (!srcfileloc  "cgraph.h" 125)
         nil )
        (!pair  "next_sharing_asm_name"
         (!type already_seen 937)
         (!srcfileloc  "cgraph.h" 136)
         nil )
        (!pair  "previous_sharing_asm_name"
         (!type already_seen 937)
         (!srcfileloc  "cgraph.h" 137)
         nil )
        (!pair  "same_comdat_group"
         (!type already_seen 937)
         (!srcfileloc  "cgraph.h" 140)
         nil )
        (!pair  "ref_list"
         (!type struct 938 nil  gc_used "ipa_ref_list"
          (!srcfileloc  "ipa-ref.h" 59)
          (!fields 2 
           (!pair  "references"
            (!type pointer 939 nil  gc_used
             (!type user_struct 940 
              (!type already_seen 939)
              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 941 
                 (!type pointer 942 nil  gc_unused
                  (!type already_seen 941)
                 )
                 gc_used "ipa_ref"
                 (!srcfileloc  "ipa-ref.h" 45)
                 (!fields 7 
                  (!pair  "referring"
                   (!type already_seen 937)
                   (!srcfileloc  "ipa-ref.h" 38)
                   nil )
                  (!pair  "referred"
                   (!type already_seen 937)
                   (!srcfileloc  "ipa-ref.h" 39)
                   nil )
                  (!pair  "stmt"
                   (!type already_seen 310)
                   (!srcfileloc  "ipa-ref.h" 40)
                   nil )
                  (!pair  "lto_stmt_uid"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 41)
                   nil )
                  (!pair  "referred_index"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 42)
                   nil )
                  (!pair  "use"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 43)
                   nil )
                  (!pair  "speculative"
                   (!type already_seen 9)
                   (!srcfileloc  "ipa-ref.h" 44)
                   nil )
                 )
                 nil 511 nil nil )
                (!srcfileloc  "ipa-ref.h" 55)
                nil )
              )
             )
            )
            (!srcfileloc  "ipa-ref.h" 55)
            nil )
           (!pair  "referring"
            (!type user_struct 943 nil  gc_unused "vec<ipa_ref_ptr>"
             (!srcfileloc  "ipa-ref.h" 58)
             (!fields 1 
              (!pair  "ipa_ref_ptr"
               (!type already_seen 942)
               (!srcfileloc  "ipa-ref.h" 58)
               nil )
             )
            )
            (!srcfileloc  "ipa-ref.h" 58)
            (!options 
             (!option skip string  "")
            )
           )
          )
          nil 511 nil nil )
         (!srcfileloc  "cgraph.h" 143)
         nil )
        (!pair  "alias_target"
         (!type already_seen 5)
         (!srcfileloc  "cgraph.h" 148)
         nil )
        (!pair  "lto_file_data"
         (!type pointer 944 
          (!type pointer 945 nil  gc_used
           (!type already_seen 944)
          )
          gc_pointed_to
          (!type struct 946 
           (!type already_seen 944)
           gc_pointed_to "lto_file_decl_data"
           (!srcfileloc  "lto-streamer.h" 570)
           (!fields 13 
            (!pair  "current_decl_state"
             (!type already_seen 905)
             (!srcfileloc  "lto-streamer.h" 535)
             nil )
            (!pair  "global_decl_state"
             (!type already_seen 905)
             (!srcfileloc  "lto-streamer.h" 539)
             nil )
            (!pair  "symtab_node_encoder"
             (!type already_seen 897)
             (!srcfileloc  "lto-streamer.h" 542)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "function_decl_states"
             (!type pointer 947 nil  gc_used
              (!type param_struct 948 
               (!type already_seen 947)
               gc_pointed_to
               (!type already_seen 49)
               
               (!type already_seen 905)
               nil nil nil nil nil nil nil nil nil nil )
             )
             (!srcfileloc  "lto-streamer.h" 545)
             (!options 
              (!option param_is type 
               (!type already_seen 904)
              )
             )
            )
            (!pair  "file_name"
             (!type already_seen 36)
             (!srcfileloc  "lto-streamer.h" 548)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "section_hash_table"
             (!type already_seen 50)
             (!srcfileloc  "lto-streamer.h" 551)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "renaming_hash_table"
             (!type already_seen 50)
             (!srcfileloc  "lto-streamer.h" 554)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "next"
             (!type already_seen 944)
             (!srcfileloc  "lto-streamer.h" 557)
             nil )
            (!pair  "id"
             (!type already_seen 9)
             (!srcfileloc  "lto-streamer.h" 560)
             nil )
            (!pair  "respairs"
             (!type already_seen 891)
             (!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 890)
             (!srcfileloc  "lto-streamer.h" 566)
             (!options 
              (!option skip string  "")
             )
            )
            (!pair  "resolution_map"
             (!type already_seen 385)
             (!srcfileloc  "lto-streamer.h" 569)
             (!options 
              (!option skip string  "")
             )
            )
           )
           nil 511 nil nil )
         )
         (!srcfileloc  "cgraph.h" 151)
         nil )
        (!pair  "aux"
         (!type already_seen 10)
         (!srcfileloc  "cgraph.h" 153)
         (!options 
          (!option skip string  "")
         )
        )
       )
       (!options 
        (!option chain_prev string  "%h.previous")
        (!option chain_next string  "%h.next")
        (!option tag string  "SYMTAB_SYMBOL")
        (!option desc string  "%h.type")
       )
       511 nil nil )
     )
    )
    (!srcfileloc  "trans-mem.c" 4064)
    nil )
  )
 )
 
 (!type struct 949 nil  gc_unused "tm_ipa_cg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 950 nil  gc_unused "pass_tm_memopt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 951 nil  gc_unused "tm_memopt_bitmaps"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 952 nil  gc_unused "tm_memop_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 953 
  (!type pointer 954 nil  gc_unused
   (!type already_seen 953)
  )
  gc_unused "tm_memop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 955 nil  gc_unused "pass_tm_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 956 nil  gc_unused "pass_tm_mark"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 957 nil  gc_unused "bb2reg_stuff"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 958 nil  gc_unused "pass_tm_init"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 959 
  (!type pointer 960 nil  gc_unused
   (!type already_seen 959)
  )
  gc_unused "tm_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 961 nil  gc_unused "pass_lower_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 962 nil  gc_unused "tm_mem_map_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 963 nil  gc_unused "tm_new_mem_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 964 nil  gc_unused "log_entry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 965 
  (!type pointer 966 nil  gc_unused
   (!type already_seen 965)
  )
  gc_unused "tm_log_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 967 nil  gc_unused "pass_diagnose_tm_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 968 nil  gc_unused "diagnose_tm"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 969 nil  gc_unused "vec<ipa_parm_adjustment>"
  (!srcfileloc  "ipa-prop.h" 686)
  (!fields 1 
   (!pair  "ipa_parm_adjustment"
    (!type struct 970 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 971 
  (!type pointer 972 nil  gc_used
   (!type already_seen 971)
  )
  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 973 nil  gc_used "ipa_edge_args"
     (!srcfileloc  "ipa-prop.h" 511)
     (!fields 1 
      (!pair  "jump_functions"
       (!type pointer 974 nil  gc_used
        (!type user_struct 975 
         (!type already_seen 974)
         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 976 nil  gc_used "ipa_jump_func"
            (!srcfileloc  "ipa-prop.h" 480)
            (!fields 3 
             (!pair  "agg"
              (!type struct 977 
               (!type pointer 978 nil  gc_unused
                (!type already_seen 977)
               )
               gc_used "ipa_agg_jump_function"
               (!srcfileloc  "ipa-prop.h" 176)
               (!fields 2 
                (!pair  "items"
                 (!type pointer 979 nil  gc_used
                  (!type user_struct 980 
                   (!type already_seen 979)
                   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 981 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 982 nil  gc_used "jump_func_value"
               (!srcfileloc  "ipa-prop.h" 199)
               (!fields 4 
                (!pair  "known_type"
                 (!type struct 983 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 984 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 985 nil  gc_unused
                     (!type struct 986 
                      (!type already_seen 985)
                      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 987 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 988 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 989 
  (!type pointer 990 nil  gc_used
   (!type already_seen 989)
  )
  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 991 nil  gc_used
     (!type struct 992 
      (!type already_seen 991)
      gc_pointed_to "ipa_agg_replacement_value"
      (!srcfileloc  "ipa-prop.h" 468)
      (!fields 5 
       (!pair  "next"
        (!type already_seen 991)
        (!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 975)
 
 (!type struct 993 nil  gc_unused "ipa_param_descriptor"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 982)
 
 (!type already_seen 980)
 
 (!type already_seen 988)
 
 (!type already_seen 987)
 
 (!type already_seen 984)
 
 (!type already_seen 983)
 
 (!type struct 994 nil  gc_unused "ao_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 995 nil  gc_unused "prop_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 996 nil  gc_unused "cgraph_order_sort"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 997 
  (!type pointer 998 nil  gc_unused
   (!type already_seen 997)
  )
  gc_unused "lto_out_decl_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 999 nil  gc_unused "pass_list_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1000 
  (!type pointer 1001 nil  gc_unused
   (!type already_seen 1000)
  )
  gc_unused "uid_range"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1002 nil  gc_unused "pass_registry_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1003 nil  gc_unused "pass_registry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1004 nil  gc_unused "pass_postreload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1005 nil  gc_unused "pass_rest_of_compilation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1006 nil  gc_unused "pass_all_optimizations_g"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1007 nil  gc_unused "pass_all_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1008 nil  gc_unused "pass_all_early_optimizations"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1009 nil  gc_unused "pass_early_local_passes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1010 nil  gc_unused "dump_file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1011 nil  gc_unused "gcc_target"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1012 nil  gc_unused "expand_vec_perm_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1013 nil  gc_unused "register_pass_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1014 nil  gc_unused "pass_mips_machine_reorg2"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1015 nil  gc_unused "hash_table<mips_lo_sum_offset_hasher>"
  (!srcfileloc  "config/mips/mips.c" 16025)
  (!fields 1 
   (!pair  "mips_lo_sum_offset_hasher"
    (!type struct 1016 nil  gc_unused "mips_lo_sum_offset_hasher"
     (!srcfileloc  "config/mips/mips.c" 16025)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "config/mips/mips.c" 16025)
    nil )
  )
 )
 
 (!type already_seen 1016)
 
 (!type struct 1017 nil  gc_unused "mips_lo_sum_offset"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1018 nil  gc_unused "mips_sim"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1019 nil  gc_unused "df_link"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1020 nil  gc_unused "mips16_rewrite_pool_refs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1021 nil  gc_unused "mips16_constant_pool"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1022 nil  gc_unused "mips16_constant"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1023 nil  gc_unused "mips_builtin_description"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1024 nil  gc_unused "mips16_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1025 
  (!type pointer 1026 nil  gc_used
   (!type already_seen 1025)
  )
  gc_pointed_to "mips16_local_alias"
  (!srcfileloc  "config/mips/mips.c" 6391)
  (!fields 2 
   (!pair  "func"
    (!type already_seen 136)
    (!srcfileloc  "config/mips/mips.c" 6389)
    nil )
   (!pair  "local"
    (!type already_seen 136)
    (!srcfileloc  "config/mips/mips.c" 6390)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1027 nil  gc_unused "mips_multi_member"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1028 nil  gc_unused "mips16_set_fcsr_one_only_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1029 nil  gc_unused "mips16_get_fcsr_one_only_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1030 nil  gc_unused "mips16_rdhwr_one_only_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1031 
  (!type pointer 1032 nil  gc_used
   (!type already_seen 1031)
  )
  gc_pointed_to "mflip_mips16_entry"
  (!srcfileloc  "config/mips/mips.c" 1189)
  (!fields 2 
   (!pair  "name"
    (!type already_seen 36)
    (!srcfileloc  "config/mips/mips.c" 1187)
    nil )
   (!pair  "mips16_p"
    (!type already_seen 9)
    (!srcfileloc  "config/mips/mips.c" 1188)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1033 nil  gc_unused "mips_rtx_cost_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1034 nil  gc_unused "mips16e_save_restore_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1035 nil  gc_unused "mips_integer_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1036 nil  gc_unused "mips_address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1037 nil  gc_unused "mips_arg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 405)
 
 (!type struct 1038 nil  gc_unused "mips_one_only_stub"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1039 nil  gc_unused "cl_option_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1040 nil  gc_unused "_stmt_vec_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1041 nil  gc_unused "pass_omp_simd_clone"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1042 nil  gc_unused "modify_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1043 nil  gc_unused "pass_diagnose_omp_blocks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1044 nil  gc_unused "pass_lower_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1045 nil  gc_unused "omp_taskcopy_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1046 nil  gc_unused "pass_expand_omp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1047 nil  gc_unused "omp_for_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1048 nil  gc_unused "omp_for_data_loop"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1049 nil  gc_unused "omp_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1050 nil  gc_unused "pass_parallelize_loops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1051 nil  gc_unused "clsn_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1052 nil  gc_unused "elv_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1053 nil  gc_unused "int_tree_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1054 nil  gc_unused "data_dependence_relation"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1055 
  (!type pointer 1056 nil  gc_unused
   (!type already_seen 1055)
  )
  gc_unused "lambda_trans_matrix_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1057 nil  gc_unused "hash_table<name_to_copy_hasher>"
  (!srcfileloc  "tree-parloops.c" 282)
  (!fields 1 
   (!pair  "name_to_copy_hasher"
    (!type struct 1058 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 1058)
 
 (!type struct 1059 nil  gc_unused "name_to_copy_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1060 nil  gc_unused "hash_table<reduction_hasher>"
  (!srcfileloc  "tree-parloops.c" 230)
  (!fields 1 
   (!pair  "reduction_hasher"
    (!type struct 1061 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 1061)
 
 (!type struct 1062 nil  gc_unused "reduction_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1063 nil  gc_unused "nesting_copy_body_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1064 nil  gc_unused "nesting_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1065 nil  gc_unused "pass_ipa_tree_profile"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 389)
 
 (!type struct 1066 nil  gc_unused "chrec_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1067 nil  gc_unused "tree_niter_desc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1068 nil  gc_unused "instantiate_cache_type"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1069 
  (!type pointer 1070 nil  gc_used
   (!type already_seen 1069)
  )
  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 1071 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 1072 nil  gc_unused "dfa_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1073 nil  gc_unused "pass_fixup_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1074 nil  gc_unused "pass_warn_unused_result"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1075 nil  gc_unused "pass_warn_function_return"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1076 nil  gc_unused "pass_split_crit_edges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1077 nil  gc_unused "move_stmt_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1078 nil  gc_unused "walk_stmt_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1079 nil  gc_unused "omp_region"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1080 nil  gc_unused "pass_build_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1081 nil  gc_unused "locus_discrim_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1082 nil  gc_unused "locus_discrim_map"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1083 nil  gc_unused "cfg_stats_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1084 nil  gc_unused "mem_address"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1085 
  (!type pointer 1086 nil  gc_used
   (!type already_seen 1085)
  )
  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 1087 nil  gc_used "mem_addr_template"
     (!srcfileloc  "tree-ssa-address.c" 91)
     (!fields 3 
      (!pair  "ref"
       (!type already_seen 136)
       (!srcfileloc  "tree-ssa-address.c" 86)
       nil )
      (!pair  "step_p"
       (!type already_seen 137)
       (!srcfileloc  "tree-ssa-address.c" 87)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "off_p"
       (!type already_seen 137)
       (!srcfileloc  "tree-ssa-address.c" 89)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "tree-ssa-address.c" 98)
    nil )
  )
 )
 
 (!type already_seen 1087)
 
 (!type struct 1088 nil  gc_unused "pass_cleanup_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1089 nil  gc_unused "pass_lower_eh_dispatch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1090 nil  gc_unused "pass_lower_resx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1091 nil  gc_unused "pass_refactor_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1092 nil  gc_unused "pass_lower_eh"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1093 nil  gc_unused "labels_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1094 nil  gc_unused "leh_tf_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1095 nil  gc_unused "leh_state"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1096 nil  gc_unused "goto_queue_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1097 nil  gc_unused "finally_tree_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1098 nil  gc_unused "finally_tree_node"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1099 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/tree-eh.c:59"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1100 nil  gc_unused "pass_release_ssa_names"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 387)
 
 (!type already_seen 383)
 
 (!type already_seen 396)
 
 (!type struct 1101 nil  gc_unused "gimple_temp_hash_elt"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1102 nil  gc_pointed_to "gimple_statement_transaction"
  (!srcfileloc  "gimple.h" 759)
  (!fields 2 
   (!pair  "body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 755)
    nil )
   (!pair  "label"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 758)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRANSACTION")
  )
  511 nil 
  (!type struct 1103 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 1104 nil  gc_pointed_to "gimple_statement_with_ops_base"
    (!srcfileloc  "gimple.h" 220)
    (!fields 1 
     (!pair  "use_ops"
      (!type already_seen 391)
      (!srcfileloc  "gimple.h" 219)
      (!options 
       (!option skip string  "")
      )
     )
    )
    nil 511 nil 
    (!type already_seen 311)
   )
  )
 )
 
 (!type struct 1105 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 1106 nil  gc_pointed_to "gimple_statement_omp_atomic_store_layout"
   (!srcfileloc  "gimple.h" 703)
   (!fields 1 
    (!pair  "val"
     (!type already_seen 5)
     (!srcfileloc  "gimple.h" 702)
     nil )
   )
   (!options 
    (!option tag string  "GSS_OMP_ATOMIC_STORE_LAYOUT")
   )
   511 nil 
   (!type already_seen 311)
  )
 )
 
 (!type struct 1107 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 1106)
 )
 
 (!type already_seen 1106)
 
 (!type struct 1108 nil  gc_pointed_to "gimple_statement_omp_atomic_load"
  (!srcfileloc  "gimple.h" 691)
  (!fields 2 
   (!pair  "rhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 690)
    nil )
   (!pair  "lhs"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 690)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_ATOMIC_LOAD")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1109 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 1110 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 1111 nil  gc_pointed_to "gimple_statement_omp"
    (!srcfileloc  "gimple.h" 303)
    (!fields 1 
     (!pair  "body"
      (!type already_seen 310)
      (!srcfileloc  "gimple.h" 302)
      nil )
    )
    (!options 
     (!option tag string  "GSS_OMP")
    )
    511 nil 
    (!type already_seen 311)
   )
  )
 )
 
 (!type struct 1112 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 1110)
 )
 
 (!type already_seen 1110)
 
 (!type struct 1113 nil  gc_pointed_to "gimple_statement_omp_continue"
  (!srcfileloc  "gimple.h" 652)
  (!fields 2 
   (!pair  "control_def"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 648)
    nil )
   (!pair  "control_use"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 651)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_CONTINUE")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1114 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 1111)
 )
 
 (!type struct 1115 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 1116 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 1117 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 1111)
   )
  )
 )
 
 (!type struct 1118 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 1117)
 )
 
 (!type struct 1119 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 1116)
 )
 
 (!type already_seen 1116)
 
 (!type already_seen 1117)
 
 (!type struct 1120 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 1121 nil  gc_unused
     (!type struct 1122 
      (!type already_seen 1121)
      gc_used "gimple_omp_for_iter"
      (!srcfileloc  "gimple.h" 530)
      (!fields 5 
       (!pair  "cond"
        (!type already_seen 9)
        (!srcfileloc  "gimple.h" 517)
        nil )
       (!pair  "index"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 520)
        nil )
       (!pair  "initial"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 523)
        nil )
       (!pair  "final"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 526)
        nil )
       (!pair  "incr"
        (!type already_seen 5)
        (!srcfileloc  "gimple.h" 529)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "gimple.h" 547)
    (!options 
     (!option length string  "%h.collapse")
    )
   )
   (!pair  "pre_body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 551)
    nil )
  )
  (!options 
   (!option tag string  "GSS_OMP_FOR")
  )
  511 nil 
  (!type already_seen 1111)
 )
 
 (!type already_seen 1122)
 
 (!type struct 1123 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 1111)
 )
 
 (!type struct 1124 nil  gc_pointed_to "gimple_statement_asm"
  (!srcfileloc  "gimple.h" 500)
  (!fields 6 
   (!pair  "string"
    (!type already_seen 36)
    (!srcfileloc  "gimple.h" 486)
    nil )
   (!pair  "ni"
    (!type already_seen 28)
    (!srcfileloc  "gimple.h" 490)
    nil )
   (!pair  "no"
    (!type already_seen 28)
    (!srcfileloc  "gimple.h" 491)
    nil )
   (!pair  "nc"
    (!type already_seen 28)
    (!srcfileloc  "gimple.h" 492)
    nil )
   (!pair  "nl"
    (!type already_seen 28)
    (!srcfileloc  "gimple.h" 493)
    nil )
   (!pair  "op"
    (!type array 1125 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 1103)
 )
 
 (!type struct 1126 nil  gc_pointed_to "gimple_statement_wce"
  (!srcfileloc  "gimple.h" 474)
  (!fields 1 
   (!pair  "cleanup"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 473)
    nil )
  )
  (!options 
   (!option tag string  "GSS_WCE")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1127 nil  gc_pointed_to "gimple_statement_try"
  (!srcfileloc  "gimple.h" 443)
  (!fields 2 
   (!pair  "eval"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 438)
    nil )
   (!pair  "cleanup"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 442)
    nil )
  )
  (!options 
   (!option tag string  "GSS_TRY")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1128 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 1129 nil  gc_pointed_to "gimple_statement_eh_ctrl"
   (!srcfileloc  "gimple.h" 412)
   (!fields 1 
    (!pair  "region"
     (!type already_seen 9)
     (!srcfileloc  "gimple.h" 411)
     nil )
   )
   (!options 
    (!option tag string  "GSS_EH_CTRL")
   )
   511 nil 
   (!type already_seen 311)
  )
 )
 
 (!type struct 1130 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 1129)
 )
 
 (!type already_seen 1129)
 
 (!type struct 1131 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 1132 nil  gc_used "1" 
     (!type struct 1133 nil  gc_used "phi_arg_d"
      (!srcfileloc  "tree-core.h" 1199)
      (!fields 3 
       (!pair  "imm_use"
        (!type already_seen 509)
        (!srcfileloc  "tree-core.h" 1196)
        nil )
       (!pair  "def"
        (!type already_seen 5)
        (!srcfileloc  "tree-core.h" 1197)
        nil )
       (!pair  "locus"
        (!type already_seen 9)
        (!srcfileloc  "tree-core.h" 1198)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "gimple.h" 398)
    (!options 
     (!option length string  "%h.nargs")
    )
   )
  )
  (!options 
   (!option tag string  "GSS_PHI")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1134 nil  gc_pointed_to "gimple_statement_eh_mnt"
  (!srcfileloc  "gimple.h" 381)
  (!fields 1 
   (!pair  "fndecl"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 380)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_MNT")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1135 nil  gc_pointed_to "gimple_statement_eh_else"
  (!srcfileloc  "gimple.h" 370)
  (!fields 2 
   (!pair  "n_body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 369)
    nil )
   (!pair  "e_body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 369)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_ELSE")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1136 nil  gc_pointed_to "gimple_statement_eh_filter"
  (!srcfileloc  "gimple.h" 359)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 354)
    nil )
   (!pair  "failure"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 358)
    nil )
  )
  (!options 
   (!option tag string  "GSS_EH_FILTER")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1137 nil  gc_pointed_to "gimple_statement_catch"
  (!srcfileloc  "gimple.h" 342)
  (!fields 2 
   (!pair  "types"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 338)
    nil )
   (!pair  "handler"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 341)
    nil )
  )
  (!options 
   (!option tag string  "GSS_CATCH")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type struct 1138 nil  gc_pointed_to "gimple_statement_bind"
  (!srcfileloc  "gimple.h" 327)
  (!fields 3 
   (!pair  "vars"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 315)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "gimple.h" 323)
    nil )
   (!pair  "body"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 326)
    nil )
  )
  (!options 
   (!option tag string  "GSS_BIND")
  )
  511 nil 
  (!type already_seen 311)
 )
 
 (!type already_seen 1111)
 
 (!type struct 1139 nil  gc_pointed_to "gimple_statement_call"
  (!srcfileloc  "gimple.h" 291)
  (!fields 4 
   (!pair  "call_used"
    (!type already_seen 384)
    (!srcfileloc  "gimple.h" 277)
    nil )
   (!pair  "call_clobbered"
    (!type already_seen 384)
    (!srcfileloc  "gimple.h" 278)
    nil )
   (!pair  "u"
    (!type union 1140 nil  gc_used "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/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 1141 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 1103)
 )
 
 (!type already_seen 1140)
 
 (!type already_seen 384)
 
 (!type struct 1142 nil  gc_pointed_to "gimple_statement_with_memory_ops"
  (!srcfileloc  "gimple.h" 266)
  (!fields 1 
   (!pair  "op"
    (!type array 1143 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 1103)
 )
 
 (!type already_seen 1103)
 
 (!type struct 1144 nil  gc_pointed_to "gimple_statement_with_ops"
  (!srcfileloc  "gimple.h" 235)
  (!fields 1 
   (!pair  "op"
    (!type array 1145 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 1104)
 )
 
 (!type already_seen 1104)
 
 (!type already_seen 392)
 
 (!type user_struct 1146 nil  gc_unused "vec<gimple>"
  (!srcfileloc  "gimple.h" 29)
  (!fields 1 
   (!pair  "gimple"
    (!type already_seen 310)
    (!srcfileloc  "gimple.h" 29)
    nil )
  )
 )
 
 (!type struct 1147 nil  gc_unused "tm_alias_pair"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1148 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/varasm.c:4818"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1149 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/varasm.c:4574"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1150 nil  gc_unused "asm_int_op"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1151 nil  gc_unused "addr_const"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1152 nil  gc_unused "pass_ipa_free_lang_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1153 nil  gc_unused "free_lang_data_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1154 
  (!type pointer 1155 nil  gc_used
   (!type already_seen 1154)
  )
  gc_pointed_to "type_hash"
  (!srcfileloc  "tree.c" 178)
  (!fields 2 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree.c" 176)
    nil )
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "tree.c" 177)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1156 
  (!type pointer 1157 nil  gc_used
   (!type already_seen 1156)
  )
  gc_pointed_to "string_pool_data"
  (!srcfileloc  "stringpool.c" 252)
  (!fields 3 
   (!pair  "entries"
    (!type already_seen 35)
    (!srcfileloc  "stringpool.c" 249)
    (!options 
     (!option nested_ptr nested 
      (!type already_seen 7)
      "%h ? HT_IDENT_TO_GCC_IDENT (%h) : NULL" "%h ? GCC_IDENT_TO_HT_IDENT (%h) : NULL")
     (!option length string  "%h.nslots")
    )
   )
   (!pair  "nslots"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 250)
    nil )
   (!pair  "nelements"
    (!type already_seen 9)
    (!srcfileloc  "stringpool.c" 251)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1158 nil  gc_unused "cfg_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1159 nil  gc_unused "pass_outof_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1160 nil  gc_unused "pass_into_cfg_layout_mode"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1161 nil  gc_unused "pass_free_cfg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1162 nil  gc_unused "pass_stack_regs_run"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1163 nil  gc_unused "pass_stack_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1164 
  (!type pointer 1165 nil  gc_unused
   (!type already_seen 1164)
  )
  gc_unused "block_info_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1166 
  (!type pointer 1167 nil  gc_unused
   (!type already_seen 1166)
  )
  gc_unused "stack_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1168 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/mcf.c:344"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1169 nil  gc_unused "augmenting_path_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1170 nil  gc_unused "queue_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1171 nil  gc_unused "fixup_graph_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1172 
  (!type pointer 1173 nil  gc_unused
   (!type already_seen 1172)
  )
  gc_unused "fixup_vertex_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1174 
  (!type pointer 1175 nil  gc_unused
   (!type already_seen 1174)
  )
  gc_unused "fixup_edge_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1176 nil  gc_unused "edge_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1177 nil  gc_unused "bb_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1178 nil  gc_unused "atomic_op_functions"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1179 nil  gc_unused "no_conflict_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1180 nil  gc_unused "godump_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1181 nil  gc_unused "macro_hash_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1182 nil  gc_unused "pass_rtl_hoist"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1183 nil  gc_unused "pass_rtl_pre"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1184 nil  gc_unused "set_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1185 nil  gc_unused "mem_conflict_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1186 nil  gc_unused "reg_avail_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1187 nil  gc_unused "vec<modify_pair>"
  (!srcfileloc  "gcse.c" 635)
  (!fields 1 
   (!pair  "modify_pair"
    (!type struct 1188 nil  gc_unused "modify_pair_s"nil 
     (!fields 0 )
     nil 0 nil nil )
    (!srcfileloc  "gcse.c" 635)
    nil )
  )
 )
 
 (!type user_struct 1189 nil  gc_unused "vec<rtx>"
  (!srcfileloc  "gcse.c" 634)
  (!fields 1 
   (!pair  "rtx"
    (!type already_seen 136)
    (!srcfileloc  "gcse.c" 634)
    nil )
  )
 )
 
 (!type struct 1190 nil  gc_unused "bb_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 1188)
 
 (!type struct 1191 nil  gc_unused "pre_ldst_expr_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1192 nil  gc_unused "ls_expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1193 nil  gc_unused "hash_table_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1194 
  (!type pointer 1195 nil  gc_unused
   (!type already_seen 1194)
  )
  gc_unused "occr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1196 nil  gc_unused "expr"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 549)
 
 (!type struct 1197 nil  gc_unused "pass_convert_to_eh_region_ranges"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1198 nil  gc_unused "pass_set_nothrow_function_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1199 nil  gc_unused "hash_table<ehspec_hasher>"
  (!srcfileloc  "except.c" 786)
  (!fields 1 
   (!pair  "ehspec_hasher"
    (!type struct 1200 nil  gc_unused "ehspec_hasher"
     (!srcfileloc  "except.c" 786)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 786)
    nil )
  )
 )
 
 (!type already_seen 1200)
 
 (!type user_struct 1201 nil  gc_unused "hash_table<ttypes_filter_hasher>"
  (!srcfileloc  "except.c" 749)
  (!fields 1 
   (!pair  "ttypes_filter_hasher"
    (!type struct 1202 nil  gc_unused "ttypes_filter_hasher"
     (!srcfileloc  "except.c" 749)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 749)
    nil )
  )
 )
 
 (!type already_seen 1202)
 
 (!type struct 1203 nil  gc_unused "ttypes_filter"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1204 nil  gc_unused "duplicate_eh_regions_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1205 nil  gc_unused "hash_table<action_record_hasher>"
  (!srcfileloc  "except.c" 211)
  (!fields 1 
   (!pair  "action_record_hasher"
    (!type struct 1206 nil  gc_unused "action_record_hasher"
     (!srcfileloc  "except.c" 211)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "except.c" 211)
    nil )
  )
 )
 
 (!type already_seen 1206)
 
 (!type struct 1207 nil  gc_unused "action_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1208 nil  gc_unused "pass_match_asm_constraints"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1209 nil  gc_unused "pass_thread_prologue_and_epilogue"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1210 nil  gc_unused "pass_leaf_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1211 nil  gc_unused "hard_reg_set_container"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1212 nil  gc_unused "assign_parm_data_one"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1213 nil  gc_unused "assign_parm_data_all"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1214 nil  gc_unused "pass_instantiate_virtual_regs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1215 
  (!type pointer 1216 nil  gc_unused
   (!type already_seen 1215)
  )
  gc_used "initial_value_pair"
  (!srcfileloc  "function.c" 1211)
  (!fields 2 
   (!pair  "hard_reg"
    (!type already_seen 136)
    (!srcfileloc  "function.c" 1209)
    nil )
   (!pair  "pseudo"
    (!type already_seen 136)
    (!srcfileloc  "function.c" 1210)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1217 
  (!type pointer 1218 nil  gc_used
   (!type already_seen 1217)
  )
  gc_pointed_to "temp_slot_address_entry"
  (!srcfileloc  "function.c" 550)
  (!fields 3 
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "function.c" 547)
    nil )
   (!pair  "address"
    (!type already_seen 136)
    (!srcfileloc  "function.c" 548)
    nil )
   (!pair  "temp_slot"
    (!type pointer 1219 nil  gc_used
     (!type struct 1220 
      (!type already_seen 1219)
      gc_pointed_to "temp_slot"
      (!srcfileloc  "function.c" 538)
      (!fields 10 
       (!pair  "next"
        (!type already_seen 1219)
        (!srcfileloc  "function.c" 514)
        nil )
       (!pair  "prev"
        (!type already_seen 1219)
        (!srcfileloc  "function.c" 516)
        nil )
       (!pair  "slot"
        (!type already_seen 136)
        (!srcfileloc  "function.c" 518)
        nil )
       (!pair  "size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 520)
        nil )
       (!pair  "type"
        (!type already_seen 5)
        (!srcfileloc  "function.c" 525)
        nil )
       (!pair  "align"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 527)
        nil )
       (!pair  "in_use"
        (!type already_seen 28)
        (!srcfileloc  "function.c" 529)
        nil )
       (!pair  "level"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 531)
        nil )
       (!pair  "base_offset"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 534)
        nil )
       (!pair  "full_size"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 537)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.c" 549)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1221 nil  gc_unused "saved_pending_stack_adjust"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1222 nil  gc_unused "locate_and_pad_arg_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1223 nil  gc_unused "args_size"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1224 
  (!type pointer 1225 nil  gc_unused
   (!type already_seen 1224)
  )
  gc_unused "separate_ops"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1226 nil  gc_unused "store_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1227 nil  gc_unused "move_by_pieces_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 371)
 
 (!type already_seen 370)
 
 (!type already_seen 366)
 
 (!type already_seen 364)
 
 (!type already_seen 355)
 
 (!type already_seen 360)
 
 (!type already_seen 359)
 
 (!type already_seen 356)
 
 (!type already_seen 358)
 
 (!type already_seen 362)
 
 (!type already_seen 386)
 
 (!type already_seen 354)
 
 (!type struct 1228 nil  gc_unused "pass_lower_vector_ssa"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1229 nil  gc_unused "pass_lower_vector"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1230 nil  gc_unused "hash_table<loc_list_hasher>"
  (!srcfileloc  "dwarf2out.c" 23887)
  (!fields 1 
   (!pair  "loc_list_hasher"
    (!type struct 1231 nil  gc_unused "loc_list_hasher"
     (!srcfileloc  "dwarf2out.c" 23887)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 23887)
    nil )
  )
 )
 
 (!type already_seen 1231)
 
 (!type struct 1232 nil  gc_unused "comdat_type_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1233 nil  gc_unused "hash_table<macinfo_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 21703)
  (!fields 1 
   (!pair  "macinfo_entry_hasher"
    (!type struct 1234 nil  gc_unused "macinfo_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 21703)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 21703)
    nil )
  )
 )
 
 (!type already_seen 1234)
 
 (!type struct 1235 nil  gc_unused "file_name_acquire_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1236 nil  gc_unused "dir_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1237 nil  gc_unused "file_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1238 nil  gc_unused "hash_table<external_ref_hasher>"
  (!srcfileloc  "dwarf2out.c" 7518)
  (!fields 1 
   (!pair  "external_ref_hasher"
    (!type struct 1239 nil  gc_unused "external_ref_hasher"
     (!srcfileloc  "dwarf2out.c" 7518)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 7518)
    nil )
  )
 )
 
 (!type already_seen 1239)
 
 (!type struct 1240 nil  gc_unused "external_ref"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1241 nil  gc_unused "hash_table<decl_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 6983)
  (!fields 1 
   (!pair  "decl_table_entry_hasher"
    (!type struct 1242 nil  gc_unused "decl_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 6983)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 6983)
    nil )
  )
 )
 
 (!type already_seen 1242)
 
 (!type struct 1243 nil  gc_unused "decl_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1244 nil  gc_unused "hash_table<cu_hash_table_entry_hasher>"
  (!srcfileloc  "dwarf2out.c" 6658)
  (!fields 1 
   (!pair  "cu_hash_table_entry_hasher"
    (!type struct 1245 nil  gc_unused "cu_hash_table_entry_hasher"
     (!srcfileloc  "dwarf2out.c" 6658)
     (!fields 0 )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 6658)
    nil )
  )
 )
 
 (!type already_seen 1245)
 
 (!type struct 1246 nil  gc_unused "cu_hash_table_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1247 nil  gc_unused "checksum_attributes"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1248 nil  gc_unused "md5_ctx"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1249 
  (!type pointer 1250 nil  gc_used
   (!type already_seen 1249)
  )
  gc_pointed_to "vec<die_arg_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2920)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2920)
    nil )
   (!pair  "die_arg_entry"
    (!type struct 1251 nil  gc_used "die_arg_entry_struct"
     (!srcfileloc  "dwarf2out.c" 2743)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 425)
       (!srcfileloc  "dwarf2out.c" 2741)
       nil )
      (!pair  "arg"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 2742)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2920)
    nil )
  )
 )
 
 (!type user_struct 1252 
  (!type pointer 1253 nil  gc_used
   (!type already_seen 1252)
  )
  gc_pointed_to "vec<macinfo_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2868)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2868)
    nil )
   (!pair  "macinfo_entry"
    (!type struct 1254 nil  gc_used "macinfo_struct"
     (!srcfileloc  "dwarf2out.c" 2597)
     (!fields 3 
      (!pair  "code"
       (!type already_seen 28)
       (!srcfileloc  "dwarf2out.c" 2594)
       nil )
      (!pair  "lineno"
       (!type already_seen 9)
       (!srcfileloc  "dwarf2out.c" 2595)
       nil )
      (!pair  "info"
       (!type already_seen 36)
       (!srcfileloc  "dwarf2out.c" 2596)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2868)
    nil )
  )
 )
 
 (!type user_struct 1255 
  (!type pointer 1256 nil  gc_used
   (!type already_seen 1255)
  )
  gc_pointed_to "vec<pubname_entry,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2860)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2860)
    nil )
   (!pair  "pubname_entry"
    (!type struct 1257 
     (!type pointer 1258 nil  gc_unused
      (!type already_seen 1257)
     )
     gc_used "pubname_struct"
     (!srcfileloc  "dwarf2out.c" 2581)
     (!fields 2 
      (!pair  "die"
       (!type already_seen 425)
       (!srcfileloc  "dwarf2out.c" 2579)
       nil )
      (!pair  "name"
       (!type already_seen 36)
       (!srcfileloc  "dwarf2out.c" 2580)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 2860)
    nil )
  )
 )
 
 (!type user_struct 1259 
  (!type pointer 1260 nil  gc_used
   (!type already_seen 1259)
  )
  gc_pointed_to "vec<dw_line_info_table_p,va_gc>"
  (!srcfileloc  "dwarf2out.c" 2852)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 2852)
    nil )
   (!pair  "dw_line_info_table_p"
    (!type pointer 1261 nil  gc_used
     (!type struct 1262 
      (!type already_seen 1261)
      gc_pointed_to "dw_line_info_table_struct"
      (!srcfileloc  "dwarf2out.c" 2523)
      (!fields 8 
       (!pair  "end_label"
        (!type already_seen 36)
        (!srcfileloc  "dwarf2out.c" 2511)
        nil )
       (!pair  "file_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2515)
        nil )
       (!pair  "line_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2516)
        nil )
       (!pair  "column_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2517)
        nil )
       (!pair  "discrim_num"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2518)
        nil )
       (!pair  "is_stmt"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2519)
        nil )
       (!pair  "in_use"
        (!type already_seen 9)
        (!srcfileloc  "dwarf2out.c" 2520)
        nil )
       (!pair  "entries"
        (!type pointer 1263 nil  gc_used
         (!type user_struct 1264 
          (!type already_seen 1263)
          gc_pointed_to "vec<dw_line_info_entry,va_gc>"
          (!srcfileloc  "dwarf2out.c" 2522)
          (!fields 2 
           (!pair  "va_gc"
            (!type already_seen 3)
            (!srcfileloc  "dwarf2out.c" 2522)
            nil )
           (!pair  "dw_line_info_entry"
            (!type struct 1265 
             (!type pointer 1266 nil  gc_unused
              (!type already_seen 1265)
             )
             gc_used "dw_line_info_struct"
             (!srcfileloc  "dwarf2out.c" 2506)
             (!fields 2 
              (!pair  "opcode"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2504)
               nil )
              (!pair  "val"
               (!type already_seen 9)
               (!srcfileloc  "dwarf2out.c" 2505)
               nil )
             )
             nil 511 nil nil )
            (!srcfileloc  "dwarf2out.c" 2522)
            nil )
          )
         )
        )
        (!srcfileloc  "dwarf2out.c" 2522)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2852)
    nil )
  )
 )
 
 (!type struct 1267 
  (!type pointer 1268 nil  gc_used
   (!type already_seen 1267)
  )
  gc_pointed_to "cached_dw_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2817)
  (!fields 2 
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2813)
    nil )
   (!pair  "loc_list"
    (!type already_seen 421)
    (!srcfileloc  "dwarf2out.c" 2816)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1269 
  (!type pointer 1270 nil  gc_used
   (!type already_seen 1269)
  )
  gc_pointed_to "call_arg_loc_node"
  (!srcfileloc  "dwarf2out.c" 2791)
  (!fields 6 
   (!pair  "call_arg_loc_note"
    (!type already_seen 136)
    (!srcfileloc  "dwarf2out.c" 2785)
    nil )
   (!pair  "label"
    (!type already_seen 36)
    (!srcfileloc  "dwarf2out.c" 2786)
    nil )
   (!pair  "block"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2787)
    nil )
   (!pair  "tail_call_p"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2788)
    nil )
   (!pair  "symbol_ref"
    (!type already_seen 136)
    (!srcfileloc  "dwarf2out.c" 2789)
    nil )
   (!pair  "next"
    (!type already_seen 1270)
    (!srcfileloc  "dwarf2out.c" 2790)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1271 
  (!type pointer 1272 nil  gc_used
   (!type already_seen 1271)
  )
  gc_pointed_to "var_loc_list_def"
  (!srcfileloc  "dwarf2out.c" 2780)
  (!fields 4 
   (!pair  "first"
    (!type pointer 1273 nil  gc_used
     (!type struct 1274 
      (!type already_seen 1273)
      gc_pointed_to "var_loc_node"
      (!srcfileloc  "dwarf2out.c" 2759)
      (!fields 3 
       (!pair  "loc"
        (!type already_seen 136)
        (!srcfileloc  "dwarf2out.c" 2756)
        nil )
       (!pair  "label"
        (!type already_seen 36)
        (!srcfileloc  "dwarf2out.c" 2757)
        nil )
       (!pair  "next"
        (!type already_seen 1273)
        (!srcfileloc  "dwarf2out.c" 2758)
        nil )
      )
      (!options 
       (!option chain_next string  "%h.next")
      )
      511 nil nil )
    )
    (!srcfileloc  "dwarf2out.c" 2763)
    nil )
   (!pair  "last"
    (!type already_seen 1273)
    (!srcfileloc  "dwarf2out.c" 2771)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "last_before_switch"
    (!type already_seen 1273)
    (!srcfileloc  "dwarf2out.c" 2776)
    (!options 
     (!option skip string  "%h")
    )
   )
   (!pair  "decl_id"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2779)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1274)
 
 (!type already_seen 1251)
 
 (!type struct 1275 nil  gc_unused "skeleton_chain_struct"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1276 
  (!type pointer 1277 nil  gc_used
   (!type already_seen 1276)
  )
  gc_pointed_to "limbo_die_struct"
  (!srcfileloc  "dwarf2out.c" 2622)
  (!fields 3 
   (!pair  "die"
    (!type already_seen 425)
    (!srcfileloc  "dwarf2out.c" 2619)
    nil )
   (!pair  "created_for"
    (!type already_seen 5)
    (!srcfileloc  "dwarf2out.c" 2620)
    nil )
   (!pair  "next"
    (!type already_seen 1277)
    (!srcfileloc  "dwarf2out.c" 2621)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1254)
 
 (!type already_seen 433)
 
 (!type already_seen 428)
 
 (!type already_seen 1262)
 
 (!type already_seen 1264)
 
 (!type already_seen 430)
 
 (!type struct 1278 
  (!type pointer 1279 nil  gc_used
   (!type already_seen 1278)
  )
  gc_pointed_to "dw_ranges_by_label_struct"
  (!srcfileloc  "dwarf2out.c" 2604)
  (!fields 2 
   (!pair  "begin"
    (!type already_seen 36)
    (!srcfileloc  "dwarf2out.c" 2602)
    nil )
   (!pair  "end"
    (!type already_seen 36)
    (!srcfileloc  "dwarf2out.c" 2603)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1280 
  (!type pointer 1281 nil  gc_used
   (!type already_seen 1280)
  )
  gc_pointed_to "dw_ranges_struct"
  (!srcfileloc  "dwarf2out.c" 2589)
  (!fields 1 
   (!pair  "num"
    (!type already_seen 9)
    (!srcfileloc  "dwarf2out.c" 2588)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1257)
 
 (!type already_seen 1265)
 
 (!type already_seen 434)
 
 (!type already_seen 419)
 
 (!type user_struct 1282 
  (!type pointer 1283 nil  gc_used
   (!type already_seen 1282)
  )
  gc_pointed_to "vec<deferred_locations,va_gc>"
  (!srcfileloc  "dwarf2out.c" 1237)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 1237)
    nil )
   (!pair  "deferred_locations"
    (!type struct 1284 nil  gc_used "deferred_locations_struct"
     (!srcfileloc  "dwarf2out.c" 1234)
     (!fields 2 
      (!pair  "variable"
       (!type already_seen 5)
       (!srcfileloc  "dwarf2out.c" 1232)
       nil )
      (!pair  "die"
       (!type already_seen 425)
       (!srcfileloc  "dwarf2out.c" 1233)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "dwarf2out.c" 1237)
    nil )
  )
 )
 
 (!type already_seen 1284)
 
 (!type user_struct 1285 
  (!type pointer 1286 nil  gc_used
   (!type already_seen 1285)
  )
  gc_pointed_to "vec<dw_fde_ref,va_gc>"
  (!srcfileloc  "dwarf2out.c" 203)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "dwarf2out.c" 203)
    nil )
   (!pair  "dw_fde_ref"
    (!type already_seen 406)
    (!srcfileloc  "dwarf2out.c" 203)
    nil )
  )
 )
 
 (!type struct 1287 nil  gc_unused "pass_dwarf2_frame"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1288 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/dwarf2cfi.c:218"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1289 nil  gc_unused "trace_info_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1290 
  (!type pointer 1291 nil  gc_unused
   (!type already_seen 1290)
  )
  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/dwarf2cfi.c:101"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1292 
  (!type pointer 1293 nil  gc_used
   (!type already_seen 1292)
  )
  gc_pointed_to "reg_saved_in_data_struct"
  (!srcfileloc  "dwarf2cfi.c" 80)
  (!fields 2 
   (!pair  "orig_reg"
    (!type already_seen 136)
    (!srcfileloc  "dwarf2cfi.c" 78)
    nil )
   (!pair  "saved_in_reg"
    (!type already_seen 136)
    (!srcfileloc  "dwarf2cfi.c" 79)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1294 
  (!type pointer 1295 nil  gc_used
   (!type already_seen 1294)
  )
  gc_pointed_to "dw_cfi_row_struct"
  (!srcfileloc  "dwarf2cfi.c" 74)
  (!fields 3 
   (!pair  "cfa"
    (!type struct 1296 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 410)
    (!srcfileloc  "dwarf2cfi.c" 70)
    nil )
   (!pair  "reg_save"
    (!type already_seen 408)
    (!srcfileloc  "dwarf2cfi.c" 73)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1297 nil  gc_unused "array_descr_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 420)
 
 (!type already_seen 441)
 
 (!type already_seen 439)
 
 (!type already_seen 437)
 
 (!type already_seen 424)
 
 (!type already_seen 418)
 
 (!type already_seen 423)
 
 (!type already_seen 1296)
 
 (!type already_seen 409)
 
 (!type already_seen 412)
 
 (!type already_seen 422)
 
 (!type already_seen 414)
 
 (!type already_seen 411)
 
 (!type already_seen 415)
 
 (!type struct 1298 nil  gc_unused "dbx_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1299 
  (!type pointer 1300 nil  gc_used
   (!type already_seen 1299)
  )
  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 846)
 
 (!type struct 1301 nil  gc_unused "ipa_polymorphic_call_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1302 nil  gc_unused "ipa_dfs_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1303 nil  gc_unused "pass_ipa_cp"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 874)
 
 (!type already_seen 977)
 
 (!type struct 1304 nil  gc_unused "topo_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1305 nil  gc_unused "caller_statistics"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1306 nil  gc_unused "ipcp_param_lattices"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1307 nil  gc_unused "ipcp_agg_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1308 nil  gc_unused "ipcp_lattice"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1309 nil  gc_unused "ipcp_value_source"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1310 nil  gc_unused "ipcp_value"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1311 nil  gc_unused "lto_input_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1312 nil  gc_unused "output_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1313 nil  gc_unused "data_in"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1314 nil  gc_unused "bitpack_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 970)
 
 (!type already_seen 992)
 
 (!type struct 1315 nil  gc_unused "inline_edge_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 973)
 
 (!type struct 1316 nil  gc_unused "ipa_known_agg_contents_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1317 nil  gc_unused "type_change_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 981)
 
 (!type already_seen 976)
 
 (!type struct 1318 nil  gc_unused "ipa_node_params"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 986)
 
 (!type struct 1319 nil  gc_unused "param_analysis_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1320 nil  gc_unused "cselib_record_autoinc_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1321 nil  gc_unused "cselib_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1322 nil  gc_unused "expand_value_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1323 nil  gc_unused "elt_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1324 nil  gc_unused "output_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1325 nil  gc_unused "bitmap_desc_hasher"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1326 nil  gc_unused "loc"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1327 
  (!type pointer 1328 nil  gc_unused
   (!type already_seen 1327)
  )
  gc_unused "bitmap_descriptor_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type user_struct 1329 
  (!type pointer 1330 nil  gc_used
   (!type already_seen 1329)
  )
  gc_pointed_to "vec<alias_set_entry,va_gc>"
  (!srcfileloc  "alias.c" 267)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "alias.c" 267)
    nil )
   (!pair  "alias_set_entry"
    (!type pointer 1331 nil  gc_used
     (!type struct 1332 
      (!type already_seen 1331)
      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 1333 nil  gc_used
         (!type param_struct 1334 
          (!type already_seen 1333)
          gc_pointed_to
          (!type struct 1335 
           (!type pointer 1336 nil  gc_unused
            (!type already_seen 1335)
           )
           gc_used "splay_tree_s"
           (!srcfileloc  "../include/splay-tree.h" 123)
           (!fields 7 
            (!pair  "root"
             (!type pointer 1337 nil  gc_unused
              (!type struct 1338 
               (!type already_seen 1337)
               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 1337)
                 (!srcfileloc  "../include/splay-tree.h" 97)
                 (!options 
                  (!option use_params string  "")
                 )
                )
                (!pair  "right"
                 (!type already_seen 1337)
                 (!srcfileloc  "../include/splay-tree.h" 98)
                 (!options 
                  (!option use_params string  "")
                 )
                )
               )
               nil 511 nil nil )
             )
             (!srcfileloc  "../include/splay-tree.h" 104)
             (!options 
              (!option use_params string  "")
             )
            )
            (!pair  "comp"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 107)
             nil )
            (!pair  "delete_key"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 110)
             nil )
            (!pair  "delete_value"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 113)
             nil )
            (!pair  "allocate"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 116)
             nil )
            (!pair  "deallocate"
             (!type already_seen 9)
             (!srcfileloc  "../include/splay-tree.h" 119)
             nil )
            (!pair  "allocate_data"
             (!type already_seen 10)
             (!srcfileloc  "../include/splay-tree.h" 122)
             (!options 
              (!option skip string  "")
             )
            )
           )
           nil 511 nil nil )
          nil 
          (!type already_seen 9)
          
          (!type already_seen 9)
          nil nil nil nil nil nil nil nil )
        )
        (!srcfileloc  "alias.c" 147)
        (!options 
         (!option param2_is type 
          (!type already_seen 9)
         )
         (!option param1_is type 
          (!type already_seen 9)
         )
        )
       )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "alias.c" 267)
    nil )
  )
 )
 
 (!type already_seen 1332)
 
 (!type struct 1339 nil  gc_unused "saved_hard_reg"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1340 nil  gc_unused "insn_chain"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1341 nil  gc_unused "reg_equivs_t"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1342 nil  gc_unused "target_reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1343 nil  gc_unused "reload"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1344 
  (!type pointer 1345 nil  gc_used
   (!type already_seen 1344)
  )
  gc_pointed_to "constant_descriptor_tree"
  (!srcfileloc  "cgraph.h" 1338)
  (!fields 3 
   (!pair  "rtl"
    (!type already_seen 136)
    (!srcfileloc  "cgraph.h" 1329)
    nil )
   (!pair  "value"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 1332)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 1337)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1346 nil  gc_unused "cgraph_2node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1347 nil  gc_unused "cgraph_2edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1348 nil  gc_unused "varpool_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1349 nil  gc_unused "cgraph_node_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1350 nil  gc_unused "cgraph_edge_hook_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1351 
  (!type pointer 1352 nil  gc_used
   (!type already_seen 1351)
  )
  gc_pointed_to "asm_node"
  (!srcfileloc  "cgraph.h" 657)
  (!fields 3 
   (!pair  "next"
    (!type already_seen 1352)
    (!srcfileloc  "cgraph.h" 652)
    nil )
   (!pair  "asm_str"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 654)
    nil )
   (!pair  "order"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 656)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 917)
 
 (!type struct 1353 nil  gc_unused "varpool_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1354 nil  gc_unused "cgraph_node_set_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1355 
  (!type pointer 1356 nil  gc_unused
   (!type already_seen 1355)
  )
  gc_unused "varpool_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1357 
  (!type pointer 1358 nil  gc_unused
   (!type already_seen 1357)
  )
  gc_unused "cgraph_node_set_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1359 
  (!type pointer 1360 nil  gc_used
   (!type already_seen 1359)
  )
  gc_pointed_to "cgraph_function_version_info"
  (!srcfileloc  "cgraph.h" 464)
  (!fields 4 
   (!pair  "this_node"
    (!type already_seen 911)
    (!srcfileloc  "cgraph.h" 445)
    nil )
   (!pair  "prev"
    (!type already_seen 1360)
    (!srcfileloc  "cgraph.h" 449)
    nil )
   (!pair  "next"
    (!type already_seen 1360)
    (!srcfileloc  "cgraph.h" 453)
    nil )
   (!pair  "dispatcher_resolver"
    (!type already_seen 5)
    (!srcfileloc  "cgraph.h" 463)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 924)
 
 (!type already_seen 915)
 
 (!type already_seen 921)
 
 (!type already_seen 923)
 
 (!type already_seen 930)
 
 (!type already_seen 932)
 
 (!type already_seen 934)
 
 (!type already_seen 929)
 
 (!type already_seen 928)
 
 (!type already_seen 927)
 
 (!type already_seen 935)
 
 (!type already_seen 946)
 
 (!type already_seen 938)
 
 (!type already_seen 943)
 
 (!type already_seen 940)
 
 (!type already_seen 941)
 
 (!type already_seen 936)
 
 (!type struct 1361 
  (!type pointer 1362 nil  gc_unused
   (!type already_seen 1361)
  )
  gc_pointed_to "varpool_node"
  (!srcfileloc  "cgraph.h" 646)
  (!fields 2 
   (!pair  "output"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 641)
    nil )
   (!pair  "dynamically_initialized"
    (!type already_seen 9)
    (!srcfileloc  "cgraph.h" 645)
    nil )
  )
  (!options 
   (!option tag string  "SYMTAB_VARIABLE")
  )
  511 nil 
  (!type already_seen 936)
 )
 
 (!type already_seen 913)
 
 (!type struct 1363 nil  gc_unused "gcov_working_set_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1364 nil  gc_unused "edge_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1365 nil  gc_unused "control_dependences"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1366 nil  gc_unused "edge_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1367 nil  gc_unused "ce_if_block"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 377)
 
 (!type already_seen 319)
 
 (!type already_seen 321)
 
 (!type already_seen 318)
 
 (!type already_seen 300)
 
 (!type already_seen 320)
 
 (!type already_seen 323)
 
 (!type struct 1368 nil  gc_unused "profile_record"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1369 nil  gc_unused "cselib_set"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1370 nil  gc_unused "elt_loc_list"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1371 nil  gc_unused "cselib_val"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 545)
 
 (!type struct 1372 nil  gc_unused "loop_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1373 nil  gc_unused "rtx_iv"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1374 nil  gc_unused "eni_weights_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 315)
 
 (!type already_seen 307)
 
 (!type already_seen 304)
 
 (!type already_seen 313)
 
 (!type already_seen 309)
 
 (!type already_seen 305)
 
 (!type already_seen 250)
 
 (!type already_seen 249)
 
 (!type already_seen 248)
 
 (!type already_seen 247)
 
 (!type struct 1375 
  (!type pointer 1376 nil  gc_used
   (!type already_seen 1375)
  )
  gc_pointed_to "types_used_by_vars_entry"
  (!srcfileloc  "function.h" 708)
  (!fields 2 
   (!pair  "type"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 706)
    nil )
   (!pair  "var_decl"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 707)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 75)
 
 (!type already_seen 404)
 
 (!type already_seen 398)
 
 (!type already_seen 375)
 
 (!type already_seen 352)
 
 (!type already_seen 402)
 
 (!type struct 1377 nil  gc_used "rtl_data"
  (!srcfileloc  "function.h" 463)
  (!fields 57 
   (!pair  "expr"
    (!type struct 1378 nil  gc_used "expr_status"
     (!srcfileloc  "function.h" 139)
     (!fields 6 
      (!pair  "x_pending_stack_adjust"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 104)
       nil )
      (!pair  "x_inhibit_defer_pop"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 121)
       nil )
      (!pair  "x_stack_pointer_delta"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 127)
       nil )
      (!pair  "x_saveregs_value"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 132)
       nil )
      (!pair  "x_apply_args_value"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 135)
       nil )
      (!pair  "x_forced_labels"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 138)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 237)
    nil )
   (!pair  "emit"
    (!type struct 1379 nil  gc_used "emit_status"
     (!srcfileloc  "function.h" 82)
     (!fields 9 
      (!pair  "x_reg_rtx_no"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 45)
       nil )
      (!pair  "x_first_label_num"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 48)
       nil )
      (!pair  "x_first_insn"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 55)
       nil )
      (!pair  "x_last_insn"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 56)
       nil )
      (!pair  "sequence_stack"
       (!type pointer 1380 nil  gc_used
        (!type struct 1381 
         (!type already_seen 1380)
         gc_pointed_to "sequence_stack"
         (!srcfileloc  "function.h" 40)
         (!fields 3 
          (!pair  "first"
           (!type already_seen 136)
           (!srcfileloc  "function.h" 37)
           nil )
          (!pair  "last"
           (!type already_seen 136)
           (!srcfileloc  "function.h" 38)
           nil )
          (!pair  "next"
           (!type already_seen 1380)
           (!srcfileloc  "function.h" 39)
           nil )
         )
         nil 511 nil nil )
       )
       (!srcfileloc  "function.h" 62)
       nil )
      (!pair  "x_cur_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 66)
       nil )
      (!pair  "x_cur_debug_insn_uid"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 70)
       nil )
      (!pair  "regno_pointer_align_length"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 76)
       nil )
      (!pair  "regno_pointer_align"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 81)
       (!options 
        (!option skip string  "")
       )
      )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 238)
    nil )
   (!pair  "varasm"
    (!type struct 1382 nil  gc_used "varasm_status"
     (!srcfileloc  "function.h" 181)
     (!fields 2 
      (!pair  "pool"
       (!type pointer 1383 nil  gc_used
        (!type struct 1384 
         (!type already_seen 1383)
         gc_pointed_to "rtx_constant_pool"
         (!srcfileloc  "varasm.c" 3475)
         (!fields 4 
          (!pair  "first"
           (!type already_seen 254)
           (!srcfileloc  "varasm.c" 3463)
           nil )
          (!pair  "last"
           (!type already_seen 254)
           (!srcfileloc  "varasm.c" 3464)
           nil )
          (!pair  "const_rtx_htab"
           (!type pointer 1385 nil  gc_used
            (!type param_struct 1386 
             (!type already_seen 1385)
             gc_pointed_to
             (!type already_seen 49)
             
             (!type already_seen 254)
             nil nil nil nil nil nil nil nil nil nil )
           )
           (!srcfileloc  "varasm.c" 3470)
           (!options 
            (!option param_is type 
             (!type already_seen 255)
            )
           )
          )
          (!pair  "offset"
           (!type already_seen 9)
           (!srcfileloc  "varasm.c" 3474)
           nil )
         )
         nil 511 nil nil )
       )
       (!srcfileloc  "function.h" 176)
       nil )
      (!pair  "deferred_constants"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 180)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 239)
    nil )
   (!pair  "args"
    (!type struct 1387 nil  gc_used "incoming_args"
     (!srcfileloc  "function.h" 210)
     (!fields 6 
      (!pair  "pops_args"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 188)
       nil )
      (!pair  "size"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 193)
       nil )
      (!pair  "pretend_args_size"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 198)
       nil )
      (!pair  "arg_offset_rtx"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 202)
       nil )
      (!pair  "info"
       (!type already_seen 9)
       (!srcfileloc  "function.h" 206)
       nil )
      (!pair  "internal_arg_pointer"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 209)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 240)
    nil )
   (!pair  "subsections"
    (!type struct 1388 nil  gc_used "function_subsections"
     (!srcfileloc  "function.h" 222)
     (!fields 4 
      (!pair  "hot_section_label"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 218)
       nil )
      (!pair  "cold_section_label"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 219)
       nil )
      (!pair  "hot_section_end_label"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 220)
       nil )
      (!pair  "cold_section_end_label"
       (!type already_seen 36)
       (!srcfileloc  "function.h" 221)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 241)
    nil )
   (!pair  "eh"
    (!type struct 1389 nil  gc_used "rtl_eh"
     (!srcfileloc  "function.h" 155)
     (!fields 7 
      (!pair  "ehr_stackadj"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 145)
       nil )
      (!pair  "ehr_handler"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 146)
       nil )
      (!pair  "ehr_label"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 147)
       nil )
      (!pair  "sjlj_fc"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 149)
       nil )
      (!pair  "sjlj_exit_after"
       (!type already_seen 136)
       (!srcfileloc  "function.h" 150)
       nil )
      (!pair  "action_record_data"
       (!type already_seen 372)
       (!srcfileloc  "function.h" 152)
       nil )
      (!pair  "call_site_record_v"
       (!type array 1390 nil  gc_used "2" 
        (!type pointer 1391 nil  gc_used
         (!type user_struct 1392 
          (!type already_seen 1391)
          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 1393 nil  gc_used
             (!type struct 1394 
              (!type already_seen 1393)
              gc_pointed_to "call_site_record_d"
              (!srcfileloc  "except.c" 168)
              (!fields 2 
               (!pair  "landing_pad"
                (!type already_seen 136)
                (!srcfileloc  "except.c" 166)
                nil )
               (!pair  "action"
                (!type already_seen 9)
                (!srcfileloc  "except.c" 167)
                nil )
              )
              nil 511 nil nil )
            )
            (!srcfileloc  "function.h" 154)
            nil )
          )
         )
        )
       )
       (!srcfileloc  "function.h" 154)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "function.h" 242)
    nil )
   (!pair  "outgoing_args_size"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 248)
    nil )
   (!pair  "return_rtx"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 254)
    nil )
   (!pair  "hard_reg_initial_vals"
    (!type pointer 1395 nil  gc_used
     (!type struct 1396 
      (!type already_seen 1395)
      gc_pointed_to "initial_value_struct"
      (!srcfileloc  "function.c" 1219)
      (!fields 3 
       (!pair  "num_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1216)
        nil )
       (!pair  "max_entries"
        (!type already_seen 9)
        (!srcfileloc  "function.c" 1217)
        nil )
       (!pair  "entries"
        (!type already_seen 1216)
        (!srcfileloc  "function.c" 1218)
        (!options 
         (!option length string  "%h.num_entries")
        )
       )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.h" 261)
    nil )
   (!pair  "stack_protect_guard"
    (!type already_seen 5)
    (!srcfileloc  "function.h" 265)
    nil )
   (!pair  "x_nonlocal_goto_handler_labels"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 269)
    nil )
   (!pair  "x_return_label"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 274)
    nil )
   (!pair  "x_naked_return_label"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 279)
    nil )
   (!pair  "x_stack_slot_list"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 283)
    nil )
   (!pair  "frame_space_list"
    (!type pointer 1397 nil  gc_used
     (!type struct 1398 
      (!type already_seen 1397)
      gc_pointed_to "frame_space"
      (!srcfileloc  "function.h" 233)
      (!fields 3 
       (!pair  "next"
        (!type already_seen 1397)
        (!srcfileloc  "function.h" 229)
        nil )
       (!pair  "start"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 231)
        nil )
       (!pair  "length"
        (!type already_seen 9)
        (!srcfileloc  "function.h" 232)
        nil )
      )
      nil 511 nil nil )
    )
    (!srcfileloc  "function.h" 286)
    nil )
   (!pair  "x_stack_check_probe_note"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 289)
    nil )
   (!pair  "x_arg_pointer_save_area"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 295)
    nil )
   (!pair  "drap_reg"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 298)
    nil )
   (!pair  "x_frame_offset"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 303)
    nil )
   (!pair  "x_parm_birth_insn"
    (!type already_seen 136)
    (!srcfileloc  "function.h" 306)
    nil )
   (!pair  "x_used_temp_slots"
    (!type pointer 1399 nil  gc_used
     (!type user_struct 1400 
      (!type already_seen 1399)
      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 1219)
        (!srcfileloc  "function.h" 309)
        nil )
      )
     )
    )
    (!srcfileloc  "function.h" 309)
    nil )
   (!pair  "x_avail_temp_slots"
    (!type already_seen 1219)
    (!srcfileloc  "function.h" 312)
    nil )
   (!pair  "x_temp_slot_level"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 315)
    nil )
   (!pair  "stack_alignment_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 319)
    nil )
   (!pair  "preferred_stack_boundary"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 323)
    nil )
   (!pair  "parm_stack_boundary"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 326)
    nil )
   (!pair  "max_used_stack_slot_alignment"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 329)
    nil )
   (!pair  "stack_alignment_estimated"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 338)
    nil )
   (!pair  "accesses_prior_frames"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 344)
    nil )
   (!pair  "calls_eh_return"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 347)
    nil )
   (!pair  "saves_all_registers"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 351)
    nil )
   (!pair  "has_nonlocal_goto"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 355)
    nil )
   (!pair  "has_asm_statement"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 358)
    nil )
   (!pair  "all_throwers_are_sibcalls"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 365)
    nil )
   (!pair  "limit_stack"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 369)
    nil )
   (!pair  "profile"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 372)
    nil )
   (!pair  "uses_const_pool"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 375)
    nil )
   (!pair  "uses_pic_offset_table"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 378)
    nil )
   (!pair  "uses_eh_lsda"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 381)
    nil )
   (!pair  "tail_call_emit"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 384)
    nil )
   (!pair  "arg_pointer_save_area_init"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 387)
    nil )
   (!pair  "frame_pointer_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 392)
    nil )
   (!pair  "maybe_hot_insn_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 395)
    nil )
   (!pair  "stack_realign_needed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 402)
    nil )
   (!pair  "stack_realign_tried"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 407)
    nil )
   (!pair  "need_drap"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 411)
    nil )
   (!pair  "stack_realign_processed"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 416)
    nil )
   (!pair  "stack_realign_finalized"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 420)
    nil )
   (!pair  "dbr_scheduled_p"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 423)
    nil )
   (!pair  "nothrow"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 428)
    nil )
   (!pair  "shrink_wrapped"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 431)
    nil )
   (!pair  "sp_is_unchanging"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 436)
    nil )
   (!pair  "is_leaf"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 442)
    nil )
   (!pair  "uses_only_leaf_regs"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 447)
    nil )
   (!pair  "has_bb_partition"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 452)
    nil )
   (!pair  "bb_reorder_complete"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 456)
    nil )
   (!pair  "asm_clobbers"
    (!type already_seen 9)
    (!srcfileloc  "function.h" 462)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 1400)
 
 (!type already_seen 1396)
 
 (!type already_seen 1398)
 
 (!type already_seen 1388)
 
 (!type already_seen 1387)
 
 (!type already_seen 1382)
 
 (!type already_seen 1384)
 
 (!type already_seen 926)
 
 (!type already_seen 407)
 
 (!type already_seen 1220)
 
 (!type already_seen 381)
 
 (!type already_seen 1389)
 
 (!type already_seen 1392)
 
 (!type already_seen 373)
 
 (!type already_seen 1394)
 
 (!type already_seen 1378)
 
 (!type already_seen 1379)
 
 (!type already_seen 1381)
 
 (!type struct 1401 nil  gc_unused "real_format"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1402 nil  gc_unused "_obstack_chunk"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1403 nil  gc_unused "ht"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 538)
 
 (!type already_seen 543)
 
 (!type user_struct 1404 
  (!type pointer 1405 nil  gc_used
   (!type already_seen 1404)
  )
  gc_pointed_to "vec<alias_pair,va_gc>"
  (!srcfileloc  "tree-core.h" 1798)
  (!fields 2 
   (!pair  "va_gc"
    (!type already_seen 3)
    (!srcfileloc  "tree-core.h" 1798)
    nil )
   (!pair  "alias_pair"
    (!type struct 1406 nil  gc_used "alias_pair"
     (!srcfileloc  "tree-core.h" 1798)
     (!fields 2 
      (!pair  "decl"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 671)
       nil )
      (!pair  "target"
       (!type already_seen 5)
       (!srcfileloc  "tree-core.h" 672)
       nil )
     )
     nil 511 nil nil )
    (!srcfileloc  "tree-core.h" 1798)
    nil )
  )
 )
 
 (!type struct 1407 nil  gc_used "builtin_info_type"
  (!srcfileloc  "tree-core.h" 1833)
  (!fields 2 
   (!pair  "decl"
    (!type array 1408 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "tree-core.h" 1776)
    nil )
   (!pair  "implicit_p"
    (!type array 1409 nil  gc_used "(int)END_BUILTINS" 
     (!type already_seen 9)
    )
    (!srcfileloc  "tree-core.h" 1777)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1410 nil  gc_unused "const_call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1411 nil  gc_unused "call_expr_arg_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1412 
  (!type pointer 1413 nil  gc_used
   (!type already_seen 1412)
  )
  gc_pointed_to "tree_vec_map"
  (!srcfileloc  "tree-core.h" 1753)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 857)
    (!srcfileloc  "tree-core.h" 1751)
    nil )
   (!pair  "to"
    (!type already_seen 45)
    (!srcfileloc  "tree-core.h" 1752)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1414 
  (!type pointer 1415 nil  gc_used
   (!type already_seen 1414)
  )
  gc_pointed_to "tree_priority_map"
  (!srcfileloc  "tree-core.h" 1747)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 857)
    (!srcfileloc  "tree-core.h" 1744)
    nil )
   (!pair  "init"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1745)
    nil )
   (!pair  "fini"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1746)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1416 
  (!type pointer 1417 nil  gc_used
   (!type already_seen 1416)
  )
  gc_pointed_to "tree_int_map"
  (!srcfileloc  "tree-core.h" 1740)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 857)
    (!srcfileloc  "tree-core.h" 1738)
    nil )
   (!pair  "to"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1739)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1418 
  (!type pointer 1419 nil  gc_used
   (!type already_seen 1418)
  )
  gc_pointed_to "tree_decl_map"
  (!srcfileloc  "tree-core.h" 1734)
  (!fields 2 
   (!pair  "base"
    (!type already_seen 857)
    (!srcfileloc  "tree-core.h" 1732)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1733)
    nil )
  )
  nil 511 nil nil )
 
 (!type struct 1420 
  (!type pointer 1421 nil  gc_used
   (!type already_seen 1420)
  )
  gc_pointed_to "tree_map"
  (!srcfileloc  "tree-core.h" 1728)
  (!fields 3 
   (!pair  "base"
    (!type already_seen 857)
    (!srcfileloc  "tree-core.h" 1725)
    nil )
   (!pair  "hash"
    (!type already_seen 9)
    (!srcfileloc  "tree-core.h" 1726)
    nil )
   (!pair  "to"
    (!type already_seen 5)
    (!srcfileloc  "tree-core.h" 1727)
    nil )
  )
  nil 511 nil nil )
 
 (!type already_seen 857)
 
 (!type struct 1422 nil  gc_unused "function_args_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1423 
  (!type pointer 1424 nil  gc_unused
   (!type already_seen 1423)
  )
  gc_unused "record_layout_info_s"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1425 nil  gc_unused "attribute_spec"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 555)
 
 (!type already_seen 525)
 
 (!type already_seen 521)
 
 (!type already_seen 514)
 
 (!type already_seen 516)
 
 (!type already_seen 347)
 
 (!type already_seen 442)
 
 (!type already_seen 348)
 
 (!type already_seen 339)
 
 (!type already_seen 342)
 
 (!type already_seen 340)
 
 (!type already_seen 341)
 
 (!type already_seen 346)
 
 (!type already_seen 345)
 
 (!type already_seen 344)
 
 (!type already_seen 343)
 
 (!type already_seen 135)
 
 (!type already_seen 38)
 
 (!type already_seen 40)
 
 (!type already_seen 37)
 
 (!type already_seen 513)
 
 (!type already_seen 496)
 
 (!type already_seen 445)
 
 (!type already_seen 447)
 
 (!type already_seen 443)
 
 (!type already_seen 444)
 
 (!type already_seen 512)
 
 (!type already_seen 46)
 
 (!type already_seen 518)
 
 (!type already_seen 519)
 
 (!type already_seen 1133)
 
 (!type already_seen 503)
 
 (!type already_seen 504)
 
 (!type already_seen 511)
 
 (!type already_seen 509)
 
 (!type already_seen 500)
 
 (!type already_seen 501)
 
 (!type already_seen 517)
 
 (!type already_seen 465)
 
 (!type already_seen 466)
 
 (!type already_seen 498)
 
 (!type already_seen 497)
 
 (!type already_seen 32)
 
 (!type already_seen 24)
 
 (!type already_seen 31)
 
 (!type already_seen 26)
 
 (!type already_seen 21)
 
 (!type already_seen 17)
 
 (!type already_seen 16)
 
 (!type already_seen 15)
 
 (!type already_seen 14)
 
 (!type already_seen 8)
 
 (!type already_seen 12)
 
 (!type already_seen 13)
 
 (!type already_seen 1406)
 
 (!type already_seen 849)
 
 (!type already_seen 427)
 
 (!type already_seen 508)
 
 (!type already_seen 506)
 
 (!type struct 1426 nil  gc_unused "expand_operand"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1427 nil  gc_unused "extraction_insn"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 524)
 
 (!type struct 1428 nil  gc_unused "convert_optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1429 nil  gc_unused "optab_libcall_d"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1430 nil  gc_unused "rtl_hooks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 531)
 
 (!type struct 1431 nil  gc_unused "subreg_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1432 nil  gc_unused "replace_label_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 350)
 
 (!type struct 1433 nil  gc_unused "address_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1434 nil  gc_unused "full_rtx_costs"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 139)
 
 (!type already_seen 140)
 
 (!type already_seen 141)
 
 (!type already_seen 142)
 
 (!type already_seen 143)
 
 (!type already_seen 144)
 
 (!type already_seen 145)
 
 (!type already_seen 146)
 
 (!type already_seen 147)
 
 (!type already_seen 148)
 
 (!type already_seen 149)
 
 (!type already_seen 150)
 
 (!type already_seen 151)
 
 (!type already_seen 152)
 
 (!type already_seen 153)
 
 (!type already_seen 154)
 
 (!type already_seen 155)
 
 (!type already_seen 156)
 
 (!type already_seen 157)
 
 (!type already_seen 158)
 
 (!type already_seen 159)
 
 (!type already_seen 160)
 
 (!type already_seen 161)
 
 (!type already_seen 162)
 
 (!type already_seen 163)
 
 (!type already_seen 164)
 
 (!type already_seen 165)
 
 (!type already_seen 166)
 
 (!type already_seen 167)
 
 (!type already_seen 168)
 
 (!type already_seen 169)
 
 (!type already_seen 170)
 
 (!type already_seen 171)
 
 (!type already_seen 172)
 
 (!type already_seen 173)
 
 (!type already_seen 174)
 
 (!type already_seen 175)
 
 (!type already_seen 176)
 
 (!type already_seen 177)
 
 (!type already_seen 178)
 
 (!type already_seen 179)
 
 (!type already_seen 180)
 
 (!type already_seen 181)
 
 (!type already_seen 182)
 
 (!type already_seen 183)
 
 (!type already_seen 184)
 
 (!type already_seen 185)
 
 (!type already_seen 186)
 
 (!type already_seen 187)
 
 (!type already_seen 188)
 
 (!type already_seen 189)
 
 (!type already_seen 190)
 
 (!type already_seen 191)
 
 (!type already_seen 192)
 
 (!type already_seen 193)
 
 (!type already_seen 194)
 
 (!type already_seen 195)
 
 (!type already_seen 196)
 
 (!type already_seen 197)
 
 (!type already_seen 198)
 
 (!type already_seen 199)
 
 (!type already_seen 200)
 
 (!type already_seen 201)
 
 (!type already_seen 202)
 
 (!type already_seen 203)
 
 (!type already_seen 204)
 
 (!type already_seen 205)
 
 (!type already_seen 206)
 
 (!type already_seen 207)
 
 (!type already_seen 208)
 
 (!type already_seen 209)
 
 (!type already_seen 210)
 
 (!type already_seen 211)
 
 (!type already_seen 212)
 
 (!type already_seen 213)
 
 (!type already_seen 214)
 
 (!type already_seen 215)
 
 (!type already_seen 216)
 
 (!type already_seen 217)
 
 (!type already_seen 218)
 
 (!type already_seen 219)
 
 (!type already_seen 220)
 
 (!type already_seen 221)
 
 (!type already_seen 222)
 
 (!type already_seen 223)
 
 (!type already_seen 224)
 
 (!type already_seen 225)
 
 (!type already_seen 226)
 
 (!type already_seen 227)
 
 (!type already_seen 228)
 
 (!type already_seen 229)
 
 (!type already_seen 230)
 
 (!type already_seen 231)
 
 (!type already_seen 232)
 
 (!type already_seen 233)
 
 (!type already_seen 234)
 
 (!type already_seen 235)
 
 (!type already_seen 236)
 
 (!type already_seen 237)
 
 (!type already_seen 238)
 
 (!type already_seen 239)
 
 (!type already_seen 256)
 
 (!type already_seen 257)
 
 (!type already_seen 260)
 
 (!type already_seen 264)
 
 (!type already_seen 265)
 
 (!type already_seen 266)
 
 (!type already_seen 267)
 
 (!type already_seen 268)
 
 (!type already_seen 271)
 
 (!type already_seen 272)
 
 (!type already_seen 273)
 
 (!type already_seen 274)
 
 (!type already_seen 275)
 
 (!type already_seen 276)
 
 (!type already_seen 277)
 
 (!type already_seen 278)
 
 (!type already_seen 279)
 
 (!type already_seen 280)
 
 (!type already_seen 281)
 
 (!type already_seen 282)
 
 (!type already_seen 283)
 
 (!type already_seen 284)
 
 (!type already_seen 285)
 
 (!type already_seen 286)
 
 (!type already_seen 287)
 
 (!type already_seen 288)
 
 (!type already_seen 289)
 
 (!type already_seen 290)
 
 (!type already_seen 291)
 
 (!type already_seen 292)
 
 (!type already_seen 293)
 
 (!type already_seen 294)
 
 (!type already_seen 295)
 
 (!type already_seen 324)
 
 (!type already_seen 325)
 
 (!type already_seen 326)
 
 (!type already_seen 327)
 
 (!type already_seen 328)
 
 (!type already_seen 329)
 
 (!type already_seen 330)
 
 (!type already_seen 331)
 
 (!type already_seen 332)
 
 (!type already_seen 333)
 
 (!type already_seen 334)
 
 (!type already_seen 335)
 
 (!type already_seen 336)
 
 (!type already_seen 337)
 
 (!type already_seen 338)
 
 (!type already_seen 253)
 
 (!type already_seen 296)
 
 (!type already_seen 255)
 
 (!type union 1435 nil  gc_unused "u"
  (!srcfileloc  "rtl.h" 346)
  (!fields 5 
   (!pair  "fld"
    (!type array 1436 nil  gc_unused "1" 
     (!type already_seen 242)
    )
    (!srcfileloc  "rtl.h" 341)
    nil )
   (!pair  "hwint"
    (!type array 1437 nil  gc_unused "1" 
     (!type already_seen 9)
    )
    (!srcfileloc  "rtl.h" 342)
    nil )
   (!pair  "block_sym"
    (!type already_seen 240)
    (!srcfileloc  "rtl.h" 343)
    nil )
   (!pair  "rv"
    (!type already_seen 19)
    (!srcfileloc  "rtl.h" 344)
    nil )
   (!pair  "fv"
    (!type already_seen 23)
    (!srcfileloc  "rtl.h" 345)
    nil )
  )
  nil 511 nil )
 
 (!type already_seen 23)
 
 (!type already_seen 19)
 
 (!type already_seen 3)
 
 (!type already_seen 252)
 
 (!type already_seen 240)
 
 (!type already_seen 244)
 
 (!type already_seen 242)
 
 (!type union 1438 nil  gc_unused "rtunion"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type already_seen 270)
 
 (!type already_seen 259)
 
 (!type struct 1439 nil  gc_unused "addr_diff_vec_flags"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1440 nil  gc_unused "gcov_summary"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1441 nil  gc_unused "counts_entry"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1442 
  (!type pointer 1443 nil  gc_used
   (!type already_seen 1442)
  )
  gc_pointed_to "coverage_data"
  (!srcfileloc  "coverage.c" 69)
  (!fields 6 
   (!pair  "next"
    (!type already_seen 1443)
    (!srcfileloc  "coverage.c" 63)
    nil )
   (!pair  "ident"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 64)
    nil )
   (!pair  "lineno_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 65)
    nil )
   (!pair  "cfg_checksum"
    (!type already_seen 9)
    (!srcfileloc  "coverage.c" 66)
    nil )
   (!pair  "fn_decl"
    (!type already_seen 5)
    (!srcfileloc  "coverage.c" 67)
    nil )
   (!pair  "ctr_vars"
    (!type array 1444 nil  gc_used "GCOV_COUNTERS" 
     (!type already_seen 5)
    )
    (!srcfileloc  "coverage.c" 68)
    nil )
  )
  (!options 
   (!option chain_next string  "%h.next")
  )
  511 nil nil )
 
 (!type struct 1445 nil  gc_unused "bitmap_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 126)
 
 (!type already_seen 127)
 
 (!type already_seen 123)
 
 (!type already_seen 1335)
 
 (!type already_seen 1338)
 
 (!type already_seen 527)
 
 (!type struct 1446 nil  gc_unused "mips_asm_switch"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1447 nil  gc_unused "mips_args"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1448 nil  gc_unused "mips_cpu_info"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type union 1449 nil  gc_unused "_dont_use_tree_here_"nil 
  (!fields 0 )
  nil 0 nil )
 
 (!type struct 1450 nil  gc_unused "_dont_use_rtvec_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1451 nil  gc_unused "_dont_use_rtx_here_"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1452 nil  gc_unused "context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1453 nil  gc_unused "rtl_opt_pass"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 298)
 
 (!type already_seen 302)
 
 (!type struct 1454 nil  gc_unused "pretty_printer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1455 nil  gc_unused "diagnostic_context"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1456 nil  gc_unused "cl_option_handlers"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1457 nil  gc_unused "cl_decoded_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1458 nil  gc_unused "cl_option"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 522)
 
 (!type already_seen 554)
 
 (!type struct 1459 nil  gc_unused "gcc_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 246)
 
 (!type struct 1460 nil  gc_unused "gimple_stmt_iterator"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 311)
 
 (!type already_seen 262)
 
 (!type already_seen 138)
 
 (!type struct 1461 
  (!type pointer 1462 nil  gc_unused
   (!type already_seen 1461)
  )
  gc_unused "simple_bitmap_def"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 121)
 
 (!type already_seen 571)
 
 (!type struct 1463 nil  gc_unused "save_macro_data"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1464 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/../libcpp/include/cpplib.h:999"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1465 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/../libcpp/include/cpplib.h:988"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1466 nil  gc_unused "cpp_num"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 33)
 
 (!type already_seen 568)
 
 (!type already_seen 574)
 
 (!type already_seen 575)
 
 (!type already_seen 577)
 
 (!type struct 1467 nil  gc_unused "_cpp_file"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 579)
 
 (!type struct 1468 nil  gc_unused "cpp_dir"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1469 nil  gc_unused "cpp_callbacks"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type already_seen 570)
 
 (!type already_seen 576)
 
 (!type already_seen 573)
 
 (!type struct 1470 nil  gc_unused "cpp_options"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1471 nil  gc_unused "cpp_buffer"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1472 nil  gc_unused "cpp_reader"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1473 nil  gc_unused "linemap_stats"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1474 nil  gc_unused "anonymous:/usr/local/google/home/awdavies/proj/crosstool/mips-qca/.build/src/gcc-4.9.2/gcc/../libcpp/include/line-map.h:627"nil 
  (!fields 0 )
  nil 0 nil nil )
 
 (!type struct 1475 
  (!type pointer 1476 nil  gc_used
   (!type already_seen 1475)
  )
  gc_pointed_to "line_maps"
  (!srcfileloc  "../libcpp/include/line-map.h" 318)
  (!fields 10 
   (!pair  "info_ordinary"
    (!type struct 1477 nil  gc_used "maps_info"
     (!srcfileloc  "../libcpp/include/line-map.h" 259)
     (!fields 4 
      (!pair  "maps"
       (!type pointer 1478 nil  gc_unused
        (!type struct 1479 
         (!type already_seen 1478)
         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 1480 nil  gc_used "map_u"
            (!srcfileloc  "../libcpp/include/line-map.h" 212)
            (!fields 2 
             (!pair  "ordinary"
              (!type struct 1481 nil  gc_used "line_map_ordinary"
               (!srcfileloc  "../libcpp/include/line-map.h" 87)
               (!fields 5 
                (!pair  "to_file"
                 (!type already_seen 36)
                 (!srcfileloc  "../libcpp/include/line-map.h" 71)
                 nil )
                (!pair  "to_line"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 72)
                 nil )
                (!pair  "included_from"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 77)
                 nil )
                (!pair  "sysp"
                 (!type already_seen 28)
                 (!srcfileloc  "../libcpp/include/line-map.h" 83)
                 nil )
                (!pair  "column_bits"
                 (!type already_seen 9)
                 (!srcfileloc  "../libcpp/include/line-map.h" 86)
                 nil )
               )
               nil 511 nil nil )
              (!srcfileloc  "../libcpp/include/line-map.h" 210)
              (!options 
               (!option tag string  "0")
              )
             )
             (!pair  "macro"
              (!type struct 1482 nil  gc_used "line_map_macro"
               (!srcfileloc  "../libcpp/include/line-map.h" 175)
               (!fields 4 
                (!pair  "macro"
                 (!type already_seen 566)
                 (!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 1477)
    (!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 1483 nil  gc_used "location_adhoc_data_map"
     (!srcfileloc  "../libcpp/include/line-map.h" 284)
     (!fields 4 
      (!pair  "htab"
       (!type already_seen 50)
       (!srcfileloc  "../libcpp/include/line-map.h" 280)
       (!options 
        (!option skip string  "")
       )
      )
      (!pair  "curr_loc"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 281)
       nil )
      (!pair  "allocated"
       (!type already_seen 9)
       (!srcfileloc  "../libcpp/include/line-map.h" 282)
       nil )
      (!pair  "data"
       (!type pointer 1484 nil  gc_unused
        (!type struct 1485 
         (!type already_seen 1484)
         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 1483)
 
 (!type already_seen 49)
 
 (!type already_seen 1485)
 
 (!type already_seen 1477)
 
 (!type already_seen 1479)
 
 (!type already_seen 1480)
 
 (!type already_seen 1482)
 
 (!type already_seen 7)
 
 (!type already_seen 565)
 
 (!type already_seen 1481)
)
(!typedefs 541
 (!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 615)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  nil )
 (!pair  "prot_list_entry"
  (!type already_seen 617)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1258)
  nil )
 (!pair  "vec<msgref_entry,va_gc>"
  (!type already_seen 618)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  nil )
 (!pair  "msgref_entry"
  (!type already_seen 620)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1203)
  nil )
 (!pair  "vec<ident_data_tuple,va_gc>"
  (!type already_seen 621)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  nil )
 (!pair  "ident_data_tuple"
  (!type already_seen 623)
  (!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 631)
  (!srcfileloc  "objc/objc-act.h" 239)
  nil )
 (!pair  "hash"
  (!type already_seen 633)
  (!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 636)
  (!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 637)
  (!srcfileloc  "lto/lto.h" 34)
  nil )
 (!pair  "rewrite_rule"
  (!type already_seen 643)
  (!srcfileloc  "java/expr.c" 2068)
  nil )
 (!pair  "class_flag_node"
  (!type already_seen 644)
  (!srcfileloc  "java/class.c" 85)
  nil )
 (!pair  "builtin_creator_function"
  (!type already_seen 648)
  (!srcfileloc  "java/builtins.c" 82)
  nil )
 (!pair  "JCF"
  (!type already_seen 451)
  (!srcfileloc  "java/jcf.h" 123)
  nil )
 (!pair  "BootstrapMethods"
  (!type already_seen 458)
  (!srcfileloc  "java/jcf.h" 99)
  nil )
 (!pair  "bootstrap_method"
  (!type already_seen 460)
  (!srcfileloc  "java/jcf.h" 94)
  nil )
 (!pair  "CPool"
  (!type already_seen 454)
  (!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 462)
  (!srcfileloc  "java/java-tree.h" 882)
  nil )
 (!pair  "method_entry"
  (!type already_seen 463)
  (!srcfileloc  "java/java-tree.h" 869)
  nil )
 (!pair  "type_assertion"
  (!type already_seen 470)
  (!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 454)
  (!srcfileloc  "java/java-tree.h" 135)
  nil )
 (!pair  "go_char_p"
  (!type already_seen 29)
  (!srcfileloc  "go/go-lang.c" 163)
  nil )
 (!pair  "gfc_interface_mapping"
  (!type already_seen 650)
  (!srcfileloc  "fortran/trans.h" 963)
  nil )
 (!pair  "gfc_interface_sym_mapping"
  (!type already_seen 651)
  (!srcfileloc  "fortran/trans.h" 948)
  nil )
 (!pair  "gfc_powdecl_list"
  (!type already_seen 652)
  (!srcfileloc  "fortran/trans.h" 729)
  nil )
 (!pair  "gfc_wrapped_block"
  (!type already_seen 654)
  (!srcfileloc  "fortran/trans.h" 345)
  nil )
 (!pair  "gfc_saved_var"
  (!type already_seen 655)
  (!srcfileloc  "fortran/trans.h" 332)
  nil )
 (!pair  "gfc_loopinfo"
  (!type already_seen 656)
  (!srcfileloc  "fortran/trans.h" 322)
  nil )
 (!pair  "gfc_ss"
  (!type already_seen 657)
  (!srcfileloc  "fortran/trans.h" 273)
  nil )
 (!pair  "gfc_ss_info"
  (!type already_seen 658)
  (!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 659)
  (!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 660)
  (!srcfileloc  "fortran/trans.h" 101)
  nil )
 (!pair  "stmtblock_t"
  (!type already_seen 661)
  (!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 662)
  (!srcfileloc  "fortran/trans-stmt.c" 59)
  nil )
 (!pair  "iter_info"
  (!type already_seen 663)
  (!srcfileloc  "fortran/trans-stmt.c" 47)
  nil )
 (!pair  "gfc_st_parameter"
  (!type already_seen 664)
  (!srcfileloc  "fortran/trans-io.c" 80)
  nil )
 (!pair  "gfc_st_parameter_field"
  (!type already_seen 665)
  (!srcfileloc  "fortran/trans-io.c" 74)
  nil )
 (!pair  "gfc_intrinsic_map_t"
  (!type already_seen 666)
  (!srcfileloc  "fortran/trans-intrinsic.c" 87)
  nil )
 (!pair  "vec<pending_noexcept,va_gc>"
  (!type already_seen 671)
  (!srcfileloc  "cp/except.c" 1185)
  nil )
 (!pair  "pending_noexcept"
  (!type already_seen 673)
  (!srcfileloc  "cp/except.c" 1184)
  nil )
 (!pair  "secondary_vptr_vtt_init_data"
  (!type already_seen 674)
  (!srcfileloc  "cp/class.c" 8500)
  nil )
 (!pair  "find_final_overrider_data"
  (!type already_seen 675)
  (!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 677)
  (!srcfileloc  "cp/class.c" 101)
  nil )
 (!pair  "class_stack_node_t"
  (!type already_seen 679)
  (!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 683)
  (!srcfileloc  "cp/parser.c" 8652)
  nil )
 (!pair  "tree_int"
  (!type already_seen 685)
  (!srcfileloc  "cp/parser.c" 8651)
  nil )
 (!pair  "cp_parser_expression_stack"
  (!type array 1486 nil  gc_unused "NUM_PREC_VALUES" 
   (!type already_seen 686)
  )
  (!srcfileloc  "cp/parser.c" 1751)
  nil )
 (!pair  "cp_parser_expression_stack_entry"
  (!type already_seen 686)
  (!srcfileloc  "cp/parser.c" 1745)
  nil )
 (!pair  "cp_parser_binary_operations_map_node"
  (!type already_seen 687)
  (!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 688)
  (!srcfileloc  "cp/parser.h" 396)
  nil )
 (!pair  "cp_omp_declare_simd_data"
  (!type already_seen 704)
  (!srcfileloc  "cp/parser.h" 363)
  nil )
 (!pair  "vec<cp_unparsed_functions_entry,va_gc>"
  (!type already_seen 698)
  (!srcfileloc  "cp/parser.h" 351)
  nil )
 (!pair  "cp_parser_context"
  (!type already_seen 696)
  (!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 699)
  (!srcfileloc  "cp/parser.h" 166)
  nil )
 (!pair  "vec<cp_default_arg_entry,va_gc>"
  (!type already_seen 701)
  (!srcfileloc  "cp/parser.h" 157)
  nil )
 (!pair  "cp_default_arg_entry"
  (!type already_seen 702)
  (!srcfileloc  "cp/parser.h" 149)
  nil )
 (!pair  "cp_token_ident"
  (!type already_seen 705)
  (!srcfileloc  "cp/parser.h" 139)
  nil )
 (!pair  "cp_token_cache_ptr"
  (!type already_seen 64)
  (!srcfileloc  "cp/parser.h" 127)
  nil )
 (!pair  "cp_token_cache"
  (!type already_seen 65)
  (!srcfileloc  "cp/parser.h" 125)
  nil )
 (!pair  "cp_lexer"
  (!type already_seen 691)
  (!srcfileloc  "cp/parser.h" 110)
  nil )
 (!pair  "vec<cp_token_position>"
  (!type already_seen 694)
  (!srcfileloc  "cp/parser.h" 99)
  nil )
 (!pair  "vec<cp_token,va_gc>"
  (!type already_seen 693)
  (!srcfileloc  "cp/parser.h" 85)
  nil )
 (!pair  "cp_token_position"
  (!type already_seen 66)
  (!srcfileloc  "cp/parser.h" 75)
  nil )
 (!pair  "cp_token"
  (!type already_seen 67)
  (!srcfileloc  "cp/parser.h" 71)
  nil )
 (!pair  "cplus_array_info"
  (!type already_seen 707)
  (!srcfileloc  "cp/tree.c" 741)
  nil )
 (!pair  "constexpr_call"
  (!type already_seen 708)
  (!srcfileloc  "cp/semantics.c" 8093)
  nil )
 (!pair  "constexpr_fundef"
  (!type already_seen 711)
  (!srcfileloc  "cp/semantics.c" 7410)
  nil )
 (!pair  "vec<deferred_access,va_gc>"
  (!type already_seen 713)
  (!srcfileloc  "cp/semantics.c" 143)
  nil )
 (!pair  "deferred_access"
  (!type already_seen 715)
  (!srcfileloc  "cp/semantics.c" 140)
  nil )
 (!pair  "vec<deferred_access_check,va_gc>"
  (!type already_seen 72)
  (!srcfileloc  "cp/semantics.c" 135)
  nil )
 (!pair  "spec_entry"
  (!type already_seen 720)
  (!srcfileloc  "cp/pt.c" 89)
  nil )
 (!pair  "tree_fn_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/pt.c" 53)
  nil )
 (!pair  "priority_info"
  (!type already_seen 727)
  (!srcfileloc  "cp/decl2.c" 70)
  nil )
 (!pair  "reshape_iter"
  (!type already_seen 728)
  (!srcfileloc  "cp/decl.c" 5087)
  nil )
 (!pair  "predefined_identifier"
  (!type already_seen 729)
  (!srcfileloc  "cp/decl.c" 3646)
  nil )
 (!pair  "typename_info"
  (!type already_seen 730)
  (!srcfileloc  "cp/decl.c" 3226)
  nil )
 (!pair  "vec<incomplete_var,va_gc>"
  (!type already_seen 732)
  (!srcfileloc  "cp/decl.c" 267)
  nil )
 (!pair  "incomplete_var"
  (!type already_seen 734)
  (!srcfileloc  "cp/decl.c" 264)
  nil )
 (!pair  "candidate_warning"
  (!type already_seen 736)
  (!srcfileloc  "cp/call.c" 438)
  nil )
 (!pair  "z_candidate"
  (!type already_seen 737)
  (!srcfileloc  "cp/call.c" 436)
  nil )
 (!pair  "conversion"
  (!type already_seen 739)
  (!srcfileloc  "cp/call.c" 81)
  nil )
 (!pair  "conversion_rank"
  (!type already_seen 9)
  (!srcfileloc  "cp/call.c" 75)
  nil )
 (!pair  "conversion_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/call.c" 61)
  nil )
 (!pair  "deferred_access_check"
  (!type already_seen 73)
  (!srcfileloc  "cp/cp-tree.h" 5700)
  nil )
 (!pair  "walk_namespaces_fn"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 5279)
  nil )
 (!pair  "cp_parameter_declarator"
  (!type already_seen 741)
  (!srcfileloc  "cp/cp-tree.h" 4891)
  nil )
 (!pair  "cp_declarator"
  (!type already_seen 742)
  (!srcfileloc  "cp/cp-tree.h" 4889)
  nil )
 (!pair  "cp_declarator_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4885)
  nil )
 (!pair  "cp_decl_specifier_seq"
  (!type already_seen 743)
  (!srcfileloc  "cp/cp-tree.h" 4873)
  nil )
 (!pair  "cp_decl_spec"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4829)
  nil )
 (!pair  "cp_storage_class"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4798)
  nil )
 (!pair  "cp_virt_specifiers"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4768)
  nil )
 (!pair  "operator_name_info_t"
  (!type already_seen 744)
  (!srcfileloc  "cp/cp-tree.h" 4745)
  nil )
 (!pair  "unification_kind_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4386)
  nil )
 (!pair  "cp_cv_quals"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4363)
  nil )
 (!pair  "base_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4341)
  nil )
 (!pair  "deferring_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4328)
  nil )
 (!pair  "base_access"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4321)
  nil )
 (!pair  "tsubst_flags_t"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4307)
  nil )
 (!pair  "duration_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4278)
  nil )
 (!pair  "linkage_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4271)
  nil )
 (!pair  "special_function_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4248)
  nil )
 (!pair  "access_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4227)
  nil )
 (!pair  "tmpl_spec_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4216)
  nil )
 (!pair  "cp_lvalue_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 4198)
  nil )
 (!pair  "aggr_init_expr_arg_iterator"
  (!type already_seen 745)
  (!srcfileloc  "cp/cp-tree.h" 3085)
  nil )
 (!pair  "vec<tree_pair_s,va_gc>"
  (!type already_seen 482)
  (!srcfileloc  "cp/cp-tree.h" 1456)
  nil )
 (!pair  "tree_pair_p"
  (!type already_seen 484)
  (!srcfileloc  "cp/cp-tree.h" 1361)
  nil )
 (!pair  "tree_pair_s"
  (!type already_seen 483)
  (!srcfileloc  "cp/cp-tree.h" 1360)
  nil )
 (!pair  "vec<cxx_saved_binding,va_gc>"
  (!type already_seen 746)
  (!srcfileloc  "cp/cp-tree.h" 1022)
  nil )
 (!pair  "vec<qualified_typedef_usage_t,va_gc>"
  (!type already_seen 610)
  (!srcfileloc  "cp/cp-tree.h" 784)
  nil )
 (!pair  "qualified_typedef_usage_t"
  (!type already_seen 611)
  (!srcfileloc  "cp/cp-tree.h" 772)
  nil )
 (!pair  "cp_trait_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 648)
  nil )
 (!pair  "abstract_class_use"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 501)
  nil )
 (!pair  "impl_conv_void"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 488)
  nil )
 (!pair  "impl_conv_rhs"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 477)
  nil )
 (!pair  "expr_list_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 467)
  nil )
 (!pair  "composite_pointer_operation"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 460)
  nil )
 (!pair  "cpp0x_warn_str"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 448)
  nil )
 (!pair  "cp_id_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/cp-tree.h" 411)
  nil )
 (!pair  "ptrmem_cst_t"
  (!type already_seen 599)
  (!srcfileloc  "cp/cp-tree.h" 287)
  nil )
 (!pair  "template_parm_index"
  (!type already_seen 597)
  (!srcfileloc  "cp/cp-tree.h" 281)
  nil )
 (!pair  "vec<cp_label_binding,va_gc>"
  (!type already_seen 102)
  (!srcfileloc  "cp/name-lookup.h" 215)
  nil )
 (!pair  "vec<cp_class_binding,va_gc>"
  (!type already_seen 97)
  (!srcfileloc  "cp/name-lookup.h" 204)
  nil )
 (!pair  "cp_label_binding"
  (!type already_seen 103)
  (!srcfileloc  "cp/name-lookup.h" 155)
  nil )
 (!pair  "cp_class_binding"
  (!type already_seen 98)
  (!srcfileloc  "cp/name-lookup.h" 147)
  nil )
 (!pair  "tag_scope"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 141)
  nil )
 (!pair  "scope_kind"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 124)
  nil )
 (!pair  "cxx_saved_binding"
  (!type already_seen 748)
  (!srcfileloc  "cp/name-lookup.h" 86)
  nil )
 (!pair  "cp_binding_level"
  (!type already_seen 95)
  (!srcfileloc  "cp/name-lookup.h" 55)
  nil )
 (!pair  "cxx_binding"
  (!type already_seen 100)
  (!srcfileloc  "cp/name-lookup.h" 52)
  nil )
 (!pair  "bt_foreach_proc"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.h" 32)
  nil )
 (!pair  "binding_entry"
  (!type already_seen 488)
  (!srcfileloc  "cp/name-lookup.h" 29)
  nil )
 (!pair  "binding_table"
  (!type already_seen 485)
  (!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 753)
  (!srcfileloc  "cp/mangle.c" 106)
  nil )
 (!pair  "vec<tinfo_s,va_gc>"
  (!type already_seen 754)
  (!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 756)
  (!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 759)
  (!srcfileloc  "c/c-parser.c" 217)
  nil )
 (!pair  "vec<c_token,va_gc>"
  (!type already_seen 765)
  (!srcfileloc  "c/c-parser.c" 216)
  nil )
 (!pair  "c_token"
  (!type already_seen 762)
  (!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 767)
  (!srcfileloc  "c-family/c-pragma.c" 1172)
  nil )
 (!pair  "opt_stack"
  (!type already_seen 768)
  (!srcfileloc  "c-family/c-pragma.c" 902)
  nil )
 (!pair  "vec<pending_redefinition,va_gc>"
  (!type already_seen 770)
  (!srcfileloc  "c-family/c-pragma.c" 433)
  nil )
 (!pair  "pending_redefinition"
  (!type already_seen 772)
  (!srcfileloc  "c-family/c-pragma.c" 430)
  nil )
 (!pair  "vec<pending_weak,va_gc>"
  (!type already_seen 773)
  (!srcfileloc  "c-family/c-pragma.c" 247)
  nil )
 (!pair  "pending_weak"
  (!type already_seen 775)
  (!srcfileloc  "c-family/c-pragma.c" 244)
  nil )
 (!pair  "align_stack"
  (!type already_seen 776)
  (!srcfileloc  "c-family/c-pragma.c" 54)
  nil )
 (!pair  "internal_pragma_handler"
  (!type already_seen 778)
  (!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 781)
  (!srcfileloc  "c-family/c-common.h" 1352)
  nil )
 (!pair  "an_parts"
  (!type already_seen 782)
  (!srcfileloc  "c-family/c-common.h" 1341)
  nil )
 (!pair  "omp_clause_mask"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 1051)
  nil )
 (!pair  "stmt_tree"
  (!type already_seen 89)
  (!srcfileloc  "c-family/c-common.h" 502)
  nil )
 (!pair  "ref_operator"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 482)
  nil )
 (!pair  "c_language_kind"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 459)
  nil )
 (!pair  "vec<tree_gc_vec,va_gc>"
  (!type already_seen 787)
  (!srcfileloc  "c-family/c-common.c" 11548)
  nil )
 (!pair  "tree_gc_vec"
  (!type already_seen 45)
  (!srcfileloc  "c-family/c-common.c" 11547)
  nil )
 (!pair  "vec<const_char_p,va_gc>"
  (!type already_seen 790)
  (!srcfileloc  "c-family/c-common.c" 9013)
  nil )
 (!pair  "const_char_p"
  (!type already_seen 29)
  (!srcfileloc  "c-family/c-common.c" 9012)
  nil )
 (!pair  "disabled_builtin"
  (!type already_seen 792)
  (!srcfileloc  "c-family/c-common.c" 5763)
  nil )
 (!pair  "c_binding_ptr"
  (!type already_seen 582)
  (!srcfileloc  "c/c-decl.c" 507)
  nil )
 (!pair  "vec<c_goto_bindings_p,va_gc>"
  (!type already_seen 591)
  (!srcfileloc  "c/c-decl.c" 315)
  nil )
 (!pair  "c_goto_bindings_p"
  (!type already_seen 592)
  (!srcfileloc  "c/c-decl.c" 296)
  nil )
 (!pair  "c_arg_tag"
  (!type already_seen 804)
  (!srcfileloc  "c/c-tree.h" 355)
  nil )
 (!pair  "c_expr_t"
  (!type already_seen 807)
  (!srcfileloc  "c/c-tree.h" 133)
  nil )
 (!pair  "builtin_type"
  (!type already_seen 9)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5855)
  nil )
 (!pair  "vec<loop_info,va_gc>"
  (!type already_seen 814)
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  nil )
 (!pair  "loop_info"
  (!type already_seen 816)
  (!srcfileloc  "ada/gcc-interface/trans.c" 220)
  nil )
 (!pair  "vec<range_check_info,va_gc>"
  (!type already_seen 819)
  (!srcfileloc  "ada/gcc-interface/trans.c" 217)
  nil )
 (!pair  "range_check_info"
  (!type already_seen 820)
  (!srcfileloc  "ada/gcc-interface/trans.c" 210)
  nil )
 (!pair  "vec<parm_attr,va_gc>"
  (!type already_seen 117)
  (!srcfileloc  "ada/gcc-interface/trans.c" 135)
  nil )
 (!pair  "parm_attr"
  (!type already_seen 118)
  (!srcfileloc  "ada/gcc-interface/trans.c" 131)
  nil )
 (!pair  "vinfo_t"
  (!type already_seen 826)
  (!srcfileloc  "ada/gcc-interface/decl.c" 6911)
  nil )
 (!pair  "intrin_binding_t"
  (!type already_seen 827)
  (!srcfileloc  "ada/gcc-interface/decl.c" 182)
  nil )
 (!pair  "variant_desc"
  (!type already_seen 828)
  (!srcfileloc  "ada/gcc-interface/decl.c" 127)
  nil )
 (!pair  "subst_pair"
  (!type already_seen 829)
  (!srcfileloc  "ada/gcc-interface/decl.c" 112)
  nil )
 (!pair  "polymorphic_call_target_hash_type"
  (!type already_seen 840)
  (!srcfileloc  "ipa-devirt.c" 864)
  nil )
 (!pair  "polymorphic_call_target_hasher"
  (!type already_seen 841)
  (!srcfileloc  "ipa-devirt.c" 863)
  nil )
 (!pair  "hash_table<polymorphic_call_target_hasher>"
  (!type already_seen 840)
  (!srcfileloc  "ipa-devirt.c" 863)
  nil )
 (!pair  "vec<odr_type,va_gc>"
  (!type already_seen 843)
  (!srcfileloc  "ipa-devirt.c" 276)
  nil )
 (!pair  "odr_hash_type"
  (!type already_seen 850)
  (!srcfileloc  "ipa-devirt.c" 269)
  nil )
 (!pair  "odr_hasher"
  (!type already_seen 851)
  (!srcfileloc  "ipa-devirt.c" 269)
  nil )
 (!pair  "hash_table<odr_hasher>"
  (!type already_seen 850)
  (!srcfileloc  "ipa-devirt.c" 269)
  nil )
 (!pair  "pointer_set_t"
  (!type already_seen 849)
  (!srcfileloc  "ipa-devirt.c" 159)
  nil )
 (!pair  "vec<odr_type>"
  (!type already_seen 847)
  (!srcfileloc  "ipa-devirt.c" 152)
  nil )
 (!pair  "vtbl_map_iterator_type"
  (!type already_seen 866)
  (!srcfileloc  "vtable-verify.c" 311)
  nil )
 (!pair  "vtbl_map_table_type::iterator"
  (!type already_seen 866)
  (!srcfileloc  "vtable-verify.c" 311)
  nil )
 (!pair  "vtbl_map_table_type"
  (!type already_seen 867)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "vtbl_map_hasher"
  (!type already_seen 868)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "hash_table<vtbl_map_hasher>"
  (!type already_seen 867)
  (!srcfileloc  "vtable-verify.c" 310)
  nil )
 (!pair  "inline_edge_summary_t"
  (!type already_seen 1315)
  (!srcfileloc  "ipa-inline.h" 196)
  nil )
 (!pair  "vec<inline_summary_t,va_gc>"
  (!type already_seen 872)
  (!srcfileloc  "ipa-inline.h" 164)
  nil )
 (!pair  "inline_summary_t"
  (!type already_seen 874)
  (!srcfileloc  "ipa-inline.h" 163)
  nil )
 (!pair  "size_time_entry"
  (!type already_seen 880)
  (!srcfileloc  "ipa-inline.h" 141)
  nil )
 (!pair  "vec<size_time_entry,va_gc>"
  (!type already_seen 879)
  (!srcfileloc  "ipa-inline.h" 141)
  nil )
 (!pair  "clause_t"
  (!type already_seen 9)
  (!srcfileloc  "ipa-inline.h" 88)
  nil )
 (!pair  "conditions"
  (!type already_seen 875)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "condition"
  (!type already_seen 877)
  (!srcfileloc  "ipa-inline.h" 76)
  nil )
 (!pair  "vec<condition,va_gc>"
  (!type already_seen 876)
  (!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 944)
  (!srcfileloc  "lto-streamer.h" 572)
  nil )
 (!pair  "pointer_map_t"
  (!type already_seen 386)
  (!srcfileloc  "lto-streamer.h" 569)
  nil )
 (!pair  "res_pair"
  (!type already_seen 892)
  (!srcfileloc  "lto-streamer.h" 563)
  nil )
 (!pair  "vec<res_pair>"
  (!type already_seen 891)
  (!srcfileloc  "lto-streamer.h" 563)
  nil )
 (!pair  "lto_out_decl_state_ptr"
  (!type already_seen 998)
  (!srcfileloc  "lto-streamer.h" 516)
  nil )
 (!pair  "lto_in_decl_state_ptr"
  (!type already_seen 905)
  (!srcfileloc  "lto-streamer.h" 497)
  nil )
 (!pair  "lto_symtab_encoder_t"
  (!type already_seen 897)
  (!srcfileloc  "lto-streamer.h" 454)
  nil )
 (!pair  "lto_free_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 313)
  nil )
 (!pair  "lto_get_section_data_f"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 304)
  nil )
 (!pair  "ld_plugin_symbol_resolution_t"
  (!type already_seen 9)
  (!srcfileloc  "lto-streamer.h" 272)
  nil )
 (!pair  "lto_decl_flags_t"
  (!type already_seen 28)
  (!srcfileloc  "lto-streamer.h" 146)
  nil )
 (!pair  "cgraph_node_queue"
  (!type already_seen 910)
  (!srcfileloc  "trans-mem.c" 4064)
  nil )
 (!pair  "vec<cgraph_node_ptr>"
  (!type already_seen 910)
  (!srcfileloc  "trans-mem.c" 4064)
  nil )
 (!pair  "tm_memop_t"
  (!type already_seen 954)
  (!srcfileloc  "trans-mem.c" 3299)
  nil )
 (!pair  "tm_region_p"
  (!type already_seen 960)
  (!srcfileloc  "trans-mem.c" 1847)
  nil )
 (!pair  "tm_new_mem_map_t"
  (!type already_seen 963)
  (!srcfileloc  "trans-mem.c" 1013)
  nil )
 (!pair  "tm_log_entry_t"
  (!type already_seen 966)
  (!srcfileloc  "trans-mem.c" 937)
  nil )
 (!pair  "ipa_parm_adjustment_vec"
  (!type already_seen 969)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "ipa_parm_adjustment"
  (!type already_seen 970)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "vec<ipa_parm_adjustment>"
  (!type already_seen 969)
  (!srcfileloc  "ipa-prop.h" 686)
  nil )
 (!pair  "ipa_edge_args"
  (!type already_seen 973)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "vec<ipa_edge_args,va_gc>"
  (!type already_seen 971)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "vec<ipa_agg_replacement_value_p,va_gc>"
  (!type already_seen 989)
  (!srcfileloc  "ipa-prop.h" 509)
  nil )
 (!pair  "ipa_jump_func"
  (!type already_seen 976)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "vec<ipa_jump_func,va_gc>"
  (!type already_seen 975)
  (!srcfileloc  "ipa-prop.h" 480)
  nil )
 (!pair  "ipa_agg_replacement_value_p"
  (!type already_seen 991)
  (!srcfileloc  "ipa-prop.h" 470)
  nil )
 (!pair  "ipa_agg_jump_function_p"
  (!type already_seen 978)
  (!srcfileloc  "ipa-prop.h" 178)
  nil )
 (!pair  "ipa_agg_jf_item"
  (!type already_seen 981)
  (!srcfileloc  "ipa-prop.h" 173)
  nil )
 (!pair  "vec<ipa_agg_jf_item,va_gc>"
  (!type already_seen 980)
  (!srcfileloc  "ipa-prop.h" 173)
  nil )
 (!pair  "uid_range_p"
  (!type already_seen 1001)
  (!srcfileloc  "passes.c" 951)
  nil )
 (!pair  "char_ptr"
  (!type already_seen 29)
  (!srcfileloc  "passes.c" 814)
  nil )
 (!pair  "mips_offset_table"
  (!type already_seen 1015)
  (!srcfileloc  "config/mips/mips.c" 16025)
  nil )
 (!pair  "mips_lo_sum_offset_hasher"
  (!type already_seen 1016)
  (!srcfileloc  "config/mips/mips.c" 16025)
  nil )
 (!pair  "hash_table<mips_lo_sum_offset_hasher>"
  (!type already_seen 1015)
  (!srcfileloc  "config/mips/mips.c" 16025)
  nil )
 (!pair  "mips_save_restore_fn"
  (!type already_seen 9)
  (!srcfileloc  "config/mips/mips.c" 10447)
  nil )
 (!pair  "mips_multi_member"
  (!type already_seen 1027)
  (!srcfileloc  "config/mips/mips.c" 4205)
  nil )
 (!pair  "omp_context"
  (!type already_seen 1049)
  (!srcfileloc  "omp-low.c" 178)
  nil )
 (!pair  "lambda_trans_matrix"
  (!type already_seen 1056)
  (!srcfileloc  "tree-parloops.c" 293)
  nil )
 (!pair  "name_to_copy_table_type"
  (!type already_seen 1057)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "name_to_copy_hasher"
  (!type already_seen 1058)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "hash_table<name_to_copy_hasher>"
  (!type already_seen 1057)
  (!srcfileloc  "tree-parloops.c" 282)
  nil )
 (!pair  "reduction_info_table_type"
  (!type already_seen 1060)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "reduction_hasher"
  (!type already_seen 1061)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "hash_table<reduction_hasher>"
  (!type already_seen 1060)
  (!srcfileloc  "tree-parloops.c" 230)
  nil )
 (!pair  "use_optype_p"
  (!type already_seen 391)
  (!srcfileloc  "tree-ssa-operands.h" 42)
  nil )
 (!pair  "use_operand_p"
  (!type already_seen 510)
  (!srcfileloc  "tree-ssa-operands.h" 30)
  nil )
 (!pair  "ssa_use_operand_t"
  (!type already_seen 509)
  (!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 1071)
  (!srcfileloc  "tree-dfa.c" 704)
  nil )
 (!pair  "vec<mem_addr_template,va_gc>"
  (!type already_seen 1085)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "mem_addr_template"
  (!type already_seen 1087)
  (!srcfileloc  "tree-ssa-address.c" 91)
  nil )
 (!pair  "treemple"
  (!type already_seen 1099)
  (!srcfileloc  "tree-eh.c" 59)
  nil )
 (!pair  "vec<gimple,va_gc>"
  (!type already_seen 383)
  (!srcfileloc  "gimple-ssa.h" 43)
  nil )
 (!pair  "elt_t"
  (!type already_seen 1101)
  (!srcfileloc  "gimple.h" 1279)
  nil )
 (!pair  "gimple_vec"
  (!type already_seen 1146)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "vec<gimple>"
  (!type already_seen 1146)
  (!srcfileloc  "gimple.h" 29)
  nil )
 (!pair  "gimple_seq_node"
  (!type already_seen 310)
  (!srcfileloc  "gimple.h" 25)
  nil )
 (!pair  "tm_alias_pair"
  (!type already_seen 1147)
  (!srcfileloc  "varasm.c" 5756)
  nil )
 (!pair  "oc_local_state"
  (!type already_seen 1148)
  (!srcfileloc  "varasm.c" 4839)
  nil )
 (!pair  "oc_outer_state"
  (!type already_seen 1149)
  (!srcfileloc  "varasm.c" 4577)
  nil )
 (!pair  "block_info"
  (!type already_seen 1165)
  (!srcfileloc  "reg-stack.c" 215)
  nil )
 (!pair  "stack_ptr"
  (!type already_seen 1167)
  (!srcfileloc  "reg-stack.c" 202)
  nil )
 (!pair  "augmenting_path_type"
  (!type already_seen 1169)
  (!srcfileloc  "mcf.c" 140)
  nil )
 (!pair  "queue_type"
  (!type already_seen 1170)
  (!srcfileloc  "mcf.c" 129)
  nil )
 (!pair  "fixup_graph_type"
  (!type already_seen 1171)
  (!srcfileloc  "mcf.c" 121)
  nil )
 (!pair  "fixup_vertex_p"
  (!type already_seen 1173)
  (!srcfileloc  "mcf.c" 104)
  nil )
 (!pair  "fixup_vertex_type"
  (!type already_seen 1172)
  (!srcfileloc  "mcf.c" 102)
  nil )
 (!pair  "fixup_edge_p"
  (!type already_seen 1175)
  (!srcfileloc  "mcf.c" 95)
  nil )
 (!pair  "fixup_edge_type"
  (!type already_seen 1174)
  (!srcfileloc  "mcf.c" 93)
  nil )
 (!pair  "edge_type"
  (!type already_seen 9)
  (!srcfileloc  "mcf.c" 74)
  nil )
 (!pair  "vec_modify_pair_heap"
  (!type already_seen 1187)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec<modify_pair>"
  (!type already_seen 1187)
  (!srcfileloc  "gcse.c" 635)
  nil )
 (!pair  "vec_rtx_heap"
  (!type already_seen 1189)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "vec<rtx>"
  (!type already_seen 1189)
  (!srcfileloc  "gcse.c" 634)
  nil )
 (!pair  "modify_pair"
  (!type already_seen 1188)
  (!srcfileloc  "gcse.c" 405)
  nil )
 (!pair  "occr_t"
  (!type already_seen 1195)
  (!srcfileloc  "gcse.c" 309)
  nil )
 (!pair  "ehspec_hash_type"
  (!type already_seen 1199)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ehspec_hasher"
  (!type already_seen 1200)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "hash_table<ehspec_hasher>"
  (!type already_seen 1199)
  (!srcfileloc  "except.c" 786)
  nil )
 (!pair  "ttypes_hash_type"
  (!type already_seen 1201)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "ttypes_filter_hasher"
  (!type already_seen 1202)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "hash_table<ttypes_filter_hasher>"
  (!type already_seen 1201)
  (!srcfileloc  "except.c" 749)
  nil )
 (!pair  "action_hash_type"
  (!type already_seen 1205)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "action_record_hasher"
  (!type already_seen 1206)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "hash_table<action_record_hasher>"
  (!type already_seen 1205)
  (!srcfileloc  "except.c" 211)
  nil )
 (!pair  "initial_value_struct"
  (!type already_seen 1396)
  (!srcfileloc  "function.c" 1219)
  nil )
 (!pair  "initial_value_pair"
  (!type already_seen 1215)
  (!srcfileloc  "function.c" 1211)
  nil )
 (!pair  "function_p"
  (!type already_seen 349)
  (!srcfileloc  "function.c" 131)
  nil )
 (!pair  "sepops"
  (!type already_seen 1225)
  (!srcfileloc  "expr.h" 142)
  nil )
 (!pair  "duplicate_eh_regions_map"
  (!type already_seen 9)
  (!srcfileloc  "except.h" 251)
  nil )
 (!pair  "vec<eh_landing_pad,va_gc>"
  (!type already_seen 366)
  (!srcfileloc  "except.h" 203)
  nil )
 (!pair  "vec<eh_region,va_gc>"
  (!type already_seen 364)
  (!srcfileloc  "except.h" 200)
  nil )
 (!pair  "eh_region"
  (!type already_seen 353)
  (!srcfileloc  "except.h" 187)
  nil )
 (!pair  "eh_catch"
  (!type already_seen 357)
  (!srcfileloc  "except.h" 186)
  nil )
 (!pair  "eh_landing_pad"
  (!type already_seen 361)
  (!srcfileloc  "except.h" 185)
  nil )
 (!pair  "elem_op_func"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 114)
  nil )
 (!pair  "loc_list_hash_type"
  (!type already_seen 1230)
  (!srcfileloc  "dwarf2out.c" 23887)
  nil )
 (!pair  "loc_list_hasher"
  (!type already_seen 1231)
  (!srcfileloc  "dwarf2out.c" 23887)
  nil )
 (!pair  "hash_table<loc_list_hasher>"
  (!type already_seen 1230)
  (!srcfileloc  "dwarf2out.c" 23887)
  nil )
 (!pair  "macinfo_hash_type"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 21703)
  nil )
 (!pair  "macinfo_entry_hasher"
  (!type already_seen 1234)
  (!srcfileloc  "dwarf2out.c" 21703)
  nil )
 (!pair  "hash_table<macinfo_entry_hasher>"
  (!type already_seen 1233)
  (!srcfileloc  "dwarf2out.c" 21703)
  nil )
 (!pair  "dchar_p"
  (!type already_seen 29)
  (!srcfileloc  "dwarf2out.c" 19148)
  nil )
 (!pair  "external_ref_hash_type"
  (!type already_seen 1238)
  (!srcfileloc  "dwarf2out.c" 7518)
  nil )
 (!pair  "external_ref_hasher"
  (!type already_seen 1239)
  (!srcfileloc  "dwarf2out.c" 7518)
  nil )
 (!pair  "hash_table<external_ref_hasher>"
  (!type already_seen 1238)
  (!srcfileloc  "dwarf2out.c" 7518)
  nil )
 (!pair  "decl_hash_type"
  (!type already_seen 1241)
  (!srcfileloc  "dwarf2out.c" 6983)
  nil )
 (!pair  "decl_table_entry_hasher"
  (!type already_seen 1242)
  (!srcfileloc  "dwarf2out.c" 6983)
  nil )
 (!pair  "hash_table<decl_table_entry_hasher>"
  (!type already_seen 1241)
  (!srcfileloc  "dwarf2out.c" 6983)
  nil )
 (!pair  "cu_hash_type"
  (!type already_seen 1244)
  (!srcfileloc  "dwarf2out.c" 6658)
  nil )
 (!pair  "cu_hash_table_entry_hasher"
  (!type already_seen 1245)
  (!srcfileloc  "dwarf2out.c" 6658)
  nil )
 (!pair  "hash_table<cu_hash_table_entry_hasher>"
  (!type already_seen 1244)
  (!srcfileloc  "dwarf2out.c" 6658)
  nil )
 (!pair  "vec<die_arg_entry,va_gc>"
  (!type already_seen 1249)
  (!srcfileloc  "dwarf2out.c" 2920)
  nil )
 (!pair  "vec<macinfo_entry,va_gc>"
  (!type already_seen 1252)
  (!srcfileloc  "dwarf2out.c" 2868)
  nil )
 (!pair  "vec<pubname_entry,va_gc>"
  (!type already_seen 1255)
  (!srcfileloc  "dwarf2out.c" 2860)
  nil )
 (!pair  "vec<dw_line_info_table_p,va_gc>"
  (!type already_seen 1259)
  (!srcfileloc  "dwarf2out.c" 2852)
  nil )
 (!pair  "cached_dw_loc_list"
  (!type already_seen 1267)
  (!srcfileloc  "dwarf2out.c" 2818)
  nil )
 (!pair  "var_loc_list"
  (!type already_seen 1271)
  (!srcfileloc  "dwarf2out.c" 2781)
  nil )
 (!pair  "die_arg_entry"
  (!type already_seen 1251)
  (!srcfileloc  "dwarf2out.c" 2743)
  nil )
 (!pair  "skeleton_chain_node"
  (!type already_seen 1275)
  (!srcfileloc  "dwarf2out.c" 2631)
  nil )
 (!pair  "limbo_die_node"
  (!type already_seen 1276)
  (!srcfileloc  "dwarf2out.c" 2623)
  nil )
 (!pair  "comdat_type_node"
  (!type already_seen 430)
  (!srcfileloc  "dwarf2out.c" 2615)
  nil )
 (!pair  "macinfo_entry"
  (!type already_seen 1254)
  (!srcfileloc  "dwarf2out.c" 2598)
  nil )
 (!pair  "pubname_entry"
  (!type already_seen 1257)
  (!srcfileloc  "dwarf2out.c" 2582)
  nil )
 (!pair  "die_node"
  (!type already_seen 427)
  (!srcfileloc  "dwarf2out.c" 2565)
  nil )
 (!pair  "vec<dw_attr_node,va_gc>"
  (!type already_seen 433)
  (!srcfileloc  "dwarf2out.c" 2550)
  nil )
 (!pair  "dw_attr_node"
  (!type already_seen 434)
  (!srcfileloc  "dwarf2out.c" 2536)
  nil )
 (!pair  "dw_line_info_table_p"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 2525)
  nil )
 (!pair  "dw_line_info_table"
  (!type already_seen 1262)
  (!srcfileloc  "dwarf2out.c" 2523)
  nil )
 (!pair  "vec<dw_line_info_entry,va_gc>"
  (!type already_seen 1264)
  (!srcfileloc  "dwarf2out.c" 2522)
  nil )
 (!pair  "dw_line_info_entry"
  (!type already_seen 1265)
  (!srcfileloc  "dwarf2out.c" 2506)
  nil )
 (!pair  "comdat_type_node_ref"
  (!type already_seen 429)
  (!srcfileloc  "dwarf2out.c" 2470)
  nil )
 (!pair  "dw_ranges_by_label_ref"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 2469)
  nil )
 (!pair  "dw_ranges_ref"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 2468)
  nil )
 (!pair  "pubname_ref"
  (!type already_seen 1258)
  (!srcfileloc  "dwarf2out.c" 2467)
  nil )
 (!pair  "dw_line_info_ref"
  (!type already_seen 1266)
  (!srcfileloc  "dwarf2out.c" 2466)
  nil )
 (!pair  "dw_attr_ref"
  (!type already_seen 435)
  (!srcfileloc  "dwarf2out.c" 2465)
  nil )
 (!pair  "dw_offset"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2461)
  nil )
 (!pair  "dw_loc_list_node"
  (!type already_seen 422)
  (!srcfileloc  "dwarf2out.c" 1283)
  nil )
 (!pair  "addr_table_entry"
  (!type already_seen 418)
  (!srcfileloc  "dwarf2out.c" 1259)
  nil )
 (!pair  "vec<deferred_locations,va_gc>"
  (!type already_seen 1282)
  (!srcfileloc  "dwarf2out.c" 1237)
  nil )
 (!pair  "deferred_locations"
  (!type already_seen 1284)
  (!srcfileloc  "dwarf2out.c" 1234)
  nil )
 (!pair  "vec<dw_fde_ref,va_gc>"
  (!type already_seen 1285)
  (!srcfileloc  "dwarf2out.c" 203)
  nil )
 (!pair  "queued_reg_save"
  (!type already_seen 1288)
  (!srcfileloc  "dwarf2cfi.c" 222)
  nil )
 (!pair  "dw_trace_info_ref"
  (!type already_seen 1291)
  (!srcfileloc  "dwarf2cfi.c" 156)
  nil )
 (!pair  "dw_trace_info"
  (!type already_seen 1290)
  (!srcfileloc  "dwarf2cfi.c" 153)
  nil )
 (!pair  "reg_saved_in_data"
  (!type already_seen 1292)
  (!srcfileloc  "dwarf2cfi.c" 80)
  nil )
 (!pair  "dw_cfi_row"
  (!type already_seen 1294)
  (!srcfileloc  "dwarf2cfi.c" 74)
  nil )
 (!pair  "dw_cfa_location"
  (!type already_seen 1296)
  (!srcfileloc  "dwarf2cfi.c" 69)
  nil )
 (!pair  "dw_val_node"
  (!type already_seen 415)
  (!srcfileloc  "dwarf2out.h" 211)
  nil )
 (!pair  "dw_vec_const"
  (!type already_seen 423)
  (!srcfileloc  "dwarf2out.h" 179)
  nil )
 (!pair  "dw_fde_ref"
  (!type already_seen 406)
  (!srcfileloc  "dwarf2out.h" 65)
  nil )
 (!pair  "cfi_vec"
  (!type already_seen 408)
  (!srcfileloc  "dwarf2out.h" 63)
  nil )
 (!pair  "vec<dw_cfi_ref,va_gc>"
  (!type already_seen 409)
  (!srcfileloc  "dwarf2out.h" 63)
  nil )
 (!pair  "dw_cfi_oprnd"
  (!type already_seen 412)
  (!srcfileloc  "dwarf2out.h" 52)
  nil )
 (!pair  "dw_loc_list_ref"
  (!type already_seen 421)
  (!srcfileloc  "dwarf2out.h" 31)
  nil )
 (!pair  "dw_loc_descr_ref"
  (!type already_seen 413)
  (!srcfileloc  "dwarf2out.h" 30)
  nil )
 (!pair  "dw_cfi_ref"
  (!type already_seen 410)
  (!srcfileloc  "dwarf2out.h" 29)
  nil )
 (!pair  "dw_val_ref"
  (!type already_seen 416)
  (!srcfileloc  "dwarf2out.h" 28)
  nil )
 (!pair  "const_dw_die_ref"
  (!type already_seen 425)
  (!srcfileloc  "dwarf2out.h" 26)
  nil )
 (!pair  "dw_die_ref"
  (!type already_seen 425)
  (!srcfileloc  "dwarf2out.h" 25)
  nil )
 (!pair  "odr_type"
  (!type already_seen 845)
  (!srcfileloc  "ipa-utils.h" 72)
  nil )
 (!pair  "odr_type_d"
  (!type already_seen 846)
  (!srcfileloc  "ipa-utils.h" 72)
  nil )
 (!pair  "const_bitmap_descriptor"
  (!type already_seen 1328)
  (!srcfileloc  "bitmap.c" 45)
  nil )
 (!pair  "bitmap_descriptor"
  (!type already_seen 1328)
  (!srcfileloc  "bitmap.c" 44)
  nil )
 (!pair  "vec<alias_set_entry,va_gc>"
  (!type already_seen 1329)
  (!srcfileloc  "alias.c" 267)
  nil )
 (!pair  "alias_set_entry"
  (!type already_seen 1331)
  (!srcfileloc  "alias.c" 149)
  nil )
 (!pair  "cgraph_2node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 833)
  nil )
 (!pair  "cgraph_2edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 831)
  nil )
 (!pair  "varpool_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 829)
  nil )
 (!pair  "cgraph_node_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 828)
  nil )
 (!pair  "cgraph_edge_hook"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 827)
  nil )
 (!pair  "cgraph_edge_p"
  (!type already_seen 914)
  (!srcfileloc  "cgraph.h" 632)
  nil )
 (!pair  "varpool_node_set"
  (!type already_seen 1356)
  (!srcfileloc  "cgraph.h" 506)
  nil )
 (!pair  "cgraph_node_set"
  (!type already_seen 1358)
  (!srcfileloc  "cgraph.h" 503)
  nil )
 (!pair  "varpool_node_ptr"
  (!type already_seen 1362)
  (!srcfileloc  "cgraph.h" 492)
  nil )
 (!pair  "varpool_node"
  (!type already_seen 1361)
  (!srcfileloc  "cgraph.h" 492)
  nil )
 (!pair  "cgraph_node_ptr"
  (!type already_seen 911)
  (!srcfileloc  "cgraph.h" 439)
  nil )
 (!pair  "vec<ipa_opt_pass>"
  (!type already_seen 924)
  (!srcfileloc  "cgraph.h" 391)
  nil )
 (!pair  "vec<ipa_replace_map_p,va_gc>"
  (!type already_seen 932)
  (!srcfileloc  "cgraph.h" 256)
  nil )
 (!pair  "ipa_replace_map_p"
  (!type already_seen 933)
  (!srcfileloc  "cgraph.h" 252)
  nil )
 (!pair  "vec<ipa_ref_ptr>"
  (!type already_seen 943)
  (!srcfileloc  "ipa-ref.h" 58)
  nil )
 (!pair  "vec<ipa_ref_t,va_gc>"
  (!type already_seen 940)
  (!srcfileloc  "ipa-ref.h" 55)
  nil )
 (!pair  "ipa_ref_ptr"
  (!type already_seen 942)
  (!srcfileloc  "ipa-ref.h" 48)
  nil )
 (!pair  "ipa_ref_t"
  (!type already_seen 941)
  (!srcfileloc  "ipa-ref.h" 47)
  nil )
 (!pair  "symtab_node"
  (!type already_seen 936)
  (!srcfileloc  "ipa-ref.h" 38)
  nil )
 (!pair  "gcov_working_set_t"
  (!type already_seen 1363)
  (!srcfileloc  "basic-block.h" 941)
  nil )
 (!pair  "vec<basic_block,va_gc>"
  (!type already_seen 377)
  (!srcfileloc  "basic-block.h" 282)
  nil )
 (!pair  "__assert_gimple_bb_smaller_rtl_bb"
  (!type array 1487 nil  gc_unused "(int) sizeof (struct rtl_bb_info)\n               - (int) sizeof (struct gimple_bb_info)" 
   (!type already_seen 9)
  )
  (!srcfileloc  "basic-block.h" 215)
  nil )
 (!pair  "vec<edge,va_gc>"
  (!type already_seen 300)
  (!srcfileloc  "basic-block.h" 169)
  nil )
 (!pair  "edge_def"
  (!type already_seen 302)
  (!srcfileloc  "basic-block.h" 59)
  nil )
 (!pair  "cselib_expand_callback"
  (!type already_seen 9)
  (!srcfileloc  "cselib.h" 84)
  nil )
 (!pair  "vec<loop_p,va_gc>"
  (!type already_seen 307)
  (!srcfileloc  "cfgloop.h" 127)
  nil )
 (!pair  "loop_p"
  (!type already_seen 303)
  (!srcfileloc  "cfgloop.h" 90)
  nil )
 (!pair  "noswitch_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 476)
  nil )
 (!pair  "unnamed_section_callback"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 450)
  nil )
 (!pair  "__gcc_host_wide_int__"
  (!type already_seen 9)
  (!srcfileloc  "hwint.h" 122)
  nil )
 (!pair  "vec<temp_slot_p,va_gc>"
  (!type already_seen 1400)
  (!srcfileloc  "function.h" 309)
  nil )
 (!pair  "ipa_opt_pass"
  (!type already_seen 925)
  (!srcfileloc  "function.h" 171)
  nil )
 (!pair  "ipa_opt_pass_d"
  (!type already_seen 926)
  (!srcfileloc  "function.h" 171)
  nil )
 (!pair  "temp_slot_p"
  (!type already_seen 1219)
  (!srcfileloc  "function.h" 166)
  nil )
 (!pair  "vec<call_site_record,va_gc>"
  (!type already_seen 1392)
  (!srcfileloc  "function.h" 154)
  nil )
 (!pair  "vec<uchar,va_gc>"
  (!type already_seen 373)
  (!srcfileloc  "function.h" 152)
  nil )
 (!pair  "call_site_record"
  (!type already_seen 1393)
  (!srcfileloc  "function.h" 141)
  nil )
 (!pair  "ht_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/symtab.h" 89)
  nil )
 (!pair  "hashnode"
  (!type already_seen 34)
  (!srcfileloc  "../libcpp/include/symtab.h" 41)
  nil )
 (!pair  "cpp_hash_table"
  (!type already_seen 1403)
  (!srcfileloc  "../libcpp/include/symtab.h" 40)
  nil )
 (!pair  "ht_identifier_ptr"
  (!type already_seen 34)
  (!srcfileloc  "../libcpp/include/symtab.h" 30)
  nil )
 (!pair  "ht_identifier"
  (!type already_seen 33)
  (!srcfileloc  "../libcpp/include/symtab.h" 29)
  nil )
 (!pair  "builtin_info_type"
  (!type already_seen 1407)
  (!srcfileloc  "tree-core.h" 1833)
  nil )
 (!pair  "alias_pair"
  (!type already_seen 1406)
  (!srcfileloc  "tree-core.h" 1798)
  nil )
 (!pair  "vec<alias_pair,va_gc>"
  (!type already_seen 1404)
  (!srcfileloc  "tree-core.h" 1798)
  nil )
 (!pair  "record_layout_info"
  (!type already_seen 1424)
  (!srcfileloc  "tree-core.h" 1710)
  nil )
 (!pair  "vec<tree,va_gc>"
  (!type already_seen 46)
  (!srcfileloc  "tree-core.h" 1233)
  nil )
 (!pair  "constructor_elt"
  (!type already_seen 466)
  (!srcfileloc  "tree-core.h" 1109)
  nil )
 (!pair  "vec<constructor_elt,va_gc>"
  (!type already_seen 465)
  (!srcfileloc  "tree-core.h" 1109)
  nil )
 (!pair  "walk_tree_lh"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 683)
  nil )
 (!pair  "walk_tree_fn"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 679)
  nil )
 (!pair  "priority_type"
  (!type already_seen 9)
  (!srcfileloc  "tree-core.h" 676)
  nil )
 (!pair  "direct_optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 28)
  nil )
 (!pair  "convert_optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 27)
  nil )
 (!pair  "optab"
  (!type already_seen 9)
  (!srcfileloc  "optabs.h" 26)
  nil )
 (!pair  "hash_rtx_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2104)
  nil )
 (!pair  "rtx_equal_p_callback_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2099)
  nil )
 (!pair  "for_each_inc_dec_fn"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2095)
  nil )
 (!pair  "rtx_function"
  (!type already_seen 9)
  (!srcfileloc  "rtl.h" 2084)
  nil )
 (!pair  "va_gc"
  (!type already_seen 3)
  (!srcfileloc  "rtl.h" 238)
  nil )
 (!pair  "vec<rtx,va_gc>"
  (!type already_seen 252)
  (!srcfileloc  "rtl.h" 238)
  nil )
 (!pair  "rtunion"
  (!type already_seen 242)
  (!srcfileloc  "rtl.h" 208)
  nil )
 (!pair  "counts_entry_t"
  (!type already_seen 1441)
  (!srcfileloc  "coverage.c" 90)
  nil )
 (!pair  "alias_set_type"
  (!type already_seen 9)
  (!srcfileloc  "alias.h" 29)
  nil )
 (!pair  "bitmap_obstack"
  (!type already_seen 126)
  (!srcfileloc  "bitmap.h" 187)
  nil )
 (!pair  "bitmap_element"
  (!type already_seen 123)
  (!srcfileloc  "bitmap.h" 185)
  nil )
 (!pair  "BITMAP_WORD"
  (!type already_seen 9)
  (!srcfileloc  "bitmap.h" 136)
  nil )
 (!pair  "splay_tree"
  (!type already_seen 1336)
  (!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 1337)
  (!srcfileloc  "../include/splay-tree.h" 59)
  nil )
 (!pair  "splay_tree_value"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 56)
  nil )
 (!pair  "splay_tree_key"
  (!type already_seen 9)
  (!srcfileloc  "../include/splay-tree.h" 55)
  nil )
 (!pair  "htab_t"
  (!type already_seen 50)
  (!srcfileloc  "../include/hashtab.h" 144)
  nil )
 (!pair  "htab_free_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 83)
  nil )
 (!pair  "htab_alloc_with_arg"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 82)
  nil )
 (!pair  "htab_free"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 78)
  nil )
 (!pair  "htab_alloc"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 75)
  nil )
 (!pair  "htab_trav"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 69)
  nil )
 (!pair  "htab_del"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 63)
  nil )
 (!pair  "htab_eq"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 59)
  nil )
 (!pair  "htab_hash"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 52)
  nil )
 (!pair  "hashval_t"
  (!type already_seen 9)
  (!srcfileloc  "../include/hashtab.h" 47)
  nil )
 (!pair  "gt_pointer_operator"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 218)
  nil )
 (!pair  "reg_class_t"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 169)
  nil )
 (!pair  "const_basic_block"
  (!type already_seen 297)
  (!srcfileloc  "coretypes.h" 156)
  nil )
 (!pair  "basic_block"
  (!type already_seen 297)
  (!srcfileloc  "coretypes.h" 155)
  nil )
 (!pair  "const_edge"
  (!type already_seen 301)
  (!srcfileloc  "coretypes.h" 153)
  nil )
 (!pair  "edge"
  (!type already_seen 301)
  (!srcfileloc  "coretypes.h" 152)
  nil )
 (!pair  "addr_space_t"
  (!type already_seen 28)
  (!srcfileloc  "coretypes.h" 80)
  nil )
 (!pair  "section"
  (!type already_seen 246)
  (!srcfileloc  "coretypes.h" 69)
  nil )
 (!pair  "gimple_seq"
  (!type already_seen 310)
  (!srcfileloc  "coretypes.h" 66)
  nil )
 (!pair  "const_gimple"
  (!type already_seen 310)
  (!srcfileloc  "coretypes.h" 65)
  nil )
 (!pair  "gimple"
  (!type already_seen 310)
  (!srcfileloc  "coretypes.h" 64)
  nil )
 (!pair  "const_tree"
  (!type already_seen 5)
  (!srcfileloc  "coretypes.h" 63)
  nil )
 (!pair  "tree"
  (!type already_seen 5)
  (!srcfileloc  "coretypes.h" 62)
  nil )
 (!pair  "const_rtvec"
  (!type already_seen 261)
  (!srcfileloc  "coretypes.h" 60)
  nil )
 (!pair  "rtvec"
  (!type already_seen 261)
  (!srcfileloc  "coretypes.h" 59)
  nil )
 (!pair  "const_rtx"
  (!type already_seen 136)
  (!srcfileloc  "coretypes.h" 57)
  nil )
 (!pair  "rtx"
  (!type already_seen 136)
  (!srcfileloc  "coretypes.h" 56)
  nil )
 (!pair  "const_sbitmap"
  (!type already_seen 1462)
  (!srcfileloc  "coretypes.h" 54)
  nil )
 (!pair  "sbitmap"
  (!type already_seen 1462)
  (!srcfileloc  "coretypes.h" 53)
  nil )
 (!pair  "const_bitmap"
  (!type already_seen 120)
  (!srcfileloc  "coretypes.h" 51)
  nil )
 (!pair  "bitmap"
  (!type already_seen 120)
  (!srcfileloc  "coretypes.h" 50)
  nil )
 (!pair  "gcov_type_unsigned"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 47)
  nil )
 (!pair  "gcov_type"
  (!type already_seen 9)
  (!srcfileloc  "coretypes.h" 46)
  nil )
 (!pair  "location_t"
  (!type already_seen 9)
  (!srcfileloc  "input.h" 47)
  nil )
 (!pair  "uchar"
  (!type already_seen 28)
  (!srcfileloc  "../libcpp/include/cpp-id-data.h" 21)
  nil )
 (!pair  "cpp_cb"
  (!type already_seen 9)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1021)
  nil )
 (!pair  "cpp_comment_table"
  (!type already_seen 1464)
  (!srcfileloc  "../libcpp/include/cpplib.h" 1008)
  nil )
 (!pair  "cpp_comment"
  (!type already_seen 1465)
  (!srcfileloc  "../libcpp/include/cpplib.h" 994)
  nil )
 (!pair  "cpp_num"
  (!type already_seen 1466)
  (!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 1468)
  (!srcfileloc  "../libcpp/include/cpplib.h" 37)
  nil )
 (!pair  "cpp_callbacks"
  (!type already_seen 1469)
  (!srcfileloc  "../libcpp/include/cpplib.h" 36)
  nil )
 (!pair  "cpp_macro"
  (!type already_seen 570)
  (!srcfileloc  "../libcpp/include/cpplib.h" 35)
  nil )
 (!pair  "cpp_hashnode"
  (!type already_seen 565)
  (!srcfileloc  "../libcpp/include/cpplib.h" 34)
  nil )
 (!pair  "cpp_string"
  (!type already_seen 576)
  (!srcfileloc  "../libcpp/include/cpplib.h" 33)
  nil )
 (!pair  "cpp_token"
  (!type already_seen 573)
  (!srcfileloc  "../libcpp/include/cpplib.h" 32)
  nil )
 (!pair  "cpp_options"
  (!type already_seen 1470)
  (!srcfileloc  "../libcpp/include/cpplib.h" 31)
  nil )
 (!pair  "cpp_buffer"
  (!type already_seen 1471)
  (!srcfileloc  "../libcpp/include/cpplib.h" 30)
  nil )
 (!pair  "cpp_reader"
  (!type already_seen 1472)
  (!srcfileloc  "../libcpp/include/cpplib.h" 29)
  nil )
 (!pair  "expanded_location"
  (!type already_seen 1474)
  (!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 50
 (!type param_struct 1488 nil  gc_pointed_to
  (!type already_seen 1338)
  nil 
  (!type already_seen 9)
  
  (!type already_seen 9)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1489 nil  gc_pointed_to
  (!type already_seen 1338)
  nil 
  (!type already_seen 36)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1490 nil  gc_pointed_to
  (!type already_seen 1338)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1491 
  (!type pointer 1492 nil  gc_used
   (!type already_seen 1491)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 626)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 468)
 
 (!type already_seen 48)
 
 (!type param_struct 1493 
  (!type pointer 1494 nil  gc_used
   (!type already_seen 1493)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 668)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1495 
  (!type pointer 1496 nil  gc_used
   (!type already_seen 1495)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 681)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1497 
  (!type pointer 1498 nil  gc_used
   (!type already_seen 1497)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 709)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1499 
  (!type pointer 1500 nil  gc_used
   (!type already_seen 1499)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 710)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1501 
  (!type pointer 1502 nil  gc_used
   (!type already_seen 1501)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 721)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 107)
 
 (!type already_seen 91)
 
 (!type param_struct 1503 
  (!type pointer 1504 nil  gc_used
   (!type already_seen 1503)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 810)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1505 
  (!type pointer 1506 nil  gc_used
   (!type already_seen 1505)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1417)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1507 
  (!type pointer 1508 nil  gc_used
   (!type already_seen 1507)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 856)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 948)
 
 (!type param_struct 1509 
  (!type pointer 1510 nil  gc_used
   (!type already_seen 1509)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1026)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1511 
  (!type pointer 1512 nil  gc_used
   (!type already_seen 1511)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1032)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1513 
  (!type pointer 1514 nil  gc_used
   (!type already_seen 1513)
  )
  gc_pointed_to
  (!type already_seen 1335)
  nil 
  (!type already_seen 5)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1515 
  (!type pointer 1516 nil  gc_used
   (!type already_seen 1515)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1070)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 394)
 
 (!type param_struct 1517 
  (!type pointer 1518 nil  gc_used
   (!type already_seen 1517)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1421)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1386)
 
 (!type param_struct 1519 
  (!type pointer 1520 nil  gc_used
   (!type already_seen 1519)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1345)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1521 
  (!type pointer 1522 nil  gc_used
   (!type already_seen 1521)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 243)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1523 
  (!type pointer 1524 nil  gc_used
   (!type already_seen 1523)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 245)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1525 
  (!type pointer 1526 nil  gc_used
   (!type already_seen 1525)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1415)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1527 
  (!type pointer 1528 nil  gc_used
   (!type already_seen 1527)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1413)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1529 
  (!type pointer 1530 nil  gc_used
   (!type already_seen 1529)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1419)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1531 
  (!type pointer 1532 nil  gc_used
   (!type already_seen 1531)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1155)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1533 
  (!type pointer 1534 nil  gc_used
   (!type already_seen 1533)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1218)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 368)
 
 (!type param_struct 1535 
  (!type pointer 1536 nil  gc_used
   (!type already_seen 1535)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 269)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1537 
  (!type pointer 1538 nil  gc_used
   (!type already_seen 1537)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 136)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1539 
  (!type pointer 1540 nil  gc_used
   (!type already_seen 1539)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 417)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1541 
  (!type pointer 1542 nil  gc_used
   (!type already_seen 1541)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1268)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1543 
  (!type pointer 1544 nil  gc_used
   (!type already_seen 1543)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1272)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1545 
  (!type pointer 1546 nil  gc_used
   (!type already_seen 1545)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 425)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1547 
  (!type pointer 1548 nil  gc_used
   (!type already_seen 1547)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 438)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1549 
  (!type pointer 1550 nil  gc_used
   (!type already_seen 1549)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 436)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1551 
  (!type pointer 1552 nil  gc_used
   (!type already_seen 1551)
  )
  gc_pointed_to
  (!type already_seen 1335)
  nil 
  (!type already_seen 36)
  
  (!type already_seen 5)
  nil nil nil nil nil nil nil nil )
 
 (!type param_struct 1553 
  (!type pointer 1554 nil  gc_used
   (!type already_seen 1553)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1360)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 1334)
 
 (!type param_struct 1555 
  (!type pointer 1556 nil  gc_used
   (!type already_seen 1555)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 937)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 919)
 
 (!type already_seen 400)
 
 (!type param_struct 1557 
  (!type pointer 1558 nil  gc_used
   (!type already_seen 1557)
  )
  gc_pointed_to
  (!type already_seen 49)
  
  (!type already_seen 1376)
  nil nil nil nil nil nil nil nil nil nil )
 
 (!type already_seen 54)
 
 (!type already_seen 541)
)
(!variables 617
 (!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 622)
  (!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 616)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2110)
  nil )
 (!pair  "nonlazy_category_list"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2022)
  nil )
 (!pair  "category_list"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2011)
  nil )
 (!pair  "nonlazy_class_list"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 2000)
  nil )
 (!pair  "class_list"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1992)
  nil )
 (!pair  "metaclass_super_refs"
  (!type already_seen 622)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1436)
  nil )
 (!pair  "class_super_refs"
  (!type already_seen 622)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1435)
  nil )
 (!pair  "protrefs"
  (!type already_seen 616)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1259)
  nil )
 (!pair  "msgrefs"
  (!type already_seen 619)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1205)
  nil )
 (!pair  "classrefs"
  (!type already_seen 622)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 1040)
  nil )
 (!pair  "extern_names"
  (!type already_seen 634)
  (!srcfileloc  "objc/objc-next-runtime-abi-02.c" 236)
  (!options 
   (!option length string  "SIZEHASHTABLE")
  )
 )
 (!pair  "objc_v2_global_trees"
  (!type array 1559 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 1560 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 1561 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 1562 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 636)
  (!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 1492)
  (!srcfileloc  "objc/objc-act.c" 263)
  (!options 
   (!option param_is type 
    (!type already_seen 625)
   )
  )
 )
 (!pair  "alias_name_map"
  (!type already_seen 636)
  (!srcfileloc  "objc/objc-act.c" 173)
  nil )
 (!pair  "class_name_map"
  (!type already_seen 636)
  (!srcfileloc  "objc/objc-act.c" 172)
  nil )
 (!pair  "class_method_map"
  (!type already_seen 636)
  (!srcfileloc  "objc/objc-act.c" 168)
  nil )
 (!pair  "instance_method_map"
  (!type already_seen 636)
  (!srcfileloc  "objc/objc-act.c" 167)
  nil )
 (!pair  "objc_global_trees"
  (!type array 1563 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 629)
  (!srcfileloc  "objc/objc-act.h" 269)
  nil )
 (!pair  "local_variables_to_volatilize"
  (!type already_seen 45)
  (!srcfileloc  "objc/objc-act.h" 256)
  nil )
 (!pair  "lto_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 3321)
  nil )
 (!pair  "real_file_decl_data"
  (!type already_seen 945)
  (!srcfileloc  "lto/lto.c" 2880)
  (!options 
   (!option length string  "real_file_count + 1")
  )
 )
 (!pair  "all_file_decl_data"
  (!type already_seen 945)
  (!srcfileloc  "lto/lto.c" 2848)
  (!options 
   (!option length string  "lto_stats.num_input_files + 1")
  )
 )
 (!pair  "tree_with_vars"
  (!type already_seen 45)
  (!srcfileloc  "lto/lto.c" 697)
  nil )
 (!pair  "first_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto.c" 57)
  nil )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 693)
  nil )
 (!pair  "signed_size_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 190)
  nil )
 (!pair  "uintmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 189)
  nil )
 (!pair  "intmax_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 188)
  nil )
 (!pair  "wint_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 187)
  nil )
 (!pair  "const_string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 186)
  nil )
 (!pair  "string_type_node"
  (!type already_seen 5)
  (!srcfileloc  "lto/lto-lang.c" 185)
  nil )
 (!pair  "builtin_types"
  (!type array 1564 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 183)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1565 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "lto/lto-lang.c" 136)
  nil )
 (!pair  "resources"
  (!type already_seen 45)
  (!srcfileloc  "java/resource.c" 41)
  nil )
 (!pair  "compression_table"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 298)
  nil )
 (!pair  "atms"
  (!type already_seen 5)
  (!srcfileloc  "java/mangle.c" 72)
  nil )
 (!pair  "java_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 915)
  nil )
 (!pair  "last_error_function"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 483)
  nil )
 (!pair  "last_error_function_context"
  (!type already_seen 5)
  (!srcfileloc  "java/lang.c" 482)
  nil )
 (!pair  "all_class_list"
  (!type already_seen 45)
  (!srcfileloc  "java/jcf-parse.c" 88)
  nil )
 (!pair  "main_jcf"
  (!type already_seen 450)
  (!srcfileloc  "java/jcf-parse.c" 85)
  nil )
 (!pair  "parse_roots"
  (!type array 1566 nil  gc_used "2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/jcf-parse.c" 73)
  nil )
 (!pair  "class_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 2360)
  nil )
 (!pair  "page_size"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 130)
  nil )
 (!pair  "quick_stack"
  (!type already_seen 45)
  (!srcfileloc  "java/expr.c" 126)
  nil )
 (!pair  "ncode_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 92)
  nil )
 (!pair  "methods_ident"
  (!type already_seen 5)
  (!srcfileloc  "java/expr.c" 91)
  nil )
 (!pair  "operand_type"
  (!type array 1567 nil  gc_used "59" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/expr.c" 89)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "java/decl.c" 439)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "java/decl.c" 433)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "java/decl.c" 429)
  nil )
 (!pair  "pending_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 118)
  nil )
 (!pair  "base_decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 110)
  nil )
 (!pair  "decl_map"
  (!type already_seen 5)
  (!srcfileloc  "java/decl.c" 104)
  nil )
 (!pair  "tag_nodes"
  (!type array 1568 nil  gc_used "13" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/constants.c" 318)
  nil )
 (!pair  "alias_labelno"
  (!type already_seen 9)
  (!srcfileloc  "java/class.c" 1372)
  nil )
 (!pair  "this_classdollar"
  (!type already_seen 5)
  (!srcfileloc  "java/class.c" 106)
  nil )
 (!pair  "registered_class"
  (!type already_seen 45)
  (!srcfileloc  "java/class.c" 102)
  nil )
 (!pair  "class_roots"
  (!type array 1569 nil  gc_used "4" 
   (!type already_seen 5)
  )
  (!srcfileloc  "java/class.c" 96)
  nil )
 (!pair  "java_builtins"
  (!type array 1570 nil  gc_used "" 
   (!type already_seen 645)
  )
  (!srcfileloc  "java/builtins.c" 86)
  nil )
 (!pair  "pending_static_fields"
  (!type already_seen 45)
  (!srcfileloc  "java/java-tree.h" 1182)
  nil )
 (!pair  "soft_resolvepoolentry_node"
  (!type already_seen 5)
  (!srcfileloc  "java/java-tree.h" 575)
  nil )
 (!pair  "java_global_trees"
  (!type array 1571 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 450)
  (!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 1572 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 1573 nil  gc_used "4" 
   (!type array 1574 nil  gc_used "3" 
    (!type already_seen 652)
   )
  )
  (!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 1575 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 103)
  nil )
 (!pair  "gfc_character_types"
  (!type array 1576 nil  gc_used "MAX_CHARACTER_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 102)
  nil )
 (!pair  "gfc_complex_types"
  (!type array 1577 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 98)
  nil )
 (!pair  "gfc_real_types"
  (!type array 1578 nil  gc_used "MAX_REAL_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 97)
  nil )
 (!pair  "gfc_logical_types"
  (!type array 1579 nil  gc_used "MAX_INT_KINDS + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-types.c" 93)
  nil )
 (!pair  "gfc_integer_types"
  (!type array 1580 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 1581 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 1582 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 1583 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 1584 nil  gc_used "IOCALL_NUM" 
   (!type already_seen 5)
  )
  (!srcfileloc  "fortran/trans-io.c" 151)
  nil )
 (!pair  "st_parameter_field"
  (!type array 1585 nil  gc_used "" 
   (!type already_seen 665)
  )
  (!srcfileloc  "fortran/trans-io.c" 101)
  nil )
 (!pair  "st_parameter"
  (!type array 1586 nil  gc_used "" 
   (!type already_seen 664)
  )
  (!srcfileloc  "fortran/trans-io.c" 90)
  nil )
 (!pair  "gfc_intrinsic_map"
  (!type array 1587 nil  gc_used "" 
   (!type already_seen 666)
  )
  (!srcfileloc  "fortran/trans-intrinsic.c" 116)
  nil )
 (!pair  "module_htab"
  (!type already_seen 1494)
  (!srcfileloc  "fortran/trans-decl.c" 4112)
  (!options 
   (!option param_is type 
    (!type already_seen 667)
   )
  )
 )
 (!pair  "saved_local_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 71)
  nil )
 (!pair  "nonlocal_dummy_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 67)
  nil )
 (!pair  "saved_parent_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 64)
  nil )
 (!pair  "saved_function_decls"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 63)
  nil )
 (!pair  "parent_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 58)
  nil )
 (!pair  "current_fake_result_decl"
  (!type already_seen 5)
  (!srcfileloc  "fortran/trans-decl.c" 57)
  nil )
 (!pair  "global_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "fortran/f95-lang.c" 325)
  nil )
 (!pair  "current_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "fortran/f95-lang.c" 321)
  nil )
 (!pair  "current_translation_unit"
  (!type already_seen 5)
  (!srcfileloc  "fortran/f95-lang.c" 186)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 80)
  (!srcfileloc  "fortran/f95-lang.c" 180)
  nil )
 (!pair  "vlt_register_set_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 133)
  nil )
 (!pair  "vlt_register_pairs_fndecl"
  (!type already_seen 5)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 132)
  nil )
 (!pair  "vlt_saved_class_info"
  (!type already_seen 45)
  (!srcfileloc  "cp/vtable-class-hierarchy.c" 131)
  nil )
 (!pair  "pending_noexcept_checks"
  (!type already_seen 672)
  (!srcfileloc  "cp/except.c" 1185)
  nil )
 (!pair  "cp_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-lang.c" 137)
  nil )
 (!pair  "shadowed_var_for_decl"
  (!type already_seen 1530)
  (!srcfileloc  "cp/cp-objcp-common.c" 186)
  (!options 
   (!option param_is type 
    (!type already_seen 1418)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "abort_fndecl_addr"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 8880)
  nil )
 (!pair  "sizeof_biggest_empty_class"
  (!type already_seen 5)
  (!srcfileloc  "cp/class.c" 112)
  nil )
 (!pair  "abstract_pending_vars"
  (!type already_seen 1496)
  (!srcfileloc  "cp/typeck2.c" 187)
  (!options 
   (!option param_is type 
    (!type already_seen 680)
   )
  )
 )
 (!pair  "thunk_labelno"
  (!type already_seen 9)
  (!srcfileloc  "cp/method.c" 206)
  nil )
 (!pair  "generic_parm_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 31987)
  nil )
 (!pair  "the_parser"
  (!type already_seen 689)
  (!srcfileloc  "cp/parser.c" 31410)
  nil )
 (!pair  "lambda_scope_stack"
  (!type already_seen 684)
  (!srcfileloc  "cp/parser.c" 8652)
  nil )
 (!pair  "lambda_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/parser.c" 8646)
  nil )
 (!pair  "lambda_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/parser.c" 8645)
  nil )
 (!pair  "cp_parser_context_free_list"
  (!type already_seen 695)
  (!srcfileloc  "cp/parser.c" 1762)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "list_hash_table"
  (!type already_seen 53)
  (!srcfileloc  "cp/tree.c" 1609)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "cplus_array_htab"
  (!type already_seen 53)
  (!srcfileloc  "cp/tree.c" 757)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "constexpr_call_table"
  (!type already_seen 1498)
  (!srcfileloc  "cp/semantics.c" 8098)
  (!options 
   (!option param_is type 
    (!type already_seen 708)
   )
  )
 )
 (!pair  "constexpr_fundef_table"
  (!type already_seen 1500)
  (!srcfileloc  "cp/semantics.c" 7415)
  (!options 
   (!option param_is type 
    (!type already_seen 711)
   )
  )
 )
 (!pair  "deferred_access_no_check"
  (!type already_seen 9)
  (!srcfileloc  "cp/semantics.c" 144)
  nil )
 (!pair  "deferred_access_stack"
  (!type already_seen 714)
  (!srcfileloc  "cp/semantics.c" 143)
  nil )
 (!pair  "pending_repo"
  (!type already_seen 45)
  (!srcfileloc  "cp/repo.c" 46)
  nil )
 (!pair  "last_error_tinst_level"
  (!type already_seen 724)
  (!srcfileloc  "cp/pt.c" 8241)
  nil )
 (!pair  "canonical_template_parms"
  (!type already_seen 45)
  (!srcfileloc  "cp/pt.c" 101)
  nil )
 (!pair  "type_specializations"
  (!type already_seen 1502)
  (!srcfileloc  "cp/pt.c" 95)
  (!options 
   (!option param_is type 
    (!type already_seen 720)
   )
  )
 )
 (!pair  "decl_specializations"
  (!type already_seen 1502)
  (!srcfileloc  "cp/pt.c" 92)
  (!options 
   (!option param_is type 
    (!type already_seen 720)
   )
  )
 )
 (!pair  "saved_access_scope"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 74)
  nil )
 (!pair  "current_tinst_level"
  (!type already_seen 724)
  (!srcfileloc  "cp/pt.c" 72)
  nil )
 (!pair  "saved_trees"
  (!type already_seen 5)
  (!srcfileloc  "cp/pt.c" 69)
  nil )
 (!pair  "last_pending_template"
  (!type already_seen 723)
  (!srcfileloc  "cp/pt.c" 64)
  nil )
 (!pair  "pending_templates"
  (!type already_seen 723)
  (!srcfileloc  "cp/pt.c" 63)
  nil )
 (!pair  "ssdf_decls"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 3312)
  nil )
 (!pair  "ssdf_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3308)
  nil )
 (!pair  "priority_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3305)
  nil )
 (!pair  "initialize_p_decl"
  (!type already_seen 5)
  (!srcfileloc  "cp/decl2.c" 3302)
  nil )
 (!pair  "no_linkage_decls"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 108)
  nil )
 (!pair  "maybe_comdat_fns"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 104)
  nil )
 (!pair  "deferred_fns"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 100)
  nil )
 (!pair  "pending_statics"
  (!type already_seen 45)
  (!srcfileloc  "cp/decl2.c" 96)
  nil )
 (!pair  "start_cleanup_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/decl.c" 6746)
  nil )
 (!pair  "typename_htab"
  (!type already_seen 53)
  (!srcfileloc  "cp/decl.c" 3249)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "incomplete_vars"
  (!type already_seen 733)
  (!srcfileloc  "cp/decl.c" 267)
  nil )
 (!pair  "java_iface_lookup_fn"
  (!type already_seen 5)
  (!srcfileloc  "cp/call.c" 7347)
  nil )
 (!pair  "default_arg_context"
  (!type already_seen 45)
  (!srcfileloc  "cp/call.c" 6511)
  nil )
 (!pair  "unemitted_tinfo_decls"
  (!type already_seen 45)
  (!srcfileloc  "cp/cp-tree.h" 5634)
  nil )
 (!pair  "deferred_mark_used_calls"
  (!type already_seen 45)
  (!srcfileloc  "cp/cp-tree.h" 5303)
  nil )
 (!pair  "assignment_operator_name_info"
  (!type array 1588 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 744)
  )
  (!srcfileloc  "cp/cp-tree.h" 4752)
  nil )
 (!pair  "operator_name_info"
  (!type array 1589 nil  gc_used "(int) MAX_TREE_CODES" 
   (!type already_seen 744)
  )
  (!srcfileloc  "cp/cp-tree.h" 4749)
  nil )
 (!pair  "tls_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4494)
  nil )
 (!pair  "static_aggregates"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4492)
  nil )
 (!pair  "local_classes"
  (!type already_seen 45)
  (!srcfileloc  "cp/cp-tree.h" 4394)
  nil )
 (!pair  "integer_two_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/cp-tree.h" 4349)
  nil )
 (!pair  "scope_chain"
  (!type already_seen 750)
  (!srcfileloc  "cp/cp-tree.h" 1114)
  nil )
 (!pair  "cp_global_trees"
  (!type array 1590 nil  gc_used "CPTI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/cp-tree.h" 904)
  nil )
 (!pair  "lambda_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2088)
  nil )
 (!pair  "anon_cnt"
  (!type already_seen 9)
  (!srcfileloc  "cp/name-lookup.c" 2069)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 94)
  (!srcfileloc  "cp/name-lookup.c" 1509)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_bindings"
  (!type already_seen 99)
  (!srcfileloc  "cp/name-lookup.c" 277)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_binding_entry"
  (!type already_seen 488)
  (!srcfileloc  "cp/name-lookup.c" 93)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "anonymous_namespace_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.c" 66)
  nil )
 (!pair  "global_type_node"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 286)
  nil )
 (!pair  "global_scope_name"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 281)
  nil )
 (!pair  "global_namespace"
  (!type already_seen 5)
  (!srcfileloc  "cp/name-lookup.h" 280)
  nil )
 (!pair  "temp_count"
  (!type already_seen 9)
  (!srcfileloc  "cp/mangle.c" 3862)
  nil )
 (!pair  "conv_type_names"
  (!type already_seen 53)
  (!srcfileloc  "cp/mangle.c" 3734)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "subst_identifiers"
  (!type array 1591 nil  gc_used "SUBID_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "cp/mangle.c" 137)
  nil )
 (!pair  "G"
  (!type already_seen 753)
  (!srcfileloc  "cp/mangle.c" 108)
  nil )
 (!pair  "tinfo_descs"
  (!type already_seen 755)
  (!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 760)
  (!srcfileloc  "c/c-parser.c" 223)
  nil )
 (!pair  "options_stack"
  (!type already_seen 769)
  (!srcfileloc  "c-family/c-pragma.c" 904)
  nil )
 (!pair  "pending_redefine_extname"
  (!type already_seen 771)
  (!srcfileloc  "c-family/c-pragma.c" 433)
  nil )
 (!pair  "pending_weaks"
  (!type already_seen 774)
  (!srcfileloc  "c-family/c-pragma.c" 247)
  nil )
 (!pair  "alignment_stack"
  (!type already_seen 777)
  (!srcfileloc  "c-family/c-pragma.c" 56)
  nil )
 (!pair  "pragma_extern_prefix"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-pragma.h" 191)
  nil )
 (!pair  "lazy_hex_fp_value_count"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1180)
  nil )
 (!pair  "lazy_hex_fp_values"
  (!type array 1592 nil  gc_used "12" 
   (!type already_seen 780)
  )
  (!srcfileloc  "c-family/c-cppbuiltin.c" 1179)
  nil )
 (!pair  "pending_lang_change"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.h" 944)
  nil )
 (!pair  "c_global_trees"
  (!type array 1593 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 788)
  (!srcfileloc  "c-family/c-common.c" 11548)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "optimize_args"
  (!type already_seen 791)
  (!srcfileloc  "c-family/c-common.c" 9013)
  nil )
 (!pair  "compound_literal_number"
  (!type already_seen 9)
  (!srcfileloc  "c-family/c-common.c" 5734)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1594 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "c-family/c-common.c" 5109)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 53)
  (!srcfileloc  "c-family/c-common.c" 4811)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "registered_builtin_types"
  (!type already_seen 5)
  (!srcfileloc  "c-family/c-common.c" 3472)
  nil )
 (!pair  "ext_block"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 10306)
  nil )
 (!pair  "c_inline_statics"
  (!type already_seen 798)
  (!srcfileloc  "c/c-decl.c" 493)
  nil )
 (!pair  "binding_freelist"
  (!type already_seen 582)
  (!srcfileloc  "c/c-decl.c" 445)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "scope_freelist"
  (!type already_seen 588)
  (!srcfileloc  "c/c-decl.c" 441)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "external_scope"
  (!type already_seen 588)
  (!srcfileloc  "c/c-decl.c" 437)
  nil )
 (!pair  "file_scope"
  (!type already_seen 588)
  (!srcfileloc  "c/c-decl.c" 432)
  nil )
 (!pair  "current_function_scope"
  (!type already_seen 588)
  (!srcfileloc  "c/c-decl.c" 428)
  nil )
 (!pair  "current_scope"
  (!type already_seen 588)
  (!srcfileloc  "c/c-decl.c" 422)
  nil )
 (!pair  "visible_builtins"
  (!type already_seen 5)
  (!srcfileloc  "c/c-decl.c" 126)
  nil )
 (!pair  "c_stmt_tree"
  (!type already_seen 88)
  (!srcfileloc  "c/c-decl.c" 119)
  nil )
 (!pair  "gnat_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/misc.c" 834)
  nil )
 (!pair  "built_in_attributes"
  (!type array 1595 nil  gc_used "(int) ATTR_LAST" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5998)
  nil )
 (!pair  "builtin_types"
  (!type array 1596 nil  gc_used "(int) BT_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 5858)
  nil )
 (!pair  "dummy_global"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 5646)
  nil )
 (!pair  "pad_type_hash_table"
  (!type already_seen 1504)
  (!srcfileloc  "ada/gcc-interface/utils.c" 232)
  (!options 
   (!option param_is type 
    (!type already_seen 809)
   )
   (!option if_marked string  "pad_type_hash_marked_p")
  )
 )
 (!pair  "free_block_chain"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 217)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "global_renaming_pointers"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/utils.c" 214)
  nil )
 (!pair  "builtin_decls"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/utils.c" 211)
  nil )
 (!pair  "global_decls"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/utils.c" 208)
  nil )
 (!pair  "global_context"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/utils.c" 205)
  nil )
 (!pair  "free_binding_level"
  (!type already_seen 812)
  (!srcfileloc  "ada/gcc-interface/utils.c" 202)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_binding_level"
  (!type already_seen 812)
  (!srcfileloc  "ada/gcc-interface/utils.c" 199)
  nil )
 (!pair  "float_types"
  (!type array 1597 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 1598 nil  gc_used "2 * MAX_BITS_PER_WORD + 1" 
   (!type array 1599 nil  gc_used "2" 
    (!type already_seen 5)
   )
  )
  (!srcfileloc  "ada/gcc-interface/utils.c" 180)
  nil )
 (!pair  "dummy_node_table"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 163)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "associate_gnat_to_gnu"
  (!type already_seen 6)
  (!srcfileloc  "ada/gcc-interface/utils.c" 151)
  (!options 
   (!option length string  "max_gnat_nodes")
  )
 )
 (!pair  "gnat_vms_condition_handler_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 2871)
  nil )
 (!pair  "vms_builtin_establish_handler_decl"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 2870)
  nil )
 (!pair  "gnu_program_error_label_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 229)
  nil )
 (!pair  "gnu_storage_error_label_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 228)
  nil )
 (!pair  "gnu_constraint_error_label_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 227)
  nil )
 (!pair  "gnu_loop_stack"
  (!type already_seen 815)
  (!srcfileloc  "ada/gcc-interface/trans.c" 224)
  nil )
 (!pair  "gnu_return_var_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 200)
  nil )
 (!pair  "gnu_return_label_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 196)
  nil )
 (!pair  "gnu_elab_proc_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 192)
  nil )
 (!pair  "gnu_incoming_exc_ptr"
  (!type already_seen 5)
  (!srcfileloc  "ada/gcc-interface/trans.c" 189)
  nil )
 (!pair  "gnu_except_ptr_stack"
  (!type already_seen 45)
  (!srcfileloc  "ada/gcc-interface/trans.c" 186)
  nil )
 (!pair  "elab_info_list"
  (!type already_seen 823)
  (!srcfileloc  "ada/gcc-interface/trans.c" 181)
  nil )
 (!pair  "stmt_group_free_list"
  (!type already_seen 825)
  (!srcfileloc  "ada/gcc-interface/trans.c" 168)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "current_stmt_group"
  (!type already_seen 825)
  (!srcfileloc  "ada/gcc-interface/trans.c" 165)
  nil )
 (!pair  "annotate_value_cache"
  (!type already_seen 1506)
  (!srcfileloc  "ada/gcc-interface/decl.c" 132)
  (!options 
   (!option param_is type 
    (!type already_seen 1416)
   )
   (!option if_marked string  "tree_int_map_marked_p")
  )
 )
 (!pair  "gnat_raise_decls_ext"
  (!type array 1600 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 1601 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 1602 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 1603 nil  gc_used "IFN_LAST + 1" 
   (!type already_seen 5)
  )
  (!srcfileloc  "internal-fn.h" 57)
  nil )
 (!pair  "odr_types_ptr"
  (!type already_seen 844)
  (!srcfileloc  "ipa-devirt.c" 276)
  nil )
 (!pair  "decl_tree_for_type"
  (!type already_seen 1508)
  (!srcfileloc  "ubsan.c" 70)
  (!options 
   (!option param_is type 
    (!type already_seen 855)
   )
   (!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 1604 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 873)
  (!srcfileloc  "ipa-inline.h" 164)
  nil )
 (!pair  "tm_wrap_map"
  (!type already_seen 1518)
  (!srcfileloc  "trans-mem.c" 472)
  (!options 
   (!option param_is type 
    (!type already_seen 1420)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "ipa_edge_args_vector"
  (!type already_seen 972)
  (!srcfileloc  "ipa-prop.h" 511)
  nil )
 (!pair  "ipa_node_agg_replacements"
  (!type already_seen 990)
  (!srcfileloc  "ipa-prop.h" 509)
  nil )
 (!pair  "ipa_escaped_pt"
  (!type already_seen 384)
  (!srcfileloc  "tree-ssa-alias.h" 146)
  nil )
 (!pair  "free_phinodes"
  (!type array 1605 nil  gc_used "NUM_BUCKETS - 2" 
   (!type already_seen 382)
  )
  (!srcfileloc  "tree-phinodes.c" 79)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "varying_ssa_edges"
  (!type already_seen 382)
  (!srcfileloc  "tree-ssa-propagate.c" 172)
  nil )
 (!pair  "interesting_ssa_edges"
  (!type already_seen 382)
  (!srcfileloc  "tree-ssa-propagate.c" 156)
  nil )
 (!pair  "clone_fn_id_num"
  (!type already_seen 9)
  (!srcfileloc  "cgraphclones.c" 517)
  nil )
 (!pair  "vtable_entry_type"
  (!type already_seen 5)
  (!srcfileloc  "cgraphunit.c" 233)
  nil )
 (!pair  "asm_last_node"
  (!type already_seen 1352)
  (!srcfileloc  "cgraphunit.c" 230)
  nil )
 (!pair  "order"
  (!type already_seen 912)
  (!srcfileloc  "passes.c" 1599)
  (!options 
   (!option length string  "nnodes")
  )
 )
 (!pair  "mips_builtin_decls"
  (!type array 1606 nil  gc_used "ARRAY_SIZE (mips_builtins)" 
   (!type already_seen 5)
  )
  (!srcfileloc  "config/mips/mips.c" 14232)
  nil )
 (!pair  "mips_gnu_local_gp"
  (!type already_seen 136)
  (!srcfileloc  "config/mips/mips.c" 10887)
  nil )
 (!pair  "mips16_local_aliases"
  (!type already_seen 1510)
  (!srcfileloc  "config/mips/mips.c" 6392)
  (!options 
   (!option param_is type 
    (!type already_seen 1025)
   )
  )
 )
 (!pair  "mips_tls_symbol"
  (!type already_seen 136)
  (!srcfileloc  "config/mips/mips.c" 3128)
  nil )
 (!pair  "mips16_flipper"
  (!type already_seen 9)
  (!srcfileloc  "config/mips/mips.c" 1209)
  nil )
 (!pair  "mflip_mips16_htab"
  (!type already_seen 1512)
  (!srcfileloc  "config/mips/mips.c" 1190)
  (!options 
   (!option param_is type 
    (!type already_seen 1031)
   )
  )
 )
 (!pair  "mips_output_filename_first_time"
  (!type already_seen 9)
  (!srcfileloc  "config/mips/mips.c" 615)
  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 1514)
  (!srcfileloc  "omp-low.c" 8942)
  (!options 
   (!option param2_is type 
    (!type already_seen 5)
   )
   (!option param1_is type 
    (!type already_seen 5)
   )
  )
 )
 (!pair  "parallelized_functions"
  (!type already_seen 120)
  (!srcfileloc  "tree-parloops.c" 1424)
  nil )
 (!pair  "trampoline_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-nested.c" 479)
  nil )
 (!pair  "ptr_void"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 72)
  nil )
 (!pair  "ic_gcov_type_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 71)
  nil )
 (!pair  "ic_void_ptr_var"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 70)
  nil )
 (!pair  "tree_ior_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 67)
  nil )
 (!pair  "tree_average_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 66)
  nil )
 (!pair  "tree_time_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 65)
  nil )
 (!pair  "tree_indirect_call_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 64)
  nil )
 (!pair  "tree_one_value_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 63)
  nil )
 (!pair  "tree_pow2_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 62)
  nil )
 (!pair  "tree_interval_profiler_fn"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 61)
  nil )
 (!pair  "gcov_type_node"
  (!type already_seen 5)
  (!srcfileloc  "tree-profile.c" 60)
  nil )
 (!pair  "scalar_evolution_info"
  (!type already_seen 1516)
  (!srcfileloc  "tree-scalar-evolution.c" 325)
  (!options 
   (!option param_is type 
    (!type already_seen 1069)
   )
  )
 )
 (!pair  "chrec_known"
  (!type already_seen 5)
  (!srcfileloc  "tree-chrec.h" 30)
  nil )
 (!pair  "chrec_dont_know"
  (!type already_seen 5)
  (!srcfileloc  "tree-chrec.h" 29)
  nil )
 (!pair  "tmp_var_id_num"
  (!type already_seen 9)
  (!srcfileloc  "gimple-expr.c" 442)
  nil )
 (!pair  "stmt_list_cache"
  (!type already_seen 45)
  (!srcfileloc  "tree-iterator.c" 32)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "mem_addr_template_list"
  (!type already_seen 1086)
  (!srcfileloc  "tree-ssa-address.c" 98)
  nil )
 (!pair  "elf_fini_array_section"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 7538)
  nil )
 (!pair  "elf_init_array_section"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 7537)
  nil )
 (!pair  "tm_clone_hash"
  (!type already_seen 1518)
  (!srcfileloc  "varasm.c" 5714)
  (!options 
   (!option param_is type 
    (!type already_seen 1420)
   )
   (!option if_marked string  "tree_map_marked_p")
  )
 )
 (!pair  "weakref_targets"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 5408)
  nil )
 (!pair  "const_desc_htab"
  (!type already_seen 1520)
  (!srcfileloc  "varasm.c" 2787)
  (!options 
   (!option param_is type 
    (!type already_seen 1344)
   )
  )
 )
 (!pair  "initial_trampoline"
  (!type already_seen 136)
  (!srcfileloc  "varasm.c" 2498)
  nil )
 (!pair  "weak_decls"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2276)
  nil )
 (!pair  "pending_assemble_externals"
  (!type already_seen 5)
  (!srcfileloc  "varasm.c" 2206)
  nil )
 (!pair  "shared_constant_pool"
  (!type already_seen 1383)
  (!srcfileloc  "varasm.c" 189)
  nil )
 (!pair  "anchor_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 186)
  nil )
 (!pair  "object_block_htab"
  (!type already_seen 1522)
  (!srcfileloc  "varasm.c" 183)
  (!options 
   (!option param_is type 
    (!type already_seen 244)
   )
  )
 )
 (!pair  "section_htab"
  (!type already_seen 1524)
  (!srcfileloc  "varasm.c" 180)
  (!options 
   (!option param_is type 
    (!type already_seen 246)
   )
  )
 )
 (!pair  "unnamed_sections"
  (!type already_seen 245)
  (!srcfileloc  "varasm.c" 172)
  nil )
 (!pair  "const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "varasm.c" 79)
  nil )
 (!pair  "weak_global_object_name"
  (!type already_seen 36)
  (!srcfileloc  "varasm.c" 65)
  nil )
 (!pair  "first_global_object_name"
  (!type already_seen 36)
  (!srcfileloc  "varasm.c" 64)
  nil )
 (!pair  "gcc_eh_personality_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 11754)
  nil )
 (!pair  "nonstandard_integer_type_cache"
  (!type array 1607 nil  gc_used "2 * MAX_INT_CACHED_PREC + 2" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree.c" 7657)
  nil )
 (!pair  "init_priority_for_decl"
  (!type already_seen 1526)
  (!srcfileloc  "tree.c" 222)
  (!options 
   (!option param_is type 
    (!type already_seen 1414)
   )
   (!option if_marked string  "tree_priority_map_marked_p")
  )
 )
 (!pair  "debug_args_for_decl"
  (!type already_seen 1528)
  (!srcfileloc  "tree.c" 218)
  (!options 
   (!option param_is type 
    (!type already_seen 1412)
   )
   (!option if_marked string  "tree_vec_map_marked_p")
  )
 )
 (!pair  "value_expr_for_decl"
  (!type already_seen 1530)
  (!srcfileloc  "tree.c" 215)
  (!options 
   (!option param_is type 
    (!type already_seen 1418)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "debug_expr_for_decl"
  (!type already_seen 1530)
  (!srcfileloc  "tree.c" 212)
  (!options 
   (!option param_is type 
    (!type already_seen 1418)
   )
   (!option if_marked string  "tree_decl_map_marked_p")
  )
 )
 (!pair  "cl_option_hash_table"
  (!type already_seen 53)
  (!srcfileloc  "tree.c" 206)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "cl_target_option_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 204)
  nil )
 (!pair  "cl_optimization_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 203)
  nil )
 (!pair  "int_cst_hash_table"
  (!type already_seen 53)
  (!srcfileloc  "tree.c" 196)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "int_cst_node"
  (!type already_seen 5)
  (!srcfileloc  "tree.c" 194)
  nil )
 (!pair  "type_hash_table"
  (!type already_seen 1532)
  (!srcfileloc  "tree.c" 191)
  (!options 
   (!option param_is type 
    (!type already_seen 1154)
   )
   (!option if_marked string  "type_hash_marked_p")
  )
 )
 (!pair  "next_debug_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 170)
  nil )
 (!pair  "next_type_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 167)
  nil )
 (!pair  "next_decl_uid"
  (!type already_seen 9)
  (!srcfileloc  "tree.c" 165)
  nil )
 (!pair  "spd"
  (!type already_seen 1157)
  (!srcfileloc  "stringpool.c" 254)
  nil )
 (!pair  "size_functions"
  (!type already_seen 45)
  (!srcfileloc  "stor-layout.c" 102)
  nil )
 (!pair  "sdbout_initialized"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 68)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 67)
  nil )
 (!pair  "deferred_global_decls"
  (!type already_seen 45)
  (!srcfileloc  "sdbout.c" 61)
  nil )
 (!pair  "unnamed_struct_number"
  (!type already_seen 9)
  (!srcfileloc  "sdbout.c" 57)
  nil )
 (!pair  "anonymous_types"
  (!type already_seen 5)
  (!srcfileloc  "sdbout.c" 53)
  nil )
 (!pair  "cfg_layout_function_header"
  (!type already_seen 136)
  (!srcfileloc  "cfgrtl.c" 68)
  nil )
 (!pair  "cfg_layout_function_footer"
  (!type already_seen 136)
  (!srcfileloc  "cfgrtl.c" 67)
  nil )
 (!pair  "libfunc_decls"
  (!type already_seen 53)
  (!srcfileloc  "optabs.c" 6058)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "unused_expr_list"
  (!type already_seen 136)
  (!srcfileloc  "lists.c" 36)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "unused_insn_list"
  (!type already_seen 136)
  (!srcfileloc  "lists.c" 33)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "queue"
  (!type already_seen 45)
  (!srcfileloc  "godump.c" 59)
  nil )
 (!pair  "test_insn"
  (!type already_seen 136)
  (!srcfileloc  "gcse.c" 833)
  nil )
 (!pair  "sjlj_fc_type_node"
  (!type already_seen 5)
  (!srcfileloc  "except.c" 156)
  nil )
 (!pair  "type_to_runtime_map"
  (!type already_seen 53)
  (!srcfileloc  "except.c" 153)
  (!options 
   (!option param_is type 
    (!type already_seen 7)
   )
  )
 )
 (!pair  "call_site_base"
  (!type already_seen 9)
  (!srcfileloc  "except.c" 151)
  nil )
 (!pair  "next_block_index"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 4332)
  nil )
 (!pair  "temp_slot_address_table"
  (!type already_seen 1534)
  (!srcfileloc  "function.c" 542)
  (!options 
   (!option param_is type 
    (!type already_seen 1217)
   )
  )
 )
 (!pair  "epilogue_insn_hash"
  (!type already_seen 1538)
  (!srcfileloc  "function.c" 105)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "prologue_insn_hash"
  (!type already_seen 1538)
  (!srcfileloc  "function.c" 103)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "funcdef_no"
  (!type already_seen 9)
  (!srcfileloc  "function.c" 92)
  nil )
 (!pair  "block_clear_fn"
  (!type already_seen 5)
  (!srcfileloc  "expr.h" 299)
  nil )
 (!pair  "block_move_fn"
  (!type already_seen 5)
  (!srcfileloc  "expr.c" 1443)
  nil )
 (!pair  "stack_check_libfunc"
  (!type already_seen 136)
  (!srcfileloc  "explow.c" 1525)
  nil )
 (!pair  "hard_reg_clobbers"
  (!type array 1608 nil  gc_used "NUM_MACHINE_MODES" 
   (!type array 1609 nil  gc_used "FIRST_PSEUDO_REGISTER" 
    (!type already_seen 136)
   )
  )
  (!srcfileloc  "emit-rtl.c" 5953)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "free_sequence_stack"
  (!type already_seen 1380)
  (!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 1538)
  (!srcfileloc  "emit-rtl.c" 139)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "const_double_htab"
  (!type already_seen 1538)
  (!srcfileloc  "emit-rtl.c" 135)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "reg_attrs_htab"
  (!type already_seen 1536)
  (!srcfileloc  "emit-rtl.c" 131)
  (!options 
   (!option param_is type 
    (!type already_seen 270)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "const_int_htab"
  (!type already_seen 1538)
  (!srcfileloc  "emit-rtl.c" 127)
  (!options 
   (!option param_is type 
    (!type already_seen 138)
   )
   (!option if_marked string  "ggc_marked_p")
  )
 )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "emit-rtl.c" 89)
  nil )
 (!pair  "shift_test"
  (!type already_seen 136)
  (!srcfileloc  "dojump.c" 159)
  nil )
 (!pair  "and_test"
  (!type already_seen 136)
  (!srcfileloc  "dojump.c" 158)
  nil )
 (!pair  "and_reg"
  (!type already_seen 136)
  (!srcfileloc  "dojump.c" 157)
  nil )
 (!pair  "vector_last_nunits"
  (!type already_seen 9)
  (!srcfileloc  "tree-vect-generic.c" 89)
  nil )
 (!pair  "vector_last_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 88)
  nil )
 (!pair  "vector_inner_type"
  (!type already_seen 5)
  (!srcfileloc  "tree-vect-generic.c" 87)
  nil )
 (!pair  "addr_index_table"
  (!type already_seen 1540)
  (!srcfileloc  "dwarf2out.c" 4124)
  (!options 
   (!option param_is type 
    (!type already_seen 418)
   )
  )
 )
 (!pair  "generic_type_instances"
  (!type already_seen 45)
  (!srcfileloc  "dwarf2out.c" 2926)
  nil )
 (!pair  "tmpl_value_parm_die_table"
  (!type already_seen 1250)
  (!srcfileloc  "dwarf2out.c" 2920)
  nil )
 (!pair  "file_table_last_lookup"
  (!type already_seen 438)
  (!srcfileloc  "dwarf2out.c" 2918)
  nil )
 (!pair  "label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2915)
  nil )
 (!pair  "last_emitted_file"
  (!type already_seen 438)
  (!srcfileloc  "dwarf2out.c" 2912)
  nil )
 (!pair  "poc_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2906)
  nil )
 (!pair  "loclabel_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2903)
  nil )
 (!pair  "have_location_lists"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2900)
  nil )
 (!pair  "ranges_by_label_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2893)
  nil )
 (!pair  "ranges_by_label_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2890)
  nil )
 (!pair  "ranges_by_label"
  (!type already_seen 1279)
  (!srcfileloc  "dwarf2out.c" 2887)
  (!options 
   (!option length string  "ranges_by_label_allocated")
  )
 )
 (!pair  "ranges_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2883)
  nil )
 (!pair  "ranges_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2880)
  nil )
 (!pair  "ranges_table"
  (!type already_seen 1281)
  (!srcfileloc  "dwarf2out.c" 2877)
  (!options 
   (!option length string  "ranges_table_allocated")
  )
 )
 (!pair  "macinfo_table"
  (!type already_seen 1253)
  (!srcfileloc  "dwarf2out.c" 2868)
  nil )
 (!pair  "pubtype_table"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 2864)
  nil )
 (!pair  "pubname_table"
  (!type already_seen 1256)
  (!srcfileloc  "dwarf2out.c" 2860)
  nil )
 (!pair  "separate_line_info"
  (!type already_seen 1260)
  (!srcfileloc  "dwarf2out.c" 2852)
  nil )
 (!pair  "cold_text_section_line_info"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 2849)
  nil )
 (!pair  "text_section_line_info"
  (!type already_seen 1261)
  (!srcfileloc  "dwarf2out.c" 2848)
  nil )
 (!pair  "abbrev_die_table_in_use"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2833)
  nil )
 (!pair  "abbrev_die_table_allocated"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 2830)
  nil )
 (!pair  "abbrev_die_table"
  (!type already_seen 426)
  (!srcfileloc  "dwarf2out.c" 2827)
  (!options 
   (!option length string  "abbrev_die_table_allocated")
  )
 )
 (!pair  "cached_dw_loc_list_table"
  (!type already_seen 1542)
  (!srcfileloc  "dwarf2out.c" 2821)
  (!options 
   (!option param_is type 
    (!type already_seen 1267)
   )
  )
 )
 (!pair  "call_arg_locations"
  (!type already_seen 1270)
  (!srcfileloc  "dwarf2out.c" 2798)
  nil )
 (!pair  "decl_loc_table"
  (!type already_seen 1544)
  (!srcfileloc  "dwarf2out.c" 2795)
  (!options 
   (!option param_is type 
    (!type already_seen 1271)
   )
  )
 )
 (!pair  "common_block_die_table"
  (!type already_seen 1546)
  (!srcfileloc  "dwarf2out.c" 2738)
  (!options 
   (!option param_is type 
    (!type already_seen 427)
   )
  )
 )
 (!pair  "decl_die_table"
  (!type already_seen 1546)
  (!srcfileloc  "dwarf2out.c" 2734)
  (!options 
   (!option param_is type 
    (!type already_seen 427)
   )
  )
 )
 (!pair  "file_table"
  (!type already_seen 1548)
  (!srcfileloc  "dwarf2out.c" 2730)
  (!options 
   (!option param_is type 
    (!type already_seen 439)
   )
  )
 )
 (!pair  "deferred_asm_name"
  (!type already_seen 1277)
  (!srcfileloc  "dwarf2out.c" 2727)
  nil )
 (!pair  "limbo_die_list"
  (!type already_seen 1277)
  (!srcfileloc  "dwarf2out.c" 2723)
  nil )
 (!pair  "comdat_type_list"
  (!type already_seen 429)
  (!srcfileloc  "dwarf2out.c" 2720)
  nil )
 (!pair  "single_comp_unit_die"
  (!type already_seen 425)
  (!srcfileloc  "dwarf2out.c" 2717)
  nil )
 (!pair  "deferred_locations_list"
  (!type already_seen 1283)
  (!srcfileloc  "dwarf2out.c" 1237)
  nil )
 (!pair  "current_unit_personality"
  (!type already_seen 136)
  (!srcfileloc  "dwarf2out.c" 264)
  nil )
 (!pair  "decltype_auto_die"
  (!type already_seen 425)
  (!srcfileloc  "dwarf2out.c" 254)
  nil )
 (!pair  "auto_die"
  (!type already_seen 425)
  (!srcfileloc  "dwarf2out.c" 251)
  nil )
 (!pair  "cold_text_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 248)
  nil )
 (!pair  "cold_text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 245)
  nil )
 (!pair  "text_section_used"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 244)
  nil )
 (!pair  "have_multiple_function_sections"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 240)
  nil )
 (!pair  "dw2_string_counter"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2out.c" 237)
  nil )
 (!pair  "skeleton_debug_str_hash"
  (!type already_seen 1550)
  (!srcfileloc  "dwarf2out.c" 235)
  (!options 
   (!option param_is type 
    (!type already_seen 437)
   )
  )
 )
 (!pair  "debug_str_hash"
  (!type already_seen 1550)
  (!srcfileloc  "dwarf2out.c" 213)
  (!options 
   (!option param_is type 
    (!type already_seen 437)
   )
  )
 )
 (!pair  "fde_vec"
  (!type already_seen 1286)
  (!srcfileloc  "dwarf2out.c" 203)
  nil )
 (!pair  "debug_frame_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 168)
  nil )
 (!pair  "debug_ranges_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 167)
  nil )
 (!pair  "debug_str_offsets_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 166)
  nil )
 (!pair  "debug_str_dwo_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 165)
  nil )
 (!pair  "debug_str_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 164)
  nil )
 (!pair  "debug_pubtypes_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 163)
  nil )
 (!pair  "debug_pubnames_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 162)
  nil )
 (!pair  "debug_loc_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 161)
  nil )
 (!pair  "debug_skeleton_line_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 160)
  nil )
 (!pair  "debug_line_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 159)
  nil )
 (!pair  "debug_macinfo_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 158)
  nil )
 (!pair  "debug_addr_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 157)
  nil )
 (!pair  "debug_aranges_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 156)
  nil )
 (!pair  "debug_skeleton_abbrev_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 155)
  nil )
 (!pair  "debug_abbrev_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 154)
  nil )
 (!pair  "debug_skeleton_info_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 153)
  nil )
 (!pair  "debug_info_section"
  (!type already_seen 245)
  (!srcfileloc  "dwarf2out.c" 152)
  nil )
 (!pair  "decl_scope_table"
  (!type already_seen 45)
  (!srcfileloc  "dwarf2out.c" 149)
  nil )
 (!pair  "incomplete_types"
  (!type already_seen 45)
  (!srcfileloc  "dwarf2out.c" 142)
  nil )
 (!pair  "used_rtx_array"
  (!type already_seen 251)
  (!srcfileloc  "dwarf2out.c" 136)
  nil )
 (!pair  "saved_do_cfi_asm"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 3314)
  nil )
 (!pair  "dwarf2out_cfi_label_num"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2cfi.c" 196)
  nil )
 (!pair  "cie_return_save"
  (!type already_seen 1293)
  (!srcfileloc  "dwarf2cfi.c" 194)
  nil )
 (!pair  "cie_cfi_row"
  (!type already_seen 1295)
  (!srcfileloc  "dwarf2cfi.c" 192)
  nil )
 (!pair  "dw2_const_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dwarf2asm.c" 797)
  nil )
 (!pair  "indirect_pool"
  (!type already_seen 1552)
  (!srcfileloc  "dwarf2asm.c" 795)
  (!options 
   (!option param2_is type 
    (!type already_seen 5)
   )
   (!option param1_is type 
    (!type already_seen 36)
   )
  )
 )
 (!pair  "cie_cfi_vec"
  (!type already_seen 408)
  (!srcfileloc  "dwarf2out.h" 238)
  nil )
 (!pair  "lastfile_is_base"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 251)
  nil )
 (!pair  "lastfile"
  (!type already_seen 36)
  (!srcfileloc  "dbxout.c" 247)
  nil )
 (!pair  "source_label_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 243)
  nil )
 (!pair  "dbxout_source_line_counter"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 238)
  nil )
 (!pair  "scope_labelno"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 234)
  nil )
 (!pair  "next_file_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 230)
  nil )
 (!pair  "preinit_symbols"
  (!type already_seen 5)
  (!srcfileloc  "dbxout.c" 197)
  nil )
 (!pair  "next_type_number"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 191)
  nil )
 (!pair  "typevec_len"
  (!type already_seen 9)
  (!srcfileloc  "dbxout.c" 185)
  nil )
 (!pair  "typevec"
  (!type already_seen 1300)
  (!srcfileloc  "dbxout.c" 181)
  (!options 
   (!option length string  "typevec_len")
  )
 )
 (!pair  "version_info_node"
  (!type already_seen 1360)
  (!srcfileloc  "cgraph.c" 174)
  nil )
 (!pair  "cgraph_fnver_htab"
  (!type already_seen 1554)
  (!srcfileloc  "cgraph.c" 150)
  (!options 
   (!option param_is type 
    (!type already_seen 1359)
   )
  )
 )
 (!pair  "free_edges"
  (!type already_seen 914)
  (!srcfileloc  "cgraph.c" 140)
  nil )
 (!pair  "free_nodes"
  (!type already_seen 911)
  (!srcfileloc  "cgraph.c" 137)
  nil )
 (!pair  "callmem"
  (!type already_seen 136)
  (!srcfileloc  "cselib.c" 233)
  nil )
 (!pair  "bitmap_ggc_free"
  (!type already_seen 122)
  (!srcfileloc  "bitmap.c" 139)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "frame_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1051)
  nil )
 (!pair  "varargs_set"
  (!type already_seen 9)
  (!srcfileloc  "alias.c" 1029)
  nil )
 (!pair  "alias_sets"
  (!type already_seen 1330)
  (!srcfileloc  "alias.c" 267)
  nil )
 (!pair  "reg_known_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 245)
  nil )
 (!pair  "old_reg_base_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 226)
  (!options 
   (!option deletable string  "")
  )
 )
 (!pair  "arg_base_value"
  (!type already_seen 136)
  (!srcfileloc  "alias.c" 218)
  nil )
 (!pair  "reg_base_value"
  (!type already_seen 251)
  (!srcfileloc  "alias.c" 213)
  nil )
 (!pair  "assembler_name_hash"
  (!type already_seen 1556)
  (!srcfileloc  "symtab.c" 63)
  (!options 
   (!option param_is type 
    (!type already_seen 936)
   )
  )
 )
 (!pair  "symtab_hash"
  (!type already_seen 1556)
  (!srcfileloc  "symtab.c" 61)
  (!options 
   (!option param_is type 
    (!type already_seen 936)
   )
  )
 )
 (!pair  "restinsn"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 106)
  nil )
 (!pair  "saveinsn"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 105)
  nil )
 (!pair  "test_mem"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 104)
  nil )
 (!pair  "test_reg"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 103)
  nil )
 (!pair  "restpat"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 102)
  nil )
 (!pair  "savepat"
  (!type already_seen 136)
  (!srcfileloc  "caller-save.c" 101)
  nil )
 (!pair  "symtab_order"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 706)
  nil )
 (!pair  "asm_nodes"
  (!type already_seen 1352)
  (!srcfileloc  "cgraph.h" 705)
  nil )
 (!pair  "cgraph_edge_max_uid"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 682)
  nil )
 (!pair  "cgraph_max_uid"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 681)
  nil )
 (!pair  "cgraph_n_nodes"
  (!type already_seen 9)
  (!srcfileloc  "cgraph.h" 680)
  nil )
 (!pair  "symtab_nodes"
  (!type already_seen 937)
  (!srcfileloc  "cgraph.h" 679)
  nil )
 (!pair  "in_cold_section_p"
  (!type already_seen 9)
  (!srcfileloc  "output.h" 516)
  nil )
 (!pair  "in_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 515)
  nil )
 (!pair  "bss_noswitch_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 513)
  nil )
 (!pair  "lcomm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 512)
  nil )
 (!pair  "comm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 511)
  nil )
 (!pair  "tls_comm_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 510)
  nil )
 (!pair  "eh_frame_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 509)
  nil )
 (!pair  "exception_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 508)
  nil )
 (!pair  "sbss_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 507)
  nil )
 (!pair  "bss_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 506)
  nil )
 (!pair  "dtors_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 505)
  nil )
 (!pair  "ctors_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 504)
  nil )
 (!pair  "sdata_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 503)
  nil )
 (!pair  "readonly_data_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 502)
  nil )
 (!pair  "data_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 501)
  nil )
 (!pair  "text_section"
  (!type already_seen 245)
  (!srcfileloc  "output.h" 500)
  nil )
 (!pair  "types_used_by_cur_var_decl"
  (!type already_seen 45)
  (!srcfileloc  "function.h" 724)
  nil )
 (!pair  "types_used_by_vars_hash"
  (!type already_seen 1558)
  (!srcfileloc  "function.h" 716)
  (!options 
   (!option param_is type 
    (!type already_seen 1375)
   )
  )
 )
 (!pair  "cfun"
  (!type already_seen 349)
  (!srcfileloc  "function.h" 692)
  nil )
 (!pair  "x_rtl"
  (!type already_seen 1377)
  (!srcfileloc  "function.h" 480)
  nil )
 (!pair  "regno_reg_rtx"
  (!type already_seen 137)
  (!srcfileloc  "function.h" 93)
  (!options 
   (!option length string  "crtl->emit.x_reg_rtx_no")
  )
 )
 (!pair  "default_target_libfuncs"
  (!type already_seen 538)
  (!srcfileloc  "libfuncs.h" 73)
  nil )
 (!pair  "current_function_func_begin_label"
  (!type already_seen 36)
  (!srcfileloc  "tree-core.h" 1846)
  nil )
 (!pair  "current_function_decl"
  (!type already_seen 5)
  (!srcfileloc  "tree-core.h" 1843)
  nil )
 (!pair  "builtin_info"
  (!type already_seen 1407)
  (!srcfileloc  "tree-core.h" 1833)
  nil )
 (!pair  "sizetype_tab"
  (!type array 1610 nil  gc_used "(int) stk_type_kind_last" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1821)
  nil )
 (!pair  "integer_types"
  (!type array 1611 nil  gc_used "itk_none" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1818)
  nil )
 (!pair  "global_trees"
  (!type array 1612 nil  gc_used "TI_MAX" 
   (!type already_seen 5)
  )
  (!srcfileloc  "tree-core.h" 1814)
  nil )
 (!pair  "all_translation_units"
  (!type already_seen 45)
  (!srcfileloc  "tree-core.h" 1811)
  nil )
 (!pair  "alias_pairs"
  (!type already_seen 1405)
  (!srcfileloc  "tree-core.h" 1798)
  nil )
 (!pair  "stack_limit_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2733)
  nil )
 (!pair  "default_target_rtl"
  (!type already_seen 531)
  (!srcfileloc  "rtl.h" 2307)
  nil )
 (!pair  "simple_return_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2208)
  nil )
 (!pair  "ret_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2207)
  nil )
 (!pair  "cc0_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2206)
  nil )
 (!pair  "pc_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2205)
  nil )
 (!pair  "const_tiny_rtx"
  (!type array 1613 nil  gc_used "4" 
   (!type array 1614 nil  gc_used "(int) MAX_MACHINE_MODE" 
    (!type already_seen 136)
   )
  )
  (!srcfileloc  "rtl.h" 2192)
  nil )
 (!pair  "const_true_rtx"
  (!type already_seen 136)
  (!srcfileloc  "rtl.h" 2190)
  nil )
 (!pair  "const_int_rtx"
  (!type array 1615 nil  gc_used "MAX_SAVED_CONST_INT * 2 + 1" 
   (!type already_seen 136)
  )
  (!srcfileloc  "rtl.h" 2184)
  nil )
 (!pair  "gcov_fn_info_ptr_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 108)
  nil )
 (!pair  "gcov_fn_info_type"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 107)
  nil )
 (!pair  "gcov_info_var"
  (!type already_seen 5)
  (!srcfileloc  "coverage.c" 106)
  nil )
 (!pair  "fn_v_ctrs"
  (!type array 1616 nil  gc_used "GCOV_COUNTERS" 
   (!type already_seen 5)
  )
  (!srcfileloc  "coverage.c" 101)
  nil )
 (!pair  "functions_head"
  (!type already_seen 1443)
  (!srcfileloc  "coverage.c" 92)
  nil )
 (!pair  "mips16_globals"
  (!type already_seen 526)
  (!srcfileloc  "config/mips/mips.h" 2961)
  nil )
 (!pair  "line_table"
  (!type already_seen 1476)
  (!srcfileloc  "input.h" 26)
  nil )
)

(!endfile)
